From aac2cccccfd701ae8d7ce0813c28c64498d4a076 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Mon, 26 Apr 2010 19:50:57 +0200 Subject: gallium: interface changes for multisampling add function to set sample mask, and state for alpha-to-coverage and alpha-to-one. Also make it possible to query for supported sample count with is_msaa_supported(). Use explicit resource_resolve() to resolve a resource. Note that it is illegal to bind a unresolved resource as a sampler view, must be resolved first (as per d3d10 and OGL APIs, binding unresolved resource would mean that special texture fetch functions need to be used which give explicit control over what samples to fetch, which isn't supported yet). Also change surface_fill() and surface_copy() to operate directly on resources. Blits should operate directly on resources, most often state trackers just used get_tex_surface() then did a blit. Note this also means the blit bind flags are gone, if a driver implements this functionality it is expected to handle it for all resources having depth_stencil/render_target/sampler_view bind flags (might even require it for all bind flags?). Might want to introduce quality levels for MSAA later. Might need to revisit this for hw which does instant resolve. --- src/gallium/include/pipe/p_context.h | 51 +++++++++++++++++++++++++----------- src/gallium/include/pipe/p_defines.h | 2 -- src/gallium/include/pipe/p_screen.h | 11 +++++++- src/gallium/include/pipe/p_state.h | 2 ++ 4 files changed, 48 insertions(+), 18 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 6f47845f3b8..c38548105ca 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -198,6 +198,9 @@ struct pipe_context { void (*set_stencil_ref)( struct pipe_context *, const struct pipe_stencil_ref * ); + void (*set_sample_mask)( struct pipe_context *, + unsigned sample_mask ); + void (*set_clip_state)( struct pipe_context *, const struct pipe_clip_state * ); @@ -233,32 +236,50 @@ struct pipe_context { /** - * Surface functions + * Resource functions for blit-like functionality * * The pipe driver is allowed to set these functions to NULL, and in that * case, they will not be available. + * If a driver supports multisampling, resource_resolve must be available. */ /*@{*/ /** - * Copy a block of pixels from one surface to another. - * The surfaces must be of the same format. + * Copy a block of pixels from one resource to another. + * The resource must be of the same format. + * Resources with nr_samples > 1 are not allowed. */ - void (*surface_copy)(struct pipe_context *pipe, - struct pipe_surface *dest, - unsigned destx, unsigned desty, - struct pipe_surface *src, - unsigned srcx, unsigned srcy, - unsigned width, unsigned height); + void (*resource_copy_region)(struct pipe_context *pipe, + struct pipe_resource *dst, + struct pipe_subresource subdst, + unsigned dstx, unsigned dsty, unsigned dstz, + struct pipe_resource *src, + struct pipe_subresource subsrc, + unsigned srcx, unsigned srcy, unsigned srcz, + unsigned width, unsigned height); /** - * Fill a region of a surface with a constant value. + * Fill a region of a resource with a constant value. + * Resources with nr_samples > 1 are not allowed. */ - void (*surface_fill)(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height, - unsigned value); + void (*resource_fill_region)(struct pipe_context *pipe, + struct pipe_resource *dst, + struct pipe_subresource subdst, + struct pipe_box *dstbox, + unsigned srcx, unsigned srcy, unsigned srcz, + unsigned width, unsigned height, + unsigned value); + + /** + * Resolve a multisampled resource into a non-multisampled one. + * Source and destination must have the same size and same format. + */ + void (*resource_resolve)(struct pipe_context *pipe, + struct pipe_resource *dst, + struct pipe_subresource subdst, + struct pipe_resource *src, + struct pipe_subresource subsrc); + /*@}*/ /** diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 48edfbfcce7..3223e8d844c 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -284,8 +284,6 @@ enum pipe_transfer_usage { #define PIPE_BIND_VERTEX_BUFFER (1 << 3) /* set_vertex_buffers */ #define PIPE_BIND_INDEX_BUFFER (1 << 4) /* draw_elements */ #define PIPE_BIND_CONSTANT_BUFFER (1 << 5) /* set_constant_buffer */ -#define PIPE_BIND_BLIT_SOURCE (1 << 6) /* surface_copy */ -#define PIPE_BIND_BLIT_DESTINATION (1 << 7) /* surface_copy, fill */ #define PIPE_BIND_DISPLAY_TARGET (1 << 8) /* flush_front_buffer */ #define PIPE_BIND_TRANSFER_WRITE (1 << 9) /* get_transfer */ #define PIPE_BIND_TRANSFER_READ (1 << 10) /* get_transfer */ diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index beff1ae8a92..1bad045b162 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -99,9 +99,18 @@ struct pipe_screen { boolean (*is_format_supported)( struct pipe_screen *, enum pipe_format format, enum pipe_texture_target target, - unsigned bindings, + unsigned bindings, unsigned geom_flags ); + /** + * Check if the given pipe_format is supported with a requested + * number of samples for msaa. + * \param sample_count number of samples for multisampling + */ + boolean (*is_msaa_supported)( struct pipe_screen *, + enum pipe_format format, + unsigned sample_count ); + /** * Create a new texture object, using the given template info. */ diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index a504757c472..f9ad07d8f87 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -218,6 +218,8 @@ struct pipe_blend_state unsigned logicop_enable:1; unsigned logicop_func:4; /**< PIPE_LOGICOP_x */ unsigned dither:1; + unsigned alpha_to_coverage:1; + unsigned alpha_to_one:1; struct pipe_rt_blend_state rt[PIPE_MAX_COLOR_BUFS]; }; -- cgit v1.2.3 From 9a966b93c03aecac8eb72e6133aa9a2f2c7673f3 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Tue, 27 Apr 2010 16:25:50 +0200 Subject: gallium: fix glaring bugs in last commit --- src/gallium/auxiliary/cso_cache/cso_context.c | 2 +- src/gallium/include/pipe/p_context.h | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c index 50736f06b32..030683f60f1 100644 --- a/src/gallium/auxiliary/cso_cache/cso_context.c +++ b/src/gallium/auxiliary/cso_cache/cso_context.c @@ -98,7 +98,7 @@ struct cso_context { struct pipe_framebuffer_state fb, fb_saved; struct pipe_viewport_state vp, vp_saved; struct pipe_blend_color blend_color; - unsigned sample_mask sample_mask; + unsigned sample_mask; struct pipe_stencil_ref stencil_ref, stencil_ref_saved; }; diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index c38548105ca..6ce8ba953a7 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -265,8 +265,7 @@ struct pipe_context { void (*resource_fill_region)(struct pipe_context *pipe, struct pipe_resource *dst, struct pipe_subresource subdst, - struct pipe_box *dstbox, - unsigned srcx, unsigned srcy, unsigned srcz, + unsigned dstx, unsigned dsty, unsigned dstz, unsigned width, unsigned height, unsigned value); -- cgit v1.2.3 From 7375d7a5c9d5c32fd6bdde0cc8cab8fe41415964 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Fri, 14 May 2010 12:07:38 +0100 Subject: graw: move towards glut-like interface, add tri.c --- src/gallium/include/state_tracker/graw.h | 9 ++++ src/gallium/targets/graw-xlib/graw_xlib.c | 49 ++++++++++++++++++++++ src/gallium/tests/graw/SConscript | 3 +- src/gallium/tests/graw/clear.c | 69 +++++++++++++++++++------------ 4 files changed, 103 insertions(+), 27 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index 385e4d7718e..87e7d97543a 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -17,6 +17,7 @@ #include "pipe/p_format.h" struct pipe_screen; +struct pipe_context; PUBLIC struct pipe_screen *graw_init( void ); @@ -32,5 +33,13 @@ PUBLIC void *graw_create_window( int x, enum pipe_format format ); PUBLIC void graw_destroy_window( void *handle ); +PUBLIC void graw_set_display_func( void (*func)( void ) ); +PUBLIC void graw_main_loop( void ); + +PUBLIC void *graw_parse_vertex_shader( struct pipe_context *pipe, + const char *text ); + +PUBLIC void *graw_parse_fragment_shader( struct pipe_context *pipe, + const char *text ); #endif diff --git a/src/gallium/targets/graw-xlib/graw_xlib.c b/src/gallium/targets/graw-xlib/graw_xlib.c index 21715c26fdc..d0e3e4bdd6b 100644 --- a/src/gallium/targets/graw-xlib/graw_xlib.c +++ b/src/gallium/targets/graw-xlib/graw_xlib.c @@ -1,6 +1,8 @@ #include "pipe/p_compiler.h" +#include "pipe/p_context.h" #include "util/u_debug.h" #include "util/u_memory.h" +#include "tgsi/tgsi_text.h" #include "target-helpers/wrap_screen.h" #include "state_tracker/xlib_sw_winsys.h" @@ -27,6 +29,7 @@ static struct { Display *display; + void (*draw)(void); } graw; @@ -179,3 +182,49 @@ graw_destroy_window( void *xlib_drawable ) { } +void +graw_set_display_func( void (*draw)( void ) ) +{ + graw.draw = draw; +} + +void +graw_main_loop( void ) +{ + int i; + for (i = 0; i < 10; i++) { + graw.draw(); + sleep(1); + } +} + + + +/* Helper functions. These are the same for all graw implementations. + */ +void *graw_parse_vertex_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_vs_state(pipe, &state); +} + +void *graw_parse_fragment_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_fs_state(pipe, &state); +} + diff --git a/src/gallium/tests/graw/SConscript b/src/gallium/tests/graw/SConscript index 8a92ac2c499..1dc8dca381d 100644 --- a/src/gallium/tests/graw/SConscript +++ b/src/gallium/tests/graw/SConscript @@ -12,7 +12,8 @@ env.Prepend(LIBPATH = [graw.dir]) env.Prepend(LIBS = ['graw']) progs = [ - 'clear' + 'clear', + 'tri' ] for prog in progs: diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index 84dd7807337..adcbb08308f 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -20,21 +20,39 @@ enum pipe_format formats[] = { static const int WIDTH = 300; static const int HEIGHT = 300; -int main( int argc, char *argv[] ) +struct pipe_screen *screen; +struct pipe_context *ctx; +struct pipe_surface *surf; +static void *window = NULL; + +static void draw( void ) +{ + float clear_color[4] = {1,0,1,1}; + + ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); + +#if 0 + /* At the moment, libgraw leaks out/makes available some of the + * symbols from gallium/auxiliary, including these debug helpers. + * Will eventually want to bless some of these paths, and lock the + * others down so they aren't accessible from test programs. + * + * This currently just happens to work on debug builds - a release + * build will probably fail to link here: + */ + debug_dump_surface_bmp(ctx, "result.bmp", surf); +#endif + + screen->flush_frontbuffer(screen, surf, window); +} + +static void init( void ) { - struct pipe_screen *screen; - struct pipe_context *pipe; - struct pipe_surface *surf; struct pipe_framebuffer_state fb; struct pipe_resource *tex, templat; - void *window = NULL; - float clear_color[4] = {1,0,1,1}; int i; - screen = graw_init(); - if (screen == NULL) - exit(1); - for (i = 0; window == NULL && formats[i] != PIPE_FORMAT_NONE; i++) { @@ -45,8 +63,8 @@ int main( int argc, char *argv[] ) if (window == NULL) exit(2); - pipe = screen->context_create(screen, NULL); - if (pipe == NULL) + ctx = screen->context_create(screen, NULL); + if (ctx == NULL) exit(3); templat.target = PIPE_TEXTURE_2D; @@ -57,10 +75,10 @@ int main( int argc, char *argv[] ) templat.last_level = 0; templat.nr_samples = 1; templat.bind = (PIPE_BIND_RENDER_TARGET | - PIPE_BIND_DISPLAY_TARGET); + PIPE_BIND_DISPLAY_TARGET); tex = screen->resource_create(screen, - &templat); + &templat); if (tex == NULL) exit(4); @@ -76,21 +94,20 @@ int main( int argc, char *argv[] ) fb.height = HEIGHT; fb.cbufs[0] = surf; - pipe->set_framebuffer_state(pipe, &fb); - pipe->clear(pipe, PIPE_CLEAR_COLOR, clear_color, 0, 0); - pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE, NULL); + ctx->set_framebuffer_state(ctx, &fb); +} - /* At the moment, libgraw includes/makes available all the symbols - * from gallium/auxiliary, including these debug helpers. Will - * eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - */ - if (0) - debug_dump_surface_bmp(pipe, "result.bmp", surf); - screen->flush_frontbuffer(screen, surf, window); +int main( int argc, char *argv[] ) +{ + screen = graw_init(); + if (screen == NULL) + exit(1); + + init(); - os_time_sleep(100*1000*100); + graw_set_display_func( draw ); + graw_main_loop(); return 0; } -- cgit v1.2.3 From 15321a55e541c3209be6636ea467695a0bc6d55d Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Fri, 14 May 2010 12:12:54 +0100 Subject: graw: combine graw_init and graw_create_window functions Different environments seem to want to create these in different orders. Abstract over this by combining the calls. --- src/gallium/include/state_tracker/graw.h | 14 +++---- src/gallium/targets/graw-xlib/graw_xlib.c | 62 +++++++++++++++++-------------- src/gallium/tests/graw/clear.c | 17 +++++---- 3 files changed, 51 insertions(+), 42 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index 87e7d97543a..e5b298e03d9 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -19,20 +19,18 @@ struct pipe_screen; struct pipe_context; -PUBLIC struct pipe_screen *graw_init( void ); - /* Returns a handle to be used with flush_frontbuffer()/present(). * * Query format support with screen::is_format_supported and usage * XXX. */ -PUBLIC void *graw_create_window( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format ); +PUBLIC struct pipe_screen *graw_create_window_and_screen( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle); -PUBLIC void graw_destroy_window( void *handle ); PUBLIC void graw_set_display_func( void (*func)( void ) ); PUBLIC void graw_main_loop( void ); diff --git a/src/gallium/targets/graw-xlib/graw_xlib.c b/src/gallium/targets/graw-xlib/graw_xlib.c index c9a850136a8..41120ba3c70 100644 --- a/src/gallium/targets/graw-xlib/graw_xlib.c +++ b/src/gallium/targets/graw-xlib/graw_xlib.c @@ -32,18 +32,14 @@ static struct { } graw; -struct pipe_screen * -graw_init( void ) +static struct pipe_screen * +graw_create_screen( void ) { const char *default_driver; const char *driver; struct pipe_screen *screen = NULL; struct sw_winsys *winsys = NULL; - graw.display = XOpenDisplay(NULL); - if (graw.display == NULL) - return NULL; - /* Create the underlying winsys, which performs presents to Xlib * drawables: */ @@ -80,14 +76,16 @@ graw_init( void ) -void * -graw_create_window( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format ) +struct pipe_screen * +graw_create_window_and_screen( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle) { - struct xlib_drawable *handle = NULL; + struct pipe_screen *screen = NULL; + struct xlib_drawable *xlib_handle = NULL; XSetWindowAttributes attr; Window root; Window win = 0; @@ -96,6 +94,9 @@ graw_create_window( int x, int n; int scrnum; + graw.display = XOpenDisplay(NULL); + if (graw.display == NULL) + return NULL; scrnum = DefaultScreen( graw.display ); root = RootWindow( graw.display, scrnum ); @@ -107,8 +108,8 @@ graw_create_window( int x, if (graw.display == NULL) goto fail; - handle = CALLOC_STRUCT(xlib_drawable); - if (handle == NULL) + xlib_handle = CALLOC_STRUCT(xlib_drawable); + if (xlib_handle == NULL) goto fail; @@ -150,7 +151,6 @@ graw_create_window( int x, None, (char **)NULL, 0, &sizehints); } - XFree(visinfo); XMapWindow(graw.display, win); while (1) { XEvent e; @@ -160,14 +160,27 @@ graw_create_window( int x, } } - handle->visual = visinfo->visual; - handle->drawable = (Drawable)win; - handle->depth = visinfo->depth; - return (void *)handle; + xlib_handle->visual = visinfo->visual; + xlib_handle->drawable = (Drawable)win; + xlib_handle->depth = visinfo->depth; + *handle = (void *)xlib_handle; + + screen = graw_create_screen(); + if (screen == NULL) + goto fail; -fail: - FREE(handle); XFree(visinfo); + return screen; + +fail: + if (screen) + screen->destroy(screen); + + if (xlib_handle) + FREE(xlib_handle); + + if (visinfo) + XFree(visinfo); if (win) XDestroyWindow(graw.display, win); @@ -176,11 +189,6 @@ fail: } -void -graw_destroy_window( void *xlib_drawable ) -{ -} - void graw_set_display_func( void (*draw)( void ) ) { diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index adcbb08308f..28c986eee64 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -53,13 +53,20 @@ static void init( void ) struct pipe_resource *tex, templat; int i; + /* It's hard to say whether window or screen should be created + * first. Different environments would prefer one or the other. + * + * Also, no easy way of querying supported formats if the screen + * cannot be created first. + */ for (i = 0; window == NULL && formats[i] != PIPE_FORMAT_NONE; i++) { - window = graw_create_window(0,0,300,300, formats[i]); + screen = graw_create_window_and_screen(0,0,300,300, + formats[i], + &window); } - if (window == NULL) exit(2); @@ -98,15 +105,11 @@ static void init( void ) } + int main( int argc, char *argv[] ) { - screen = graw_init(); - if (screen == NULL) - exit(1); - init(); - graw_set_display_func( draw ); graw_main_loop(); return 0; -- cgit v1.2.3 From 07ff65925fdcc2d0ff449b6474f3cbd1351b2b18 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Fri, 14 May 2010 15:07:06 +0200 Subject: gallium: remove forward declarations of non-existent objects --- src/gallium/drivers/svga/svga_swtnl.h | 1 - src/gallium/drivers/trace/tr_dump.h | 1 - src/gallium/include/pipe/p_screen.h | 1 - src/gallium/include/state_tracker/dri1_api.h | 1 - src/gallium/include/state_tracker/drm_api.h | 1 - 5 files changed, 5 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/svga/svga_swtnl.h b/src/gallium/drivers/svga/svga_swtnl.h index 8724690f7e1..65c675f99c9 100644 --- a/src/gallium/drivers/svga/svga_swtnl.h +++ b/src/gallium/drivers/svga/svga_swtnl.h @@ -30,7 +30,6 @@ struct svga_context; struct pipe_context; -struct pipe_buffer; struct vbuf_render; diff --git a/src/gallium/drivers/trace/tr_dump.h b/src/gallium/drivers/trace/tr_dump.h index f21f72b0c79..74c5e83e9e1 100644 --- a/src/gallium/drivers/trace/tr_dump.h +++ b/src/gallium/drivers/trace/tr_dump.h @@ -37,7 +37,6 @@ #include "pipe/p_compiler.h" #include "pipe/p_format.h" -struct pipe_buffer; struct pipe_resource; struct pipe_surface; struct pipe_transfer; diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 7195dc03963..0d9de48c909 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -54,7 +54,6 @@ struct winsys_handle; /** Opaque type */ struct pipe_fence_handle; struct pipe_winsys; -struct pipe_texture; struct pipe_resource; struct pipe_surface; struct pipe_transfer; diff --git a/src/gallium/include/state_tracker/dri1_api.h b/src/gallium/include/state_tracker/dri1_api.h index a48c5de5a05..0d702d90928 100644 --- a/src/gallium/include/state_tracker/dri1_api.h +++ b/src/gallium/include/state_tracker/dri1_api.h @@ -9,7 +9,6 @@ struct pipe_screen; struct pipe_winsys; -struct pipe_buffer; struct pipe_context; struct pipe_resource; diff --git a/src/gallium/include/state_tracker/drm_api.h b/src/gallium/include/state_tracker/drm_api.h index 3d8fdd86fc7..8fd0995444d 100644 --- a/src/gallium/include/state_tracker/drm_api.h +++ b/src/gallium/include/state_tracker/drm_api.h @@ -6,7 +6,6 @@ struct pipe_screen; struct pipe_winsys; -struct pipe_buffer; struct pipe_context; struct pipe_resource; -- cgit v1.2.3 From cdbd5f4203391ee7eb12911bc86fea34dc61c957 Mon Sep 17 00:00:00 2001 From: Mathias Fröhlich Date: Mon, 17 May 2010 11:48:56 -0700 Subject: gallium: EXT_timer_query support. Signed-off-by: Corbin Simpson --- src/gallium/drivers/cell/ppu/cell_screen.c | 2 ++ src/gallium/drivers/i915/i915_screen.c | 2 ++ src/gallium/drivers/i965/brw_screen.c | 2 ++ src/gallium/drivers/llvmpipe/lp_screen.c | 2 ++ src/gallium/drivers/nv50/nv50_screen.c | 2 ++ src/gallium/drivers/nvfx/nvfx_screen.c | 2 ++ src/gallium/drivers/r300/r300_screen.c | 1 + src/gallium/drivers/softpipe/sp_query.c | 35 ++++++++++++++++++++++++++---- src/gallium/drivers/softpipe/sp_screen.c | 2 ++ src/gallium/drivers/svga/svga_screen.c | 2 ++ src/gallium/include/pipe/p_defines.h | 4 +++- src/mesa/state_tracker/st_cb_queryobj.c | 3 +++ src/mesa/state_tracker/st_extensions.c | 3 +++ 13 files changed, 57 insertions(+), 5 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index 5af4eaa88b1..750f0aa98ab 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -76,6 +76,8 @@ cell_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 10; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index d196c779e43..7cf627d975b 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -113,6 +113,8 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_OCCLUSION_QUERY: return 0; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: diff --git a/src/gallium/drivers/i965/brw_screen.c b/src/gallium/drivers/i965/brw_screen.c index d242691f2d2..1890b640e90 100644 --- a/src/gallium/drivers/i965/brw_screen.c +++ b/src/gallium/drivers/i965/brw_screen.c @@ -172,6 +172,8 @@ brw_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_OCCLUSION_QUERY: return 0; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 6ab09709988..22fbf381ae0 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -105,6 +105,8 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return PIPE_MAX_COLOR_BUFS; case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_MIRROR_CLAMP: return 1; case PIPE_CAP_TEXTURE_MIRROR_REPEAT: diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index ff3a7b2843d..a0eed8c2e2d 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -125,6 +125,8 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 8; case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index 6b01d868e2f..a44f9e94d70 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -52,6 +52,8 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return screen->is_nv4x ? 4 : 2; case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 8399f5df8e4..640b3d34688 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -115,6 +115,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return 1; /* Unsupported features (boolean caps). */ + case PIPE_CAP_TIMER_QUERY: case PIPE_CAP_DUAL_SOURCE_BLEND: case PIPE_CAP_TGSI_CONT_SUPPORTED: case PIPE_CAP_INDEP_BLEND_ENABLE: diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c index 4ef5d9f7b1d..b959af63aff 100644 --- a/src/gallium/drivers/softpipe/sp_query.c +++ b/src/gallium/drivers/softpipe/sp_query.c @@ -30,6 +30,7 @@ */ #include "draw/draw_context.h" +#include "os/os_time.h" #include "pipe/p_defines.h" #include "util/u_memory.h" #include "sp_context.h" @@ -37,6 +38,7 @@ #include "sp_state.h" struct softpipe_query { + unsigned type; uint64_t start; uint64_t end; }; @@ -51,8 +53,13 @@ static struct pipe_query * softpipe_create_query(struct pipe_context *pipe, unsigned type) { - assert(type == PIPE_QUERY_OCCLUSION_COUNTER); - return (struct pipe_query *)CALLOC_STRUCT( softpipe_query ); + struct softpipe_query* sq; + + assert(type == PIPE_QUERY_OCCLUSION_COUNTER || type == PIPE_QUERY_TIME_ELAPSED); + sq = CALLOC_STRUCT( softpipe_query ); + sq->type = type; + + return (struct pipe_query *)sq; } @@ -69,7 +76,17 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q) struct softpipe_context *softpipe = softpipe_context( pipe ); struct softpipe_query *sq = softpipe_query(q); - sq->start = softpipe->occlusion_count; + switch (sq->type) { + case PIPE_QUERY_OCCLUSION_COUNTER: + sq->start = softpipe->occlusion_count; + break; + case PIPE_QUERY_TIME_ELAPSED: + sq->start = 1000*os_time_get(); + break; + default: + assert(0); + break; + } softpipe->active_query_count++; softpipe->dirty |= SP_NEW_QUERY; } @@ -82,7 +99,17 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q) struct softpipe_query *sq = softpipe_query(q); softpipe->active_query_count--; - sq->end = softpipe->occlusion_count; + switch (sq->type) { + case PIPE_QUERY_OCCLUSION_COUNTER: + sq->end = softpipe->occlusion_count; + break; + case PIPE_QUERY_TIME_ELAPSED: + sq->end = 1000*os_time_get(); + break; + default: + assert(0); + break; + } softpipe->dirty |= SP_NEW_QUERY; } diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index f874c3e60c0..8c33efa1987 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -82,6 +82,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return PIPE_MAX_COLOR_BUFS; case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 1; case PIPE_CAP_TEXTURE_MIRROR_CLAMP: return 1; case PIPE_CAP_TEXTURE_MIRROR_REPEAT: diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 2c3c3f52202..bef22f41ae5 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -134,6 +134,8 @@ svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param) return MIN2(result.u, PIPE_MAX_COLOR_BUFS); case PIPE_CAP_OCCLUSION_QUERY: return 1; + case PIPE_CAP_TIMER_QUERY: + return 0; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 2d363dd47b6..29c55ff094c 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -379,7 +379,8 @@ enum pipe_transfer_usage { #define PIPE_QUERY_OCCLUSION_COUNTER 0 #define PIPE_QUERY_PRIMITIVES_GENERATED 1 #define PIPE_QUERY_PRIMITIVES_EMITTED 2 -#define PIPE_QUERY_TYPES 3 +#define PIPE_QUERY_TIME_ELAPSED 3 +#define PIPE_QUERY_TYPES 4 /** @@ -423,6 +424,7 @@ enum pipe_cap { PIPE_CAP_POINT_SPRITE, PIPE_CAP_MAX_RENDER_TARGETS, PIPE_CAP_OCCLUSION_QUERY, + PIPE_CAP_TIMER_QUERY, PIPE_CAP_TEXTURE_SHADOW_MAP, PIPE_CAP_MAX_TEXTURE_2D_LEVELS, PIPE_CAP_MAX_TEXTURE_3D_LEVELS, diff --git a/src/mesa/state_tracker/st_cb_queryobj.c b/src/mesa/state_tracker/st_cb_queryobj.c index a8bd5db6304..e423d9d8a51 100644 --- a/src/mesa/state_tracker/st_cb_queryobj.c +++ b/src/mesa/state_tracker/st_cb_queryobj.c @@ -94,6 +94,9 @@ st_BeginQuery(GLcontext *ctx, struct gl_query_object *q) case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: type = PIPE_QUERY_PRIMITIVES_EMITTED; break; + case GL_TIME_ELAPSED_EXT: + type = PIPE_QUERY_TIME_ELAPSED; + break; default: assert(0 && "unexpected query target in st_BeginQuery()"); return; diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 0cd80fa59f7..459e924cca3 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -296,6 +296,9 @@ void st_init_extensions(struct st_context *st) if (screen->get_param(screen, PIPE_CAP_OCCLUSION_QUERY)) { ctx->Extensions.ARB_occlusion_query = GL_TRUE; } + if (screen->get_param(screen, PIPE_CAP_TIMER_QUERY)) { + ctx->Extensions.EXT_timer_query = GL_TRUE; + } if (screen->get_param(screen, PIPE_CAP_TEXTURE_SHADOW_MAP)) { ctx->Extensions.ARB_depth_texture = GL_TRUE; -- cgit v1.2.3 From d288698a76e2ad8408d303570578856a05ea96d0 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Mon, 3 May 2010 10:53:32 +0100 Subject: gallium: Remove loop register file. It was only used for D3D's REP/END/BGNFOR/ENDFOR. D3D's aL register is just like another address register now. --- src/gallium/auxiliary/tgsi/tgsi_dump.c | 1 - src/gallium/auxiliary/tgsi/tgsi_exec.c | 7 ------- src/gallium/auxiliary/tgsi/tgsi_exec.h | 4 ---- src/gallium/auxiliary/tgsi/tgsi_sanity.c | 4 ++-- src/gallium/auxiliary/tgsi/tgsi_text.c | 1 - src/gallium/auxiliary/tgsi/tgsi_ureg.c | 22 ---------------------- src/gallium/auxiliary/tgsi/tgsi_ureg.h | 3 --- src/gallium/drivers/i965/brw_wm_debug.c | 3 ++- src/gallium/include/pipe/p_shader_tokens.h | 5 ++--- 9 files changed, 6 insertions(+), 44 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 83000200189..de54a49ec29 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -100,7 +100,6 @@ static const char *file_names[TGSI_FILE_COUNT] = "SAMP", "ADDR", "IMM", - "LOOP", "PRED", "SV" }; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 82eac05dc4d..9b1ca7fa851 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -1346,13 +1346,6 @@ store_dest(struct tgsi_exec_machine *mach, dst = &mach->Addrs[index].xyzw[chan_index]; break; - case TGSI_FILE_LOOP: - assert(reg->Register.Index == 0); - assert(mach->LoopCounterStackTop > 0); - assert(chan_index == CHAN_X); - dst = &mach->LoopCounterStack[mach->LoopCounterStackTop - 1].xyzw[chan_index]; - break; - case TGSI_FILE_PREDICATE: index = reg->Register.Index; assert(index < TGSI_EXEC_NUM_PREDS); diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index a22873e4c2b..11bbaf6722e 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -299,10 +299,6 @@ struct tgsi_exec_machine uint LoopLabelStack[TGSI_EXEC_MAX_LOOP_NESTING]; int LoopLabelStackTop; - /** Loop counter stack (x = index, y = counter, z = step) */ - struct tgsi_exec_vector LoopCounterStack[TGSI_EXEC_MAX_LOOP_NESTING]; - int LoopCounterStackTop; - /** Loop continue mask stack (see comments in tgsi_exec.c) */ uint ContStack[TGSI_EXEC_MAX_LOOP_NESTING]; int ContStackTop; diff --git a/src/gallium/auxiliary/tgsi/tgsi_sanity.c b/src/gallium/auxiliary/tgsi/tgsi_sanity.c index 76b7564cc36..ce0a92f7fb3 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sanity.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sanity.c @@ -235,8 +235,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "SAMP", "ADDR", "IMM", - "LOOP", - "PRED" + "PRED", + "SV" }; static boolean diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 0b468a9184e..f3b17833b54 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -278,7 +278,6 @@ static const char *file_names[TGSI_FILE_COUNT] = "SAMP", "ADDR", "IMM", - "LOOP", "PRED", "SV" }; diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c index f725405ade1..49b854b1234 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c @@ -74,7 +74,6 @@ struct ureg_tokens { #define UREG_MAX_IMMEDIATE 32 #define UREG_MAX_TEMP 256 #define UREG_MAX_ADDR 2 -#define UREG_MAX_LOOP 1 #define UREG_MAX_PRED 1 struct const_decl { @@ -151,7 +150,6 @@ struct ureg_program unsigned nr_addrs; unsigned nr_preds; - unsigned nr_loops; unsigned nr_instructions; struct ureg_tokens domain[2]; @@ -537,19 +535,6 @@ struct ureg_dst ureg_DECL_address( struct ureg_program *ureg ) return ureg_dst_register( TGSI_FILE_ADDRESS, 0 ); } -/* Allocate a new loop register. - */ -struct ureg_dst -ureg_DECL_loop(struct ureg_program *ureg) -{ - if (ureg->nr_loops < UREG_MAX_LOOP) { - return ureg_dst_register(TGSI_FILE_LOOP, ureg->nr_loops++); - } - - assert(0); - return ureg_dst_register(TGSI_FILE_LOOP, 0); -} - /* Allocate a new predicate register. */ struct ureg_dst @@ -1356,13 +1341,6 @@ static void emit_decls( struct ureg_program *ureg ) 0, ureg->nr_addrs ); } - if (ureg->nr_loops) { - emit_decl_range(ureg, - TGSI_FILE_LOOP, - 0, - ureg->nr_loops); - } - if (ureg->nr_preds) { emit_decl_range(ureg, TGSI_FILE_PREDICATE, diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.h b/src/gallium/auxiliary/tgsi/tgsi_ureg.h index 0130a77aadb..f32420dd872 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.h +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.h @@ -230,9 +230,6 @@ ureg_release_temporary( struct ureg_program *ureg, struct ureg_dst ureg_DECL_address( struct ureg_program * ); -struct ureg_dst -ureg_DECL_loop( struct ureg_program * ); - struct ureg_dst ureg_DECL_predicate(struct ureg_program *); diff --git a/src/gallium/drivers/i965/brw_wm_debug.c b/src/gallium/drivers/i965/brw_wm_debug.c index 3d11fa074cc..e2767264e7e 100644 --- a/src/gallium/drivers/i965/brw_wm_debug.c +++ b/src/gallium/drivers/i965/brw_wm_debug.c @@ -202,7 +202,8 @@ static const char *file_strings[TGSI_FILE_COUNT+1] = { "SAMPLER", "ADDR", "IMM", - "LOOP", + "PRED", + "SV", "PAYLOAD" }; diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index e21aaacc18a..0a70237f260 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -73,9 +73,8 @@ enum tgsi_file_type { TGSI_FILE_SAMPLER =5, TGSI_FILE_ADDRESS =6, TGSI_FILE_IMMEDIATE =7, - TGSI_FILE_LOOP =8, - TGSI_FILE_PREDICATE =9, - TGSI_FILE_SYSTEM_VALUE =10, + TGSI_FILE_PREDICATE =8, + TGSI_FILE_SYSTEM_VALUE =9, TGSI_FILE_COUNT /**< how many TGSI_FILE_ types */ }; -- cgit v1.2.3 From 382eb1a728b30fd6a9c09842e233c9bd1f96f19b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 4 May 2010 21:18:55 -0600 Subject: gallium: remove trailing comma in enum list --- src/gallium/include/state_tracker/st_api.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 002d1c6b840..21f2d639b14 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -61,7 +61,7 @@ enum st_texture_type { ST_TEXTURE_1D, ST_TEXTURE_2D, ST_TEXTURE_3D, - ST_TEXTURE_RECT, + ST_TEXTURE_RECT }; /** @@ -102,7 +102,7 @@ enum st_context_resource_type { ST_CONTEXT_RESOURCE_OPENGL_TEXTURE_CUBE_MAP_POSITIVE_Z, ST_CONTEXT_RESOURCE_OPENGL_TEXTURE_CUBE_MAP_NEGATIVE_Z, ST_CONTEXT_RESOURCE_OPENGL_RENDERBUFFER, - ST_CONTEXT_RESOURCE_OPENVG_PARENT_IMAGE, + ST_CONTEXT_RESOURCE_OPENVG_PARENT_IMAGE }; /** -- cgit v1.2.3 From e1238b5cad3845c029f60d92c08e810274517d33 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Tue, 11 May 2010 11:11:03 +0100 Subject: gallium: Make PIPE_CAP_xxx enums. --- src/gallium/drivers/cell/ppu/cell_screen.c | 4 +- src/gallium/drivers/i915/i915_screen.c | 4 +- src/gallium/drivers/i965/brw_screen.c | 4 +- src/gallium/drivers/identity/id_screen.c | 4 +- src/gallium/drivers/llvmpipe/lp_screen.c | 4 +- src/gallium/drivers/nv50/nv50_screen.c | 4 +- src/gallium/drivers/nvfx/nvfx_screen.c | 4 +- src/gallium/drivers/r300/r300_screen.c | 4 +- src/gallium/drivers/softpipe/sp_screen.c | 4 +- src/gallium/drivers/svga/svga_screen.c | 4 +- src/gallium/drivers/trace/tr_screen.c | 4 +- src/gallium/include/pipe/p_defines.h | 85 ++++++++++++++++-------------- src/gallium/include/pipe/p_screen.h | 4 +- 13 files changed, 69 insertions(+), 64 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index b4fd8d7235c..5af4eaa88b1 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -55,7 +55,7 @@ cell_get_name(struct pipe_screen *screen) static int -cell_get_param(struct pipe_screen *screen, int param) +cell_get_param(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -105,7 +105,7 @@ cell_get_param(struct pipe_screen *screen, int param) static float -cell_get_paramf(struct pipe_screen *screen, int param) +cell_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 9086f9fc3b1..d196c779e43 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -90,7 +90,7 @@ i915_get_name(struct pipe_screen *screen) } static int -i915_get_param(struct pipe_screen *screen, int param) +i915_get_param(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -133,7 +133,7 @@ i915_get_param(struct pipe_screen *screen, int param) } static float -i915_get_paramf(struct pipe_screen *screen, int param) +i915_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/i965/brw_screen.c b/src/gallium/drivers/i965/brw_screen.c index 0a7151bde44..d242691f2d2 100644 --- a/src/gallium/drivers/i965/brw_screen.c +++ b/src/gallium/drivers/i965/brw_screen.c @@ -149,7 +149,7 @@ brw_get_name(struct pipe_screen *screen) } static int -brw_get_param(struct pipe_screen *screen, int param) +brw_get_param(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -192,7 +192,7 @@ brw_get_param(struct pipe_screen *screen, int param) } static float -brw_get_paramf(struct pipe_screen *screen, int param) +brw_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/identity/id_screen.c b/src/gallium/drivers/identity/id_screen.c index 7671bded981..3c94e04a7a8 100644 --- a/src/gallium/drivers/identity/id_screen.c +++ b/src/gallium/drivers/identity/id_screen.c @@ -67,7 +67,7 @@ identity_screen_get_vendor(struct pipe_screen *_screen) static int identity_screen_get_param(struct pipe_screen *_screen, - int param) + enum pipe_cap param) { struct identity_screen *id_screen = identity_screen(_screen); struct pipe_screen *screen = id_screen->screen; @@ -78,7 +78,7 @@ identity_screen_get_param(struct pipe_screen *_screen, static float identity_screen_get_paramf(struct pipe_screen *_screen, - int param) + enum pipe_cap param) { struct identity_screen *id_screen = identity_screen(_screen); struct pipe_screen *screen = id_screen->screen; diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 65cc55b8ca2..226f7a145e2 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -82,7 +82,7 @@ llvmpipe_get_name(struct pipe_screen *screen) static int -llvmpipe_get_param(struct pipe_screen *screen, int param) +llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -140,7 +140,7 @@ llvmpipe_get_param(struct pipe_screen *screen, int param) static float -llvmpipe_get_paramf(struct pipe_screen *screen, int param) +llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index bf46cebb590..ff3a7b2843d 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -102,7 +102,7 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen, } static int -nv50_screen_get_param(struct pipe_screen *pscreen, int param) +nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -157,7 +157,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, int param) } static float -nv50_screen_get_paramf(struct pipe_screen *pscreen, int param) +nv50_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index c70f254f8c8..0ff25e54f73 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -30,7 +30,7 @@ struct nouveau_winsys { #define NV6X_GRCLASS4497_CHIPSETS 0x00000088 static int -nvfx_screen_get_param(struct pipe_screen *pscreen, int param) +nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) { struct nvfx_screen *screen = nvfx_screen(pscreen); @@ -91,7 +91,7 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, int param) } static float -nvfx_screen_get_paramf(struct pipe_screen *pscreen, int param) +nvfx_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) { struct nvfx_screen *screen = nvfx_screen(pscreen); diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index c0391267031..89982c870d8 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -76,7 +76,7 @@ static const char* r300_get_name(struct pipe_screen* pscreen) return chip_families[r300screen->caps.family]; } -static int r300_get_param(struct pipe_screen* pscreen, int param) +static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) { struct r300_screen* r300screen = r300_screen(pscreen); @@ -166,7 +166,7 @@ static int r300_get_param(struct pipe_screen* pscreen, int param) } } -static float r300_get_paramf(struct pipe_screen* pscreen, int param) +static float r300_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) { struct r300_screen* r300screen = r300_screen(pscreen); diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 8bb0294238a..88e5c11801f 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -56,7 +56,7 @@ softpipe_get_name(struct pipe_screen *screen) static int -softpipe_get_param(struct pipe_screen *screen, int param) +softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: @@ -117,7 +117,7 @@ softpipe_get_param(struct pipe_screen *screen, int param) static float -softpipe_get_paramf(struct pipe_screen *screen, int param) +softpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { switch (param) { case PIPE_CAP_MAX_LINE_WIDTH: diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 27ac09e275d..580340b237a 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -84,7 +84,7 @@ svga_get_name( struct pipe_screen *pscreen ) static float -svga_get_paramf(struct pipe_screen *screen, int param) +svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { struct svga_screen *svgascreen = svga_screen(screen); struct svga_winsys_screen *sws = svgascreen->sws; @@ -186,7 +186,7 @@ svga_get_paramf(struct pipe_screen *screen, int param) /* This is a fairly pointless interface */ static int -svga_get_param(struct pipe_screen *screen, int param) +svga_get_param(struct pipe_screen *screen, enum pipe_cap param) { return (int) svga_get_paramf( screen, param ); } diff --git a/src/gallium/drivers/trace/tr_screen.c b/src/gallium/drivers/trace/tr_screen.c index 63a45d7e512..4513bde7846 100644 --- a/src/gallium/drivers/trace/tr_screen.c +++ b/src/gallium/drivers/trace/tr_screen.c @@ -86,7 +86,7 @@ trace_screen_get_vendor(struct pipe_screen *_screen) static int trace_screen_get_param(struct pipe_screen *_screen, - int param) + enum pipe_cap param) { struct trace_screen *tr_scr = trace_screen(_screen); struct pipe_screen *screen = tr_scr->screen; @@ -109,7 +109,7 @@ trace_screen_get_param(struct pipe_screen *_screen, static float trace_screen_get_paramf(struct pipe_screen *_screen, - int param) + enum pipe_cap param) { struct trace_screen *tr_scr = trace_screen(_screen); struct pipe_screen *screen = tr_scr->screen; diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 1aa54f1423a..7e43edcff8c 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -413,46 +413,51 @@ enum pipe_transfer_usage { * Implementation capabilities/limits which are queried through * pipe_screen::get_param() and pipe_screen::get_paramf(). */ -#define PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS 1 -#define PIPE_CAP_NPOT_TEXTURES 2 -#define PIPE_CAP_TWO_SIDED_STENCIL 3 -#define PIPE_CAP_GLSL 4 /* XXX need something better */ -#define PIPE_CAP_DUAL_SOURCE_BLEND 5 -#define PIPE_CAP_ANISOTROPIC_FILTER 6 -#define PIPE_CAP_POINT_SPRITE 7 -#define PIPE_CAP_MAX_RENDER_TARGETS 8 -#define PIPE_CAP_OCCLUSION_QUERY 9 -#define PIPE_CAP_TEXTURE_SHADOW_MAP 10 -#define PIPE_CAP_MAX_TEXTURE_2D_LEVELS 11 -#define PIPE_CAP_MAX_TEXTURE_3D_LEVELS 12 -#define PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS 13 -#define PIPE_CAP_MAX_LINE_WIDTH 14 -#define PIPE_CAP_MAX_LINE_WIDTH_AA 15 -#define PIPE_CAP_MAX_POINT_WIDTH 16 -#define PIPE_CAP_MAX_POINT_WIDTH_AA 17 -#define PIPE_CAP_MAX_TEXTURE_ANISOTROPY 18 -#define PIPE_CAP_MAX_TEXTURE_LOD_BIAS 19 -#define PIPE_CAP_GUARD_BAND_LEFT 20 /*< float */ -#define PIPE_CAP_GUARD_BAND_TOP 21 /*< float */ -#define PIPE_CAP_GUARD_BAND_RIGHT 22 /*< float */ -#define PIPE_CAP_GUARD_BAND_BOTTOM 23 /*< float */ -#define PIPE_CAP_TEXTURE_MIRROR_CLAMP 24 -#define PIPE_CAP_TEXTURE_MIRROR_REPEAT 25 -#define PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS 26 -#define PIPE_CAP_TGSI_CONT_SUPPORTED 27 -#define PIPE_CAP_BLEND_EQUATION_SEPARATE 28 -#define PIPE_CAP_SM3 29 /*< Shader Model 3 supported */ -#define PIPE_CAP_MAX_PREDICATE_REGISTERS 30 -#define PIPE_CAP_MAX_COMBINED_SAMPLERS 31 /*< Maximum texture image units accessible from vertex - and fragment shaders combined */ -#define PIPE_CAP_MAX_CONST_BUFFERS 32 -#define PIPE_CAP_MAX_CONST_BUFFER_SIZE 33 /*< In bytes */ -#define PIPE_CAP_INDEP_BLEND_ENABLE 34 /*< blend enables and write masks per rendertarget */ -#define PIPE_CAP_INDEP_BLEND_FUNC 35 /*< different blend funcs per rendertarget */ -#define PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT 36 -#define PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT 37 -#define PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER 38 -#define PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER 39 +enum pipe_cap { + PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS, + PIPE_CAP_NPOT_TEXTURES, + PIPE_CAP_TWO_SIDED_STENCIL, + PIPE_CAP_GLSL, /* XXX need something better */ + PIPE_CAP_DUAL_SOURCE_BLEND, + PIPE_CAP_ANISOTROPIC_FILTER, + PIPE_CAP_POINT_SPRITE, + PIPE_CAP_MAX_RENDER_TARGETS, + PIPE_CAP_OCCLUSION_QUERY, + PIPE_CAP_TEXTURE_SHADOW_MAP, + PIPE_CAP_MAX_TEXTURE_2D_LEVELS, + PIPE_CAP_MAX_TEXTURE_3D_LEVELS, + PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS, + PIPE_CAP_MAX_LINE_WIDTH, + PIPE_CAP_MAX_LINE_WIDTH_AA, + PIPE_CAP_MAX_POINT_WIDTH, + PIPE_CAP_MAX_POINT_WIDTH_AA, + PIPE_CAP_MAX_TEXTURE_ANISOTROPY, + PIPE_CAP_MAX_TEXTURE_LOD_BIAS, + PIPE_CAP_GUARD_BAND_LEFT, /*< float */ + PIPE_CAP_GUARD_BAND_TOP, /*< float */ + PIPE_CAP_GUARD_BAND_RIGHT, /*< float */ + PIPE_CAP_GUARD_BAND_BOTTOM, /*< float */ + PIPE_CAP_TEXTURE_MIRROR_CLAMP, + PIPE_CAP_TEXTURE_MIRROR_REPEAT, + PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS, + PIPE_CAP_TGSI_CONT_SUPPORTED, + PIPE_CAP_BLEND_EQUATION_SEPARATE, + PIPE_CAP_SM3, /*< Shader Model, supported */ + PIPE_CAP_MAX_PREDICATE_REGISTERS, + /** Maximum texture image units accessible from vertex and fragment shaders + * combined */ + PIPE_CAP_MAX_COMBINED_SAMPLERS, + PIPE_CAP_MAX_CONST_BUFFERS, + PIPE_CAP_MAX_CONST_BUFFER_SIZE, /*< In bytes */ + /** blend enables and write masks per rendertarget */ + PIPE_CAP_INDEP_BLEND_ENABLE, + /** different blend funcs per rendertarget */ + PIPE_CAP_INDEP_BLEND_FUNC, + PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT, + PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT, + PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER, + PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER, +}; /** diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index beff1ae8a92..7195dc03963 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -79,13 +79,13 @@ struct pipe_screen { * Query an integer-valued capability/parameter/limit * \param param one of PIPE_CAP_x */ - int (*get_param)( struct pipe_screen *, int param ); + int (*get_param)( struct pipe_screen *, enum pipe_cap param ); /** * Query a float-valued capability/parameter/limit * \param param one of PIPE_CAP_x */ - float (*get_paramf)( struct pipe_screen *, int param ); + float (*get_paramf)( struct pipe_screen *, enum pipe_cap param ); struct pipe_context * (*context_create)( struct pipe_screen *, void *priv ); -- cgit v1.2.3 From bfc702d1e7470d611600dad18e0f829d08281eed Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 12 May 2010 14:08:22 +0100 Subject: gallium: Add new fine grained PIPE_CAP_xx for shader limits. PIPE_CAP_GLSL and PIPE_CAP_SM3 not removed yet, as opcode support is not yet covered. --- src/gallium/docs/source/screen.rst | 16 ++++++++++++++++ src/gallium/include/pipe/p_defines.h | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index c5815f8939c..71b7aec35a5 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -101,6 +101,22 @@ The floating-point capabilities: * ``GUARD_BAND_LEFT``, ``GUARD_BAND_TOP``, ``GUARD_BAND_RIGHT``, ``GUARD_BAND_BOTTOM``: XXX +Fragment shader limits: + +* ``PIPE_CAP_MAX_FS_INSTRUCTIONS``: The maximum number of instructions. +* ``PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS``: The maximum number of arithmetic instructions. +* ``PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS``: The maximum number of texture instructions. +* ``PIPE_CAP_MAX_FS_TEX_INDIRECTIONS``: The maximum number of texture indirections. +* ``PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH``: The maximum nested control flow depth. +* ``PIPE_CAP_MAX_FS_INPUTS``: The maximum number of input registers. +* ``PIPE_CAP_MAX_FS_CONSTS``: The maximum number of constants. +* ``PIPE_CAP_MAX_FS_TEMPS``: The maximum number of temporary registers. +* ``PIPE_CAP_MAX_FS_ADDRS``: The maximum number of address registers. +* ``PIPE_CAP_MAX_FS_PREDS``: The maximum number of predicate registers. + +Vertex shader limits: + +* ``PIPE_CAP_MAX_VS_*``: Identical to ``PIPE_CAP_MAX_FS_*``. .. _pipe_bind: diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 7e43edcff8c..2d363dd47b6 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -457,6 +457,30 @@ enum pipe_cap { PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER, + + /* + * Shader limits. + */ + PIPE_CAP_MAX_FS_INSTRUCTIONS, + PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS, + PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS, + PIPE_CAP_MAX_FS_TEX_INDIRECTIONS, + PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH, + PIPE_CAP_MAX_FS_INPUTS, + PIPE_CAP_MAX_FS_CONSTS, + PIPE_CAP_MAX_FS_TEMPS, + PIPE_CAP_MAX_FS_ADDRS, + PIPE_CAP_MAX_FS_PREDS, + PIPE_CAP_MAX_VS_INSTRUCTIONS, + PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS, + PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS, + PIPE_CAP_MAX_VS_TEX_INDIRECTIONS, + PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH, + PIPE_CAP_MAX_VS_INPUTS, + PIPE_CAP_MAX_VS_CONSTS, + PIPE_CAP_MAX_VS_TEMPS, + PIPE_CAP_MAX_VS_ADDRS, + PIPE_CAP_MAX_VS_PREDS }; -- cgit v1.2.3 From 0f9b4969167c62fcac70f98875828150ba72dd67 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Wed, 12 May 2010 22:47:15 +0100 Subject: graw: Make functions public --- src/gallium/include/state_tracker/graw.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index a58e18e4739..385e4d7718e 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -18,19 +18,19 @@ struct pipe_screen; -struct pipe_screen *graw_init( void ); +PUBLIC struct pipe_screen *graw_init( void ); /* Returns a handle to be used with flush_frontbuffer()/present(). * * Query format support with screen::is_format_supported and usage * XXX. */ -void *graw_create_window( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format ); +PUBLIC void *graw_create_window( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format ); -void graw_destroy_window( void *handle ); +PUBLIC void graw_destroy_window( void *handle ); #endif -- cgit v1.2.3 From 1775829f8c30625d86db127aa2de6951ec44d278 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 13 May 2010 01:25:07 -0700 Subject: gallium: Add tokens for Cygwin. --- src/gallium/auxiliary/os/os_thread.h | 10 +++++----- src/gallium/auxiliary/os/os_time.c | 2 +- src/gallium/include/pipe/p_config.h | 5 +++++ 3 files changed, 11 insertions(+), 6 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h index c09e8a7a76f..0238308d20b 100644 --- a/src/gallium/auxiliary/os/os_thread.h +++ b/src/gallium/auxiliary/os/os_thread.h @@ -40,7 +40,7 @@ #include "util/u_debug.h" /* for assert */ -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) #include /* POSIX threads headers */ #include /* for perror() */ @@ -405,7 +405,7 @@ pipe_semaphore_wait(pipe_semaphore *sema) */ typedef struct { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) pthread_key_t key; #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) DWORD key; @@ -420,7 +420,7 @@ typedef struct { static INLINE void pipe_tsd_init(pipe_tsd *tsd) { -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) { perror("pthread_key_create(): failed to allocate key for thread specific data"); exit(-1); @@ -437,7 +437,7 @@ pipe_tsd_get(pipe_tsd *tsd) if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { pipe_tsd_init(tsd); } -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) return pthread_getspecific(tsd->key); #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER) assert(0); @@ -454,7 +454,7 @@ pipe_tsd_set(pipe_tsd *tsd, void *value) if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) { pipe_tsd_init(tsd); } -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) if (pthread_setspecific(tsd->key, value) != 0) { perror("pthread_set_specific() failed"); exit(-1); diff --git a/src/gallium/auxiliary/os/os_time.c b/src/gallium/auxiliary/os/os_time.c index 6259142bec0..84907215fe6 100644 --- a/src/gallium/auxiliary/os/os_time.c +++ b/src/gallium/auxiliary/os/os_time.c @@ -37,7 +37,7 @@ #if !defined(PIPE_OS_EMBEDDED) -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) +#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) # include /* timeval */ #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY) # include diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index c5928dde471..b81702a4fac 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -165,6 +165,11 @@ #define PIPE_OS_UNIX #endif +#if defined(__CYGWIN__) +#define PIPE_OS_CYGWIN +#define PIPE_OS_UNIX +#endif + /* * Try to auto-detect the subsystem. * -- cgit v1.2.3 From 0bd1cbcd0d28dbadfb0c3e1f8b048a18b56bc72c Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Fri, 14 May 2010 13:04:42 +0100 Subject: gallium: convert rasterizer state to use gl-style front/back concepts Use front/back instead of cw/ccw throughout. Also, use offset_point/line/fill instead of offset_cw/ccw. Brings gallium representation of this state into line with its main user, and also what turns out to be the most common hardware representation. This fixes a long-standing bias in the interface towards the architecture of the software rasterizer. --- src/gallium/auxiliary/draw/draw_context.c | 2 +- src/gallium/auxiliary/draw/draw_pipe_cull.c | 13 ++-- src/gallium/auxiliary/draw/draw_pipe_twoside.c | 2 +- src/gallium/auxiliary/draw/draw_pipe_unfilled.c | 5 +- src/gallium/auxiliary/draw/draw_pipe_validate.c | 19 ++--- src/gallium/auxiliary/util/u_blit.c | 3 +- src/gallium/auxiliary/util/u_blitter.c | 3 +- src/gallium/auxiliary/util/u_dump_state.c | 13 ++-- src/gallium/auxiliary/util/u_gen_mipmap.c | 3 +- src/gallium/drivers/i915/i915_state.c | 20 ++++-- src/gallium/drivers/i965/brw_pipe_rast.c | 41 +++++++++-- src/gallium/drivers/i965/brw_sf.c | 2 +- src/gallium/drivers/i965/brw_sf_state.c | 20 +++--- src/gallium/drivers/llvmpipe/lp_setup_tri.c | 10 +-- src/gallium/drivers/llvmpipe/lp_state_rasterizer.c | 4 +- src/gallium/drivers/nv50/nv50_state.c | 82 +++++++--------------- src/gallium/drivers/nvfx/nvfx_state.c | 73 ++++++------------- src/gallium/drivers/r300/r300_state.c | 60 ++++++---------- src/gallium/drivers/softpipe/sp_context.h | 3 + src/gallium/drivers/softpipe/sp_setup.c | 41 ++--------- src/gallium/drivers/svga/svga_pipe_rasterizer.c | 43 ++++++------ src/gallium/drivers/svga/svga_state_fs.c | 3 +- src/gallium/drivers/svga/svga_state_rss.c | 10 +-- src/gallium/drivers/svga/svga_tgsi.h | 2 +- src/gallium/drivers/svga/svga_tgsi_insn.c | 14 ++-- src/gallium/drivers/trace/tr_dump_state.c | 13 ++-- src/gallium/include/pipe/p_defines.h | 10 +-- src/gallium/include/pipe/p_state.h | 13 ++-- 28 files changed, 234 insertions(+), 293 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 02abddf1491..61980c3e4f5 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -566,7 +566,7 @@ draw_get_rasterizer_no_cull( struct draw_context *draw, memset(&rast, 0, sizeof(rast)); rast.scissor = scissor; rast.flatshade = flatshade; - rast.front_winding = PIPE_WINDING_CCW; + rast.front_ccw = 1; rast.gl_rasterization_rules = draw->rasterizer->gl_rasterization_rules; draw->rasterizer_no_cull[scissor][flatshade] = diff --git a/src/gallium/auxiliary/draw/draw_pipe_cull.c b/src/gallium/auxiliary/draw/draw_pipe_cull.c index dc66c65a56c..bf84ce30ed1 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_cull.c +++ b/src/gallium/auxiliary/draw/draw_pipe_cull.c @@ -40,7 +40,8 @@ struct cull_stage { struct draw_stage stage; - unsigned winding; /**< which winding(s) to cull (one of PIPE_WINDING_x) */ + unsigned cull_face; /**< which face(s) to cull (one of PIPE_FACE_x) */ + unsigned front_ccw; }; @@ -73,9 +74,12 @@ static void cull_tri( struct draw_stage *stage, /* if det < 0 then Z points toward the camera and the triangle is * counter-clockwise winding. */ - unsigned winding = (header->det < 0) ? PIPE_WINDING_CCW : PIPE_WINDING_CW; + unsigned ccw = (header->det < 0); + unsigned face = ((ccw == cull_stage(stage)->front_ccw) ? + PIPE_FACE_FRONT : + PIPE_FACE_BACK); - if ((winding & cull_stage(stage)->winding) == 0) { + if ((face & cull_stage(stage)->cull_face) == 0) { /* triangle is not culled, pass to next stage */ stage->next->tri( stage->next, header ); } @@ -88,7 +92,8 @@ static void cull_first_tri( struct draw_stage *stage, { struct cull_stage *cull = cull_stage(stage); - cull->winding = stage->draw->rasterizer->cull_mode; + cull->cull_face = stage->draw->rasterizer->cull_face; + cull->front_ccw = stage->draw->rasterizer->front_ccw; stage->tri = cull_tri; stage->tri( stage, header ); diff --git a/src/gallium/auxiliary/draw/draw_pipe_twoside.c b/src/gallium/auxiliary/draw/draw_pipe_twoside.c index eef0238b157..808b2fb0b58 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_twoside.c +++ b/src/gallium/auxiliary/draw/draw_pipe_twoside.c @@ -141,7 +141,7 @@ static void twoside_first_tri( struct draw_stage *stage, * if the triangle is back-facing (negative). * sign = -1 for CCW, +1 for CW */ - twoside->sign = (stage->draw->rasterizer->front_winding == PIPE_WINDING_CCW) ? -1.0f : 1.0f; + twoside->sign = stage->draw->rasterizer->front_ccw ? -1.0f : 1.0f; stage->tri = twoside_tri; stage->tri( stage, header ); diff --git a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c index a30fada86a0..d1f05129b93 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_unfilled.c +++ b/src/gallium/auxiliary/draw/draw_pipe_unfilled.c @@ -159,9 +159,10 @@ static void unfilled_first_tri( struct draw_stage *stage, struct prim_header *header ) { struct unfilled_stage *unfilled = unfilled_stage(stage); + const struct pipe_rasterizer_state *rast = stage->draw->rasterizer; - unfilled->mode[0] = stage->draw->rasterizer->fill_ccw; /* front */ - unfilled->mode[1] = stage->draw->rasterizer->fill_cw; /* back */ + unfilled->mode[rast->front_ccw ? 0 : 1] = rast->fill_front; + unfilled->mode[rast->front_ccw ? 1 : 0] = rast->fill_back; stage->tri = unfilled_tri; stage->tri( stage, header ); diff --git a/src/gallium/auxiliary/draw/draw_pipe_validate.c b/src/gallium/auxiliary/draw/draw_pipe_validate.c index 2a50af7a414..72dfbc4d4ab 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_validate.c +++ b/src/gallium/auxiliary/draw/draw_pipe_validate.c @@ -122,12 +122,14 @@ draw_need_pipeline(const struct draw_context *draw, return TRUE; /* unfilled polygons */ - if (rasterizer->fill_cw != PIPE_POLYGON_MODE_FILL || - rasterizer->fill_ccw != PIPE_POLYGON_MODE_FILL) + if (rasterizer->fill_front != PIPE_POLYGON_MODE_FILL || + rasterizer->fill_front != PIPE_POLYGON_MODE_FILL) return TRUE; /* polygon offset */ - if (rasterizer->offset_cw || rasterizer->offset_ccw) + if (rasterizer->offset_point || + rasterizer->offset_line || + rasterizer->offset_tri) return TRUE; /* two-side lighting */ @@ -222,8 +224,8 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) next = draw->pipeline.pstipple; } - if (rast->fill_cw != PIPE_POLYGON_MODE_FILL || - rast->fill_ccw != PIPE_POLYGON_MODE_FILL) { + if (rast->fill_front != PIPE_POLYGON_MODE_FILL || + rast->fill_back != PIPE_POLYGON_MODE_FILL) { draw->pipeline.unfilled->next = next; next = draw->pipeline.unfilled; precalc_flat = TRUE; /* only needed for triangles really */ @@ -235,8 +237,9 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) next = draw->pipeline.flatshade; } - if (rast->offset_cw || - rast->offset_ccw) { + if (rast->offset_point || + rast->offset_line || + rast->offset_tri) { draw->pipeline.offset->next = next; next = draw->pipeline.offset; need_det = TRUE; @@ -255,7 +258,7 @@ static struct draw_stage *validate_pipeline( struct draw_stage *stage ) * to less work emitting vertices, smaller vertex buffers, etc. * It's difficult to say whether this will be true in general. */ - if (need_det || rast->cull_mode) { + if (need_det || rast->cull_face != PIPE_FACE_NONE) { draw->pipeline.cull->next = next; next = draw->pipeline.cull; } diff --git a/src/gallium/auxiliary/util/u_blit.c b/src/gallium/auxiliary/util/u_blit.c index e3b7839a92a..f6f6e481d94 100644 --- a/src/gallium/auxiliary/util/u_blit.c +++ b/src/gallium/auxiliary/util/u_blit.c @@ -101,8 +101,7 @@ util_create_blit(struct pipe_context *pipe, struct cso_context *cso) /* rasterizer */ memset(&ctx->rasterizer, 0, sizeof(ctx->rasterizer)); - ctx->rasterizer.front_winding = PIPE_WINDING_CW; - ctx->rasterizer.cull_mode = PIPE_WINDING_NONE; + ctx->rasterizer.cull_face = PIPE_FACE_NONE; ctx->rasterizer.gl_rasterization_rules = 1; /* samplers */ diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 157b3853e45..3a7c4db6f34 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -175,8 +175,7 @@ struct blitter_context *util_blitter_create(struct pipe_context *pipe) /* rasterizer state */ memset(&rs_state, 0, sizeof(rs_state)); - rs_state.front_winding = PIPE_WINDING_CW; - rs_state.cull_mode = PIPE_WINDING_NONE; + rs_state.cull_face = PIPE_FACE_NONE; rs_state.gl_rasterization_rules = 1; rs_state.flatshade = 1; ctx->rs_state = pipe->create_rasterizer_state(pipe, &rs_state); diff --git a/src/gallium/auxiliary/util/u_dump_state.c b/src/gallium/auxiliary/util/u_dump_state.c index 2ce643e90cd..cda5b8ba512 100644 --- a/src/gallium/auxiliary/util/u_dump_state.c +++ b/src/gallium/auxiliary/util/u_dump_state.c @@ -300,12 +300,13 @@ util_dump_rasterizer_state(struct os_stream *stream, const struct pipe_rasterize util_dump_member(stream, bool, state, flatshade); util_dump_member(stream, bool, state, light_twoside); - util_dump_member(stream, uint, state, front_winding); - util_dump_member(stream, uint, state, cull_mode); - util_dump_member(stream, uint, state, fill_cw); - util_dump_member(stream, uint, state, fill_ccw); - util_dump_member(stream, bool, state, offset_cw); - util_dump_member(stream, bool, state, offset_ccw); + util_dump_member(stream, uint, state, front_ccw); + util_dump_member(stream, uint, state, cull_face); + util_dump_member(stream, uint, state, fill_front); + util_dump_member(stream, uint, state, fill_back); + util_dump_member(stream, bool, state, offset_point); + util_dump_member(stream, bool, state, offset_line); + util_dump_member(stream, bool, state, offset_tri); util_dump_member(stream, bool, state, scissor); util_dump_member(stream, bool, state, poly_smooth); util_dump_member(stream, bool, state, poly_stipple_enable); diff --git a/src/gallium/auxiliary/util/u_gen_mipmap.c b/src/gallium/auxiliary/util/u_gen_mipmap.c index eee6030ddcc..1553e08d6ce 100644 --- a/src/gallium/auxiliary/util/u_gen_mipmap.c +++ b/src/gallium/auxiliary/util/u_gen_mipmap.c @@ -1295,8 +1295,7 @@ util_create_gen_mipmap(struct pipe_context *pipe, /* rasterizer */ memset(&ctx->rasterizer, 0, sizeof(ctx->rasterizer)); - ctx->rasterizer.front_winding = PIPE_WINDING_CW; - ctx->rasterizer.cull_mode = PIPE_WINDING_NONE; + ctx->rasterizer.cull_face = PIPE_FACE_NONE; ctx->rasterizer.gl_rasterization_rules = 1; /* sampler state */ diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index f883883852a..cd963e4df75 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -686,17 +686,23 @@ i915_create_rasterizer_state(struct pipe_context *pipe, else cso->sc[0] = _3DSTATE_SCISSOR_ENABLE_CMD | DISABLE_SCISSOR_RECT; - switch (rasterizer->cull_mode) { - case PIPE_WINDING_NONE: + switch (rasterizer->cull_face) { + case PIPE_FACE_NONE: cso->LIS4 |= S4_CULLMODE_NONE; break; - case PIPE_WINDING_CW: - cso->LIS4 |= S4_CULLMODE_CW; + case PIPE_FACE_FRONT: + if (rasterizer->front_ccw) + cso->LIS4 |= S4_CULLMODE_CCW; + else + cso->LIS4 |= S4_CULLMODE_CW; break; - case PIPE_WINDING_CCW: - cso->LIS4 |= S4_CULLMODE_CCW; + case PIPE_FACE_BACK: + if (rasterizer->front_ccw) + cso->LIS4 |= S4_CULLMODE_CW; + else + cso->LIS4 |= S4_CULLMODE_CCW; break; - case PIPE_WINDING_BOTH: + case PIPE_FACE_FRONT_AND_BACK: cso->LIS4 |= S4_CULLMODE_BOTH; break; } diff --git a/src/gallium/drivers/i965/brw_pipe_rast.c b/src/gallium/drivers/i965/brw_pipe_rast.c index 2117e91a9e4..79c445e8b01 100644 --- a/src/gallium/drivers/i965/brw_pipe_rast.c +++ b/src/gallium/drivers/i965/brw_pipe_rast.c @@ -42,7 +42,7 @@ calculate_clip_key_rast( const struct brw_context *brw, key->do_flat_shading = templ->flatshade; - if (templ->cull_mode == PIPE_WINDING_BOTH) { + if (templ->cull_face == PIPE_FACE_FRONT_AND_BACK) { key->clip_mode = BRW_CLIPMODE_REJECT_ALL; return; } @@ -50,12 +50,18 @@ calculate_clip_key_rast( const struct brw_context *brw, key->fill_ccw = CLIP_CULL; key->fill_cw = CLIP_CULL; - if (!(templ->cull_mode & PIPE_WINDING_CCW)) { - key->fill_ccw = translate_fill(templ->fill_ccw); + if (!(templ->cull_mode & PIPE_FACE_FRONT)) { + if (templ->front_ccw) + key->fill_ccw = translate_fill(templ->fill_front); + else + key->fill_cw = translate_fill(templ->fill_front); } - if (!(templ->cull_mode & PIPE_WINDING_CW)) { - key->fill_cw = translate_fill(templ->fill_cw); + if (!(templ->cull_mode & PIPE_FACE_BACK)) { + if (templ->front_ccw) + key->fill_cw = translate_fill(templ->fill_back); + else + key->fill_ccw = translate_fill(templ->fill_back); } if (key->fill_cw == CLIP_LINE || @@ -66,8 +72,29 @@ calculate_clip_key_rast( const struct brw_context *brw, key->clip_mode = BRW_CLIPMODE_CLIP_NON_REJECTED; } - key->offset_ccw = templ->offset_ccw; - key->offset_cw = templ->offset_cw; + switch (key->fill_cw) { + case CLIP_POINT: + key->offset_cw = templ->offset_point; + break; + case CLIP_LINE: + key->offset_cw = templ->offset_line; + break; + case CLIP_FILL: + key->offset_cw = templ->offset_tri; + break; + } + + switch (key->fill_ccw) { + case CLIP_POINT: + key->offset_ccw = templ->offset_point; + break; + case CLIP_LINE: + key->offset_ccw = templ->offset_line; + break; + case CLIP_FILL: + key->offset_ccw = templ->offset_tri; + break; + } if (templ->light_twoside && key->fill_cw != CLIP_CULL) key->copy_bfc_cw = 1; diff --git a/src/gallium/drivers/i965/brw_sf.c b/src/gallium/drivers/i965/brw_sf.c index 9cceb4dbe52..058b1e12e2c 100644 --- a/src/gallium/drivers/i965/brw_sf.c +++ b/src/gallium/drivers/i965/brw_sf.c @@ -187,7 +187,7 @@ static enum pipe_error upload_sf_prog(struct brw_context *brw) key.do_twoside_color = rast->light_twoside; if (key.do_twoside_color) { - key.frontface_ccw = (rast->front_winding == PIPE_WINDING_CCW); + key.frontface_ccw = rast->front_ccw; } if (brw_search_cache(&brw->cache, BRW_SF_PROG, diff --git a/src/gallium/drivers/i965/brw_sf_state.c b/src/gallium/drivers/i965/brw_sf_state.c index 0ad91e03072..fede8bd3009 100644 --- a/src/gallium/drivers/i965/brw_sf_state.c +++ b/src/gallium/drivers/i965/brw_sf_state.c @@ -183,22 +183,22 @@ sf_unit_create_from_key(struct brw_context *brw, if (key->scissor) sf.sf6.scissor = 1; - if (key->front_face == PIPE_WINDING_CCW) + if (key->front_ccw) sf.sf5.front_winding = BRW_FRONTWINDING_CCW; else sf.sf5.front_winding = BRW_FRONTWINDING_CW; - switch (key->cull_mode) { - case PIPE_WINDING_CCW: - case PIPE_WINDING_CW: - sf.sf6.cull_mode = (key->front_face == key->cull_mode ? - BRW_CULLMODE_FRONT : - BRW_CULLMODE_BACK); + switch (key->cull_face) { + case PIPE_FACE_FRONT: + sf.sf6.cull_mode = BRW_CULLMODE_FRONT; break; - case PIPE_WINDING_BOTH: + case PIPE_FACE_BACK: + sf.sf6.cull_mode = BRW_CULLMODE_BACK; + break; + case PIPE_FACE_FRONT_AND_BACK: sf.sf6.cull_mode = BRW_CULLMODE_BOTH; break; - case PIPE_WINDING_NONE: + case PIPE_FACE_NONE: sf.sf6.cull_mode = BRW_CULLMODE_NONE; break; default: @@ -284,7 +284,7 @@ static enum pipe_error upload_sf_unit( struct brw_context *brw ) */ total_grf = (align(key.total_grf, 16) / 16 - 1); viewport_transform = 1; - front_winding = (key.front_face == PIPE_WINDING_CCW ? + front_winding = (key.front_ccw ? BRW_FRONTWINDING_CCW : BRW_FRONTWINDING_CW); diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c index 53b91690b68..fbbfa3275f3 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c @@ -671,14 +671,14 @@ void lp_setup_choose_triangle( struct lp_setup_context *setup ) { switch (setup->cullmode) { - case PIPE_WINDING_NONE: + case PIPE_FACE_NONE: setup->triangle = triangle_both; break; - case PIPE_WINDING_CCW: - setup->triangle = triangle_cw; + case PIPE_FACE_FRONT: + setup->triangle = setup->ccw_is_frontface ? triangle_ccw : triangle_cw; break; - case PIPE_WINDING_CW: - setup->triangle = triangle_ccw; + case PIPE_FACE_BACK: + setup->triangle = setup->ccw_is_frontface ? triangle_cw : triangle_ccw; break; default: setup->triangle = triangle_nop; diff --git a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c index 622eb47ff45..afd3e0b21c9 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c +++ b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c @@ -67,8 +67,8 @@ llvmpipe_bind_rasterizer_state(struct pipe_context *pipe, void *handle) */ if (llvmpipe->rasterizer) { lp_setup_set_triangle_state( llvmpipe->setup, - llvmpipe->rasterizer->cull_mode, - llvmpipe->rasterizer->front_winding == PIPE_WINDING_CCW, + llvmpipe->rasterizer->cull_face, + llvmpipe->rasterizer->front_ccw, llvmpipe->rasterizer->scissor, llvmpipe->rasterizer->gl_rasterization_rules); lp_setup_set_flatshade_first( llvmpipe->setup, diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c index e885a2b7196..2f11ed001bb 100644 --- a/src/gallium/drivers/nv50/nv50_state.c +++ b/src/gallium/drivers/nv50/nv50_state.c @@ -345,7 +345,7 @@ nv50_rasterizer_state_create(struct pipe_context *pipe, CALLOC_STRUCT(nv50_rasterizer_stateobj); /*XXX: ignored - * - light_twosize + * - light_twoside * - point_smooth * - multisample * - point_sprite / sprite_coord_mode @@ -385,72 +385,44 @@ nv50_rasterizer_state_create(struct pipe_context *pipe, so_data (so, cso->point_quad_rasterization ? 1 : 0); so_method(so, tesla, NV50TCL_POLYGON_MODE_FRONT, 3); - if (cso->front_winding == PIPE_WINDING_CCW) { - so_data(so, nvgl_polygon_mode(cso->fill_ccw)); - so_data(so, nvgl_polygon_mode(cso->fill_cw)); - } else { - so_data(so, nvgl_polygon_mode(cso->fill_cw)); - so_data(so, nvgl_polygon_mode(cso->fill_ccw)); - } + so_data(so, nvgl_polygon_mode(cso->fill_front)); + so_data(so, nvgl_polygon_mode(cso->fill_back)); so_data(so, cso->poly_smooth ? 1 : 0); so_method(so, tesla, NV50TCL_CULL_FACE_ENABLE, 3); - so_data (so, cso->cull_mode != PIPE_WINDING_NONE); - if (cso->front_winding == PIPE_WINDING_CCW) { + so_data (so, cso->cull_mode != PIPE_FACE_NONE); + if (cso->front_ccw) { so_data(so, NV50TCL_FRONT_FACE_CCW); - switch (cso->cull_mode) { - case PIPE_WINDING_CCW: - so_data(so, NV50TCL_CULL_FACE_FRONT); - break; - case PIPE_WINDING_CW: - so_data(so, NV50TCL_CULL_FACE_BACK); - break; - case PIPE_WINDING_BOTH: - so_data(so, NV50TCL_CULL_FACE_FRONT_AND_BACK); - break; - default: - so_data(so, NV50TCL_CULL_FACE_BACK); - break; - } - } else { + } + else { so_data(so, NV50TCL_FRONT_FACE_CW); - switch (cso->cull_mode) { - case PIPE_WINDING_CCW: - so_data(so, NV50TCL_CULL_FACE_BACK); - break; - case PIPE_WINDING_CW: - so_data(so, NV50TCL_CULL_FACE_FRONT); - break; - case PIPE_WINDING_BOTH: - so_data(so, NV50TCL_CULL_FACE_FRONT_AND_BACK); - break; - default: - so_data(so, NV50TCL_CULL_FACE_BACK); - break; - } + } + switch (cso->cull_face) { + case PIPE_FACE_FRONT: + so_data(so, NV50TCL_CULL_FACE_FRONT); + break; + case PIPE_FACE_BACK: + so_data(so, NV50TCL_CULL_FACE_BACK); + break; + case PIPE_FACE_FRONT_AND_BACK: + so_data(so, NV50TCL_CULL_FACE_FRONT_AND_BACK); + break; + default: + so_data(so, NV50TCL_CULL_FACE_BACK); + break; } so_method(so, tesla, NV50TCL_POLYGON_STIPPLE_ENABLE, 1); so_data (so, cso->poly_stipple_enable ? 1 : 0); so_method(so, tesla, NV50TCL_POLYGON_OFFSET_POINT_ENABLE, 3); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_POINT) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_POINT)) - so_data(so, 1); - else - so_data(so, 0); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_LINE) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_LINE)) - so_data(so, 1); - else - so_data(so, 0); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_FILL) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_FILL)) - so_data(so, 1); - else - so_data(so, 0); + so_data(so, cso->offset_point); + so_data(so, cso->offset_line); + so_data(so, cso->offset_tri); - if (cso->offset_cw || cso->offset_ccw) { + if (cso->offset_point || + cso->offset_line || + cso->offset_tri) { so_method(so, tesla, NV50TCL_POLYGON_OFFSET_FACTOR, 1); so_data (so, fui(cso->offset_scale)); so_method(so, tesla, NV50TCL_POLYGON_OFFSET_UNITS, 1); diff --git a/src/gallium/drivers/nvfx/nvfx_state.c b/src/gallium/drivers/nvfx/nvfx_state.c index 315de492dab..d7177b0f0bb 100644 --- a/src/gallium/drivers/nvfx/nvfx_state.c +++ b/src/gallium/drivers/nvfx/nvfx_state.c @@ -216,66 +216,39 @@ nvfx_rasterizer_state_create(struct pipe_context *pipe, sb_data(sb, fui(cso->point_size)); sb_method(sb, NV34TCL_POLYGON_MODE_FRONT, 6); - if (cso->front_winding == PIPE_WINDING_CCW) { - sb_data(sb, nvgl_polygon_mode(cso->fill_ccw)); - sb_data(sb, nvgl_polygon_mode(cso->fill_cw)); - switch (cso->cull_mode) { - case PIPE_WINDING_CCW: - sb_data(sb, NV34TCL_CULL_FACE_FRONT); - break; - case PIPE_WINDING_CW: - sb_data(sb, NV34TCL_CULL_FACE_BACK); - break; - case PIPE_WINDING_BOTH: - sb_data(sb, NV34TCL_CULL_FACE_FRONT_AND_BACK); - break; - default: - sb_data(sb, NV34TCL_CULL_FACE_BACK); - break; - } + sb_data(sb, nvgl_polygon_mode(cso->fill_front)); + sb_data(sb, nvgl_polygon_mode(cso->fill_back)); + switch (cso->cull_mode) { + case PIPE_FACE_FRONT: + sb_data(sb, NV34TCL_CULL_FACE_FRONT); + break; + case PIPE_FACE_BACK: + sb_data(sb, NV34TCL_CULL_FACE_BACK); + break; + case PIPE_FACE_FRONT_AND_BACK: + sb_data(sb, NV34TCL_CULL_FACE_FRONT_AND_BACK); + break; + default: + sb_data(sb, NV34TCL_CULL_FACE_BACK); + break; + } + if (cso->front_ccw) { sb_data(sb, NV34TCL_FRONT_FACE_CCW); } else { - sb_data(sb, nvgl_polygon_mode(cso->fill_cw)); - sb_data(sb, nvgl_polygon_mode(cso->fill_ccw)); - switch (cso->cull_mode) { - case PIPE_WINDING_CCW: - sb_data(sb, NV34TCL_CULL_FACE_BACK); - break; - case PIPE_WINDING_CW: - sb_data(sb, NV34TCL_CULL_FACE_FRONT); - break; - case PIPE_WINDING_BOTH: - sb_data(sb, NV34TCL_CULL_FACE_FRONT_AND_BACK); - break; - default: - sb_data(sb, NV34TCL_CULL_FACE_BACK); - break; - } sb_data(sb, NV34TCL_FRONT_FACE_CW); } sb_data(sb, cso->poly_smooth ? 1 : 0); - sb_data(sb, (cso->cull_mode != PIPE_WINDING_NONE) ? 1 : 0); + sb_data(sb, (cso->cull_face != PIPE_FACE_NONE) ? 1 : 0); sb_method(sb, NV34TCL_POLYGON_STIPPLE_ENABLE, 1); sb_data(sb, cso->poly_stipple_enable ? 1 : 0); sb_method(sb, NV34TCL_POLYGON_OFFSET_POINT_ENABLE, 3); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_POINT) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_POINT)) - sb_data(sb, 1); - else - sb_data(sb, 0); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_LINE) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_LINE)) - sb_data(sb, 1); - else - sb_data(sb, 0); - if ((cso->offset_cw && cso->fill_cw == PIPE_POLYGON_MODE_FILL) || - (cso->offset_ccw && cso->fill_ccw == PIPE_POLYGON_MODE_FILL)) - sb_data(sb, 1); - else - sb_data(sb, 0); - if (cso->offset_cw || cso->offset_ccw) { + sb_data(sb, cso->offset_point); + sb_data(sb, cso->offset_line); + sb_data(sb, cso->offset_tri); + + if (cso->offset_point || cso->offset_line || cso->offset_tri) { sb_method(sb, NV34TCL_POLYGON_OFFSET_FACTOR, 2); sb_data(sb, fui(cso->offset_scale)); sb_data(sb, fui(cso->offset_units * 2)); diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index e7fc872662c..6e72f2ebdc0 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -765,53 +765,37 @@ static void* r300_create_rs_state(struct pipe_context* pipe, R300_GA_LINE_CNTL_END_TYPE_COMP; /* Enable polygon mode */ - if (state->fill_cw != PIPE_POLYGON_MODE_FILL || - state->fill_ccw != PIPE_POLYGON_MODE_FILL) { + if (state->fill_front != PIPE_POLYGON_MODE_FILL || + state->fill_back != PIPE_POLYGON_MODE_FILL) { rs->polygon_mode = R300_GA_POLY_MODE_DUAL; } - /* Radeons don't think in "CW/CCW", they think in "front/back". */ - if (state->front_winding == PIPE_WINDING_CW) { - rs->cull_mode = R300_FRONT_FACE_CW; - - /* Polygon offset */ - if (state->offset_cw) { - rs->polygon_offset_enable |= R300_FRONT_ENABLE; - } - if (state->offset_ccw) { - rs->polygon_offset_enable |= R300_BACK_ENABLE; - } - - /* Polygon mode */ - if (rs->polygon_mode) { - rs->polygon_mode |= - r300_translate_polygon_mode_front(state->fill_cw); - rs->polygon_mode |= - r300_translate_polygon_mode_back(state->fill_ccw); - } - } else { + /* Front face */ + if (state->front_ccw) rs->cull_mode = R300_FRONT_FACE_CCW; + else + rs->cull_mode = R300_FRONT_FACE_CW; - /* Polygon offset */ - if (state->offset_ccw) { - rs->polygon_offset_enable |= R300_FRONT_ENABLE; - } - if (state->offset_cw) { - rs->polygon_offset_enable |= R300_BACK_ENABLE; - } + /* Polygon offset */ + if (state->offset_front) { + rs->polygon_offset_enable |= R300_FRONT_ENABLE; + } + if (state->offset_back) { + rs->polygon_offset_enable |= R300_BACK_ENABLE; + } - /* Polygon mode */ - if (rs->polygon_mode) { - rs->polygon_mode |= - r300_translate_polygon_mode_front(state->fill_ccw); - rs->polygon_mode |= - r300_translate_polygon_mode_back(state->fill_cw); - } + /* Polygon mode */ + if (rs->polygon_mode) { + rs->polygon_mode |= + r300_translate_polygon_mode_front(state->fill_front); + rs->polygon_mode |= + r300_translate_polygon_mode_back(state->fill_back); } - if (state->front_winding & state->cull_mode) { + + if (state->cull_face & PIPE_FACE_FRONT) { rs->cull_mode |= R300_CULL_FRONT; } - if (~(state->front_winding) & state->cull_mode) { + if (state->cull_face & PIPE_FACE_BACK) { rs->cull_mode |= R300_CULL_BACK; } diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index aa696257688..b3d3fe620fd 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -109,6 +109,9 @@ struct softpipe_context { /** The reduced version of the primitive supplied by the state tracker */ unsigned reduced_api_prim; + /** Derived information about which winding orders to cull */ + unsigned cull_mode; + /** * The reduced primitive after unfilled triangles, wide-line decomposition, * etc, are taken into account. This is the primitive type that's actually diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c index 35ef9e698d5..ca02d4df489 100644 --- a/src/gallium/drivers/softpipe/sp_setup.c +++ b/src/gallium/drivers/softpipe/sp_setup.c @@ -111,34 +111,12 @@ struct setup_context { uint numFragsWritten; /**< per primitive */ #endif - unsigned winding; /* which winding to cull */ unsigned nr_vertex_attrs; }; -/** - * Do triangle cull test using tri determinant (sign indicates orientation) - * \return true if triangle is to be culled. - */ -static INLINE boolean -cull_tri(const struct setup_context *setup, float det) -{ - if (det != 0) { - /* if (det < 0 then Z points toward camera and triangle is - * counter-clockwise winding. - */ - unsigned winding = (det < 0) ? PIPE_WINDING_CCW : PIPE_WINDING_CW; - - if ((winding & setup->winding) == 0) - return FALSE; - } - - /* Culled: - */ - return TRUE; -} @@ -393,8 +371,8 @@ setup_sort_vertices(struct setup_context *setup, * 0 = front-facing, 1 = back-facing */ setup->facing = - ((det > 0.0) ^ - (setup->softpipe->rasterizer->front_winding == PIPE_WINDING_CW)); + ((det < 0.0) ^ + (setup->softpipe->rasterizer->front_ccw)); /* Prepare pixel offset for rasterisation: * - pixel center (0.5, 0.5) for GL, or @@ -832,8 +810,8 @@ sp_setup_tri(struct setup_context *setup, setup->numFragsWritten = 0; #endif - if (cull_tri( setup, det )) - return; + /* Culling already done by draw module. + */ if (!setup_sort_vertices( setup, det, v0, v1, v2 )) return; @@ -1418,17 +1396,6 @@ sp_setup_prepare(struct setup_context *setup) setup->nr_vertex_attrs = draw_num_shader_outputs(sp->draw); sp->quad.first->begin( sp->quad.first ); - - if (sp->reduced_api_prim == PIPE_PRIM_TRIANGLES && - sp->rasterizer->fill_cw == PIPE_POLYGON_MODE_FILL && - sp->rasterizer->fill_ccw == PIPE_POLYGON_MODE_FILL) { - /* we'll do culling */ - setup->winding = sp->rasterizer->cull_mode; - } - else { - /* 'draw' will do culling */ - setup->winding = PIPE_WINDING_NONE; - } } diff --git a/src/gallium/drivers/svga/svga_pipe_rasterizer.c b/src/gallium/drivers/svga/svga_pipe_rasterizer.c index 5253c45cb20..1661a564e3f 100644 --- a/src/gallium/drivers/svga/svga_pipe_rasterizer.c +++ b/src/gallium/drivers/svga/svga_pipe_rasterizer.c @@ -36,16 +36,17 @@ /* Hardware frontwinding is always set up as SVGA3D_FRONTWINDING_CW. */ static SVGA3dFace svga_translate_cullmode( unsigned mode, - unsigned front_winding ) + unsigned front_ccw ) { + const int hw_front_ccw = 0; /* hardware is always CW */ switch (mode) { - case PIPE_WINDING_NONE: + case PIPE_FACE_NONE: return SVGA3D_FACE_NONE; - case PIPE_WINDING_CCW: - return SVGA3D_FACE_BACK; - case PIPE_WINDING_CW: - return SVGA3D_FACE_FRONT; - case PIPE_WINDING_BOTH: + case PIPE_FACE_FRONT: + return front_ccw == hw_front_ccw ? SVGA3D_FACE_FRONT : SVGA3D_FACE_BACK; + case PIPE_FACE_BACK: + return front_ccw == hw_front_ccw ? SVGA3D_FACE_BACK : SVGA3D_FACE_FRONT; + case PIPE_FACE_FRONT_AND_BACK: return SVGA3D_FACE_FRONT_BACK; default: assert(0); @@ -82,7 +83,7 @@ svga_create_rasterizer_state(struct pipe_context *pipe, rast->shademode = svga_translate_flatshade( templ->flatshade ); rast->cullmode = svga_translate_cullmode( templ->cull_mode, - templ->front_winding ); + templ->front_ccw ); rast->scissortestenable = templ->scissor; rast->multisampleantialias = templ->multisample; rast->antialiasedlineenable = templ->line_smooth; @@ -124,24 +125,24 @@ svga_create_rasterizer_state(struct pipe_context *pipe, int fill_ccw = templ->fill_ccw; int fill = PIPE_POLYGON_MODE_FILL; - switch (templ->cull_mode) { - case PIPE_WINDING_BOTH: + switch (templ->cull_face) { + case PIPE_FACE_FRONT_AND_BACK: offset = 0; fill = PIPE_POLYGON_MODE_FILL; break; - case PIPE_WINDING_CW: - offset = offset_ccw; - fill = fill_ccw; + case PIPE_FACE_FRONT: + offset = offset_front; + fill = fill_front; break; - case PIPE_WINDING_CCW: - offset = offset_cw; - fill = fill_cw; + case PIPE_FACE_BACK: + offset = offset_back; + fill = fill_back; break; - case PIPE_WINDING_NONE: - if (fill_cw != fill_ccw || offset_cw != offset_ccw) + case PIPE_FACE_NONE: + if (fill_front != fill_back || offset_front != offset_back) { /* Always need the draw module to work out different * front/back fill modes: @@ -149,8 +150,8 @@ svga_create_rasterizer_state(struct pipe_context *pipe, rast->need_pipeline |= SVGA_PIPELINE_FLAG_TRIS; } else { - offset = offset_ccw; - fill = fill_ccw; + offset = offset_front; + fill = fill_front; } break; @@ -167,7 +168,7 @@ svga_create_rasterizer_state(struct pipe_context *pipe, (templ->flatshade || templ->light_twoside || offset || - templ->cull_mode != PIPE_WINDING_NONE)) + templ->cull_face != PIPE_FACE_NONE)) { fill = PIPE_POLYGON_MODE_FILL; rast->need_pipeline |= SVGA_PIPELINE_FLAG_TRIS; diff --git a/src/gallium/drivers/svga/svga_state_fs.c b/src/gallium/drivers/svga/svga_state_fs.c index 1310fd9825f..ad6f2947137 100644 --- a/src/gallium/drivers/svga/svga_state_fs.c +++ b/src/gallium/drivers/svga/svga_state_fs.c @@ -131,8 +131,7 @@ static int make_fs_key( const struct svga_context *svga, /* SVGA_NEW_RAST */ key->light_twoside = svga->curr.rast->templ.light_twoside; - key->front_cw = (svga->curr.rast->templ.front_winding == - PIPE_WINDING_CW); + key->front_ccw = svga->curr.rast->templ.front_ccw; } /* The blend workaround for simulating logicop xor behaviour diff --git a/src/gallium/drivers/svga/svga_state_rss.c b/src/gallium/drivers/svga/svga_state_rss.c index b7195d246bc..ab13f3fdf19 100644 --- a/src/gallium/drivers/svga/svga_state_rss.c +++ b/src/gallium/drivers/svga/svga_state_rss.c @@ -146,13 +146,13 @@ static int emit_rss( struct svga_context *svga, * then our definition of front face agrees with hardware. * Otherwise need to flip. */ - if (rast->templ.front_winding == PIPE_WINDING_CW) { - cw = 0; - ccw = 1; + if (rast->templ.front_ccw) { + ccw = 0; + cw = 1; } else { - cw = 1; - ccw = 0; + ccw = 1; + cw = 0; } /* Twoside stencil diff --git a/src/gallium/drivers/svga/svga_tgsi.h b/src/gallium/drivers/svga/svga_tgsi.h index 063c9cf4221..7ea909c37bf 100644 --- a/src/gallium/drivers/svga/svga_tgsi.h +++ b/src/gallium/drivers/svga/svga_tgsi.h @@ -48,7 +48,7 @@ struct svga_vs_compile_key struct svga_fs_compile_key { unsigned light_twoside:1; - unsigned front_cw:1; + unsigned front_ccw:1; unsigned white_fragments:1; unsigned num_textures:8; unsigned num_unnormalized_coords:8; diff --git a/src/gallium/drivers/svga/svga_tgsi_insn.c b/src/gallium/drivers/svga/svga_tgsi_insn.c index 7d7024c4a7d..67e1f22a701 100644 --- a/src/gallium/drivers/svga/svga_tgsi_insn.c +++ b/src/gallium/drivers/svga/svga_tgsi_insn.c @@ -2588,10 +2588,10 @@ static boolean emit_light_twoside( struct svga_shader_emitter *emit ) if_token = inst_token( SVGA3DOP_IFC ); - if (emit->key.fkey.front_cw) - if_token.control = SVGA3DOPCOMP_GT; - else + if (emit->key.fkey.front_ccw) if_token.control = SVGA3DOPCOMP_LT; + else + if_token.control = SVGA3DOPCOMP_GT; zero = scalar(zero, TGSI_SWIZZLE_X); @@ -2639,12 +2639,12 @@ static boolean emit_frontface( struct svga_shader_emitter *emit ) temp = dst_register( SVGA3DREG_TEMP, emit->nr_hw_temp++ ); - if (emit->key.fkey.front_cw) { - pass = scalar( zero, TGSI_SWIZZLE_W ); - fail = scalar( zero, TGSI_SWIZZLE_X ); - } else { + if (emit->key.fkey.front_ccw) { pass = scalar( zero, TGSI_SWIZZLE_X ); fail = scalar( zero, TGSI_SWIZZLE_W ); + } else { + pass = scalar( zero, TGSI_SWIZZLE_W ); + fail = scalar( zero, TGSI_SWIZZLE_X ); } if (!emit_conditional(emit, PIPE_FUNC_GREATER, diff --git a/src/gallium/drivers/trace/tr_dump_state.c b/src/gallium/drivers/trace/tr_dump_state.c index f148a859ff3..1727c2a0206 100644 --- a/src/gallium/drivers/trace/tr_dump_state.c +++ b/src/gallium/drivers/trace/tr_dump_state.c @@ -136,12 +136,13 @@ void trace_dump_rasterizer_state(const struct pipe_rasterizer_state *state) trace_dump_member(bool, state, flatshade); trace_dump_member(bool, state, light_twoside); - trace_dump_member(uint, state, front_winding); - trace_dump_member(uint, state, cull_mode); - trace_dump_member(uint, state, fill_cw); - trace_dump_member(uint, state, fill_ccw); - trace_dump_member(bool, state, offset_cw); - trace_dump_member(bool, state, offset_ccw); + trace_dump_member(uint, state, front_ccw); + trace_dump_member(uint, state, cull_face); + trace_dump_member(uint, state, fill_front); + trace_dump_member(uint, state, fill_back); + trace_dump_member(bool, state, offset_point); + trace_dump_member(bool, state, offset_line); + trace_dump_member(bool, state, offset_tri); trace_dump_member(bool, state, scissor); trace_dump_member(bool, state, poly_smooth); trace_dump_member(bool, state, poly_stipple_enable); diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 2d363dd47b6..bed480f75ed 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -119,11 +119,11 @@ enum pipe_error { #define PIPE_POLYGON_MODE_LINE 1 #define PIPE_POLYGON_MODE_POINT 2 -/** Polygon front/back window, also for culling */ -#define PIPE_WINDING_NONE 0 -#define PIPE_WINDING_CW 1 -#define PIPE_WINDING_CCW 2 -#define PIPE_WINDING_BOTH (PIPE_WINDING_CW | PIPE_WINDING_CCW) +/** Polygon face specification, eg for culling */ +#define PIPE_FACE_NONE 0 +#define PIPE_FACE_FRONT 1 +#define PIPE_FACE_BACK 2 +#define PIPE_FACE_FRONT_AND_BACK (PIPE_FACE_FRONT | PIPE_FACE_BACK) /** Stencil ops */ #define PIPE_STENCIL_OP_KEEP 0 diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index a504757c472..a01698d7674 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -79,12 +79,13 @@ struct pipe_rasterizer_state { unsigned flatshade:1; unsigned light_twoside:1; - unsigned front_winding:2; /**< PIPE_WINDING_x */ - unsigned cull_mode:2; /**< PIPE_WINDING_x */ - unsigned fill_cw:2; /**< PIPE_POLYGON_MODE_x */ - unsigned fill_ccw:2; /**< PIPE_POLYGON_MODE_x */ - unsigned offset_cw:1; - unsigned offset_ccw:1; + unsigned front_ccw:1; + unsigned cull_face:2; /**< PIPE_FACE_x */ + unsigned fill_front:2; /**< PIPE_POLYGON_MODE_x */ + unsigned fill_back:2; /**< PIPE_POLYGON_MODE_x */ + unsigned offset_point:1; + unsigned offset_line:1; + unsigned offset_tri:1; unsigned scissor:1; unsigned poly_smooth:1; unsigned poly_stipple_enable:1; -- cgit v1.2.3 From 6272d7632a8d2948e45698d1c75eae8c441c3916 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Mon, 17 May 2010 20:52:08 +0200 Subject: gallium: another interface change for multisampling due to popular request, use nr_samples parameter in is_format_supported() instead of new is_msaa_supported() query. This makes it easily possible to query if a format with a given sample count is also supported not only as render target, but for sampler views (note that texture sampling from multisampled resources isn't supported yet). It is not quite how dx10 format msaa queries work, but we might need to revisit format queries completely in the future anyway. --- src/gallium/docs/source/screen.rst | 14 +++----------- src/gallium/include/pipe/p_screen.h | 12 ++---------- 2 files changed, 5 insertions(+), 21 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index 2a8f6967ea9..5a60ee00a69 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -214,23 +214,15 @@ Determine if a resource in the given format can be used in a specific manner. **target** one of the PIPE_TEXTURE_x flags +**sample_count** the number of samples. 0 and 1 mean no multisampling, +the maximum allowed legal value is 32. + **bindings** is a bitmask of :ref:`PIPE_BIND` flags. **geom_flags** is a bitmask of PIPE_TEXTURE_GEOM_x flags. Returns TRUE if all usages can be satisfied. -is_msaa_supported -^^^^^^^^^^^^^^^^^ - -Determine if a format supports multisampling with a given number of samples. - -**format** the resource format - -**sample_count** the number of samples. Valid query range is 2-32. - -Returns TRUE if sample_count number of samples is supported with this format. - .. _resource_create: resource_create diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 1bad045b162..9cb949a4465 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -89,7 +89,7 @@ struct pipe_screen { struct pipe_context * (*context_create)( struct pipe_screen *, void *priv ); - + /** * Check if the given pipe_format is supported as a texture or * drawing surface. @@ -99,18 +99,10 @@ struct pipe_screen { boolean (*is_format_supported)( struct pipe_screen *, enum pipe_format format, enum pipe_texture_target target, + unsigned sample_count, unsigned bindings, unsigned geom_flags ); - /** - * Check if the given pipe_format is supported with a requested - * number of samples for msaa. - * \param sample_count number of samples for multisampling - */ - boolean (*is_msaa_supported)( struct pipe_screen *, - enum pipe_format format, - unsigned sample_count ); - /** * Create a new texture object, using the given template info. */ -- cgit v1.2.3 From 379db6a36b32912be8fd8808ceb95ca5cffa7850 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Mon, 17 May 2010 21:02:24 +0200 Subject: gallium: clean up resource_copy_region function Previously, surface_copy was said to allow overlapping blits, and it was "optional". However, some state trackers actually assumed it is always present, and quite some code (like in u_blit) assumed overlapping isn't allowed. Hence, resource_copy_region (and in the same spirit, resource_fill_region) is now mandatory, but overlapping blits are no longer allowed. A driver can plug in the cpu fallback util_resource_copy_region if it does not want to provide its own implementation, though this is not optimal. --- src/gallium/docs/source/context.rst | 7 +++---- src/gallium/include/pipe/p_context.h | 2 -- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 374711b3c5c..ac3c3c7bdbd 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -253,8 +253,7 @@ Resource Busy Queries Blitting ^^^^^^^^ -These methods emulate classic blitter controls. They are not guaranteed to be -available; if they are set to NULL, then they are not present. +These methods emulate classic blitter controls. These methods operate directly on ``pipe_resource`` objects, and stand apart from any 3D state in the context. Blitting functionality may be @@ -264,8 +263,8 @@ moved to a separate abstraction at some point in the future. ``resource_copy_region`` blits a region of a subresource of a resource to a region of another subresource of a resource, provided that both resources have the -same format. The source and destination may be the same resource, and overlapping -blits are permitted. +same format. The source and destination may be the same resource, but overlapping +blits are not permitted. ``resource_resolve`` resolves a multisampled resource into a non-multisampled one. Formats and dimensions must match. This function must be present if a driver diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 6ce8ba953a7..6b729831768 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -238,8 +238,6 @@ struct pipe_context { /** * Resource functions for blit-like functionality * - * The pipe driver is allowed to set these functions to NULL, and in that - * case, they will not be available. * If a driver supports multisampling, resource_resolve must be available. */ /*@{*/ -- cgit v1.2.3 From 5f66363f8ed26d6f3fc8fcccde804fe1fea1bbaa Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Fri, 21 May 2010 20:25:54 +0100 Subject: st_api: Add get param function to st_manager --- src/gallium/include/state_tracker/st_api.h | 13 +++++++++++++ src/gallium/state_trackers/dri/common/dri_screen.c | 8 ++++++++ src/gallium/state_trackers/egl/common/egl_g3d_st.c | 8 ++++++++ src/gallium/state_trackers/glx/xlib/xm_api.c | 10 +++++++++- src/gallium/state_trackers/wgl/stw_device.c | 7 +++++++ 5 files changed, 45 insertions(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 21f2d639b14..1e343d0e364 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -105,6 +105,13 @@ enum st_context_resource_type { ST_CONTEXT_RESOURCE_OPENVG_PARENT_IMAGE }; +/** + * Value to st_manager->get_param function. + */ +enum st_manager_param { + ST_MANAGER_TEMP, +}; + /** * The return type of st_api->get_proc_address. */ @@ -319,6 +326,12 @@ struct st_manager */ boolean (*get_egl_image)(struct st_manager *smapi, struct st_egl_image *stimg); + + /** + * Query an manager param. + */ + int (*get_param)(struct st_manager *smapi, + enum st_manager_param param); }; /** diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index 81523b82ba9..f5c936e1823 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -337,6 +337,13 @@ dri_get_egl_image(struct st_manager *smapi, return TRUE; } +static int +dri_get_param(struct st_manager *smapi, + enum st_manager_param param) +{ + return 0; +} + static void dri_destroy_option_cache(struct dri_screen * screen) { @@ -391,6 +398,7 @@ dri_init_screen_helper(struct dri_screen *screen, } screen->base.get_egl_image = dri_get_egl_image; + screen->base.get_param = dri_get_param; screen->st_api = st_gl_api_create(); if (!screen->st_api) diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_st.c b/src/gallium/state_trackers/egl/common/egl_g3d_st.c index 1df57d07774..2d459d5a6c9 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_st.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_st.c @@ -235,6 +235,13 @@ egl_g3d_st_manager_get_egl_image(struct st_manager *smapi, return TRUE; } +static int +egl_g3d_st_manager_get_param(struct st_manager *smapi, + enum st_manager_param param) +{ + return 0; +} + struct st_manager * egl_g3d_create_st_manager(_EGLDisplay *dpy) { @@ -247,6 +254,7 @@ egl_g3d_create_st_manager(_EGLDisplay *dpy) gsmapi->base.screen = gdpy->native->screen; gsmapi->base.get_egl_image = egl_g3d_st_manager_get_egl_image; + gsmapi->base.get_param = egl_g3d_st_manager_get_param; } return &gsmapi->base;; diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index a6f808bc964..ae9faeb424e 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -87,6 +87,12 @@ void xmesa_set_driver( const struct xm_driver *templ ) static struct xmesa_display Displays[MAX_DISPLAYS]; static int NumDisplays = 0; +static int +xmesa_get_param(struct st_manager *smapi, + enum st_manager_param *param) +{ + return 0; +} static XMesaDisplay xmesa_init_display( Display *display ) @@ -116,8 +122,10 @@ xmesa_init_display( Display *display ) xmdpy->display = display; xmdpy->screen = driver.create_pipe_screen(display); xmdpy->smapi = CALLOC_STRUCT(st_manager); - if (xmdpy->smapi) + if (xmdpy->smapi) { xmdpy->smapi->screen = xmdpy->screen; + xmdpy->smapi->get_param = xmesa_get_param; + } if (xmdpy->screen && xmdpy->smapi) { pipe_mutex_init(xmdpy->mutex); diff --git a/src/gallium/state_trackers/wgl/stw_device.c b/src/gallium/state_trackers/wgl/stw_device.c index 61b207525ca..a107c71bdab 100644 --- a/src/gallium/state_trackers/wgl/stw_device.c +++ b/src/gallium/state_trackers/wgl/stw_device.c @@ -48,6 +48,12 @@ extern _glthread_Mutex OneTimeLock; struct stw_device *stw_dev = NULL; +static int +stw_get_param(struct st_manager *smapi, + enum st_manager_param param) +{ + return 0; +} boolean stw_init(const struct stw_winsys *stw_winsys) @@ -87,6 +93,7 @@ stw_init(const struct stw_winsys *stw_winsys) stw_winsys->get_adapter_luid(screen, &stw_dev->AdapterLuid); stw_dev->smapi->screen = screen; + stw_dev->smapi->get_param = stw_get_param; stw_dev->screen = screen; pipe_mutex_init( stw_dev->ctx_mutex ); -- cgit v1.2.3 From a93f9f343a64ce91587af66761399f9d4c180015 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Fri, 21 May 2010 20:37:23 +0100 Subject: gallium: Fix invalidate framebuffer with old libGL libraries --- src/gallium/include/state_tracker/st_api.h | 9 ++- .../state_trackers/dri/common/dri_drawable.c | 2 +- src/gallium/state_trackers/dri/common/dri_screen.c | 9 ++- src/gallium/state_trackers/dri/common/dri_screen.h | 3 + src/gallium/state_trackers/dri/drm/dri2.c | 1 + src/mesa/SConscript | 1 + src/mesa/sources.mak | 1 + src/mesa/state_tracker/st_cb_viewport.c | 73 ++++++++++++++++++++++ src/mesa/state_tracker/st_cb_viewport.h | 29 +++++++++ src/mesa/state_tracker/st_context.c | 2 + src/mesa/state_tracker/st_context.h | 6 ++ src/mesa/state_tracker/st_manager.c | 6 +- 12 files changed, 136 insertions(+), 6 deletions(-) create mode 100644 src/mesa/state_tracker/st_cb_viewport.c create mode 100644 src/mesa/state_tracker/st_cb_viewport.h (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 1e343d0e364..e7efbf065f0 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -109,7 +109,14 @@ enum st_context_resource_type { * Value to st_manager->get_param function. */ enum st_manager_param { - ST_MANAGER_TEMP, + /** + * The dri state tracker on old libGL's doesn't do the right thing + * with regards to invalidating the framebuffers. + * + * For the mesa state tracker that means that it needs to invalidate + * the framebuffer in glViewport itself. + */ + ST_MANAGER_BROKEN_INVALIDATE }; /** diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.c b/src/gallium/state_trackers/dri/common/dri_drawable.c index 25892fc7a76..2bc0faffeff 100644 --- a/src/gallium/state_trackers/dri/common/dri_drawable.c +++ b/src/gallium/state_trackers/dri/common/dri_drawable.c @@ -67,7 +67,7 @@ dri_st_framebuffer_validate(struct st_framebuffer_iface *stfbi, */ new_stamp = (drawable->texture_stamp != drawable->dPriv->lastStamp); - if (new_stamp || new_mask) { + if (new_stamp || new_mask || screen->broken_invalidate) { if (new_stamp && screen->update_drawable_info) screen->update_drawable_info(drawable); diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index f5c936e1823..5decdb23b15 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -341,7 +341,14 @@ static int dri_get_param(struct st_manager *smapi, enum st_manager_param param) { - return 0; + struct dri_screen *screen = (struct dri_screen *)smapi; + + switch(param) { + case ST_MANAGER_BROKEN_INVALIDATE: + return screen->broken_invalidate; + default: + return 0; + } } static void diff --git a/src/gallium/state_trackers/dri/common/dri_screen.h b/src/gallium/state_trackers/dri/common/dri_screen.h index 1740fa8f426..9ff925d4bef 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.h +++ b/src/gallium/state_trackers/dri/common/dri_screen.h @@ -50,6 +50,9 @@ struct dri_screen struct st_manager base; struct st_api *st_api; + /* on old libGL's invalidate doesn't get called as it should */ + boolean broken_invalidate; + /* dri */ __DRIscreen *sPriv; diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index e1216f14c0e..6c022f4bbf3 100644 --- a/src/gallium/state_trackers/dri/drm/dri2.c +++ b/src/gallium/state_trackers/dri/drm/dri2.c @@ -526,6 +526,7 @@ dri2_init_screen(__DRIscreen * sPriv) goto fail; screen->auto_fake_front = dri_with_format(sPriv); + screen->broken_invalidate = !sPriv->dri2.useInvalidate; return configs; fail: diff --git a/src/mesa/SConscript b/src/mesa/SConscript index b553804fcdc..3385bf6f393 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -177,6 +177,7 @@ if env['platform'] != 'winddk': 'state_tracker/st_cb_readpixels.c', 'state_tracker/st_cb_strings.c', 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_viewport.c', 'state_tracker/st_cb_xformfb.c', 'state_tracker/st_context.c', 'state_tracker/st_debug.c', diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak index 74563bcf96e..c9d8620e35f 100644 --- a/src/mesa/sources.mak +++ b/src/mesa/sources.mak @@ -209,6 +209,7 @@ STATETRACKER_SOURCES = \ state_tracker/st_cb_readpixels.c \ state_tracker/st_cb_strings.c \ state_tracker/st_cb_texture.c \ + state_tracker/st_cb_viewport.c \ state_tracker/st_cb_xformfb.c \ state_tracker/st_context.c \ state_tracker/st_debug.c \ diff --git a/src/mesa/state_tracker/st_cb_viewport.c b/src/mesa/state_tracker/st_cb_viewport.c new file mode 100644 index 00000000000..d10b0b2531e --- /dev/null +++ b/src/mesa/state_tracker/st_cb_viewport.c @@ -0,0 +1,73 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "main/glheader.h" +#include "st_context.h" +#include "st_cb_viewport.h" + +#include "pipe/p_context.h" +#include "pipe/p_state.h" +#include "pipe/p_defines.h" +#include "util/u_atomic.h" +#include "util/u_debug.h" + +/** + * Cast wrapper to convert a GLframebuffer to an st_framebuffer. + * Return NULL if the GLframebuffer is a user-created framebuffer. + * We'll only return non-null for window system framebuffers. + * Note that this function may fail. + */ +static INLINE struct st_framebuffer * +st_ws_framebuffer(GLframebuffer *fb) +{ + /* FBO cannot be casted. See st_new_framebuffer */ + return (struct st_framebuffer *) ((fb && !fb->Name) ? fb : NULL); +} + +static void st_viewport(GLcontext * ctx, GLint x, GLint y, + GLsizei width, GLsizei height) +{ + struct st_context *st = ctx->st; + struct st_framebuffer *stdraw; + struct st_framebuffer *stread; + + if (!st->invalidate_on_gl_viewport) + return; + + stdraw = st_ws_framebuffer(st->ctx->DrawBuffer); + stread = st_ws_framebuffer(st->ctx->ReadBuffer); + + if (stdraw) + p_atomic_set(&stdraw->revalidate, TRUE); + if (stread && stread != stdraw) + p_atomic_set(&stread->revalidate, TRUE); +} + +void st_init_viewport_functions(struct dd_function_table *functions) +{ + functions->Viewport = st_viewport; +} diff --git a/src/mesa/state_tracker/st_cb_viewport.h b/src/mesa/state_tracker/st_cb_viewport.h new file mode 100644 index 00000000000..db7dd6eab82 --- /dev/null +++ b/src/mesa/state_tracker/st_cb_viewport.h @@ -0,0 +1,29 @@ +/************************************************************************** + * + * Copyright 2009 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +extern void +st_init_viewport_functions(struct dd_function_table *functions); diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 2070f14a5a6..605a337b553 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -51,6 +51,7 @@ #include "st_cb_xformfb.h" #include "st_cb_flush.h" #include "st_cb_strings.h" +#include "st_cb_viewport.h" #include "st_atom.h" #include "st_draw.h" #include "st_extensions.h" @@ -278,6 +279,7 @@ void st_init_driver_functions(struct dd_function_table *functions) st_init_texture_functions(functions); st_init_flush_functions(functions); st_init_string_functions(functions); + st_init_viewport_functions(functions); st_init_xformfb_functions(functions); diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 987516f2482..a578143abc8 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -79,6 +79,12 @@ struct st_context struct draw_stage *selection_stage; /**< For GL_SELECT rendermode */ struct draw_stage *rastpos_stage; /**< For glRasterPos */ + + /* On old libGL's for linux we need to invalidate the drawables + * on glViewpport calls, this is set via a option. + */ + boolean invalidate_on_gl_viewport; + /* Some state is contained in constant objects. * Other state is just parameter values. */ diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 869196941c3..d7523e4941e 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -621,15 +621,15 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi, return NULL; } - st->iface.destroy = st_context_destroy; + st->invalidate_on_gl_viewport = + smapi->get_param(smapi, ST_MANAGER_BROKEN_INVALIDATE); + st->iface.destroy = st_context_destroy; st->iface.notify_invalid_framebuffer = st_context_notify_invalid_framebuffer; st->iface.flush = st_context_flush; - st->iface.teximage = st_context_teximage; st->iface.copy = NULL; - st->iface.st_context_private = (void *) smapi; return &st->iface; -- cgit v1.2.3 From 4db0c760195c67f1bc114fdfb8464791030a526c Mon Sep 17 00:00:00 2001 From: Jakob Borncrantz Date: Fri, 21 May 2010 23:25:45 +0100 Subject: st_api: Give get_egl_image arguments directly to the function --- src/gallium/include/state_tracker/st_api.h | 18 +++++++++++++----- src/gallium/state_trackers/dri/common/dri_screen.c | 8 +++++--- src/gallium/state_trackers/egl/common/egl_g3d_st.c | 15 ++++++++------- src/mesa/state_tracker/st_manager.c | 4 +--- 4 files changed, 27 insertions(+), 18 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index e7efbf065f0..621bdae5c85 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -146,10 +146,6 @@ struct st_context_resource */ struct st_egl_image { - /* these fields are filled by the caller */ - struct st_context_iface *stctxi; - void *egl_image; - /* this is owned by the caller */ struct pipe_resource *texture; @@ -329,10 +325,22 @@ struct st_manager /** * Look up and return the info of an EGLImage. * + * This is used to implement for example EGLImageTargetTexture2DOES. + * The GLeglImageOES agrument of that call is passed directly to this + * function call and the information needed to access this is returned + * in the given struct out. + * + * @smapi: manager owning the caller context + * @stctx: caller context + * @egl_image: EGLImage that caller recived + * @out: return struct filled out with access information. + * * This function is optional. */ boolean (*get_egl_image)(struct st_manager *smapi, - struct st_egl_image *stimg); + struct st_context_iface *stctx, + void *egl_image, + struct st_egl_image *out); /** * Query an manager param. diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index 5decdb23b15..fa1a35deb32 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -314,15 +314,17 @@ dri_get_swap_info(__DRIdrawable * dPriv, __DRIswapInfo * sInfo) static boolean dri_get_egl_image(struct st_manager *smapi, - struct st_egl_image *stimg) + struct st_context_iface *stctxi, + void *egl_image, + struct st_egl_image *stimg) { struct dri_context *ctx = - (struct dri_context *)stimg->stctxi->st_manager_private; + (struct dri_context *)stctxi->st_manager_private; struct dri_screen *screen = dri_screen(ctx->sPriv); __DRIimage *img = NULL; if (screen->lookup_egl_image) { - img = screen->lookup_egl_image(ctx, stimg->egl_image); + img = screen->lookup_egl_image(ctx, egl_image); } if (!img) diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_st.c b/src/gallium/state_trackers/egl/common/egl_g3d_st.c index 2d459d5a6c9..cdf13140cb0 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_st.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_st.c @@ -206,10 +206,11 @@ egl_g3d_destroy_st_apis(void) static boolean egl_g3d_st_manager_get_egl_image(struct st_manager *smapi, - struct st_egl_image *stimg) + void *egl_image, + struct st_egl_image *out) { struct egl_g3d_st_manager *gsmapi = egl_g3d_st_manager(smapi); - EGLImageKHR handle = (EGLImageKHR) stimg->egl_image; + EGLImageKHR handle = (EGLImageKHR) egl_image; _EGLImage *img; struct egl_g3d_image *gimg; @@ -224,11 +225,11 @@ egl_g3d_st_manager_get_egl_image(struct st_manager *smapi, gimg = egl_g3d_image(img); - stimg->texture = NULL; - pipe_resource_reference(&stimg->texture, gimg->texture); - stimg->face = gimg->face; - stimg->level = gimg->level; - stimg->zslice = gimg->zslice; + out->texture = NULL; + pipe_resource_reference(&out->texture, gimg->texture); + out->face = gimg->face; + out->level = gimg->level; + out->zslice = gimg->zslice; _eglUnlockMutex(&gsmapi->display->Mutex); diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index d7523e4941e..8c3dfb3f71f 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -756,9 +756,7 @@ st_manager_get_egl_image_surface(struct st_context *st, return NULL; memset(&stimg, 0, sizeof(stimg)); - stimg.stctxi = &st->iface; - stimg.egl_image = eglimg; - if (!smapi->get_egl_image(smapi, &stimg)) + if (!smapi->get_egl_image(smapi, &st->iface, eglimg, &stimg)) return NULL; ps = smapi->screen->get_tex_surface(smapi->screen, -- cgit v1.2.3 From 395b605e19d5357c97f2d7d45673a80cd2c729ef Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 25 May 2010 18:47:21 +0100 Subject: gallium: Remove dri1_api.h and winsys support for DRI1 Since DRI1 support was dropped from st/dri it makes no sense to keep this code around. --- src/gallium/include/state_tracker/dri1_api.h | 81 ----------------- src/gallium/winsys/nouveau/drm/nouveau_drm_api.c | 72 --------------- src/gallium/winsys/nouveau/drm/nouveau_drm_api.h | 1 - src/gallium/winsys/svga/drm/vmw_screen_dri.c | 108 ++--------------------- 4 files changed, 7 insertions(+), 255 deletions(-) delete mode 100644 src/gallium/include/state_tracker/dri1_api.h (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/dri1_api.h b/src/gallium/include/state_tracker/dri1_api.h deleted file mode 100644 index 0d702d90928..00000000000 --- a/src/gallium/include/state_tracker/dri1_api.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef _DRI1_API_H_ -#define _DRI1_API_H_ - -#include "pipe/p_compiler.h" -#include "pipe/p_screen.h" -#include "pipe/p_format.h" - -#include "state_tracker/drm_api.h" - -struct pipe_screen; -struct pipe_winsys; -struct pipe_context; -struct pipe_resource; - -struct drm_clip_rect; - -struct dri1_api_version -{ - int major; - int minor; - int patch_level; -}; - -/** - * This callback struct is intended for drivers that need to take - * the hardware lock on command submission. - */ - -struct dri1_api_lock_funcs -{ - void (*lock) (struct pipe_context * pipe); - void (*unlock) (struct pipe_context * locked_pipe); - boolean(*is_locked) (struct pipe_context * locked_pipe); - boolean(*is_lock_lost) (struct pipe_context * locked_pipe); - void (*clear_lost_lock) (struct pipe_context * locked_pipe); -}; - -struct dri1_api -{ - /** - * For flushing to the front buffer. A driver should implement one and only - * one of the functions below. The present_locked functions allows a dri1 - * driver to pageflip. - */ - - /*@{ */ - - struct pipe_surface *(*front_srf_locked) (struct pipe_context * - locked_pipe); - - void (*present_locked) (struct pipe_context * locked_pipe, - struct pipe_surface * surf, - const struct drm_clip_rect * rect, - unsigned int num_clip, - int x_draw, int y_draw, - const struct drm_clip_rect * src_bbox, - struct pipe_fence_handle ** fence); - /*@} */ -}; - -struct dri1_create_screen_arg -{ - struct drm_create_screen_arg base; - - struct dri1_api_lock_funcs *lf; - void *ddx_info; - int ddx_info_size; - void *sarea; - - struct dri1_api_version ddx_version; - struct dri1_api_version dri_version; - struct dri1_api_version drm_version; - - /* - * out parameters; - */ - - struct dri1_api *api; -}; - -#endif diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_api.c b/src/gallium/winsys/nouveau/drm/nouveau_drm_api.c index c0047859b18..6d3255678f9 100644 --- a/src/gallium/winsys/nouveau/drm/nouveau_drm_api.c +++ b/src/gallium/winsys/nouveau/drm/nouveau_drm_api.c @@ -13,52 +13,6 @@ #include "nouveau/nouveau_winsys.h" #include "nouveau/nouveau_screen.h" -static struct pipe_surface * -dri_surface_from_handle(struct drm_api *api, struct pipe_screen *pscreen, - unsigned handle, enum pipe_format format, - unsigned width, unsigned height, unsigned pitch) -{ - struct pipe_surface *ps = NULL; - struct pipe_resource *pt = NULL; - struct pipe_resource tmpl; - struct winsys_handle whandle; - unsigned bind = (PIPE_BIND_SCANOUT | - PIPE_BIND_RENDER_TARGET); - - memset(&tmpl, 0, sizeof(tmpl)); - tmpl.bind = bind; - tmpl.target = PIPE_TEXTURE_2D; - tmpl.last_level = 0; - tmpl.depth0 = 1; - tmpl.format = format; - tmpl.width0 = width; - tmpl.height0 = height; - - memset(&whandle, 0, sizeof(whandle)); - whandle.stride = pitch; - whandle.handle = handle; - - pt = pscreen->resource_from_handle(pscreen, &tmpl, &whandle); - if (!pt) - return NULL; - - ps = pscreen->get_tex_surface(pscreen, pt, 0, 0, 0, bind); - - /* we don't need the texture from this point on */ - pipe_resource_reference(&pt, NULL); - return ps; -} - -static struct pipe_surface * -nouveau_dri1_front_surface(struct pipe_context *pipe) -{ - return nouveau_winsys_screen(pipe->screen)->front; -} - -static struct dri1_api nouveau_dri1_api = { - nouveau_dri1_front_surface, -}; - static void nouveau_drm_destroy_winsys(struct pipe_winsys *s) { @@ -72,7 +26,6 @@ static struct pipe_screen * nouveau_drm_create_screen(struct drm_api *api, int fd, struct drm_create_screen_arg *arg) { - struct dri1_create_screen_arg *dri1 = (void *)arg; struct nouveau_winsys *nvws; struct pipe_winsys *ws; struct nouveau_device *dev = NULL; @@ -116,31 +69,6 @@ nouveau_drm_create_screen(struct drm_api *api, int fd, return NULL; } - if (arg && arg->mode == DRM_CREATE_DRI1) { - struct nouveau_dri *nvdri = dri1->ddx_info; - enum pipe_format format; - - if (nvdri->bpp == 16) - format = PIPE_FORMAT_B5G6R5_UNORM; - else - format = PIPE_FORMAT_B8G8R8A8_UNORM; - - nvws->front = dri_surface_from_handle(api, nvws->pscreen, - nvdri->front_offset, - format, nvdri->width, - nvdri->height, - nvdri->front_pitch * - (nvdri->bpp / 8)); - if (!nvws->front) { - debug_printf("%s: error referencing front buffer\n", - __func__); - ws->destroy(ws); - return NULL; - } - - dri1->api = &nouveau_dri1_api; - } - return nvws->pscreen; } diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_api.h b/src/gallium/winsys/nouveau/drm/nouveau_drm_api.h index a91aad7df8e..ba6305c17e7 100644 --- a/src/gallium/winsys/nouveau/drm/nouveau_drm_api.h +++ b/src/gallium/winsys/nouveau/drm/nouveau_drm_api.h @@ -2,7 +2,6 @@ #define __NOUVEAU_DRM_API_H__ #include "state_tracker/drm_api.h" -#include "state_tracker/dri1_api.h" #include "util/u_simple_screen.h" diff --git a/src/gallium/winsys/svga/drm/vmw_screen_dri.c b/src/gallium/winsys/svga/drm/vmw_screen_dri.c index f4c1642f2d4..4a710564b43 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen_dri.c +++ b/src/gallium/winsys/svga/drm/vmw_screen_dri.c @@ -37,13 +37,18 @@ #include "vmw_fence.h" #include "vmw_context.h" -#include #include #include "vmwgfx_drm.h" #include #include +struct dri1_api_version { + int major; + int minor; + int patch_level; +}; + static struct svga_winsys_surface * vmw_drm_surface_from_handle(struct svga_winsys_screen *sws, struct winsys_handle *whandle, @@ -54,11 +59,6 @@ vmw_drm_surface_get_handle(struct svga_winsys_screen *sws, unsigned stride, struct winsys_handle *whandle); -static struct dri1_api dri1_api_hooks; -static struct dri1_api_version ddx_required = { 0, 1, 0 }; -static struct dri1_api_version ddx_compat = { 0, 0, 0 }; -static struct dri1_api_version dri_required = { 4, 0, 0 }; -static struct dri1_api_version dri_compat = { 4, 0, 0 }; static struct dri1_api_version drm_required = { 1, 0, 0 }; static struct dri1_api_version drm_compat = { 1, 0, 0 }; static struct dri1_api_version drm_scanout = { 0, 9, 0 }; @@ -95,7 +95,6 @@ vmw_drm_create_screen(struct drm_api *drm_api, { struct vmw_winsys_screen *vws; struct pipe_screen *screen; - struct dri1_create_screen_arg *dri1; boolean use_old_scanout_flag = FALSE; if (!arg || arg->mode == DRM_CREATE_NORMAL) { @@ -124,27 +123,6 @@ vmw_drm_create_screen(struct drm_api *drm_api, switch (arg->mode) { case DRM_CREATE_NORMAL: break; - case DRM_CREATE_DRI1: - dri1 = (struct dri1_create_screen_arg *)arg; - if (!vmw_dri1_check_version(&dri1->ddx_version, &ddx_required, - &ddx_compat, "ddx - driver api")) - return NULL; - if (!vmw_dri1_check_version(&dri1->dri_version, &dri_required, - &dri_compat, "dri info")) - return NULL; - if (!vmw_dri1_check_version(&dri1->drm_version, &drm_required, - &drm_compat, "vmwgfx drm driver")) - return NULL; - if (!vmw_dri1_check_version(&dri1->drm_version, &drm_scanout, - &drm_compat, "use old scanout field (not a error)")) - use_old_scanout_flag = TRUE; - dri1->api = &dri1_api_hooks; -#if 0 - break; -#else - assert(!"No dri 1 support for now\n"); - return NULL; -#endif default: return NULL; } @@ -205,72 +183,6 @@ vmw_dri1_intersect_src_bbox(struct drm_clip_rect *dst, return TRUE; } -/** - * No fancy get-surface-from-sarea stuff here. - * Just use the present blit. - */ - -static void -vmw_dri1_present_locked(struct pipe_context *locked_pipe, - struct pipe_surface *surf, - const struct drm_clip_rect *rect, - unsigned int num_clip, - int x_draw, int y_draw, - const struct drm_clip_rect *bbox, - struct pipe_fence_handle **p_fence) -{ -#if 0 - struct svga_winsys_surface *srf = - svga_screen_texture_get_winsys_surface(surf->texture); - struct vmw_svga_winsys_surface *vsrf = vmw_svga_winsys_surface(srf); - struct vmw_winsys_screen *vws = - vmw_winsys_screen(svga_winsys_screen(locked_pipe->screen)); - struct drm_clip_rect clip; - int i; - struct - { - SVGA3dCmdHeader header; - SVGA3dCmdPresent body; - SVGA3dCopyRect rect; - } cmd; - boolean visible = FALSE; - uint32_t fence_seq = 0; - - VMW_FUNC; - cmd.header.id = SVGA_3D_CMD_PRESENT; - cmd.header.size = sizeof cmd.body + sizeof cmd.rect; - cmd.body.sid = vsrf->sid; - - for (i = 0; i < num_clip; ++i) { - if (!vmw_dri1_intersect_src_bbox(&clip, x_draw, y_draw, rect++, bbox)) - continue; - - cmd.rect.x = clip.x1; - cmd.rect.y = clip.y1; - cmd.rect.w = clip.x2 - clip.x1; - cmd.rect.h = clip.y2 - clip.y1; - cmd.rect.srcx = (int)clip.x1 - x_draw; - cmd.rect.srcy = (int)clip.y1 - y_draw; - - vmw_printf("%s: Clip %d x %d y %d w %d h %d srcx %d srcy %d\n", - __FUNCTION__, - i, - cmd.rect.x, - cmd.rect.y, - cmd.rect.w, cmd.rect.h, cmd.rect.srcx, cmd.rect.srcy); - - vmw_ioctl_command(vws, &cmd, sizeof cmd.header + cmd.header.size, - &fence_seq); - visible = TRUE; - } - - *p_fence = (visible) ? vmw_pipe_fence(fence_seq) : NULL; - vmw_svga_winsys_surface_reference(&vsrf, NULL); -#else - assert(!"No dri 1 support for now\n"); -#endif -} - static struct svga_winsys_surface * vmw_drm_surface_from_handle(struct svga_winsys_screen *sws, struct winsys_handle *whandle, @@ -317,7 +229,7 @@ vmw_drm_surface_from_handle(struct svga_winsys_screen *sws, whandle->handle, i); goto out_mip; } - } + } vsrf = CALLOC_STRUCT(vmw_svga_winsys_surface); if (!vsrf) @@ -355,12 +267,6 @@ vmw_drm_surface_get_handle(struct svga_winsys_screen *sws, return TRUE; } - -static struct dri1_api dri1_api_hooks = { - .front_srf_locked = NULL, - .present_locked = vmw_dri1_present_locked -}; - static struct drm_api vmw_drm_api_hooks = { .name = "vmwgfx", .driver_name = "vmwgfx", -- cgit v1.2.3 From b9706886dbc1fd2eb3c671a8ecd3670f7a680fb9 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Tue, 25 May 2010 18:58:33 +0100 Subject: drm_api: Remove type argument from create screen callback With the removal of DRI1 support there where no use of this argument, some drivers didn't even properly check it. --- src/gallium/drivers/identity/id_drm.c | 8 ++--- src/gallium/drivers/trace/tr_drm.c | 9 ++--- src/gallium/include/state_tracker/drm_api.h | 19 +--------- src/gallium/state_trackers/dri/drm/dri2.c | 2 +- src/gallium/state_trackers/egl/x11/native_dri2.c | 2 +- src/gallium/state_trackers/xorg/xorg_driver.c | 2 +- src/gallium/winsys/i915/drm/i915_drm_api.c | 12 +------ src/gallium/winsys/i965/drm/i965_drm_api.c | 12 +------ src/gallium/winsys/radeon/drm/radeon_drm.c | 4 +-- src/gallium/winsys/radeon/drm/radeon_drm.h | 4 +-- src/gallium/winsys/svga/drm/vmw_screen_dri.c | 45 +++++++++--------------- src/gallium/winsys/sw/drm/sw_drm_api.c | 5 ++- 12 files changed, 30 insertions(+), 94 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/identity/id_drm.c b/src/gallium/drivers/identity/id_drm.c index a9d41af18c7..15d01519f80 100644 --- a/src/gallium/drivers/identity/id_drm.c +++ b/src/gallium/drivers/identity/id_drm.c @@ -46,17 +46,13 @@ identity_drm_api(struct drm_api *_api) } static struct pipe_screen * -identity_drm_create_screen(struct drm_api *_api, int fd, - struct drm_create_screen_arg *arg) +identity_drm_create_screen(struct drm_api *_api, int fd) { struct identity_drm_api *id_api = identity_drm_api(_api); struct drm_api *api = id_api->api; struct pipe_screen *screen; - if (arg && arg->mode != DRM_CREATE_NORMAL) - return NULL; - - screen = api->create_screen(api, fd, arg); + screen = api->create_screen(api, fd); return identity_screen_create(screen); } diff --git a/src/gallium/drivers/trace/tr_drm.c b/src/gallium/drivers/trace/tr_drm.c index 9c7d39201a9..e6850332121 100644 --- a/src/gallium/drivers/trace/tr_drm.c +++ b/src/gallium/drivers/trace/tr_drm.c @@ -47,8 +47,7 @@ trace_drm_api(struct drm_api *_api) } static struct pipe_screen * -trace_drm_create_screen(struct drm_api *_api, int fd, - struct drm_create_screen_arg *arg) +trace_drm_create_screen(struct drm_api *_api, int fd) { struct trace_drm_api *tr_api = trace_drm_api(_api); struct drm_api *api = tr_api->api; @@ -56,11 +55,7 @@ trace_drm_create_screen(struct drm_api *_api, int fd, /* TODO trace call */ - if (arg && arg->mode != DRM_CREATE_NORMAL) - return NULL; - - screen = api->create_screen(api, fd, arg); - + screen = api->create_screen(api, fd); return trace_screen_create(rbug_screen_create(screen)); } diff --git a/src/gallium/include/state_tracker/drm_api.h b/src/gallium/include/state_tracker/drm_api.h index 8fd0995444d..4572c7e0423 100644 --- a/src/gallium/include/state_tracker/drm_api.h +++ b/src/gallium/include/state_tracker/drm_api.h @@ -9,13 +9,6 @@ struct pipe_winsys; struct pipe_context; struct pipe_resource; -enum drm_create_screen_mode { - DRM_CREATE_NORMAL = 0, - DRM_CREATE_DRI1, - DRM_CREATE_DRIVER = 1024, - DRM_CREATE_MAX -}; - #define DRM_API_HANDLE_TYPE_SHARED 0 #define DRM_API_HANDLE_TYPE_KMS 1 @@ -42,15 +35,6 @@ struct winsys_handle unsigned stride; }; -/** - * Modes other than DRM_CREATE_NORMAL derive from this struct. - */ -/*@{*/ -struct drm_create_screen_arg { - enum drm_create_screen_mode mode; -}; -/*@}*/ - struct drm_api { void (*destroy)(struct drm_api *api); @@ -65,8 +49,7 @@ struct drm_api /** * Create a pipe srcreen. */ - struct pipe_screen* (*create_screen)(struct drm_api *api, int drm_fd, - struct drm_create_screen_arg *arg); + struct pipe_screen* (*create_screen)(struct drm_api *api, int drm_fd); }; extern struct drm_api * drm_api_create(void); diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index 6c022f4bbf3..f4cc8d77ebd 100644 --- a/src/gallium/state_trackers/dri/drm/dri2.c +++ b/src/gallium/state_trackers/dri/drm/dri2.c @@ -518,7 +518,7 @@ dri2_init_screen(__DRIscreen * sPriv) sPriv->private = (void *)screen; sPriv->extensions = dri_screen_extensions; - pscreen = screen->api->create_screen(screen->api, screen->fd, NULL); + pscreen = screen->api->create_screen(screen->api, screen->fd); /* dri_init_screen_helper checks pscreen for us */ configs = dri_init_screen_helper(screen, pscreen, 32); diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c index 63877ed5e51..3f802dd713f 100644 --- a/src/gallium/state_trackers/egl/x11/native_dri2.c +++ b/src/gallium/state_trackers/egl/x11/native_dri2.c @@ -718,7 +718,7 @@ dri2_display_init_screen(struct native_display *ndpy) if (fd < 0) return FALSE; - dri2dpy->base.screen = dri2dpy->api->create_screen(dri2dpy->api, fd, NULL); + dri2dpy->base.screen = dri2dpy->api->create_screen(dri2dpy->api, fd); if (!dri2dpy->base.screen) { _eglLog(_EGL_WARNING, "failed to create DRM screen"); return FALSE; diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c index 44520b81b66..84c0545b1b7 100644 --- a/src/gallium/state_trackers/xorg/xorg_driver.c +++ b/src/gallium/state_trackers/xorg/xorg_driver.c @@ -311,7 +311,7 @@ drv_init_resource_management(ScrnInfoPtr pScrn) return TRUE; if (ms->api) { - ms->screen = ms->api->create_screen(ms->api, ms->fd, NULL); + ms->screen = ms->api->create_screen(ms->api, ms->fd); if (ms->screen) return TRUE; diff --git a/src/gallium/winsys/i915/drm/i915_drm_api.c b/src/gallium/winsys/i915/drm/i915_drm_api.c index 5dfd5a78798..b95df40e86c 100644 --- a/src/gallium/winsys/i915/drm/i915_drm_api.c +++ b/src/gallium/winsys/i915/drm/i915_drm_api.c @@ -49,21 +49,11 @@ i915_drm_winsys_destroy(struct i915_winsys *iws) } static struct pipe_screen * -i915_drm_create_screen(struct drm_api *api, int drmFD, - struct drm_create_screen_arg *arg) +i915_drm_create_screen(struct drm_api *api, int drmFD) { struct i915_drm_winsys *idws; unsigned int deviceID; - if (arg != NULL) { - switch(arg->mode) { - case DRM_CREATE_NORMAL: - break; - default: - return NULL; - } - } - idws = CALLOC_STRUCT(i915_drm_winsys); if (!idws) return NULL; diff --git a/src/gallium/winsys/i965/drm/i965_drm_api.c b/src/gallium/winsys/i965/drm/i965_drm_api.c index bd4dcfc9be7..87ee8070b1d 100644 --- a/src/gallium/winsys/i965/drm/i965_drm_api.c +++ b/src/gallium/winsys/i965/drm/i965_drm_api.c @@ -53,23 +53,13 @@ i965_libdrm_winsys_destroy(struct brw_winsys_screen *iws) } static struct pipe_screen * -i965_libdrm_create_screen(struct drm_api *api, int drmFD, - struct drm_create_screen_arg *arg) +i965_libdrm_create_screen(struct drm_api *api, int drmFD) { struct i965_libdrm_winsys *idws; unsigned int deviceID; debug_printf("%s\n", __FUNCTION__); - if (arg != NULL) { - switch(arg->mode) { - case DRM_CREATE_NORMAL: - break; - default: - return NULL; - } - } - idws = CALLOC_STRUCT(i965_libdrm_winsys); if (!idws) return NULL; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm.c b/src/gallium/winsys/radeon/drm/radeon_drm.c index 8d981b22e3d..59f1b10230e 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm.c @@ -153,9 +153,7 @@ static void do_ioctls(int fd, struct radeon_libdrm_winsys* winsys) } /* Create a pipe_screen. */ -struct pipe_screen* radeon_create_screen(struct drm_api* api, - int drmFB, - struct drm_create_screen_arg *arg) +struct pipe_screen* radeon_create_screen(struct drm_api* api, int drmFB) { struct radeon_libdrm_winsys* rws; boolean ret; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm.h b/src/gallium/winsys/radeon/drm/radeon_drm.h index 78451b6f011..3544c926d99 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm.h @@ -33,9 +33,7 @@ #include "state_tracker/drm_api.h" -struct pipe_screen* radeon_create_screen(struct drm_api* api, - int drmFB, - struct drm_create_screen_arg *arg); +struct pipe_screen* radeon_create_screen(struct drm_api* api, int drmFB); void radeon_destroy_drm_api(struct drm_api* api); diff --git a/src/gallium/winsys/svga/drm/vmw_screen_dri.c b/src/gallium/winsys/svga/drm/vmw_screen_dri.c index 4a710564b43..fe285226918 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen_dri.c +++ b/src/gallium/winsys/svga/drm/vmw_screen_dri.c @@ -89,44 +89,31 @@ vmw_dri1_check_version(const struct dri1_api_version *cur, * bottom of the file. */ static struct pipe_screen * -vmw_drm_create_screen(struct drm_api *drm_api, - int fd, - struct drm_create_screen_arg *arg) +vmw_drm_create_screen(struct drm_api *drm_api, int fd) { struct vmw_winsys_screen *vws; struct pipe_screen *screen; boolean use_old_scanout_flag = FALSE; - if (!arg || arg->mode == DRM_CREATE_NORMAL) { - struct dri1_api_version drm_ver; - drmVersionPtr ver; + struct dri1_api_version drm_ver; + drmVersionPtr ver; - ver = drmGetVersion(fd); - if (ver == NULL) - return NULL; + ver = drmGetVersion(fd); + if (ver == NULL) + return NULL; - drm_ver.major = ver->version_major; - drm_ver.minor = ver->version_minor; - drm_ver.patch_level = 0; /* ??? */ + drm_ver.major = ver->version_major; + drm_ver.minor = ver->version_minor; + drm_ver.patch_level = 0; /* ??? */ - drmFreeVersion(ver); - if (!vmw_dri1_check_version(&drm_ver, &drm_required, - &drm_compat, "vmwgfx drm driver")) - return NULL; + drmFreeVersion(ver); + if (!vmw_dri1_check_version(&drm_ver, &drm_required, + &drm_compat, "vmwgfx drm driver")) + return NULL; - if (!vmw_dri1_check_version(&drm_ver, &drm_scanout, - &drm_compat, "use old scanout field (not a error)")) - use_old_scanout_flag = TRUE; - } - - if (arg != NULL) { - switch (arg->mode) { - case DRM_CREATE_NORMAL: - break; - default: - return NULL; - } - } + if (!vmw_dri1_check_version(&drm_ver, &drm_scanout, + &drm_compat, "use old scanout field (not a error)")) + use_old_scanout_flag = TRUE; vws = vmw_winsys_create( fd, use_old_scanout_flag ); if (!vws) diff --git a/src/gallium/winsys/sw/drm/sw_drm_api.c b/src/gallium/winsys/sw/drm/sw_drm_api.c index 2ccde610e60..7b86382619e 100644 --- a/src/gallium/winsys/sw/drm/sw_drm_api.c +++ b/src/gallium/winsys/sw/drm/sw_drm_api.c @@ -56,15 +56,14 @@ sw_drm_api(struct drm_api *api) static struct pipe_screen * -sw_drm_create_screen(struct drm_api *_api, int drmFD, - struct drm_create_screen_arg *arg) +sw_drm_create_screen(struct drm_api *_api, int drmFD) { struct sw_drm_api *swapi = sw_drm_api(_api); struct drm_api *api = swapi->api; struct sw_winsys *sww; struct pipe_screen *screen; - screen = api->create_screen(api, drmFD, arg); + screen = api->create_screen(api, drmFD); if (!screen) return NULL; -- cgit v1.2.3 From 0cd70b554cb0bb9280f83fddf4f1451fddd37230 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Fri, 28 May 2010 23:57:47 +0200 Subject: gallium: clear interface changes clears were a bit limited in gallium: - no scissoring (OGL only) nor explicit rectangle list (d3d9) - no color/stencil masks (OGL only) - no separate depth/stencil clears (d3d9/d3d10/OGL) - cannot really clear single color buffer (only with resource_fill_region) Additionally, d3d can clear surfaces not currently bound to the framebuffer. It is, however, not easy to find some common ground what a clear should be able to do, due to both API requirements and also hw differences (a case which might be able to use a special clear path on one hw might need a "normal" quad render on another). Hence several clear methods are provided, and a driver should implement all of them. - clear: slightly modified to also be able to clear only depth or stencil in a combined depth/stencil surface. This is however optional based on driver capability though ideally it wouldn't be optional. AFAIK this is in fact something used by applications quite a bit. Otherwise, for now still doesn't allow clearing with scissors/mask (or single color buffers) - clearRT: clears a single (potentially unbound) color surface. This was formerly roughly known as resource_fill_region. mesa st will not currently use this, though potentially would be useful for GL ClearBuffer. - clearDS: similar to above except for depth stencil surfaces. Note that clearDS/clearRT currently handle can handle partial clear. This might change however. --- src/gallium/docs/d3d11ddi.txt | 2 +- src/gallium/docs/source/context.rst | 27 ++++++++++++++++++------- src/gallium/include/pipe/p_context.h | 39 ++++++++++++++++++++++++------------ src/gallium/include/pipe/p_defines.h | 6 ++++-- 4 files changed, 51 insertions(+), 23 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/docs/d3d11ddi.txt b/src/gallium/docs/d3d11ddi.txt index d9c2b441a94..e3368fdbd69 100644 --- a/src/gallium/docs/d3d11ddi.txt +++ b/src/gallium/docs/d3d11ddi.txt @@ -79,7 +79,7 @@ set_clip_state set_polygon_stipple + Gallium supports polygon stipple -resource_fill_region +clearRT/clearDS + Gallium supports subrectangle fills of surfaces, D3D10 only supports full clears of views * DirectX 10/11 DDI functions and Gallium equivalents diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 89c02b1b703..037afb0743a 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -102,14 +102,29 @@ the LOD range the texture is going to be constrained to. Clearing ^^^^^^^^ +Clear is one of the most difficult concepts to nail down to a single +interface (due to both different requirements from APIs and also driver/hw +specific differences). + ``clear`` initializes some or all of the surfaces currently bound to the framebuffer to particular RGBA, depth, or stencil values. +Currently, this does not take into account color or stencil write masks (as +used by GL), and always clears the whole surfaces (no scissoring as used by +GL clear or explicit rectangles like d3d9 uses). It can, however, also clear +only depth or stencil in a combined depth/stencil surface, if the driver +supports PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE. +If a surface includes several layers/slices (XXX: not yet...) then all layers +will be cleared. -Clear is one of the most difficult concepts to nail down to a single -interface and it seems likely that we will want to add additional -clear paths, for instance clearing surfaces not bound to the -framebuffer, or read-modify-write clears such as depth-only or -stencil-only clears of packed depth-stencil buffers. +``clearRT`` clears a single color rendertarget with the specified color +value. While it is only possible to clear one surface at a time (which can +include several layers), this surface need not be bound to the framebuffer. + +``clearDS``clears a single depth, stencil or depth/stencil surface with +the specified depth and stencil values (for combined depth/stencil buffers, +is is also possible to only clear one or the other part). While it is only +possible to clear one surface at a time (which can include several layers), +this surface need not be bound to the framebuffer. Drawing @@ -266,8 +281,6 @@ These methods operate directly on ``pipe_resource`` objects, and stand apart from any 3D state in the context. Blitting functionality may be moved to a separate abstraction at some point in the future. -``resource_fill_region`` performs a fill operation on a section of a resource. - ``resource_copy_region`` blits a region of a subresource of a resource to a region of another subresource of a resource, provided that both resources have the same format. The source and destination may be the same resource, but overlapping diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 6b729831768..51f52406d1d 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -256,17 +256,6 @@ struct pipe_context { unsigned srcx, unsigned srcy, unsigned srcz, unsigned width, unsigned height); - /** - * Fill a region of a resource with a constant value. - * Resources with nr_samples > 1 are not allowed. - */ - void (*resource_fill_region)(struct pipe_context *pipe, - struct pipe_resource *dst, - struct pipe_subresource subdst, - unsigned dstx, unsigned dsty, unsigned dstz, - unsigned width, unsigned height, - unsigned value); - /** * Resolve a multisampled resource into a non-multisampled one. * Source and destination must have the same size and same format. @@ -290,9 +279,33 @@ struct pipe_context { */ void (*clear)(struct pipe_context *pipe, unsigned buffers, - const float *rgba, + const float *rgba, double depth, - unsigned stencil); + unsigned stencil); + + /** + * Clear a color rendertarget surface. + * \param rgba pointer to an array of one float for each of r, g, b, a. + */ + void (*clearRT)(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); + + /** + * Clear a depth-stencil surface. + * \param clear_flags bitfield of PIPE_CLEAR_DEPTH/STENCIL values. + * \param depth depth clear value in [0,1]. + * \param stencil stencil clear value + */ + void (*clearDS)(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); /** Flush rendering * \param flags bitmask of PIPE_FLUSH_x tokens) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index b54a6ef8247..420649c5a9b 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -189,9 +189,10 @@ enum pipe_texture_target { */ /** All color buffers currently bound */ #define PIPE_CLEAR_COLOR (1 << 0) +#define PIPE_CLEAR_DEPTH (1 << 1) +#define PIPE_CLEAR_STENCIL (1 << 2) /** Depth/stencil combined */ -#define PIPE_CLEAR_DEPTHSTENCIL (1 << 1) - +#define PIPE_CLEAR_DEPTHSTENCIL (PIPE_CLEAR_DEPTH | PIPE_CLEAR_STENCIL) /** * Transfer object usage flags @@ -453,6 +454,7 @@ enum pipe_cap { PIPE_CAP_INDEP_BLEND_ENABLE, /** different blend funcs per rendertarget */ PIPE_CAP_INDEP_BLEND_FUNC, + PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE, PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT, PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER, -- cgit v1.2.3 From ba26631d0d936523c7a8f002cf469e569aa6d7a3 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 31 May 2010 11:15:06 +0800 Subject: Define PUBLIC to dllexport on MSVC. Define PUBLIC to __declspec(dllexport) when _MVC_VER is defined. --- src/egl/main/eglcompiler.h | 12 ++++++++---- src/gallium/include/pipe/p_compiler.h | 2 ++ src/mapi/mapi/u_compiler.h | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'src/gallium/include') diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h index 6ecee51d7ca..90c75e84b29 100644 --- a/src/egl/main/eglcompiler.h +++ b/src/egl/main/eglcompiler.h @@ -62,10 +62,14 @@ /** * Function visibility */ -#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) -# define PUBLIC __attribute__((visibility("default"))) -#else -# define PUBLIC +#ifndef PUBLIC +# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +# define PUBLIC __attribute__((visibility("default"))) +# elif defined(_MSC_VER) +# define PUBLIC __declspec(dllexport) +# else +# define PUBLIC +# endif #endif /** diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 9b31555f1b1..a14486a5fb5 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -102,6 +102,8 @@ typedef unsigned char boolean; #ifndef PUBLIC # if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) # define PUBLIC __attribute__((visibility("default"))) +# elif defined(_MSC_VER) +# define PUBLIC __declspec(dllexport) # else # define PUBLIC # endif diff --git a/src/mapi/mapi/u_compiler.h b/src/mapi/mapi/u_compiler.h index cc9e2cd1e81..f1752d16f27 100644 --- a/src/mapi/mapi/u_compiler.h +++ b/src/mapi/mapi/u_compiler.h @@ -28,10 +28,10 @@ #ifndef PUBLIC # if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) # define PUBLIC __attribute__((visibility("default"))) -# define HIDDEN __attribute__((visibility("hidden"))) +# elif defined(_MSC_VER) +# define PUBLIC __declspec(dllexport) # else # define PUBLIC -# define HIDDEN # endif #endif -- cgit v1.2.3 From a6e5c6c000df8655de3b41d5809547bb41c88c23 Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Thu, 3 Jun 2010 16:33:25 +0200 Subject: gallium: rename clearRT / clearDS to clear_render_target / clear_depth_stencil more consistent with rest of gallium naming conventions. Also rename driver-internal names for these the same. --- src/gallium/auxiliary/util/u_blitter.c | 26 ++++++------ src/gallium/auxiliary/util/u_blitter.h | 24 +++++------ src/gallium/auxiliary/util/u_clear.h | 8 ++-- src/gallium/auxiliary/util/u_surface.c | 14 +++---- src/gallium/auxiliary/util/u_surface.h | 10 ++--- src/gallium/docs/source/context.rst | 8 ++-- src/gallium/drivers/failover/fo_context.c | 4 +- src/gallium/drivers/i915/i915_surface.c | 28 ++++++------- src/gallium/drivers/i965/brw_pipe_clear.c | 28 ++++++------- src/gallium/drivers/identity/id_context.c | 60 +++++++++++++-------------- src/gallium/drivers/nv50/nv50_surface.c | 12 +++--- src/gallium/drivers/nvfx/nvfx_surface.c | 28 ++++++------- src/gallium/drivers/r300/r300_blit.c | 36 ++++++++-------- src/gallium/drivers/rbug/rbug_context.c | 60 +++++++++++++-------------- src/gallium/drivers/trace/tr_context.c | 38 ++++++++--------- src/gallium/include/pipe/p_context.h | 24 +++++------ src/gallium/state_trackers/python/p_context.i | 26 ++++++------ 17 files changed, 217 insertions(+), 217 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index d05a193bf8d..9ae7b38e6e9 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -26,7 +26,7 @@ /** * @file - * Blitter utility to facilitate acceleration of the clear, clearRT, clearDS + * Blitter utility to facilitate acceleration of the clear, clear_render_target, clear_depth_stencil * resource_copy_region functions. * * @author Marek Olšák @@ -781,11 +781,11 @@ void util_blitter_copy_region(struct blitter_context *blitter, } /* Clear a region of a color surface to a constant value. */ -void util_blitter_clearRT(struct blitter_context *blitter, - struct pipe_surface *dstsurf, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +void util_blitter_clear_render_target(struct blitter_context *blitter, + struct pipe_surface *dstsurf, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter; struct pipe_context *pipe = ctx->pipe; @@ -822,13 +822,13 @@ void util_blitter_clearRT(struct blitter_context *blitter, } /* Clear a region of a depth stencil surface. */ -void util_blitter_clearDS(struct blitter_context *blitter, - struct pipe_surface *dstsurf, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +void util_blitter_clear_depth_stencil(struct blitter_context *blitter, + struct pipe_surface *dstsurf, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter; struct pipe_context *pipe = ctx->pipe; diff --git a/src/gallium/auxiliary/util/u_blitter.h b/src/gallium/auxiliary/util/u_blitter.h index f894fd5a933..10143a5e0f2 100644 --- a/src/gallium/auxiliary/util/u_blitter.h +++ b/src/gallium/auxiliary/util/u_blitter.h @@ -129,11 +129,11 @@ void util_blitter_copy_region(struct blitter_context *blitter, * already required to be saved: * - framebuffer state */ -void util_blitter_clearRT(struct blitter_context *blitter, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height); +void util_blitter_clear_render_target(struct blitter_context *blitter, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); /** * Clear a region of a depth-stencil surface, both stencil and depth @@ -143,13 +143,13 @@ void util_blitter_clearRT(struct blitter_context *blitter, * already required to be saved: * - framebuffer state */ -void util_blitter_clearDS(struct blitter_context *blitter, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height); +void util_blitter_clear_depth_stencil(struct blitter_context *blitter, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); /* The functions below should be used to save currently bound constant state * objects inside a driver. The objects are automatically restored at the end diff --git a/src/gallium/auxiliary/util/u_clear.h b/src/gallium/auxiliary/util/u_clear.h index 07088a7a727..ad69df3f898 100644 --- a/src/gallium/auxiliary/util/u_clear.h +++ b/src/gallium/auxiliary/util/u_clear.h @@ -46,14 +46,14 @@ util_clear(struct pipe_context *pipe, unsigned i; for (i = 0; i < framebuffer->nr_cbufs; i++) { struct pipe_surface *ps = framebuffer->cbufs[i]; - pipe->clearRT(pipe, ps, rgba, 0, 0, ps->width, ps->height); + pipe->clear_render_target(pipe, ps, rgba, 0, 0, ps->width, ps->height); } } if (buffers & PIPE_CLEAR_DEPTHSTENCIL) { struct pipe_surface *ps = framebuffer->zsbuf; - pipe->clearDS(pipe, ps, buffers & PIPE_CLEAR_DEPTHSTENCIL, - depth, stencil, - 0, 0, ps->width, ps->height); + pipe->clear_depth_stencil(pipe, ps, buffers & PIPE_CLEAR_DEPTHSTENCIL, + depth, stencil, + 0, 0, ps->width, ps->height); } } diff --git a/src/gallium/auxiliary/util/u_surface.c b/src/gallium/auxiliary/util/u_surface.c index 1b4eaf2a6e6..9dd1002f5f6 100644 --- a/src/gallium/auxiliary/util/u_surface.c +++ b/src/gallium/auxiliary/util/u_surface.c @@ -196,19 +196,19 @@ util_resource_copy_region(struct pipe_context *pipe, /** - * Fallback for pipe->clearRT() function. + * Fallback for pipe->clear_render_target() function. * XXX this looks too hackish to be really useful. * cpp > 4 looks like a gross hack at best... - * and we're missing the equivalent clearDS fallback. + * and we're missing the equivalent clear_depth_stencil fallback. * Plus can't use these transfer fallbacks when clearing * multisampled surfaces for instance. */ void -util_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +util_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct pipe_transfer *dst_trans; void *dst_map; diff --git a/src/gallium/auxiliary/util/u_surface.h b/src/gallium/auxiliary/util/u_surface.h index b640c793085..d8fb9f1d6f9 100644 --- a/src/gallium/auxiliary/util/u_surface.h +++ b/src/gallium/auxiliary/util/u_surface.h @@ -57,11 +57,11 @@ util_resource_copy_region(struct pipe_context *pipe, unsigned w, unsigned h); extern void -util_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height); +util_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 037afb0743a..27d352b7a39 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -116,12 +116,12 @@ supports PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE. If a surface includes several layers/slices (XXX: not yet...) then all layers will be cleared. -``clearRT`` clears a single color rendertarget with the specified color -value. While it is only possible to clear one surface at a time (which can +``clear_render_target`` clears a single color rendertarget with the specified +color value. While it is only possible to clear one surface at a time (which can include several layers), this surface need not be bound to the framebuffer. -``clearDS``clears a single depth, stencil or depth/stencil surface with -the specified depth and stencil values (for combined depth/stencil buffers, +``clear_depth_stencil``clears a single depth, stencil or depth/stencil surface +with the specified depth and stencil values (for combined depth/stencil buffers, is is also possible to only clear one or the other part). While it is only possible to clear one surface at a time (which can include several layers), this surface need not be bound to the framebuffer. diff --git a/src/gallium/drivers/failover/fo_context.c b/src/gallium/drivers/failover/fo_context.c index 9f32cbf2967..9c9c1bdc452 100644 --- a/src/gallium/drivers/failover/fo_context.c +++ b/src/gallium/drivers/failover/fo_context.c @@ -146,8 +146,8 @@ struct pipe_context *failover_create( struct pipe_context *hw, failover->pipe.draw_arrays = failover_draw_arrays; failover->pipe.draw_elements = failover_draw_elements; failover->pipe.clear = hw->clear; - failover->pipe.clearRT = hw->clearRT; - failover->pipe.clearDS = hw->clearDS; + failover->pipe.clear_render_target = hw->clear_render_target; + failover->pipe.clear_depth_stencil = hw->clear_depth_stencil; /* No software occlusion fallback (or other optional functionality) * at this point - if the hardware doesn't support it, don't diff --git a/src/gallium/drivers/i915/i915_surface.c b/src/gallium/drivers/i915/i915_surface.c index d9316a1f36f..7869be8f682 100644 --- a/src/gallium/drivers/i915/i915_surface.c +++ b/src/gallium/drivers/i915/i915_surface.c @@ -95,11 +95,11 @@ i915_surface_copy(struct pipe_context *pipe, static void -i915_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +i915_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct i915_texture *tex = i915_texture(dst->texture); struct pipe_resource *pt = &tex->b.b; @@ -120,13 +120,13 @@ i915_clearRT(struct pipe_context *pipe, } static void -i915_clearDS(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +i915_clear_depth_stencil(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct i915_texture *tex = i915_texture(dst->texture); struct pipe_resource *pt = &tex->b.b; @@ -209,8 +209,8 @@ void i915_init_surface_functions(struct i915_context *i915) { i915->base.resource_copy_region = i915_surface_copy; - i915->base.clearRT = i915_clearRT; - i915->base.clearDS = i915_clearDS; + i915->base.clear_render_target = i915_clear_render_target; + i915->base.clear_depth_stencil = i915_clear_depth_stencil; } /* No good reason for these to be in the screen. diff --git a/src/gallium/drivers/i965/brw_pipe_clear.c b/src/gallium/drivers/i965/brw_pipe_clear.c index b7d8cd5890e..d5cff338a66 100644 --- a/src/gallium/drivers/i965/brw_pipe_clear.c +++ b/src/gallium/drivers/i965/brw_pipe_clear.c @@ -227,11 +227,11 @@ static void brw_clear(struct pipe_context *pipe, } /* XXX should respect region */ -static void brw_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +static void brw_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct brw_context *brw = brw_context( pipe ); @@ -241,13 +241,13 @@ static void brw_clearRT(struct pipe_context *pipe, } /* XXX should respect region */ -static void brw_clearDS(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +static void brw_clear_depth_stencil(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct brw_context *brw = brw_context( pipe ); @@ -260,8 +260,8 @@ static void brw_clearDS(struct pipe_context *pipe, void brw_pipe_clear_init( struct brw_context *brw ) { brw->base.clear = brw_clear; - brw->base.clearRT = brw_clearRT; - brw->base.clearDS = brw_clearDS; + brw->base.clear_render_target = brw_clear_render_target; + brw->base.clear_depth_stencil = brw_clear_depth_stencil; } diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c index 0c3704ceae5..898e0b3af83 100644 --- a/src/gallium/drivers/identity/id_context.c +++ b/src/gallium/drivers/identity/id_context.c @@ -666,48 +666,48 @@ identity_clear(struct pipe_context *_pipe, } static void -identity_clearRT(struct pipe_context *_pipe, - struct pipe_surface *_dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +identity_clear_render_target(struct pipe_context *_pipe, + struct pipe_surface *_dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct identity_context *id_pipe = identity_context(_pipe); struct identity_surface *id_surface_dst = identity_surface(_dst); struct pipe_context *pipe = id_pipe->pipe; struct pipe_surface *dst = id_surface_dst->surface; - pipe->clearRT(pipe, - dst, - rgba, - dstx, - dsty, - width, - height); + pipe->clear_render_target(pipe, + dst, + rgba, + dstx, + dsty, + width, + height); } static void -identity_clearDS(struct pipe_context *_pipe, - struct pipe_surface *_dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +identity_clear_depth_stencil(struct pipe_context *_pipe, + struct pipe_surface *_dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct identity_context *id_pipe = identity_context(_pipe); struct identity_surface *id_surface_dst = identity_surface(_dst); struct pipe_context *pipe = id_pipe->pipe; struct pipe_surface *dst = id_surface_dst->surface; - pipe->clearDS(pipe, - dst, - clear_flags, - depth, - stencil, - dstx, - dsty, - width, - height); + pipe->clear_depth_stencil(pipe, + dst, + clear_flags, + depth, + stencil, + dstx, + dsty, + width, + height); } @@ -933,8 +933,8 @@ identity_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) id_pipe->base.set_vertex_buffers = identity_set_vertex_buffers; id_pipe->base.resource_copy_region = identity_resource_copy_region; id_pipe->base.clear = identity_clear; - id_pipe->base.clearRT = identity_clearRT; - id_pipe->base.clearDS = identity_clearDS; + id_pipe->base.clear_render_target = identity_clear_render_target; + id_pipe->base.clear_depth_stencil = identity_clear_depth_stencil; id_pipe->base.flush = identity_flush; id_pipe->base.is_resource_referenced = identity_is_resource_referenced; id_pipe->base.create_sampler_view = identity_context_create_sampler_view; diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c index 470df1b2a20..5535610e0a2 100644 --- a/src/gallium/drivers/nv50/nv50_surface.c +++ b/src/gallium/drivers/nv50/nv50_surface.c @@ -224,11 +224,11 @@ nv50_surface_copy(struct pipe_context *pipe, /* XXX this should probably look more along the lines of nv50_clear */ static void -nv50_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +nv50_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct nv50_context *nv50 = nv50_context(pipe); struct nv50_screen *screen = nv50->screen; @@ -264,7 +264,7 @@ void nv50_init_surface_functions(struct nv50_context *nv50) { nv50->pipe.resource_copy_region = nv50_surface_copy; - nv50->pipe.clearRT = nv50_clearRT; + nv50->pipe.clear_render_target = nv50_clear_render_target; } diff --git a/src/gallium/drivers/nvfx/nvfx_surface.c b/src/gallium/drivers/nvfx/nvfx_surface.c index c853f36f552..44e1af2e6a2 100644 --- a/src/gallium/drivers/nvfx/nvfx_surface.c +++ b/src/gallium/drivers/nvfx/nvfx_surface.c @@ -56,11 +56,11 @@ nvfx_surface_copy(struct pipe_context *pipe, } static void -nvfx_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +nvfx_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct nvfx_context *nvfx = nvfx_context(pipe); struct nv04_surface_2d *eng2d = nvfx->screen->eng2d; @@ -71,13 +71,13 @@ nvfx_clearRT(struct pipe_context *pipe, } static void -nvfx_clearDS(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +nvfx_clear_depth_stencil(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct nvfx_context *nvfx = nvfx_context(pipe); struct nv04_surface_2d *eng2d = nvfx->screen->eng2d; @@ -91,6 +91,6 @@ void nvfx_init_surface_functions(struct nvfx_context *nvfx) { nvfx->pipe.resource_copy_region = nvfx_surface_copy; - nvfx->pipe.clearRT = nvfx_clearRT; - nvfx->pipe.clearDS = nvfx_clearDS; + nvfx->pipe.clear_render_target = nvfx_clear_render_target; + nvfx->pipe.clear_depth_stencil = nvfx_clear_depth_stencil; } diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 3acd0740f93..49ec51fd132 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -189,43 +189,43 @@ static void r300_resource_copy_region(struct pipe_context *pipe, } /* Clear a region of a color surface to a constant value. */ -static void r300_clearRT(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +static void r300_clear_render_target(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct r300_context *r300 = r300_context(pipe); r300_blitter_save_states(r300); util_blitter_save_framebuffer(r300->blitter, r300->fb_state.state); - util_blitter_clearRT(r300->blitter, dst, rgba, - dstx, dsty, width, height); + util_blitter_clear_render_target(r300->blitter, dst, rgba, + dstx, dsty, width, height); } /* Clear a region of a depth stencil surface. */ -static void r300_clearDS(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +static void r300_clear_depth_stencil(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct r300_context *r300 = r300_context(pipe); r300_blitter_save_states(r300); util_blitter_save_framebuffer(r300->blitter, r300->fb_state.state); - util_blitter_clearDS(r300->blitter, dst, clear_flags, depth, stencil, - dstx, dsty, width, height); + util_blitter_clear_depth_stencil(r300->blitter, dst, clear_flags, depth, stencil, + dstx, dsty, width, height); } void r300_init_blit_functions(struct r300_context *r300) { r300->context.clear = r300_clear; - r300->context.clearRT = r300_clearRT; - r300->context.clearDS = r300_clearDS; + r300->context.clear_render_target = r300_clear_render_target; + r300->context.clear_depth_stencil = r300_clear_depth_stencil; r300->context.resource_copy_region = r300_resource_copy_region; } diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index b2948311b94..164d811ab48 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -817,49 +817,49 @@ rbug_clear(struct pipe_context *_pipe, } static void -rbug_clearRT(struct pipe_context *_pipe, - struct pipe_surface *_dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +rbug_clear_render_target(struct pipe_context *_pipe, + struct pipe_surface *_dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct rbug_context *rb_pipe = rbug_context(_pipe); struct rbug_surface *rb_surface_dst = rbug_surface(_dst); struct pipe_context *pipe = rb_pipe->pipe; struct pipe_surface *dst = rb_surface_dst->surface; - pipe->clearRT(pipe, - dst, - rgba, - dstx, - dsty, - width, - height); + pipe->clear_render_target(pipe, + dst, + rgba, + dstx, + dsty, + width, + height); } static void -rbug_clearDS(struct pipe_context *_pipe, - struct pipe_surface *_dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +rbug_clear_depth_stencil(struct pipe_context *_pipe, + struct pipe_surface *_dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct rbug_context *rb_pipe = rbug_context(_pipe); struct rbug_surface *rb_surface_dst = rbug_surface(_dst); struct pipe_context *pipe = rb_pipe->pipe; struct pipe_surface *dst = rb_surface_dst->surface; - pipe->clearDS(pipe, - dst, - clear_flags, - depth, - stencil, - dstx, - dsty, - width, - height); + pipe->clear_depth_stencil(pipe, + dst, + clear_flags, + depth, + stencil, + dstx, + dsty, + width, + height); } static void @@ -1095,8 +1095,8 @@ rbug_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) rb_pipe->base.set_sample_mask = rbug_set_sample_mask; rb_pipe->base.resource_copy_region = rbug_resource_copy_region; rb_pipe->base.clear = rbug_clear; - rb_pipe->base.clearRT = rbug_clearRT; - rb_pipe->base.clearDS = rbug_clearDS; + rb_pipe->base.clear_render_target = rbug_clear_render_target; + rb_pipe->base.clear_depth_stencil = rbug_clear_depth_stencil; rb_pipe->base.flush = rbug_flush; rb_pipe->base.is_resource_referenced = rbug_is_resource_referenced; rb_pipe->base.create_sampler_view = rbug_context_create_sampler_view; diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index e8ac33f6e51..7584b8d437b 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1109,18 +1109,18 @@ trace_context_clear(struct pipe_context *_pipe, static INLINE void -trace_context_clearRT(struct pipe_context *_pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +trace_context_clear_render_target(struct pipe_context *_pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct trace_context *tr_ctx = trace_context(_pipe); struct pipe_context *pipe = tr_ctx->pipe; dst = trace_surface_unwrap(tr_ctx, dst); - trace_dump_call_begin("pipe_context", "clearRT"); + trace_dump_call_begin("pipe_context", "clear_render_target"); trace_dump_arg(ptr, pipe); trace_dump_arg(ptr, dst); @@ -1130,26 +1130,26 @@ trace_context_clearRT(struct pipe_context *_pipe, trace_dump_arg(uint, width); trace_dump_arg(uint, height); - pipe->clearRT(pipe, dst, rgba, dstx, dsty, width, height); + pipe->clear_render_target(pipe, dst, rgba, dstx, dsty, width, height); trace_dump_call_end(); } static INLINE void -trace_context_clearDS(struct pipe_context *_pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height) +trace_context_clear_depth_stencil(struct pipe_context *_pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height) { struct trace_context *tr_ctx = trace_context(_pipe); struct pipe_context *pipe = tr_ctx->pipe; dst = trace_surface_unwrap(tr_ctx, dst); - trace_dump_call_begin("pipe_context", "clearDS"); + trace_dump_call_begin("pipe_context", "clear_depth_stencil"); trace_dump_arg(ptr, pipe); trace_dump_arg(ptr, dst); @@ -1161,8 +1161,8 @@ trace_context_clearDS(struct pipe_context *_pipe, trace_dump_arg(uint, width); trace_dump_arg(uint, height); - pipe->clearDS(pipe, dst, clear_flags, depth, stencil, - dstx, dsty, width, height); + pipe->clear_depth_stencil(pipe, dst, clear_flags, depth, stencil, + dstx, dsty, width, height); trace_dump_call_end(); } @@ -1479,8 +1479,8 @@ trace_context_create(struct trace_screen *tr_scr, tr_ctx->base.set_vertex_buffers = trace_context_set_vertex_buffers; tr_ctx->base.resource_copy_region = trace_context_resource_copy_region; tr_ctx->base.clear = trace_context_clear; - tr_ctx->base.clearRT = trace_context_clearRT; - tr_ctx->base.clearDS = trace_context_clearDS; + 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.is_resource_referenced = trace_is_resource_referenced; diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 51f52406d1d..3e082bef2ff 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -287,11 +287,11 @@ struct pipe_context { * Clear a color rendertarget surface. * \param rgba pointer to an array of one float for each of r, g, b, a. */ - void (*clearRT)(struct pipe_context *pipe, - struct pipe_surface *dst, - const float *rgba, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height); + void (*clear_render_target)(struct pipe_context *pipe, + struct pipe_surface *dst, + const float *rgba, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); /** * Clear a depth-stencil surface. @@ -299,13 +299,13 @@ struct pipe_context { * \param depth depth clear value in [0,1]. * \param stencil stencil clear value */ - void (*clearDS)(struct pipe_context *pipe, - struct pipe_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned dstx, unsigned dsty, - unsigned width, unsigned height); + void (*clear_depth_stencil)(struct pipe_context *pipe, + struct pipe_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned dstx, unsigned dsty, + unsigned width, unsigned height); /** Flush rendering * \param flags bitmask of PIPE_FLUSH_x tokens) diff --git a/src/gallium/state_trackers/python/p_context.i b/src/gallium/state_trackers/python/p_context.i index 6a6da1477cf..0294e769a63 100644 --- a/src/gallium/state_trackers/python/p_context.i +++ b/src/gallium/state_trackers/python/p_context.i @@ -447,10 +447,10 @@ error1: src->texture, subsrc, srcx, srcy, src->zslice, width, height); } - void clearRT(struct st_surface *dst, - float *rgba, - unsigned x, unsigned y, - unsigned width, unsigned height) + void clear_render_target(struct st_surface *dst, + float *rgba, + unsigned x, unsigned y, + unsigned width, unsigned height) { struct pipe_surface *_dst = NULL; @@ -458,18 +458,18 @@ error1: if(!_dst) SWIG_exception(SWIG_ValueError, "couldn't acquire destination surface for writing"); - $self->pipe->clearRT($self->pipe, _dst, rgba, x, y, width, height); + $self->pipe->clear_render_target($self->pipe, _dst, rgba, x, y, width, height); fail: pipe_surface_reference(&_dst, NULL); } - void clearDS(struct st_surface *dst, - unsigned clear_flags, - double depth, - unsigned stencil, - unsigned x, unsigned y, - unsigned width, unsigned height) + void clear_depth_stencil(struct st_surface *dst, + unsigned clear_flags, + double depth, + unsigned stencil, + unsigned x, unsigned y, + unsigned width, unsigned height) { struct pipe_surface *_dst = NULL; @@ -477,8 +477,8 @@ error1: if(!_dst) SWIG_exception(SWIG_ValueError, "couldn't acquire destination surface for writing"); - $self->pipe->clearDS($self->pipe, _dst, clear_flags, depth, stencil, - x, y, width, height); + $self->pipe->clear_depth_stencil($self->pipe, _dst, clear_flags, depth, stencil, + x, y, width, height); fail: pipe_surface_reference(&_dst, NULL); -- cgit v1.2.3 From 42ebe3dfd9b0803913e0d932909ca5872d937c20 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 27 Apr 2010 21:06:44 +1000 Subject: mesa/st: add support for EXT_texture_swizzle. This passes on r300g, the only bit I'm not really sure about is the handling of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle value changes and I also have to create a new set of functions to create a new one since the u_sampler.c ones don't handle swizzle so much. adds r300g + softpipe enables, I think other drivers could pass easily enough. Signed-off-by: Dave Airlie --- src/gallium/drivers/r300/r300_screen.c | 1 + src/gallium/drivers/softpipe/sp_screen.c | 2 ++ src/gallium/include/pipe/p_defines.h | 1 + src/mesa/state_tracker/st_atom_texture.c | 57 ++++++++++++++++++++++++++++++-- src/mesa/state_tracker/st_extensions.c | 4 +++ 5 files changed, 63 insertions(+), 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index e7db074be62..497e24b7605 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -113,6 +113,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_MIRROR_REPEAT: case PIPE_CAP_BLEND_EQUATION_SEPARATE: + case PIPE_CAP_TEXTURE_SWIZZLE: return 1; /* Unsupported features (boolean caps). */ diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index cb59040395b..8abe7f50e17 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -90,6 +90,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_TEXTURE_SHADOW_MAP: return 1; + case PIPE_CAP_TEXTURE_SWIZZLE: + return 1; case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: return SP_MAX_TEXTURE_2D_LEVELS; case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 420649c5a9b..b00677425ce 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -425,6 +425,7 @@ enum pipe_cap { PIPE_CAP_OCCLUSION_QUERY, PIPE_CAP_TIMER_QUERY, PIPE_CAP_TEXTURE_SHADOW_MAP, + PIPE_CAP_TEXTURE_SWIZZLE, PIPE_CAP_MAX_TEXTURE_2D_LEVELS, PIPE_CAP_MAX_TEXTURE_3D_LEVELS, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS, diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index d403b7db1e5..65b57f15911 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -33,6 +33,7 @@ #include "main/macros.h" +#include "shader/prog_instruction.h" #include "st_context.h" #include "st_atom.h" @@ -42,6 +43,54 @@ #include "util/u_inlines.h" #include "cso_cache/cso_context.h" +static boolean check_sampler_swizzle(struct pipe_sampler_view *sv, + uint32_t _swizzle) +{ + if ((sv->swizzle_r != GET_SWZ(_swizzle, 0)) || + (sv->swizzle_g != GET_SWZ(_swizzle, 1)) || + (sv->swizzle_b != GET_SWZ(_swizzle, 2)) || + (sv->swizzle_a != GET_SWZ(_swizzle, 3))) + return true; + return false; +} + +static INLINE struct pipe_sampler_view * +st_create_texture_sampler_view_from_stobj(struct pipe_context *pipe, + struct st_texture_object *stObj) + +{ + struct pipe_sampler_view templ; + + u_sampler_view_default_template(&templ, + stObj->pt, + stObj->pt->format); + + if (stObj->base._Swizzle != SWIZZLE_NOOP) { + templ.swizzle_r = GET_SWZ(stObj->base._Swizzle, 0); + templ.swizzle_g = GET_SWZ(stObj->base._Swizzle, 1); + templ.swizzle_b = GET_SWZ(stObj->base._Swizzle, 2); + templ.swizzle_a = GET_SWZ(stObj->base._Swizzle, 3); + } + + return pipe->create_sampler_view(pipe, stObj->pt, &templ); +} + + +static INLINE struct pipe_sampler_view * +st_get_texture_sampler_view_from_stobj(struct st_texture_object *stObj, + struct pipe_context *pipe) + +{ + if (!stObj || !stObj->pt) { + return NULL; + } + + if (!stObj->sampler_view) { + stObj->sampler_view = st_create_texture_sampler_view_from_stobj(pipe, stObj); + } + + return stObj->sampler_view; +} static void update_textures(struct st_context *st) @@ -85,9 +134,13 @@ update_textures(struct st_context *st) st->state.num_textures = su + 1; - sampler_view = st_get_texture_sampler_view(stObj, pipe); - } + /* if sampler view has changed dereference it */ + if (stObj->sampler_view) + if (check_sampler_swizzle(stObj->sampler_view, stObj->base._Swizzle)) + pipe_sampler_view_reference(&stObj->sampler_view, NULL); + sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe); + } pipe_sampler_view_reference(&st->state.sampler_views[su], sampler_view); } diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 4093eedde9a..2c2e10dead7 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -248,6 +248,10 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_draw_buffers = GL_TRUE; } + if (screen->get_param(screen, PIPE_CAP_TEXTURE_SWIZZLE) > 0) { + ctx->Extensions.EXT_texture_swizzle = GL_TRUE; + } + if (screen->get_param(screen, PIPE_CAP_GLSL)) { ctx->Extensions.ARB_fragment_shader = GL_TRUE; ctx->Extensions.ARB_vertex_shader = GL_TRUE; -- cgit v1.2.3 From cd73360e4848d80aae3ff4b4d6c9d0cdcbcba457 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Mon, 31 May 2010 16:26:19 +0100 Subject: include/st: new file swrast_screen_create.h --- .../include/state_tracker/swrast_screen_create.h | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/gallium/include/state_tracker/swrast_screen_create.h (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/swrast_screen_create.h b/src/gallium/include/state_tracker/swrast_screen_create.h new file mode 100644 index 00000000000..a08f83a3259 --- /dev/null +++ b/src/gallium/include/state_tracker/swrast_screen_create.h @@ -0,0 +1,67 @@ +#include "pipe/p_compiler.h" +#include "util/u_debug.h" +#include "target-helpers/wrap_screen.h" + +struct sw_winsys; + +#ifdef GALLIUM_SOFTPIPE +#include "softpipe/sp_public.h" +#endif + +#ifdef GALLIUM_LLVMPIPE +#include "llvmpipe/lp_public.h" +#endif + +#ifdef GALLIUM_CELL +#include "cell/ppu/cell_public.h" +#endif + +/* + * Helper function to choose and instantiate one of the software rasterizers: + * cell, llvmpipe, softpipe. + * + * This function could be shared, but currently causes headaches for + * the build systems, particularly scons if we try. Long term, want + * to avoid having global #defines for things like GALLIUM_LLVMPIPE, + * GALLIUM_CELL, etc. Scons already eliminates those #defines, so + * things that are painful for it now are likely to be painful for + * other build systems in the future. + */ + +static INLINE struct pipe_screen * +swrast_screen_create(struct sw_winsys *winsys) +{ + const char *default_driver; + const char *driver; + struct pipe_screen *screen = NULL; + +#if defined(GALLIUM_CELL) + default_driver = "cell"; +#elif defined(GALLIUM_LLVMPIPE) + default_driver = "llvmpipe"; +#elif defined(GALLIUM_SOFTPIPE) + default_driver = "softpipe"; +#else + default_driver = ""; +#endif + + driver = debug_get_option("GALLIUM_DRIVER", default_driver); + +#if defined(GALLIUM_CELL) + if (screen == NULL && strcmp(driver, "cell") == 0) + screen = cell_create_screen( winsys ); +#endif + +#if defined(GALLIUM_LLVMPIPE) + if (screen == NULL && strcmp(driver, "llvmpipe") == 0) + screen = llvmpipe_create_screen( winsys ); +#endif + +#if defined(GALLIUM_SOFTPIPE) + if (screen == NULL) + screen = softpipe_create_screen( winsys ); +#endif + + return gallium_wrap_screen( screen ); +} + -- cgit v1.2.3 From 76aed4b070be8950fd8ea5caff59321885ff0a06 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Sat, 29 May 2010 11:33:14 +0200 Subject: gallium: Add drm driver interface This interfacre replaces the drm_api api it works very much the same way as drm_api but with the exception that its meant for the target to implement it. And it does not export a get function and neither a destroy function. --- src/gallium/include/state_tracker/drm_driver.h | 71 ++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/gallium/include/state_tracker/drm_driver.h (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/drm_driver.h b/src/gallium/include/state_tracker/drm_driver.h new file mode 100644 index 00000000000..d94c1e6a7cf --- /dev/null +++ b/src/gallium/include/state_tracker/drm_driver.h @@ -0,0 +1,71 @@ + +#ifndef _DRM_DRIVER_H_ +#define _DRM_DRIVER_H_ + +#include "pipe/p_compiler.h" + +struct pipe_screen; +struct pipe_winsys; +struct pipe_context; +struct pipe_resource; + +#define DRM_API_HANDLE_TYPE_SHARED 0 +#define DRM_API_HANDLE_TYPE_KMS 1 + +/** + * For use with pipe_screen::{texture_from_handle|texture_get_handle}. + */ +struct winsys_handle +{ + /** + * Unused for texture_from_handle, always + * DRM_API_HANDLE_TYPE_SHARED. Input to texture_get_handle, + * use TEXTURE_USAGE to select handle for kms or ipc. + */ + unsigned type; + /** + * Input to texture_from_handle. + * Output for texture_get_handle. + */ + unsigned handle; + /** + * Input to texture_from_handle. + * Output for texture_get_handle. + */ + unsigned stride; +}; + +struct drm_driver_descriptor +{ + /** + * Identifying sufix/prefix of the binary, used by egl. + */ + const char *name; + + /** + * Kernel driver name, as accepted by drmOpenByName. + */ + const char *driver_name; + + /** + * Create a pipe srcreen. + * + * This function does any wrapping of the screen. + * For example wrapping trace or rbug debugging drivers around it. + */ + struct pipe_screen* (*create_screen)(int drm_fd); +}; + +extern struct drm_driver_descriptor driver_descriptor; + +/** + * Instantiate a drm_driver_descriptor struct. + */ +#define DRM_DRIVER_DESCRIPTOR(name_str, driver_name_str, func) \ +struct drm_driver_descriptor driver_descriptor = { \ + .name = name_str, \ + .driver_name = driver_name_str, \ + .create_screen = func, \ +}; + +#endif -- cgit v1.2.3 From 9d343f4ba18e506942a9c1f70f0ccae1309d7ece Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Mon, 7 Jun 2010 19:37:44 +0100 Subject: graw: add parse_geometry_shader helper --- src/gallium/include/state_tracker/graw.h | 3 +++ src/gallium/targets/graw-xlib/graw_util.c | 13 +++++++++++++ 2 files changed, 16 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index e5b298e03d9..59b0e337c92 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -34,6 +34,9 @@ PUBLIC struct pipe_screen *graw_create_window_and_screen( int x, PUBLIC void graw_set_display_func( void (*func)( void ) ); PUBLIC void graw_main_loop( void ); +PUBLIC void *graw_parse_geometry_shader( struct pipe_context *pipe, + const char *text ); + PUBLIC void *graw_parse_vertex_shader( struct pipe_context *pipe, const char *text ); diff --git a/src/gallium/targets/graw-xlib/graw_util.c b/src/gallium/targets/graw-xlib/graw_util.c index 147532cdee1..47aca4464db 100644 --- a/src/gallium/targets/graw-xlib/graw_util.c +++ b/src/gallium/targets/graw-xlib/graw_util.c @@ -8,6 +8,19 @@ /* Helper functions. These are the same for all graw implementations. */ +void *graw_parse_geometry_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_gs_state(pipe, &state); +} + void *graw_parse_vertex_shader(struct pipe_context *pipe, const char *text) { -- cgit v1.2.3 From a45b7f47ee0e38b288cc8fc4f6a1c013e8c227bc Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Fri, 28 May 2010 13:14:07 -0400 Subject: gallium: basic and initial implementation of the stream output interface aka transform feedback --- src/gallium/auxiliary/draw/draw_context.c | 22 +++++++++ src/gallium/auxiliary/draw/draw_context.h | 8 ++++ src/gallium/auxiliary/draw/draw_private.h | 6 +++ src/gallium/auxiliary/draw/draw_pt_emit.c | 75 +++++++++++++++++++++++++++++++ src/gallium/drivers/softpipe/SConscript | 1 + src/gallium/drivers/softpipe/sp_context.c | 6 ++- src/gallium/drivers/softpipe/sp_context.h | 2 + src/gallium/drivers/softpipe/sp_state.h | 21 +++++++++ src/gallium/include/pipe/p_context.h | 12 +++++ src/gallium/include/pipe/p_defines.h | 2 + src/gallium/include/pipe/p_state.h | 7 +++ 11 files changed, 161 insertions(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 61980c3e4f5..7c7702549e0 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -574,3 +574,25 @@ draw_get_rasterizer_no_cull( struct draw_context *draw, } return draw->rasterizer_no_cull[scissor][flatshade]; } + +void +draw_set_mapped_so_buffers(struct draw_context *draw, + void *buffers[PIPE_MAX_SO_BUFFERS], + unsigned num_buffers) +{ + int i; + + for (i = 0; i < num_buffers; ++i) { + draw->so.buffers[i] = buffers[i]; + } + draw->so.num_buffers = num_buffers; +} + +void +draw_set_so_state(struct draw_context *draw, + struct pipe_stream_output_state *state) +{ + memcpy(&draw->so.state, + state, + sizeof(struct pipe_stream_output_state)); +} diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index b905c2f2da6..103d6538b81 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -162,6 +162,14 @@ draw_set_mapped_constant_buffer(struct draw_context *draw, const void *buffer, unsigned size); +void +draw_set_mapped_so_buffers(struct draw_context *draw, + void *buffers[PIPE_MAX_SO_BUFFERS], + unsigned num_buffers); +void +draw_set_so_state(struct draw_context *draw, + struct pipe_stream_output_state *state); + /*********************************************************************** * draw_prim.c diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index a2bfb693c09..ca8f9cfab1e 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -235,6 +235,12 @@ struct draw_context struct tgsi_sampler **samplers; } gs; + struct { + struct pipe_stream_output_state state; + void *buffers[PIPE_MAX_SO_BUFFERS]; + uint num_buffers; + } so; + /* Clip derived state: */ float plane[12][4]; diff --git a/src/gallium/auxiliary/draw/draw_pt_emit.c b/src/gallium/auxiliary/draw/draw_pt_emit.c index f623c0743da..3b4237245e6 100644 --- a/src/gallium/auxiliary/draw/draw_pt_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_emit.c @@ -33,11 +33,13 @@ #include "draw/draw_pt.h" #include "translate/translate.h" #include "translate/translate_cache.h" +#include "util/u_format.h" struct pt_emit { struct draw_context *draw; struct translate *translate; + struct translate *so_translate; struct translate_cache *cache; unsigned prim; @@ -45,6 +47,51 @@ struct pt_emit { const struct vertex_info *vinfo; }; +static void +prepare_so_emit( struct pt_emit *emit, + const struct vertex_info *vinfo ) +{ + struct draw_context *draw = emit->draw; + unsigned i; + struct translate_key hw_key; + unsigned dst_offset = 0; + unsigned output_stride = 0; + boolean has_so = (draw->so.state.num_outputs > 0); + + if (has_so) { + + for (i = 0; i < draw->so.state.num_outputs; ++i) { + unsigned src_offset = (vinfo->attrib[i].src_index * 4 * sizeof(float) ); + unsigned output_format = draw->so.state.format[i]; + unsigned output_bytes = util_format_get_blocksize(output_format); + + hw_key.element[i].type = TRANSLATE_ELEMENT_NORMAL; + hw_key.element[i].input_format = PIPE_FORMAT_R32G32B32A32_FLOAT; + hw_key.element[i].input_buffer = 0; + hw_key.element[i].input_offset = src_offset; + hw_key.element[i].instance_divisor = 0; + hw_key.element[i].output_format = output_format; + hw_key.element[i].output_offset = dst_offset; + + dst_offset += output_bytes; + output_stride += output_bytes; + } + hw_key.nr_elements = draw->so.state.num_outputs; + hw_key.output_stride = output_stride; + + if (!emit->so_translate || + translate_key_compare(&emit->so_translate->key, &hw_key) != 0) + { + translate_key_sanitize(&hw_key); + emit->so_translate = translate_cache_find(emit->cache, &hw_key); + } + } else { + /* no stream output */ + emit->so_translate = NULL; + } +} + + void draw_pt_emit_prepare( struct pt_emit *emit, unsigned prim, unsigned *max_vertices ) @@ -121,6 +168,8 @@ void draw_pt_emit_prepare( struct pt_emit *emit, *max_vertices = (draw->render->max_vertex_buffer_bytes / (vinfo->size * 4)); + prepare_so_emit( emit, vinfo ); + /* even number */ *max_vertices = *max_vertices & ~1; } @@ -135,6 +184,7 @@ void draw_pt_emit( struct pt_emit *emit, { struct draw_context *draw = emit->draw; struct translate *translate = emit->translate; + struct translate *so_translate = emit->so_translate; struct vbuf_render *render = draw->render; void *hw_verts; @@ -186,6 +236,18 @@ void draw_pt_emit( struct pt_emit *emit, draw->instance_id, hw_verts ); + if (so_translate) { + void *so_buffer = draw->so.buffers[0]; + + /* XXX we only support single output buffer right now */ + debug_assert(draw->so.num_buffers >= 0); + + so_translate->set_buffer(translate, 0, vertex_data, + stride, ~0); + so_translate->run(translate, 0, vertex_count, + draw->instance_id, so_buffer); + } + render->unmap_vertices( render, 0, vertex_count - 1 ); @@ -205,6 +267,7 @@ void draw_pt_emit_linear(struct pt_emit *emit, { struct draw_context *draw = emit->draw; struct translate *translate = emit->translate; + struct translate *so_translate = emit->so_translate; struct vbuf_render *render = draw->render; void *hw_verts; @@ -246,6 +309,18 @@ void draw_pt_emit_linear(struct pt_emit *emit, draw->instance_id, hw_verts); + if (so_translate) { + void *so_buffer = draw->so.buffers[0]; + + /* XXX we only support single output buffer right now */ + debug_assert(draw->so.num_buffers >= 0); + + so_translate->set_buffer(translate, 0, + vertex_data, stride, count - 1); + so_translate->run(translate, 0, count, + draw->instance_id, so_buffer); + } + if (0) { unsigned i; for (i = 0; i < count; i++) { diff --git a/src/gallium/drivers/softpipe/SConscript b/src/gallium/drivers/softpipe/SConscript index b80c6dea93a..be5917a6886 100644 --- a/src/gallium/drivers/softpipe/SConscript +++ b/src/gallium/drivers/softpipe/SConscript @@ -27,6 +27,7 @@ softpipe = env.ConvenienceLibrary( 'sp_state_fs.c', 'sp_state_rasterizer.c', 'sp_state_sampler.c', + 'sp_state_so.c', 'sp_state_surface.c', 'sp_state_vertex.c', 'sp_surface.c', diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index 2f10b46e989..b1970140d50 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -251,6 +251,10 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.bind_vertex_elements_state = softpipe_bind_vertex_elements_state; softpipe->pipe.delete_vertex_elements_state = softpipe_delete_vertex_elements_state; + softpipe->pipe.create_stream_output_state = softpipe_create_stream_output_state; + softpipe->pipe.bind_stream_output_state = softpipe_bind_stream_output_state; + softpipe->pipe.delete_stream_output_state = softpipe_delete_stream_output_state; + softpipe->pipe.set_blend_color = softpipe_set_blend_color; softpipe->pipe.set_stencil_ref = softpipe_set_stencil_ref; softpipe->pipe.set_clip_state = softpipe_set_clip_state; @@ -264,7 +268,7 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.create_sampler_view = softpipe_create_sampler_view; softpipe->pipe.sampler_view_destroy = softpipe_sampler_view_destroy; softpipe->pipe.set_viewport_state = softpipe_set_viewport_state; - + softpipe->pipe.set_stream_output_buffers = softpipe_set_stream_output_buffers; softpipe->pipe.set_vertex_buffers = softpipe_set_vertex_buffers; softpipe->pipe.draw_arrays = softpipe_draw_arrays; diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index b3d3fe620fd..f8ffc5787d3 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -50,6 +50,7 @@ struct softpipe_tex_tile_cache; struct sp_fragment_shader; struct sp_vertex_shader; struct sp_velems_state; +struct sp_so_state; struct softpipe_context { @@ -65,6 +66,7 @@ struct softpipe_context { struct sp_vertex_shader *vs; struct sp_geometry_shader *gs; struct sp_velems_state *velems; + struct sp_so_state *so; /** Other rendering state */ struct pipe_blend_color blend_color; diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index 5b0faabeaef..dd958ebb53e 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -51,6 +51,8 @@ #define SP_NEW_VS 0x2000 #define SP_NEW_QUERY 0x4000 #define SP_NEW_GS 0x8000 +#define SP_NEW_SO 0x10000 +#define SP_NEW_SO_BUFFERS 0x20000 struct tgsi_sampler; @@ -105,6 +107,10 @@ struct sp_velems_state { struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS]; }; +struct sp_so_state { + struct pipe_stream_output_state base; +}; + void * softpipe_create_blend_state(struct pipe_context *, @@ -263,5 +269,20 @@ softpipe_get_vertex_info(struct softpipe_context *softpipe); struct vertex_info * softpipe_get_vbuf_vertex_info(struct softpipe_context *softpipe); +void * +softpipe_create_stream_output_state( + struct pipe_context *pipe, + const struct pipe_stream_output_state *templ); +void +softpipe_bind_stream_output_state(struct pipe_context *pipe, + void *so); +void +softpipe_delete_stream_output_state(struct pipe_context *pipe, void *so); + +void +softpipe_set_stream_output_buffers(struct pipe_context *pipe, + struct pipe_resource **buffers, + int *offsets, + int num_buffers); #endif diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 3e082bef2ff..0267ed8fa4a 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -186,6 +186,11 @@ struct pipe_context { void (*bind_vertex_elements_state)(struct pipe_context *, void *); void (*delete_vertex_elements_state)(struct pipe_context *, void *); + void * (*create_stream_output_state)(struct pipe_context *, + const struct pipe_stream_output_state *); + void (*bind_stream_output_state)(struct pipe_context *, void *); + void (*delete_stream_output_state)(struct pipe_context*, void*); + /*@}*/ /** @@ -232,6 +237,13 @@ struct pipe_context { unsigned num_buffers, const struct pipe_vertex_buffer * ); + void (*set_stream_output_buffers)(struct pipe_context *, + struct pipe_resource **buffers, + int *offsets, /*array of offsets + from the start of each + of the buffers */ + int num_buffers); + /*@}*/ diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index b00677425ce..be42c272221 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -288,6 +288,7 @@ enum pipe_transfer_usage { #define PIPE_BIND_DISPLAY_TARGET (1 << 8) /* flush_front_buffer */ #define PIPE_BIND_TRANSFER_WRITE (1 << 9) /* get_transfer */ #define PIPE_BIND_TRANSFER_READ (1 << 10) /* get_transfer */ +#define PIPE_BIND_STREAM_OUTPUT (1 << 11) /* set_stream_output_buffers */ #define PIPE_BIND_CUSTOM (1 << 16) /* state-tracker/winsys usages */ /* The first two flags above were previously part of the amorphous @@ -322,6 +323,7 @@ enum pipe_transfer_usage { #define PIPE_USAGE_STATIC 2 /* same as immutable?? */ #define PIPE_USAGE_IMMUTABLE 3 /* no change after first upload */ #define PIPE_USAGE_STREAM 4 /* upload, draw, upload, draw */ +#define PIPE_USAGE_STAGING 5 /* supports data transfers from the GPU to the CPU */ /* These are intended to be used in calls to is_format_supported, but diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 5255b2003f8..33ee066c0c9 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -63,6 +63,7 @@ extern "C" { #define PIPE_MAX_SHADER_INPUTS 16 #define PIPE_MAX_SHADER_OUTPUTS 16 #define PIPE_MAX_TEXTURE_LEVELS 16 +#define PIPE_MAX_SO_BUFFERS 4 struct pipe_reference @@ -345,6 +346,12 @@ struct pipe_resource unsigned flags; /**< bitmask of PIPE_RESOURCE_FLAG_x */ }; +struct pipe_stream_output_state +{ + /**< format for each output */ + enum pipe_format format[PIPE_MAX_SHADER_OUTPUTS]; + int num_outputs; +}; /** * Extra indexing info for (cube) texture resources. -- cgit v1.2.3 From c9db97c8229689060fab0edee7df717f804b99ce Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 31 May 2010 02:20:34 -0400 Subject: gallium: a lot more complete implementation of stream output interface wise we have everything needed by d3d10 and gl transform feedback. the draw module misses implementation of some corner cases (e.g. when stream output wants different number of components per output than normal rendering paths) --- src/gallium/auxiliary/Makefile | 1 + src/gallium/auxiliary/SConscript | 1 + src/gallium/auxiliary/draw/draw_pt.h | 16 ++ src/gallium/auxiliary/draw/draw_pt_emit.c | 74 -------- .../auxiliary/draw/draw_pt_fetch_shade_pipeline.c | 28 +++ .../draw/draw_pt_fetch_shade_pipeline_llvm.c | 27 +++ src/gallium/auxiliary/draw/draw_pt_so_emit.c | 191 +++++++++++++++++++++ src/gallium/drivers/softpipe/sp_state_so.c | 106 ++++++++++++ src/gallium/include/pipe/p_state.h | 12 +- 9 files changed, 381 insertions(+), 75 deletions(-) create mode 100644 src/gallium/auxiliary/draw/draw_pt_so_emit.c create mode 100644 src/gallium/drivers/softpipe/sp_state_so.c (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/Makefile b/src/gallium/auxiliary/Makefile index 3b202b5bc77..7c8db19f5c3 100644 --- a/src/gallium/auxiliary/Makefile +++ b/src/gallium/auxiliary/Makefile @@ -33,6 +33,7 @@ C_SOURCES = \ draw/draw_pt_fetch_shade_emit.c \ draw/draw_pt_fetch_shade_pipeline.c \ draw/draw_pt_post_vs.c \ + draw/draw_pt_so_emit.c \ draw/draw_pt_util.c \ draw/draw_pt_varray.c \ draw/draw_pt_vcache.c \ diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript index af4d5edcf86..6242ab0c59d 100644 --- a/src/gallium/auxiliary/SConscript +++ b/src/gallium/auxiliary/SConscript @@ -78,6 +78,7 @@ source = [ 'draw/draw_pt_fetch_shade_emit.c', 'draw/draw_pt_fetch_shade_pipeline.c', 'draw/draw_pt_post_vs.c', + 'draw/draw_pt_so_emit.c', 'draw/draw_pt_util.c', 'draw/draw_pt_varray.c', 'draw/draw_pt_vcache.c', diff --git a/src/gallium/auxiliary/draw/draw_pt.h b/src/gallium/auxiliary/draw/draw_pt.h index 3e3ea320cc0..b9032468da3 100644 --- a/src/gallium/auxiliary/draw/draw_pt.h +++ b/src/gallium/auxiliary/draw/draw_pt.h @@ -177,6 +177,22 @@ void draw_pt_emit_destroy( struct pt_emit *emit ); struct pt_emit *draw_pt_emit_create( struct draw_context *draw ); +/******************************************************************************* + * HW stream output emit: + */ +struct pt_so_emit; + +void draw_pt_so_emit_prepare( struct pt_so_emit *emit, + unsigned prim ); + +void draw_pt_so_emit( struct pt_so_emit *emit, + const float (*vertex_data)[4], + unsigned vertex_count, + unsigned stride ); + +void draw_pt_so_emit_destroy( struct pt_so_emit *emit ); + +struct pt_so_emit *draw_pt_so_emit_create( struct draw_context *draw ); /******************************************************************************* * API vertex fetch: diff --git a/src/gallium/auxiliary/draw/draw_pt_emit.c b/src/gallium/auxiliary/draw/draw_pt_emit.c index 3b4237245e6..57502768444 100644 --- a/src/gallium/auxiliary/draw/draw_pt_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_emit.c @@ -39,7 +39,6 @@ struct pt_emit { struct draw_context *draw; struct translate *translate; - struct translate *so_translate; struct translate_cache *cache; unsigned prim; @@ -47,51 +46,6 @@ struct pt_emit { const struct vertex_info *vinfo; }; -static void -prepare_so_emit( struct pt_emit *emit, - const struct vertex_info *vinfo ) -{ - struct draw_context *draw = emit->draw; - unsigned i; - struct translate_key hw_key; - unsigned dst_offset = 0; - unsigned output_stride = 0; - boolean has_so = (draw->so.state.num_outputs > 0); - - if (has_so) { - - for (i = 0; i < draw->so.state.num_outputs; ++i) { - unsigned src_offset = (vinfo->attrib[i].src_index * 4 * sizeof(float) ); - unsigned output_format = draw->so.state.format[i]; - unsigned output_bytes = util_format_get_blocksize(output_format); - - hw_key.element[i].type = TRANSLATE_ELEMENT_NORMAL; - hw_key.element[i].input_format = PIPE_FORMAT_R32G32B32A32_FLOAT; - hw_key.element[i].input_buffer = 0; - hw_key.element[i].input_offset = src_offset; - hw_key.element[i].instance_divisor = 0; - hw_key.element[i].output_format = output_format; - hw_key.element[i].output_offset = dst_offset; - - dst_offset += output_bytes; - output_stride += output_bytes; - } - hw_key.nr_elements = draw->so.state.num_outputs; - hw_key.output_stride = output_stride; - - if (!emit->so_translate || - translate_key_compare(&emit->so_translate->key, &hw_key) != 0) - { - translate_key_sanitize(&hw_key); - emit->so_translate = translate_cache_find(emit->cache, &hw_key); - } - } else { - /* no stream output */ - emit->so_translate = NULL; - } -} - - void draw_pt_emit_prepare( struct pt_emit *emit, unsigned prim, unsigned *max_vertices ) @@ -168,8 +122,6 @@ void draw_pt_emit_prepare( struct pt_emit *emit, *max_vertices = (draw->render->max_vertex_buffer_bytes / (vinfo->size * 4)); - prepare_so_emit( emit, vinfo ); - /* even number */ *max_vertices = *max_vertices & ~1; } @@ -184,7 +136,6 @@ void draw_pt_emit( struct pt_emit *emit, { struct draw_context *draw = emit->draw; struct translate *translate = emit->translate; - struct translate *so_translate = emit->so_translate; struct vbuf_render *render = draw->render; void *hw_verts; @@ -236,18 +187,6 @@ void draw_pt_emit( struct pt_emit *emit, draw->instance_id, hw_verts ); - if (so_translate) { - void *so_buffer = draw->so.buffers[0]; - - /* XXX we only support single output buffer right now */ - debug_assert(draw->so.num_buffers >= 0); - - so_translate->set_buffer(translate, 0, vertex_data, - stride, ~0); - so_translate->run(translate, 0, vertex_count, - draw->instance_id, so_buffer); - } - render->unmap_vertices( render, 0, vertex_count - 1 ); @@ -267,7 +206,6 @@ void draw_pt_emit_linear(struct pt_emit *emit, { struct draw_context *draw = emit->draw; struct translate *translate = emit->translate; - struct translate *so_translate = emit->so_translate; struct vbuf_render *render = draw->render; void *hw_verts; @@ -309,18 +247,6 @@ void draw_pt_emit_linear(struct pt_emit *emit, draw->instance_id, hw_verts); - if (so_translate) { - void *so_buffer = draw->so.buffers[0]; - - /* XXX we only support single output buffer right now */ - debug_assert(draw->so.num_buffers >= 0); - - so_translate->set_buffer(translate, 0, - vertex_data, stride, count - 1); - so_translate->run(translate, 0, count, - draw->instance_id, so_buffer); - } - if (0) { unsigned i; for (i = 0; i < count; i++) { diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c index da5106463a7..0d15ba26423 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c @@ -40,6 +40,7 @@ struct fetch_pipeline_middle_end { struct draw_context *draw; struct pt_emit *emit; + struct pt_so_emit *so_emit; struct pt_fetch *fetch; struct pt_post_vs *post_vs; @@ -100,6 +101,8 @@ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle, (boolean)draw->rasterizer->gl_rasterization_rules, (draw->vs.edgeflag_output ? true : false) ); + draw_pt_so_emit_prepare( fpme->so_emit, prim ); + if (!(opt & PT_PIPELINE)) { draw_pt_emit_prepare( fpme->emit, prim, @@ -174,6 +177,12 @@ static void fetch_pipeline_run( struct draw_pt_middle_end *middle, fpme->vertex_size); } + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + fetch_count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, fetch_count, @@ -258,6 +267,12 @@ static void fetch_pipeline_linear_run( struct draw_pt_middle_end *middle, fpme->vertex_size); } + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, count, @@ -336,6 +351,12 @@ static boolean fetch_pipeline_linear_run_elts( struct draw_pt_middle_end *middle fpme->vertex_size); } + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, count, @@ -385,6 +406,9 @@ static void fetch_pipeline_destroy( struct draw_pt_middle_end *middle ) if (fpme->emit) draw_pt_emit_destroy( fpme->emit ); + if (fpme->so_emit) + draw_pt_so_emit_destroy( fpme->so_emit ); + if (fpme->post_vs) draw_pt_post_vs_destroy( fpme->post_vs ); @@ -419,6 +443,10 @@ struct draw_pt_middle_end *draw_pt_fetch_pipeline_or_emit( struct draw_context * if (!fpme->emit) goto fail; + fpme->so_emit = draw_pt_so_emit_create( draw ); + if (!fpme->so_emit) + goto fail; + return &fpme->base; fail: diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c index d56889b5f65..584a1a53d46 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c @@ -40,6 +40,7 @@ struct llvm_middle_end { struct draw_context *draw; struct pt_emit *emit; + struct pt_so_emit *so_emit; struct pt_fetch *fetch; struct pt_post_vs *post_vs; @@ -104,6 +105,7 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle, (boolean)draw->rasterizer->gl_rasterization_rules, (draw->vs.edgeflag_output ? true : false) ); + draw_pt_so_emit_prepare( fpme->so_emit, prim ); if (!(opt & PT_PIPELINE)) { draw_pt_emit_prepare( fpme->emit, prim, @@ -175,6 +177,12 @@ static void llvm_middle_end_run( struct draw_pt_middle_end *middle, fpme->vertex_size, draw->pt.vertex_buffer ); + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + fetch_count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, fetch_count, @@ -239,6 +247,12 @@ static void llvm_middle_end_linear_run( struct draw_pt_middle_end *middle, fpme->vertex_size, draw->pt.vertex_buffer ); + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, count, @@ -294,6 +308,12 @@ llvm_middle_end_linear_run_elts( struct draw_pt_middle_end *middle, fpme->vertex_size, draw->pt.vertex_buffer ); + /* stream output needs to be done before clipping */ + draw_pt_so_emit( fpme->so_emit, + (const float (*)[4])pipeline_verts->data, + count, + fpme->vertex_size ); + if (draw_pt_post_vs_run( fpme->post_vs, pipeline_verts, count, @@ -367,6 +387,9 @@ static void llvm_middle_end_destroy( struct draw_pt_middle_end *middle ) if (fpme->emit) draw_pt_emit_destroy( fpme->emit ); + if (fpme->so_emit) + draw_pt_so_emit_destroy( fpme->so_emit ); + if (fpme->post_vs) draw_pt_post_vs_destroy( fpme->post_vs ); @@ -409,6 +432,10 @@ struct draw_pt_middle_end *draw_pt_fetch_pipeline_or_emit_llvm( struct draw_cont if (!fpme->emit) goto fail; + fpme->so_emit = draw_pt_so_emit_create( draw ); + if (!fpme->so_emit) + goto fail; + fpme->llvm = draw_llvm_create(draw); if (!fpme->llvm) goto fail; diff --git a/src/gallium/auxiliary/draw/draw_pt_so_emit.c b/src/gallium/auxiliary/draw/draw_pt_so_emit.c new file mode 100644 index 00000000000..b982e4c529c --- /dev/null +++ b/src/gallium/auxiliary/draw/draw_pt_so_emit.c @@ -0,0 +1,191 @@ +/************************************************************************** + * + * Copyright 2010 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "util/u_memory.h" +#include "draw/draw_context.h" +#include "draw/draw_private.h" +#include "draw/draw_vbuf.h" +#include "draw/draw_vertex.h" +#include "draw/draw_pt.h" +#include "translate/translate.h" +#include "translate/translate_cache.h" +#include "util/u_format.h" + +struct pt_so_emit { + struct draw_context *draw; + + struct translate *translate; + + struct translate_cache *cache; + unsigned prim; + + const struct vertex_info *vinfo; + boolean has_so; +}; + +static void +prepare_so_emit( struct pt_so_emit *emit, + const struct vertex_info *vinfo ) +{ + struct draw_context *draw = emit->draw; + unsigned i; + struct translate_key hw_key; + unsigned dst_offset = 0; + unsigned output_stride = 0; + + if (emit->has_so) { + for (i = 0; i < draw->so.state.num_outputs; ++i) { + unsigned src_offset = (draw->so.state.register_index[i] * 4 * + sizeof(float) ); + unsigned output_format; + unsigned emit_sz = 0; + /*unsigned output_bytes = util_format_get_blocksize(output_format); + unsigned nr_compo = util_format_get_nr_components(output_format);*/ + + output_format = draw_translate_vinfo_format(vinfo->attrib[i].emit); + emit_sz = draw_translate_vinfo_size(vinfo->attrib[i].emit); + + /* doesn't handle EMIT_OMIT */ + assert(emit_sz != 0); + + hw_key.element[i].type = TRANSLATE_ELEMENT_NORMAL; + hw_key.element[i].input_format = PIPE_FORMAT_R32G32B32A32_FLOAT; + hw_key.element[i].input_buffer = 0; + hw_key.element[i].input_offset = src_offset; + hw_key.element[i].instance_divisor = 0; + hw_key.element[i].output_format = output_format; + hw_key.element[i].output_offset = dst_offset; + + dst_offset += emit_sz; + output_stride += emit_sz; + } + hw_key.nr_elements = draw->so.state.num_outputs; + hw_key.output_stride = output_stride; + + if (!emit->translate || + translate_key_compare(&emit->translate->key, &hw_key) != 0) + { + translate_key_sanitize(&hw_key); + emit->translate = translate_cache_find(emit->cache, &hw_key); + } + } else { + /* no stream output */ + emit->translate = NULL; + } +} + + +void draw_pt_so_emit_prepare( struct pt_so_emit *emit, + unsigned prim ) +{ + struct draw_context *draw = emit->draw; + boolean ok; + + emit->has_so = (draw->so.state.num_outputs > 0); + + if (!emit->has_so) + return; + + /* XXX: need to flush to get prim_vbuf.c to release its allocation?? + */ + draw_do_flush( draw, DRAW_FLUSH_BACKEND ); + + emit->prim = prim; + + ok = draw->render->set_primitive(draw->render, emit->prim); + if (!ok) { + assert(0); + return; + } + + /* Must do this after set_primitive() above: */ + emit->vinfo = draw->render->get_vertex_info(draw->render); + + prepare_so_emit( emit, emit->vinfo ); +} + + +void draw_pt_so_emit( struct pt_so_emit *emit, + const float (*vertex_data)[4], + unsigned vertex_count, + unsigned stride ) +{ + struct draw_context *draw = emit->draw; + struct translate *translate = emit->translate; + struct vbuf_render *render = draw->render; + void *so_buffer; + + if (!emit->has_so) + return; + + so_buffer = draw->so.buffers[0]; + + /* XXX: need to flush to get prim_vbuf.c to release its allocation??*/ + draw_do_flush( draw, DRAW_FLUSH_BACKEND ); + + if (vertex_count == 0) + return; + + if (vertex_count >= UNDEFINED_VERTEX_ID) { + assert(0); + return; + } + + + /* XXX we only support single output buffer right now */ + debug_assert(draw->so.num_buffers >= 0); + + translate->set_buffer(translate, 0, vertex_data, + stride, ~0); + translate->run(translate, 0, vertex_count, + draw->instance_id, so_buffer); +} + + +struct pt_so_emit *draw_pt_so_emit_create( struct draw_context *draw ) +{ + struct pt_so_emit *emit = CALLOC_STRUCT(pt_so_emit); + if (!emit) + return NULL; + + emit->draw = draw; + emit->cache = translate_cache_create(); + if (!emit->cache) { + FREE(emit); + return NULL; + } + + return emit; +} + +void draw_pt_so_emit_destroy( struct pt_so_emit *emit ) +{ + if (emit->cache) + translate_cache_destroy(emit->cache); + + FREE(emit); +} diff --git a/src/gallium/drivers/softpipe/sp_state_so.c b/src/gallium/drivers/softpipe/sp_state_so.c new file mode 100644 index 00000000000..49bde22e979 --- /dev/null +++ b/src/gallium/drivers/softpipe/sp_state_so.c @@ -0,0 +1,106 @@ +/************************************************************************** + * + * Copyright 2010 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + +#include "sp_context.h" +#include "sp_state.h" +#include "sp_texture.h" + +#include "util/u_format.h" +#include "util/u_memory.h" +#include "draw/draw_context.h" + + +void * +softpipe_create_stream_output_state(struct pipe_context *pipe, + const struct pipe_stream_output_state *templ) +{ + struct sp_so_state *so; + so = (struct sp_so_state *) CALLOC_STRUCT(sp_so_state); + + if (so) { + so->base.num_outputs = templ->num_outputs; + so->base.stride = templ->stride; + memcpy(so->base.output_buffer, + templ->output_buffer, + sizeof(int) * templ->num_outputs); + memcpy(so->base.register_index, + templ->register_index, + sizeof(int) * templ->num_outputs); + memcpy(so->base.register_mask, + templ->register_mask, + sizeof(ubyte) * templ->num_outputs); + } + return so; +} + +void +softpipe_bind_stream_output_state(struct pipe_context *pipe, + void *so) +{ + struct softpipe_context *softpipe = softpipe_context(pipe); + struct sp_so_state *sp_so = (struct sp_so_state *) so; + + softpipe->so = sp_so; + + softpipe->dirty |= SP_NEW_SO; + + if (sp_so) + draw_set_so_state(softpipe->draw, &sp_so->base); +} + +void +softpipe_delete_stream_output_state(struct pipe_context *pipe, void *so) +{ + FREE( so ); +} + +void +softpipe_set_stream_output_buffers(struct pipe_context *pipe, + struct pipe_resource **buffers, + int *offsets, + int num_buffers) +{ + struct softpipe_context *softpipe = softpipe_context(pipe); + int i; + void *map_buffers[PIPE_MAX_SO_BUFFERS]; + + assert(num_buffers <= PIPE_MAX_SO_BUFFERS); + + softpipe->dirty |= SP_NEW_SO_BUFFERS; + + for (i = 0; i < num_buffers; ++i) { + void *mapped = softpipe_resource(buffers[i])->data; + if (offsets[i] >= 0) + map_buffers[i] = ((char*)mapped) + offsets[i]; + else { + /* this is a buffer append */ + assert(!"appending not implemented"); + map_buffers[i] = mapped; + } + } + draw_set_mapped_so_buffers(softpipe->draw, map_buffers, num_buffers); +} diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 33ee066c0c9..771bff524bd 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -348,9 +348,19 @@ struct pipe_resource struct pipe_stream_output_state { + /**< number of the output buffer to insert each element into */ + int output_buffer[PIPE_MAX_SHADER_OUTPUTS]; + /**< which register to grab each output from */ + int register_index[PIPE_MAX_SHADER_OUTPUTS]; /**< format for each output */ - enum pipe_format format[PIPE_MAX_SHADER_OUTPUTS]; + /**< TGSI_WRITEMASK signifying which components to output */ + ubyte register_mask[PIPE_MAX_SHADER_OUTPUTS]; + /**< number of outputs */ int num_outputs; + + /**< stride for an entire vertex, only used if all output_buffers + * are 0 */ + unsigned stride; }; /** -- cgit v1.2.3 From ba5975dd3274a3cc760e79dabaf9c11b96673f4a Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 31 May 2010 20:41:18 -0400 Subject: gallium: add interface for DrawAuto and implement it in softpipe --- src/gallium/drivers/softpipe/sp_context.c | 1 + src/gallium/drivers/softpipe/sp_context.h | 6 ++++ src/gallium/drivers/softpipe/sp_draw_arrays.c | 51 +++++++++++++++++++++++++++ src/gallium/drivers/softpipe/sp_state.h | 2 ++ src/gallium/drivers/softpipe/sp_state_so.c | 11 +++++- src/gallium/include/pipe/p_context.h | 5 +++ 6 files changed, 75 insertions(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index b1970140d50..38bc0d51f34 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -276,6 +276,7 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.draw_range_elements = softpipe_draw_range_elements; softpipe->pipe.draw_arrays_instanced = softpipe_draw_arrays_instanced; softpipe->pipe.draw_elements_instanced = softpipe_draw_elements_instanced; + softpipe->pipe.draw_auto = softpipe_draw_auto; softpipe->pipe.clear = softpipe_clear; softpipe->pipe.flush = softpipe_flush; diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index f8ffc5787d3..79165fba32c 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -80,6 +80,12 @@ struct softpipe_context { struct pipe_sampler_view *vertex_sampler_views[PIPE_MAX_VERTEX_SAMPLERS]; struct pipe_viewport_state viewport; struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS]; + struct { + struct softpipe_resource *buffer[PIPE_MAX_SO_BUFFERS]; + int offset[PIPE_MAX_SO_BUFFERS]; + int so_count[PIPE_MAX_SO_BUFFERS]; + int num_buffers; + } so_target; unsigned num_samplers; unsigned num_sampler_views; diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c index b30036e2303..8fa7f9fbdec 100644 --- a/src/gallium/drivers/softpipe/sp_draw_arrays.c +++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c @@ -84,6 +84,57 @@ softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, 1); } +void +softpipe_draw_auto(struct pipe_context *pipe, unsigned mode) +{ + struct softpipe_context *sp = softpipe_context(pipe); + struct draw_context *draw = sp->draw; + const unsigned start = 0; + const unsigned count = sp->so_target.so_count[0]; + void *buf = sp->so_target.buffer[0]->data; + int offset = sp->so_target.offset[0]; + + if (!softpipe_check_render_cond(sp) || + sp->so_target.num_buffers != 1) + return; + + sp->reduced_api_prim = u_reduced_prim(mode); + + if (sp->dirty) { + softpipe_update_derived(sp); + } + + softpipe_map_transfers(sp); + + /* Map so buffers */ + if (offset < 0) /* we were appending so start from beginning */ + offset = 0; + buf = (void*)((int32_t*)buf + offset); + draw_set_mapped_vertex_buffer(draw, 0, buf); + + draw_set_mapped_element_buffer_range(draw, + 0, 0, + start, + start + count - 1, + NULL); + + /* draw! */ + draw_arrays_instanced(draw, mode, start, count, 0, 1); + + /* unmap vertex/index buffers - will cause draw module to flush */ + draw_set_mapped_vertex_buffer(draw, 0, NULL); + + /* + * TODO: Flush only when a user vertex/index buffer is present + * (or even better, modify draw module to do this + * internally when this condition is seen?) + */ + draw_flush(draw); + + /* Note: leave drawing surfaces mapped */ + sp->dirty_render_cache = TRUE; +} + void softpipe_draw_range_elements(struct pipe_context *pipe, diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index dd958ebb53e..4ffa2b9f598 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -250,6 +250,8 @@ softpipe_draw_elements_instanced(struct pipe_context *pipe, unsigned startInstance, unsigned instanceCount); +void softpipe_draw_auto(struct pipe_context *pipe, unsigned mode); + void softpipe_map_transfers(struct softpipe_context *sp); diff --git a/src/gallium/drivers/softpipe/sp_state_so.c b/src/gallium/drivers/softpipe/sp_state_so.c index 49bde22e979..8bd20cd2aca 100644 --- a/src/gallium/drivers/softpipe/sp_state_so.c +++ b/src/gallium/drivers/softpipe/sp_state_so.c @@ -93,7 +93,14 @@ softpipe_set_stream_output_buffers(struct pipe_context *pipe, softpipe->dirty |= SP_NEW_SO_BUFFERS; for (i = 0; i < num_buffers; ++i) { - void *mapped = softpipe_resource(buffers[i])->data; + void *mapped; + struct softpipe_resource *res = softpipe_resource(buffers[i]); + + softpipe->so_target.buffer[i] = res; + softpipe->so_target.offset[i] = offsets[i]; + softpipe->so_target.so_count[i] = 0; + + mapped = res->data; if (offsets[i] >= 0) map_buffers[i] = ((char*)mapped) + offsets[i]; else { @@ -102,5 +109,7 @@ softpipe_set_stream_output_buffers(struct pipe_context *pipe, map_buffers[i] = mapped; } } + softpipe->so_target.num_buffers = num_buffers; + draw_set_mapped_so_buffers(softpipe->draw, map_buffers, num_buffers); } diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 0267ed8fa4a..3a792b0fe0f 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -101,6 +101,11 @@ struct pipe_context { unsigned mode, unsigned start, unsigned count); + + /** + * Draw the stream output buffer at index 0 + */ + void (*draw_auto)( struct pipe_context *pipe, unsigned mode ); /*@}*/ /** -- cgit v1.2.3 From 2c22b8e61dc4adab658c6198feea30c006aa6c58 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 1 Jun 2010 12:47:23 -0400 Subject: gallium: make draw auto work and add relevant caps and docs --- src/gallium/auxiliary/draw/draw_pt_so_emit.c | 2 ++ src/gallium/auxiliary/draw/draw_vbuf.h | 8 ++++++++ src/gallium/docs/d3d11ddi.txt | 9 +++------ src/gallium/docs/source/context.rst | 17 +++++++++++++++++ src/gallium/drivers/softpipe/sp_prim_vbuf.c | 10 ++++++++++ src/gallium/drivers/softpipe/sp_screen.c | 2 ++ src/gallium/include/pipe/p_defines.h | 1 + 7 files changed, 43 insertions(+), 6 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_pt_so_emit.c b/src/gallium/auxiliary/draw/draw_pt_so_emit.c index b982e4c529c..8a065a378be 100644 --- a/src/gallium/auxiliary/draw/draw_pt_so_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_so_emit.c @@ -163,6 +163,8 @@ void draw_pt_so_emit( struct pt_so_emit *emit, stride, ~0); translate->run(translate, 0, vertex_count, draw->instance_id, so_buffer); + + render->set_stream_output_info(render, 0, vertex_count); } diff --git a/src/gallium/auxiliary/draw/draw_vbuf.h b/src/gallium/auxiliary/draw/draw_vbuf.h index 83ae26a9c2b..8d9768246ed 100644 --- a/src/gallium/auxiliary/draw/draw_vbuf.h +++ b/src/gallium/auxiliary/draw/draw_vbuf.h @@ -117,6 +117,14 @@ struct vbuf_render { void (*release_vertices)( struct vbuf_render * ); void (*destroy)( struct vbuf_render * ); + + + /** + * Called after writing data to the stream out buffers + */ + void (*set_stream_output_info)( struct vbuf_render *vbufr, + unsigned buffer_index, + unsigned vertices_count ); }; diff --git a/src/gallium/docs/d3d11ddi.txt b/src/gallium/docs/d3d11ddi.txt index e3368fdbd69..0954c2926df 100644 --- a/src/gallium/docs/d3d11ddi.txt +++ b/src/gallium/docs/d3d11ddi.txt @@ -177,7 +177,7 @@ CreateElementLayout -> create_vertex_elements_state ! D3D11 has an extra flag (InputSlotClass) that is the same as instance_divisor == 0 CreateGeometryShader -> create_gs_state -CreateGeometryShaderWithStreamOutput -> create_gs_state +CreateGeometryShaderWithStreamOutput -> create_gs_state + create_stream_output_state CreatePixelShader -> create_fs_state CreateVertexShader -> create_vs_state > bytecode is different (see D3d10tokenizedprogramformat.hpp) @@ -220,7 +220,6 @@ CreateResource -> texture_create or buffer_create # Note that hardware often has the implicit rule, so the D3D11 interface seems to make little sense # Also, the D3D11 API does not allow the user to specify mipmap sizes, so this really seems a dubious decision on Microsoft's part - D3D11 supports specifying initial data to write in the resource - - Gallium lacks support for stream output buffer usage - Gallium does not support unordered access buffers ! D3D11 specifies mapping flags (i.e. read/write/discard);:it's unclear what they are used for here - D3D11 supports odd things in the D3D10_DDI_RESOURCE_MISC_FLAG enum (D3D10_DDI_RESOURCE_MISC_DISCARD_ON_PRESENT, D3D11_DDI_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS, D3D11_DDI_RESOURCE_MISC_BUFFER_STRUCTURED) @@ -275,8 +274,7 @@ DispatchIndirect (D3D11 only) Draw -> draw_arrays ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better -DrawAuto - - Gallium lacks stream out and DrawAuto +DrawAuto -> draw_auto DrawIndexed -> draw_elements ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better @@ -468,8 +466,7 @@ SetViewports ShaderResourceViewReadAfterWriteHazard -> flush(PIPE_FLUSH_RENDER_CACHE) - Gallium does not support specifying this per-render-target/view -SoSetTargets - - Gallium does not support stream out +SoSetTargets -> set_stream_output_buffers VsSetConstantBuffers -> for(i = StartBuffer; i < NumBuffers; ++i) set_constant_buffer(PIPE_SHADER_VERTEX, i, phBuffers[i]) * may want to split into fragment/vertex-specific versions diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 27d352b7a39..0242dedbf3b 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -295,6 +295,23 @@ for a driver to batch multiple blits with the same source and destination. +Stream Output +^^^^^^^^^^^^^ + +Stream output, also known as transform feedback allows writing the results of the +vertex pipeline (after the geometry shader or vertex shader if no geometry shader +is present) to be written to a buffer created with a ``PIPE_BIND_STREAM_OUTPUT`` +flag. + +First a stream output state needs to be created with the +``create_stream_output_state`` call. It specific the details of what's being written, +to which buffer and with what kind of a writemask. + +Then target buffers needs to be set with the call to ``set_stream_output_buffers`` +which sets the buffers and the offsets from the start of those buffer to where +the data will be written to. + + Transfers ^^^^^^^^^ diff --git a/src/gallium/drivers/softpipe/sp_prim_vbuf.c b/src/gallium/drivers/softpipe/sp_prim_vbuf.c index db0d1755103..06691e83953 100644 --- a/src/gallium/drivers/softpipe/sp_prim_vbuf.c +++ b/src/gallium/drivers/softpipe/sp_prim_vbuf.c @@ -542,6 +542,15 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr) } } +static void +sp_vbuf_so_info(struct vbuf_render *vbr, uint buffer, uint vertices) +{ + struct softpipe_vbuf_render *cvbr = softpipe_vbuf_render(vbr); + struct softpipe_context *softpipe = cvbr->softpipe; + + softpipe->so_target.so_count[buffer] += vertices; +} + static void sp_vbuf_destroy(struct vbuf_render *vbr) @@ -575,6 +584,7 @@ sp_create_vbuf_backend(struct softpipe_context *sp) cvbr->base.draw_elements = sp_vbuf_draw_elements; cvbr->base.draw_arrays = sp_vbuf_draw_arrays; cvbr->base.release_vertices = sp_vbuf_release_vertices; + cvbr->base.set_stream_output_info = sp_vbuf_so_info; cvbr->base.destroy = sp_vbuf_destroy; cvbr->softpipe = sp; diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 8abe7f50e17..fc57d3eb611 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -115,6 +115,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 1; + case PIPE_CAP_STREAM_OUTPUT: + return 1; case PIPE_CAP_MAX_VS_INSTRUCTIONS: case PIPE_CAP_MAX_FS_INSTRUCTIONS: diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index be42c272221..f47db407dc1 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -447,6 +447,7 @@ enum pipe_cap { PIPE_CAP_TGSI_CONT_SUPPORTED, PIPE_CAP_BLEND_EQUATION_SEPARATE, PIPE_CAP_SM3, /*< Shader Model, supported */ + PIPE_CAP_STREAM_OUTPUT, PIPE_CAP_MAX_PREDICATE_REGISTERS, /** Maximum texture image units accessible from vertex and fragment shaders * combined */ -- cgit v1.2.3 From 3a7fc2e4f3de23ab384ca679444971693a35a4c7 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 2 Jun 2010 12:57:58 -0400 Subject: gallium: rename draw_auto to draw_stream_output, plus fix a comment Brian spotted those --- src/gallium/drivers/softpipe/sp_context.c | 2 +- src/gallium/drivers/softpipe/sp_draw_arrays.c | 2 +- src/gallium/drivers/softpipe/sp_state.h | 2 +- src/gallium/include/pipe/p_context.h | 2 +- src/gallium/include/pipe/p_state.h | 1 - 5 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index 38bc0d51f34..401a28ad312 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -276,7 +276,7 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.draw_range_elements = softpipe_draw_range_elements; softpipe->pipe.draw_arrays_instanced = softpipe_draw_arrays_instanced; softpipe->pipe.draw_elements_instanced = softpipe_draw_elements_instanced; - softpipe->pipe.draw_auto = softpipe_draw_auto; + softpipe->pipe.draw_stream_output = softpipe_draw_stream_output; softpipe->pipe.clear = softpipe_clear; softpipe->pipe.flush = softpipe_flush; diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c index 8fa7f9fbdec..79daa68f3b3 100644 --- a/src/gallium/drivers/softpipe/sp_draw_arrays.c +++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c @@ -85,7 +85,7 @@ softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, } void -softpipe_draw_auto(struct pipe_context *pipe, unsigned mode) +softpipe_draw_stream_output(struct pipe_context *pipe, unsigned mode) { struct softpipe_context *sp = softpipe_context(pipe); struct draw_context *draw = sp->draw; diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index 4ffa2b9f598..d0b73cc850c 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -250,7 +250,7 @@ softpipe_draw_elements_instanced(struct pipe_context *pipe, unsigned startInstance, unsigned instanceCount); -void softpipe_draw_auto(struct pipe_context *pipe, unsigned mode); +void softpipe_draw_stream_output(struct pipe_context *pipe, unsigned mode); void softpipe_map_transfers(struct softpipe_context *sp); diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 3a792b0fe0f..74180888f69 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -105,7 +105,7 @@ struct pipe_context { /** * Draw the stream output buffer at index 0 */ - void (*draw_auto)( struct pipe_context *pipe, unsigned mode ); + void (*draw_stream_output)( struct pipe_context *pipe, unsigned mode ); /*@}*/ /** diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 771bff524bd..5ed1cca67a5 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -352,7 +352,6 @@ struct pipe_stream_output_state int output_buffer[PIPE_MAX_SHADER_OUTPUTS]; /**< which register to grab each output from */ int register_index[PIPE_MAX_SHADER_OUTPUTS]; - /**< format for each output */ /**< TGSI_WRITEMASK signifying which components to output */ ubyte register_mask[PIPE_MAX_SHADER_OUTPUTS]; /**< number of outputs */ -- cgit v1.2.3 From 34f7681669987bc804f4603463f2fa3f82bc844f Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Thu, 3 Jun 2010 16:12:08 -0400 Subject: gallium: adjust the query interface to support custom types we need to change it to support composite types --- src/gallium/drivers/i965/brw_pipe_query.c | 3 ++- src/gallium/drivers/identity/id_context.c | 2 +- src/gallium/drivers/llvmpipe/lp_query.c | 3 ++- src/gallium/drivers/nv50/nv50_query.c | 3 ++- src/gallium/drivers/nvfx/nvfx_query.c | 3 ++- src/gallium/drivers/r300/r300_query.c | 3 ++- src/gallium/drivers/r600/r600_query.c | 2 +- src/gallium/drivers/rbug/rbug_context.c | 2 +- src/gallium/drivers/softpipe/sp_query.c | 3 ++- src/gallium/drivers/svga/svga_pipe_query.c | 5 +++-- src/gallium/drivers/trace/tr_context.c | 4 ++-- src/gallium/include/pipe/p_context.h | 4 ++-- 12 files changed, 22 insertions(+), 15 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/i965/brw_pipe_query.c b/src/gallium/drivers/i965/brw_pipe_query.c index 2eb862635cc..0745254c3cc 100644 --- a/src/gallium/drivers/i965/brw_pipe_query.c +++ b/src/gallium/drivers/i965/brw_pipe_query.c @@ -50,10 +50,11 @@ static boolean brw_query_get_result(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result) + void *vresult) { struct brw_context *brw = brw_context(pipe); struct brw_query_object *query = (struct brw_query_object *)q; + uint64_t *result = (uint64_t*)vresult; /* Map and count the pixels from the current query BO */ if (query->bo) { diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c index 898e0b3af83..67be895b385 100644 --- a/src/gallium/drivers/identity/id_context.c +++ b/src/gallium/drivers/identity/id_context.c @@ -158,7 +158,7 @@ static boolean identity_get_query_result(struct pipe_context *_pipe, struct pipe_query *query, boolean wait, - uint64_t *result) + void *result) { struct identity_context *id_pipe = identity_context(_pipe); struct pipe_context *pipe = id_pipe->pipe; diff --git a/src/gallium/drivers/llvmpipe/lp_query.c b/src/gallium/drivers/llvmpipe/lp_query.c index c4864422860..c902c046845 100644 --- a/src/gallium/drivers/llvmpipe/lp_query.c +++ b/src/gallium/drivers/llvmpipe/lp_query.c @@ -76,10 +76,11 @@ static boolean llvmpipe_get_query_result(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result ) + void *vresult) { struct llvmpipe_context *llvmpipe = llvmpipe_context( pipe ); struct llvmpipe_query *pq = llvmpipe_query(q); + uint64_t *result = (uint64_t *)vresult; if (!pq->done) { lp_setup_flush(llvmpipe->setup, 0); diff --git a/src/gallium/drivers/nv50/nv50_query.c b/src/gallium/drivers/nv50/nv50_query.c index 57b16a355dc..53f94820ce0 100644 --- a/src/gallium/drivers/nv50/nv50_query.c +++ b/src/gallium/drivers/nv50/nv50_query.c @@ -106,8 +106,9 @@ nv50_query_end(struct pipe_context *pipe, struct pipe_query *pq) static boolean nv50_query_result(struct pipe_context *pipe, struct pipe_query *pq, - boolean wait, uint64_t *result) + boolean wait, void *vresult) { + uint64_t *result = (uint64_t*)vresult; struct nv50_query *q = nv50_query(pq); int ret; diff --git a/src/gallium/drivers/nvfx/nvfx_query.c b/src/gallium/drivers/nvfx/nvfx_query.c index 1b20b5245d7..1dab20c41a0 100644 --- a/src/gallium/drivers/nvfx/nvfx_query.c +++ b/src/gallium/drivers/nvfx/nvfx_query.c @@ -96,8 +96,9 @@ nvfx_query_end(struct pipe_context *pipe, struct pipe_query *pq) static boolean nvfx_query_result(struct pipe_context *pipe, struct pipe_query *pq, - boolean wait, uint64_t *result) + boolean wait, void *vresult) { + uint64_t *result = (uint64_t *)vresult; struct nvfx_context *nvfx = nvfx_context(pipe); struct nvfx_query *q = nvfx_query(pq); diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 97081c4a00f..7c088063683 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -114,7 +114,7 @@ static void r300_end_query(struct pipe_context* pipe, static boolean r300_get_query_result(struct pipe_context* pipe, struct pipe_query* query, boolean wait, - uint64_t* result) + void* vresult) { struct r300_context* r300 = r300_context(pipe); struct r300_screen* r300screen = r300->screen; @@ -124,6 +124,7 @@ static boolean r300_get_query_result(struct pipe_context* pipe, uint32_t* map; uint32_t temp = 0; unsigned i, num_results; + uint64_t *result = (uint64_t*)vresult; if (q->flushed == FALSE) pipe->flush(pipe, 0, NULL); diff --git a/src/gallium/drivers/r600/r600_query.c b/src/gallium/drivers/r600/r600_query.c index 24746e78771..9b02ae680e7 100644 --- a/src/gallium/drivers/r600/r600_query.c +++ b/src/gallium/drivers/r600/r600_query.c @@ -50,7 +50,7 @@ static void r600_end_query(struct pipe_context *pipe, struct pipe_query *query) static boolean r600_get_query_result(struct pipe_context *pipe, struct pipe_query *query, - boolean wait, uint64_t *result) + boolean wait, void *result) { return TRUE; } diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index 164d811ab48..00b167e256c 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -241,7 +241,7 @@ static boolean rbug_get_query_result(struct pipe_context *_pipe, struct pipe_query *query, boolean wait, - uint64_t *result) + void *result) { struct rbug_context *rb_pipe = rbug_context(_pipe); struct pipe_context *pipe = rb_pipe->pipe; diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c index b959af63aff..ae52c22b3ee 100644 --- a/src/gallium/drivers/softpipe/sp_query.c +++ b/src/gallium/drivers/softpipe/sp_query.c @@ -118,9 +118,10 @@ static boolean softpipe_get_query_result(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result ) + void *vresult) { struct softpipe_query *sq = softpipe_query(q); + uint64_t *result = (uint64_t*)vresult; *result = sq->end - sq->start; return TRUE; } diff --git a/src/gallium/drivers/svga/svga_pipe_query.c b/src/gallium/drivers/svga/svga_pipe_query.c index 96fb4b8e536..579f8034c7c 100644 --- a/src/gallium/drivers/svga/svga_pipe_query.c +++ b/src/gallium/drivers/svga/svga_pipe_query.c @@ -63,7 +63,7 @@ svga_query( struct pipe_query *q ) static boolean svga_get_query_result(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result); + void *result); static struct pipe_query *svga_create_query( struct pipe_context *pipe, unsigned query_type ) @@ -207,13 +207,14 @@ static void svga_end_query(struct pipe_context *pipe, static boolean svga_get_query_result(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result) + void *vresult) { struct svga_context *svga = svga_context( pipe ); struct svga_screen *svgascreen = svga_screen( pipe->screen ); struct svga_winsys_screen *sws = svgascreen->sws; struct svga_query *sq = svga_query( q ); SVGA3dQueryState state; + uint64_t *result = (uint64_t*)vresult; SVGA_DBG(DEBUG_QUERY, "%s wait: %d\n", __FUNCTION__); diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 9ca916fe7b4..55dd6cf8837 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -248,7 +248,7 @@ static INLINE boolean trace_context_get_query_result(struct pipe_context *_pipe, struct pipe_query *query, boolean wait, - uint64_t *presult) + void *presult) { struct trace_context *tr_ctx = trace_context(_pipe); struct pipe_context *pipe = tr_ctx->pipe; @@ -260,7 +260,7 @@ trace_context_get_query_result(struct pipe_context *_pipe, trace_dump_arg(ptr, pipe); _result = pipe->get_query_result(pipe, query, wait, presult); - result = *presult; + result = *((uint64_t*)presult); trace_dump_arg(uint, result); trace_dump_ret(bool, _result); diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 74180888f69..72afad60ba9 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -135,10 +135,10 @@ struct pipe_context { * \param wait if true, this query will block until the result is ready * \return TRUE if results are ready, FALSE otherwise */ - boolean (*get_query_result)(struct pipe_context *pipe, + boolean (*get_query_result)(struct pipe_context *pipe, struct pipe_query *q, boolean wait, - uint64_t *result); + void *result); /*@}*/ /** -- cgit v1.2.3 From be7d8ddf0c0a293ee94db360a44561beb10e62f9 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 7 Jun 2010 12:14:56 -0400 Subject: gallium: add basic support for stream output queries --- src/gallium/drivers/softpipe/sp_context.h | 1 + src/gallium/drivers/softpipe/sp_prim_vbuf.c | 5 +++++ src/gallium/drivers/softpipe/sp_query.c | 24 ++++++++++++++++++++++-- src/gallium/include/pipe/p_defines.h | 11 ++++++++++- 4 files changed, 38 insertions(+), 3 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index 79165fba32c..e641a81d1fb 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -86,6 +86,7 @@ struct softpipe_context { int so_count[PIPE_MAX_SO_BUFFERS]; int num_buffers; } so_target; + struct pipe_query_data_so_statistics so_stats; unsigned num_samplers; unsigned num_sampler_views; diff --git a/src/gallium/drivers/softpipe/sp_prim_vbuf.c b/src/gallium/drivers/softpipe/sp_prim_vbuf.c index 06691e83953..ddfe56f73a4 100644 --- a/src/gallium/drivers/softpipe/sp_prim_vbuf.c +++ b/src/gallium/drivers/softpipe/sp_prim_vbuf.c @@ -549,6 +549,11 @@ sp_vbuf_so_info(struct vbuf_render *vbr, uint buffer, uint vertices) struct softpipe_context *softpipe = cvbr->softpipe; softpipe->so_target.so_count[buffer] += vertices; + + softpipe->so_stats.num_primitives_written = + vertices / u_vertices_per_prim(cvbr->prim); + softpipe->so_stats.primitives_storage_needed = + vertices * 4 /*sizeof(float|int32)*/ * 4 /*x,y,z,w*/; } diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c index ae52c22b3ee..43ff5c56afe 100644 --- a/src/gallium/drivers/softpipe/sp_query.c +++ b/src/gallium/drivers/softpipe/sp_query.c @@ -41,6 +41,7 @@ struct softpipe_query { unsigned type; uint64_t start; uint64_t end; + struct pipe_query_data_so_statistics so; }; @@ -55,7 +56,9 @@ softpipe_create_query(struct pipe_context *pipe, { struct softpipe_query* sq; - assert(type == PIPE_QUERY_OCCLUSION_COUNTER || type == PIPE_QUERY_TIME_ELAPSED); + assert(type == PIPE_QUERY_OCCLUSION_COUNTER || + type == PIPE_QUERY_TIME_ELAPSED || + type == PIPE_QUERY_SO_STATISTICS); sq = CALLOC_STRUCT( softpipe_query ); sq->type = type; @@ -83,6 +86,9 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q) case PIPE_QUERY_TIME_ELAPSED: sq->start = 1000*os_time_get(); break; + case PIPE_QUERY_SO_STATISTICS: + sq->so.num_primitives_written = 0; + sq->so.primitives_storage_needed = 0; default: assert(0); break; @@ -106,6 +112,11 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q) case PIPE_QUERY_TIME_ELAPSED: sq->end = 1000*os_time_get(); break; + case PIPE_QUERY_SO_STATISTICS: + sq->so.num_primitives_written = + softpipe->so_stats.num_primitives_written; + sq->so.primitives_storage_needed = + softpipe->so_stats.primitives_storage_needed; default: assert(0); break; @@ -122,7 +133,16 @@ softpipe_get_query_result(struct pipe_context *pipe, { struct softpipe_query *sq = softpipe_query(q); uint64_t *result = (uint64_t*)vresult; - *result = sq->end - sq->start; + + switch (sq->type) { + case PIPE_QUERY_SO_STATISTICS: + memcpy(vresult, &sq->so, + sizeof(struct pipe_query_data_so_statistics)); + break; + default: + *result = sq->end - sq->start; + break; + } return TRUE; } diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index f47db407dc1..85551cac25a 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -381,7 +381,8 @@ enum pipe_transfer_usage { #define PIPE_QUERY_PRIMITIVES_GENERATED 1 #define PIPE_QUERY_PRIMITIVES_EMITTED 2 #define PIPE_QUERY_TIME_ELAPSED 3 -#define PIPE_QUERY_TYPES 4 +#define PIPE_QUERY_SO_STATISTICS 5 +#define PIPE_QUERY_TYPES 6 /** @@ -498,6 +499,14 @@ enum pipe_cap { #define PIPE_REFERENCED_FOR_READ (1 << 0) #define PIPE_REFERENCED_FOR_WRITE (1 << 1) +/** + * Composite query types + */ +struct pipe_query_data_so_statistics +{ + uint64_t num_primitives_written; + uint64_t primitives_storage_needed; +}; #ifdef __cplusplus } -- cgit v1.2.3 From d4ef0f6c67aefe06d8dd647acf8d9005df39a709 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 9 Jun 2010 11:13:34 -0400 Subject: geometry shaders: make gs work with changable primitives and variable number of vertices lots and lots of fixes for geometry shaders. in particular now we work when the gs emits a different primitive than the one the pipeline was started with and also we work when gs emits more vertices than would fit in the original buffer. --- src/gallium/auxiliary/draw/draw_gs.c | 25 +++--- src/gallium/auxiliary/draw/draw_gs.h | 22 ++++-- src/gallium/auxiliary/draw/draw_pt.c | 19 +++-- src/gallium/auxiliary/draw/draw_pt.h | 6 +- src/gallium/auxiliary/draw/draw_pt_fetch_emit.c | 3 +- .../auxiliary/draw/draw_pt_fetch_shade_emit.c | 11 ++- .../auxiliary/draw/draw_pt_fetch_shade_pipeline.c | 91 +++++++++++++--------- .../draw/draw_pt_fetch_shade_pipeline_llvm.c | 19 +++-- src/gallium/auxiliary/draw/draw_pt_post_vs.c | 2 +- src/gallium/auxiliary/draw/draw_pt_varray.c | 10 ++- src/gallium/auxiliary/draw/draw_pt_vcache.c | 36 +++++---- src/gallium/auxiliary/tgsi/tgsi_ureg.c | 2 +- src/gallium/include/pipe/p_shader_tokens.h | 2 +- src/gallium/tests/graw/geometry-shader/line.txt | 3 +- 14 files changed, 152 insertions(+), 99 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c index 131deed43e4..4034bd40bbe 100644 --- a/src/gallium/auxiliary/draw/draw_gs.c +++ b/src/gallium/auxiliary/draw/draw_gs.c @@ -112,7 +112,7 @@ draw_create_geometry_shader(struct draw_context *draw, TGSI_PROPERTY_GS_OUTPUT_PRIM) gs->output_primitive = gs->info.properties[i].data[0]; else if (gs->info.properties[i].name == - TGSI_PROPERTY_GS_MAX_VERTICES) + TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES) gs->max_output_vertices = gs->info.properties[i].data[0]; } @@ -247,7 +247,7 @@ static void draw_fetch_geometry_input(struct draw_geometry_shader *shader, } } } - +/*#define DEBUG_OUTPUTS 1*/ static INLINE void draw_geometry_fetch_outputs(struct draw_geometry_shader *shader, int num_primitives, @@ -263,8 +263,11 @@ draw_geometry_fetch_outputs(struct draw_geometry_shader *shader, * the first one unsigned prim_count = mach->Temps[TEMP_PRIMITIVE_I].xyzw[TEMP_PRIMITIVE_C].u[0];*/ + + shader->emitted_primitives += num_primitives; for (prim_idx = 0; prim_idx < num_primitives; ++prim_idx) { unsigned num_verts_per_prim = machine->Primitives[0]; + shader->emitted_vertices += num_verts_per_prim; for (j = 0; j < num_verts_per_prim; j++) { int idx = (prim_idx * num_verts_per_prim + j) * shader->info.num_outputs; @@ -290,13 +293,13 @@ draw_geometry_fetch_outputs(struct draw_geometry_shader *shader, } } -void draw_geometry_shader_run(struct draw_geometry_shader *shader, - const float (*input)[4], - float (*output)[4], - const void *constants[PIPE_MAX_CONSTANT_BUFFERS], - unsigned count, - unsigned input_stride, - unsigned vertex_size) +int draw_geometry_shader_run(struct draw_geometry_shader *shader, + const float (*input)[4], + float (*output)[4], + const void *constants[PIPE_MAX_CONSTANT_BUFFERS], + unsigned count, + unsigned input_stride, + unsigned vertex_size) { struct tgsi_exec_machine *machine = shader->machine; unsigned int i; @@ -304,6 +307,9 @@ void draw_geometry_shader_run(struct draw_geometry_shader *shader, unsigned num_primitives = count/num_vertices; unsigned inputs_from_vs = 0; + shader->emitted_vertices = 0; + shader->emitted_primitives = 0; + for (i = 0; i < PIPE_MAX_CONSTANT_BUFFERS; i++) { machine->Consts[i] = constants[i]; } @@ -331,6 +337,7 @@ void draw_geometry_shader_run(struct draw_geometry_shader *shader, draw_geometry_fetch_outputs(shader, max_primitives, output, vertex_size); } + return shader->emitted_vertices; } void draw_geometry_shader_delete(struct draw_geometry_shader *shader) diff --git a/src/gallium/auxiliary/draw/draw_gs.h b/src/gallium/auxiliary/draw/draw_gs.h index d8eb2103433..6a9800c43f4 100644 --- a/src/gallium/auxiliary/draw/draw_gs.h +++ b/src/gallium/auxiliary/draw/draw_gs.h @@ -54,18 +54,26 @@ struct draw_geometry_shader { unsigned input_primitive; unsigned output_primitive; + unsigned emitted_vertices; + unsigned emitted_primitives; + /* Extracted from shader: */ const float (*immediates)[4]; }; -void draw_geometry_shader_run(struct draw_geometry_shader *shader, - const float (*input)[4], - float (*output)[4], - const void *constants[PIPE_MAX_CONSTANT_BUFFERS], - unsigned count, - unsigned input_stride, - unsigned output_stride); +/* + * Returns the number of vertices emitted. + * The vertex shader can emit any number of vertices as long as it's + * smaller than the GS_MAX_OUTPUT_VERTICES shader property. + */ +int draw_geometry_shader_run(struct draw_geometry_shader *shader, + const float (*input)[4], + float (*output)[4], + const void *constants[PIPE_MAX_CONSTANT_BUFFERS], + unsigned count, + unsigned input_stride, + unsigned output_stride); void draw_geometry_shader_prepare(struct draw_geometry_shader *shader, struct draw_context *draw); diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c index c7eb1567837..02c97fec817 100644 --- a/src/gallium/auxiliary/draw/draw_pt.c +++ b/src/gallium/auxiliary/draw/draw_pt.c @@ -31,6 +31,7 @@ */ #include "draw/draw_context.h" +#include "draw/draw_gs.h" #include "draw/draw_private.h" #include "draw/draw_pt.h" #include "tgsi/tgsi_dump.h" @@ -68,35 +69,39 @@ draw_pt_arrays(struct draw_context *draw, struct draw_pt_front_end *frontend = NULL; struct draw_pt_middle_end *middle = NULL; unsigned opt = 0; + unsigned out_prim = prim; /* Sanitize primitive length: */ { unsigned first, incr; draw_pt_split_prim(prim, &first, &incr); - count = trim(count, first, incr); + count = trim(count, first, incr); if (count < first) return TRUE; } + if (draw->gs.geometry_shader) { + out_prim = draw->gs.geometry_shader->output_primitive; + } if (!draw->force_passthrough) { if (!draw->render) { opt |= PT_PIPELINE; } - + if (draw_need_pipeline(draw, draw->rasterizer, - prim)) { + out_prim)) { opt |= PT_PIPELINE; } if (!draw->bypass_clipping && !draw->pt.test_fse) { opt |= PT_CLIPTEST; } - + opt |= PT_SHADE; } - + if (draw->pt.middle.llvm && !draw->gs.geometry_shader) { middle = draw->pt.middle.llvm; } else { @@ -117,9 +122,9 @@ draw_pt_arrays(struct draw_context *draw, frontend = draw->pt.front.varray; } - frontend->prepare( frontend, prim, middle, opt ); + frontend->prepare( frontend, prim, out_prim, middle, opt ); - frontend->run(frontend, + frontend->run(frontend, draw_pt_elt_func(draw), draw_pt_elt_ptr(draw, start), draw->pt.user.eltBias, diff --git a/src/gallium/auxiliary/draw/draw_pt.h b/src/gallium/auxiliary/draw/draw_pt.h index b9032468da3..67ae70fdaf7 100644 --- a/src/gallium/auxiliary/draw/draw_pt.h +++ b/src/gallium/auxiliary/draw/draw_pt.h @@ -60,7 +60,8 @@ struct draw_context; */ struct draw_pt_front_end { void (*prepare)( struct draw_pt_front_end *, - unsigned prim, + unsigned input_prim, + unsigned output_prim, struct draw_pt_middle_end *, unsigned opt ); @@ -84,7 +85,8 @@ struct draw_pt_front_end { */ struct draw_pt_middle_end { void (*prepare)( struct draw_pt_middle_end *, - unsigned prim, + unsigned input_prim, + unsigned output_prim, unsigned opt, unsigned *max_vertices ); diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c b/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c index 5158c6341c0..c629d555636 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_emit.c @@ -90,6 +90,7 @@ struct fetch_emit_middle_end { static void fetch_emit_prepare( struct draw_pt_middle_end *middle, unsigned prim, + unsigned out_prim, unsigned opt, unsigned *max_vertices ) { @@ -102,7 +103,7 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle, ok = draw->render->set_primitive( draw->render, - prim ); + out_prim ); if (!ok) { assert(0); return; diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c index f0fc591bf55..5483a25f1dc 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c @@ -67,9 +67,9 @@ struct fetch_shade_emit { - static void fse_prepare( struct draw_pt_middle_end *middle, - unsigned prim, + unsigned in_prim, + unsigned out_prim, unsigned opt, unsigned *max_vertices ) { @@ -79,10 +79,10 @@ static void fse_prepare( struct draw_pt_middle_end *middle, const struct vertex_info *vinfo; unsigned i; unsigned nr_vbs = 0; - - if (!draw->render->set_primitive( draw->render, - prim )) { + + if (!draw->render->set_primitive( draw->render, + out_prim )) { assert(0); return; } @@ -90,7 +90,6 @@ static void fse_prepare( struct draw_pt_middle_end *middle, /* Must do this after set_primitive() above: */ fse->vinfo = vinfo = draw->render->get_vertex_info(draw->render); - fse->key.output_stride = vinfo->size * 4; diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c index 0d15ba26423..afc146c6023 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c @@ -46,13 +46,15 @@ struct fetch_pipeline_middle_end { unsigned vertex_data_offset; unsigned vertex_size; - unsigned prim; + unsigned input_prim; + unsigned output_prim; unsigned opt; }; static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle, - unsigned prim, + unsigned in_prim, + unsigned out_prim, unsigned opt, unsigned *max_vertices ) { @@ -77,7 +79,8 @@ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle, } } - fpme->prim = prim; + fpme->input_prim = in_prim; + fpme->output_prim = out_prim; fpme->opt = opt; /* Always leave room for the vertex header whether we need it or @@ -99,13 +102,13 @@ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle, (boolean)draw->bypass_clipping, (boolean)draw->identity_viewport, (boolean)draw->rasterizer->gl_rasterization_rules, - (draw->vs.edgeflag_output ? true : false) ); + (draw->vs.edgeflag_output ? true : false) ); - draw_pt_so_emit_prepare( fpme->so_emit, prim ); + draw_pt_so_emit_prepare( fpme->so_emit, out_prim ); if (!(opt & PT_PIPELINE)) { - draw_pt_emit_prepare( fpme->emit, - prim, + draw_pt_emit_prepare( fpme->emit, + out_prim, max_vertices ); *max_vertices = MAX2( *max_vertices, @@ -136,9 +139,15 @@ static void fetch_pipeline_run( struct draw_pt_middle_end *middle, struct draw_vertex_shader *vshader = draw->vs.vertex_shader; struct draw_geometry_shader *gshader = draw->gs.geometry_shader; unsigned opt = fpme->opt; + struct vertex_header *pipeline_verts; unsigned alloc_count = align( fetch_count, 4 ); - struct vertex_header *pipeline_verts = + if (draw->gs.geometry_shader && + draw->gs.geometry_shader->max_output_vertices > fetch_count) { + alloc_count = align(draw->gs.geometry_shader->max_output_vertices, 4); + } + + pipeline_verts = (struct vertex_header *)MALLOC(fpme->vertex_size * alloc_count); if (!pipeline_verts) { @@ -168,13 +177,14 @@ static void fetch_pipeline_run( struct draw_pt_middle_end *middle, fpme->vertex_size, fpme->vertex_size); if (gshader) - draw_geometry_shader_run(gshader, - (const float (*)[4])pipeline_verts->data, - ( float (*)[4])pipeline_verts->data, - draw->pt.user.gs_constants, - fetch_count, - fpme->vertex_size, - fpme->vertex_size); + fetch_count = + draw_geometry_shader_run(gshader, + (const float (*)[4])pipeline_verts->data, + ( float (*)[4])pipeline_verts->data, + draw->pt.user.gs_constants, + fetch_count, + fpme->vertex_size, + fpme->vertex_size); } /* stream output needs to be done before clipping */ @@ -195,7 +205,7 @@ static void fetch_pipeline_run( struct draw_pt_middle_end *middle, */ if (opt & PT_PIPELINE) { draw_pipeline_run( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, fetch_count, fpme->vertex_size, @@ -225,9 +235,14 @@ static void fetch_pipeline_linear_run( struct draw_pt_middle_end *middle, struct draw_vertex_shader *shader = draw->vs.vertex_shader; struct draw_geometry_shader *geometry_shader = draw->gs.geometry_shader; unsigned opt = fpme->opt; + struct vertex_header *pipeline_verts; unsigned alloc_count = align( count, 4 ); - struct vertex_header *pipeline_verts = + if (geometry_shader && geometry_shader->max_output_vertices > count) { + alloc_count = align(geometry_shader->max_output_vertices, 4); + } + + pipeline_verts = (struct vertex_header *)MALLOC(fpme->vertex_size * alloc_count); if (!pipeline_verts) { @@ -258,13 +273,13 @@ static void fetch_pipeline_linear_run( struct draw_pt_middle_end *middle, fpme->vertex_size); if (geometry_shader) - draw_geometry_shader_run(geometry_shader, - (const float (*)[4])pipeline_verts->data, - ( float (*)[4])pipeline_verts->data, - draw->pt.user.gs_constants, - count, - fpme->vertex_size, - fpme->vertex_size); + count = draw_geometry_shader_run(geometry_shader, + (const float (*)[4])pipeline_verts->data, + ( float (*)[4])pipeline_verts->data, + draw->pt.user.gs_constants, + count, + fpme->vertex_size, + fpme->vertex_size); } /* stream output needs to be done before clipping */ @@ -285,7 +300,7 @@ static void fetch_pipeline_linear_run( struct draw_pt_middle_end *middle, */ if (opt & PT_PIPELINE) { draw_pipeline_run_linear( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, count, fpme->vertex_size); @@ -313,12 +328,18 @@ static boolean fetch_pipeline_linear_run_elts( struct draw_pt_middle_end *middle struct draw_vertex_shader *shader = draw->vs.vertex_shader; struct draw_geometry_shader *geometry_shader = draw->gs.geometry_shader; unsigned opt = fpme->opt; + struct vertex_header *pipeline_verts; unsigned alloc_count = align( count, 4 ); - struct vertex_header *pipeline_verts = + if (draw->gs.geometry_shader && + draw->gs.geometry_shader->max_output_vertices > count) { + alloc_count = align(draw->gs.geometry_shader->max_output_vertices, 4); + } + + pipeline_verts = (struct vertex_header *)MALLOC(fpme->vertex_size * alloc_count); - if (!pipeline_verts) + if (!pipeline_verts) return FALSE; /* Fetch into our vertex buffer @@ -342,13 +363,13 @@ static boolean fetch_pipeline_linear_run_elts( struct draw_pt_middle_end *middle fpme->vertex_size); if (geometry_shader) - draw_geometry_shader_run(geometry_shader, - (const float (*)[4])pipeline_verts->data, - ( float (*)[4])pipeline_verts->data, - draw->pt.user.gs_constants, - count, - fpme->vertex_size, - fpme->vertex_size); + count = draw_geometry_shader_run(geometry_shader, + (const float (*)[4])pipeline_verts->data, + ( float (*)[4])pipeline_verts->data, + draw->pt.user.gs_constants, + count, + fpme->vertex_size, + fpme->vertex_size); } /* stream output needs to be done before clipping */ @@ -369,7 +390,7 @@ static boolean fetch_pipeline_linear_run_elts( struct draw_pt_middle_end *middle */ if (opt & PT_PIPELINE) { draw_pipeline_run( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, count, fpme->vertex_size, diff --git a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c index 584a1a53d46..5f6d23874f8 100644 --- a/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c +++ b/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c @@ -47,7 +47,8 @@ struct llvm_middle_end { unsigned vertex_data_offset; unsigned vertex_size; - unsigned prim; + unsigned input_prim; + unsigned output_prim; unsigned opt; struct draw_llvm *llvm; @@ -59,7 +60,8 @@ struct llvm_middle_end { static void llvm_middle_end_prepare( struct draw_pt_middle_end *middle, - unsigned prim, + unsigned in_prim, + unsigned out_prim, unsigned opt, unsigned *max_vertices ) { @@ -86,7 +88,8 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle, } } - fpme->prim = prim; + fpme->input_prim = in_prim; + fpme->output_prim = out_prim; fpme->opt = opt; /* Always leave room for the vertex header whether we need it or @@ -105,10 +108,10 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle, (boolean)draw->rasterizer->gl_rasterization_rules, (draw->vs.edgeflag_output ? true : false) ); - draw_pt_so_emit_prepare( fpme->so_emit, prim ); + draw_pt_so_emit_prepare( fpme->so_emit, out_prim ); if (!(opt & PT_PIPELINE)) { draw_pt_emit_prepare( fpme->emit, - prim, + out_prim, max_vertices ); *max_vertices = MAX2( *max_vertices, @@ -195,7 +198,7 @@ static void llvm_middle_end_run( struct draw_pt_middle_end *middle, */ if (opt & PT_PIPELINE) { draw_pipeline_run( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, fetch_count, fpme->vertex_size, @@ -265,7 +268,7 @@ static void llvm_middle_end_linear_run( struct draw_pt_middle_end *middle, */ if (opt & PT_PIPELINE) { draw_pipeline_run_linear( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, count, fpme->vertex_size); @@ -326,7 +329,7 @@ llvm_middle_end_linear_run_elts( struct draw_pt_middle_end *middle, */ if (opt & PT_PIPELINE) { draw_pipeline_run( fpme->draw, - fpme->prim, + fpme->output_prim, pipeline_verts, count, fpme->vertex_size, diff --git a/src/gallium/auxiliary/draw/draw_pt_post_vs.c b/src/gallium/auxiliary/draw/draw_pt_post_vs.c index 5525dfc748d..fd33a548b48 100644 --- a/src/gallium/auxiliary/draw/draw_pt_post_vs.c +++ b/src/gallium/auxiliary/draw/draw_pt_post_vs.c @@ -103,7 +103,7 @@ static boolean post_vs_cliptest_viewport_gl( struct pt_post_vs *pvs, unsigned clipped = 0; unsigned j; - if (0) debug_printf("%s\n", __FUNCTION__); + if (0) debug_printf("%s count, %d\n", __FUNCTION__, count); for (j = 0; j < count; j++) { float *position = out->data[pos]; diff --git a/src/gallium/auxiliary/draw/draw_pt_varray.c b/src/gallium/auxiliary/draw/draw_pt_varray.c index d0e16c9bc3c..5ea833032f3 100644 --- a/src/gallium/auxiliary/draw/draw_pt_varray.c +++ b/src/gallium/auxiliary/draw/draw_pt_varray.c @@ -136,7 +136,8 @@ static unsigned decompose_prim[PIPE_PRIM_POLYGON + 1] = { static void varray_prepare(struct draw_pt_front_end *frontend, - unsigned prim, + unsigned in_prim, + unsigned out_prim, struct draw_pt_middle_end *middle, unsigned opt) { @@ -144,11 +145,12 @@ static void varray_prepare(struct draw_pt_front_end *frontend, varray->base.run = varray_run; - varray->input_prim = prim; - varray->output_prim = decompose_prim[prim]; + varray->input_prim = in_prim; + varray->output_prim = decompose_prim[out_prim]; varray->middle = middle; - middle->prepare(middle, varray->output_prim, opt, &varray->driver_fetch_max ); + middle->prepare(middle, varray->input_prim, + varray->output_prim, opt, &varray->driver_fetch_max ); /* check that the max is even */ assert((varray->driver_fetch_max & 1) == 0); diff --git a/src/gallium/auxiliary/draw/draw_pt_vcache.c b/src/gallium/auxiliary/draw/draw_pt_vcache.c index 6a48e61e624..914c87a9dc4 100644 --- a/src/gallium/auxiliary/draw/draw_pt_vcache.c +++ b/src/gallium/auxiliary/draw/draw_pt_vcache.c @@ -54,7 +54,7 @@ struct vcache_frontend { unsigned draw_count; unsigned fetch_count; unsigned fetch_max; - + struct draw_pt_middle_end *middle; unsigned input_prim; @@ -64,14 +64,15 @@ struct vcache_frontend { unsigned opt; }; -static INLINE void +static INLINE void vcache_flush( struct vcache_frontend *vcache ) { if (vcache->middle_prim != vcache->output_prim) { vcache->middle_prim = vcache->output_prim; - vcache->middle->prepare( vcache->middle, - vcache->middle_prim, - vcache->opt, + vcache->middle->prepare( vcache->middle, + vcache->input_prim, + vcache->middle_prim, + vcache->opt, &vcache->fetch_max ); } @@ -356,19 +357,20 @@ vcache_check_run( struct draw_pt_front_end *frontend, if (0) debug_printf("fetch_count %d fetch_max %d draw_count %d\n", fetch_count, vcache->fetch_max, draw_count); - + if (elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES || fetch_count >= UNDEFINED_VERTEX_ID || fetch_count > draw_count) { if (0) debug_printf("fail\n"); goto fail; } - + if (vcache->middle_prim != vcache->input_prim) { vcache->middle_prim = vcache->input_prim; - vcache->middle->prepare( vcache->middle, - vcache->middle_prim, - vcache->opt, + vcache->middle->prepare( vcache->middle, + vcache->input_prim, + vcache->middle_prim, + vcache->opt, &vcache->fetch_max ); } @@ -467,9 +469,10 @@ vcache_check_run( struct draw_pt_front_end *frontend, -static void +static void vcache_prepare( struct draw_pt_front_end *frontend, - unsigned prim, + unsigned in_prim, + unsigned out_prim, struct draw_pt_middle_end *middle, unsigned opt ) { @@ -479,13 +482,13 @@ vcache_prepare( struct draw_pt_front_end *frontend, { vcache->base.run = vcache_run_extras; } - else + else { vcache->base.run = vcache_check_run; } - vcache->input_prim = prim; - vcache->output_prim = u_reduced_prim(prim); + vcache->input_prim = in_prim; + vcache->output_prim = u_reduced_prim(out_prim); vcache->middle = middle; vcache->opt = opt; @@ -494,7 +497,8 @@ vcache_prepare( struct draw_pt_front_end *frontend, * doing so: */ vcache->middle_prim = (opt & PT_PIPELINE) ? vcache->output_prim : vcache->input_prim; - middle->prepare( middle, vcache->middle_prim, opt, &vcache->fetch_max ); + middle->prepare( middle, vcache->input_prim, + vcache->middle_prim, opt, &vcache->fetch_max ); } diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c index 5fda808dbef..7d357e154b3 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c @@ -1236,7 +1236,7 @@ static void emit_decls( struct ureg_program *ureg ) assert(ureg->processor == TGSI_PROCESSOR_GEOMETRY); emit_property(ureg, - TGSI_PROPERTY_GS_MAX_VERTICES, + TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES, ureg->property_gs_max_vertices); } diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 0a70237f260..c46c7e3d14e 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -173,7 +173,7 @@ union tgsi_immediate_data #define TGSI_PROPERTY_GS_INPUT_PRIM 0 #define TGSI_PROPERTY_GS_OUTPUT_PRIM 1 -#define TGSI_PROPERTY_GS_MAX_VERTICES 2 +#define TGSI_PROPERTY_GS_MAX_OUTPUT_VERTICES 2 #define TGSI_PROPERTY_FS_COORD_ORIGIN 3 #define TGSI_PROPERTY_FS_COORD_PIXEL_CENTER 4 #define TGSI_PROPERTY_COUNT 5 diff --git a/src/gallium/tests/graw/geometry-shader/line.txt b/src/gallium/tests/graw/geometry-shader/line.txt index 93d544447b8..8be3f7fd985 100644 --- a/src/gallium/tests/graw/geometry-shader/line.txt +++ b/src/gallium/tests/graw/geometry-shader/line.txt @@ -1,6 +1,7 @@ GEOM PROPERTY GS_INPUT_PRIMITIVE TRIANGLES -PROPERTY GS_OUTPUT_PRIMITIVE LINES +PROPERTY GS_OUTPUT_PRIMITIVE LINE_STRIP +PROPERTY GS_MAX_OUTPUT_VERTICES 4 DCL IN[][0], POSITION, CONSTANT DCL IN[][1], COLOR, CONSTANT DCL OUT[0], POSITION, CONSTANT -- cgit v1.2.3 From 53bd9796a1395e4acde884ff55cb7ee18586595a Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Fri, 11 Jun 2010 13:31:52 -0400 Subject: gallium/softpipe/draw: support samplers in geometry shaders --- src/gallium/auxiliary/draw/draw_context.c | 13 +++-- src/gallium/auxiliary/draw/draw_context.h | 1 + src/gallium/drivers/softpipe/sp_context.c | 24 +++++++- src/gallium/drivers/softpipe/sp_context.h | 6 ++ src/gallium/drivers/softpipe/sp_flush.c | 3 + src/gallium/drivers/softpipe/sp_state.h | 10 ++++ src/gallium/drivers/softpipe/sp_state_derived.c | 13 +++++ src/gallium/drivers/softpipe/sp_state_fs.c | 3 + src/gallium/drivers/softpipe/sp_state_sampler.c | 77 +++++++++++++++++++++++++ src/gallium/include/pipe/p_context.h | 7 +++ src/gallium/include/pipe/p_state.h | 1 + 11 files changed, 153 insertions(+), 5 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 7c7702549e0..dab95e50515 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -435,13 +435,18 @@ draw_num_shader_outputs(const struct draw_context *draw) */ void draw_texture_samplers(struct draw_context *draw, + uint shader, uint num_samplers, struct tgsi_sampler **samplers) { - draw->vs.num_samplers = num_samplers; - draw->vs.samplers = samplers; - draw->gs.num_samplers = num_samplers; - draw->gs.samplers = samplers; + if (shader == PIPE_SHADER_VERTEX) { + draw->vs.num_samplers = num_samplers; + draw->vs.samplers = samplers; + } else { + debug_assert(shader == PIPE_SHADER_GEOMETRY); + draw->gs.num_samplers = num_samplers; + draw->gs.samplers = samplers; + } } diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index 103d6538b81..c0122f2aca5 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -97,6 +97,7 @@ draw_num_shader_outputs(const struct draw_context *draw); void draw_texture_samplers(struct draw_context *draw, + uint shader_type, uint num_samplers, struct tgsi_sampler **samplers); diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index 401a28ad312..12ef98aac75 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -114,6 +114,11 @@ softpipe_destroy( struct pipe_context *pipe ) pipe_sampler_view_reference(&softpipe->vertex_sampler_views[i], NULL); } + for (i = 0; i < PIPE_MAX_GEOMETRY_SAMPLERS; i++) { + sp_destroy_tex_tile_cache(softpipe->geometry_tex_cache[i]); + pipe_sampler_view_reference(&softpipe->geometry_sampler_views[i], NULL); + } + for (i = 0; i < PIPE_SHADER_TYPES; i++) { uint j; @@ -174,7 +179,12 @@ softpipe_is_resource_referenced( struct pipe_context *pipe, softpipe->vertex_tex_cache[i]->texture == texture) return PIPE_REFERENCED_FOR_READ; } - + for (i = 0; i < PIPE_MAX_GEOMETRY_SAMPLERS; i++) { + if (softpipe->geometry_tex_cache[i] && + softpipe->geometry_tex_cache[i]->texture == texture) + return PIPE_REFERENCED_FOR_READ; + } + return PIPE_UNREFERENCED; } @@ -225,6 +235,7 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.create_sampler_state = softpipe_create_sampler_state; softpipe->pipe.bind_fragment_sampler_states = softpipe_bind_sampler_states; softpipe->pipe.bind_vertex_sampler_states = softpipe_bind_vertex_sampler_states; + softpipe->pipe.bind_geometry_sampler_states = softpipe_bind_geometry_sampler_states; softpipe->pipe.delete_sampler_state = softpipe_delete_sampler_state; softpipe->pipe.create_depth_stencil_alpha_state = softpipe_create_depth_stencil_state; @@ -265,6 +276,7 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.set_scissor_state = softpipe_set_scissor_state; softpipe->pipe.set_fragment_sampler_views = softpipe_set_sampler_views; softpipe->pipe.set_vertex_sampler_views = softpipe_set_vertex_sampler_views; + softpipe->pipe.set_geometry_sampler_views = softpipe_set_geometry_sampler_views; softpipe->pipe.create_sampler_view = softpipe_create_sampler_view; softpipe->pipe.sampler_view_destroy = softpipe_sampler_view_destroy; softpipe->pipe.set_viewport_state = softpipe_set_viewport_state; @@ -301,6 +313,9 @@ softpipe_create_context( struct pipe_screen *screen, for (i = 0; i < PIPE_MAX_VERTEX_SAMPLERS; i++) { softpipe->vertex_tex_cache[i] = sp_create_tex_tile_cache( &softpipe->pipe ); } + for (i = 0; i < PIPE_MAX_GEOMETRY_SAMPLERS; i++) { + softpipe->geometry_tex_cache[i] = sp_create_tex_tile_cache( &softpipe->pipe ); + } softpipe->fs_machine = tgsi_exec_machine_create(); @@ -319,10 +334,17 @@ softpipe_create_context( struct pipe_screen *screen, goto fail; draw_texture_samplers(softpipe->draw, + PIPE_SHADER_VERTEX, PIPE_MAX_VERTEX_SAMPLERS, (struct tgsi_sampler **) softpipe->tgsi.vert_samplers_list); + draw_texture_samplers(softpipe->draw, + PIPE_SHADER_GEOMETRY, + PIPE_MAX_GEOMETRY_SAMPLERS, + (struct tgsi_sampler **) + softpipe->tgsi.geom_samplers_list); + if (debug_get_bool_option( "SP_NO_RAST", FALSE )) softpipe->no_rast = TRUE; diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index e641a81d1fb..53115a827d0 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -60,6 +60,7 @@ struct softpipe_context { struct pipe_blend_state *blend; struct pipe_sampler_state *sampler[PIPE_MAX_SAMPLERS]; struct pipe_sampler_state *vertex_samplers[PIPE_MAX_VERTEX_SAMPLERS]; + struct pipe_sampler_state *geometry_samplers[PIPE_MAX_GEOMETRY_SAMPLERS]; struct pipe_depth_stencil_alpha_state *depth_stencil; struct pipe_rasterizer_state *rasterizer; struct sp_fragment_shader *fs; @@ -78,6 +79,7 @@ struct softpipe_context { struct pipe_scissor_state scissor; struct pipe_sampler_view *sampler_views[PIPE_MAX_SAMPLERS]; struct pipe_sampler_view *vertex_sampler_views[PIPE_MAX_VERTEX_SAMPLERS]; + struct pipe_sampler_view *geometry_sampler_views[PIPE_MAX_GEOMETRY_SAMPLERS]; struct pipe_viewport_state viewport; struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS]; struct { @@ -92,6 +94,8 @@ struct softpipe_context { unsigned num_sampler_views; unsigned num_vertex_samplers; unsigned num_vertex_sampler_views; + unsigned num_geometry_samplers; + unsigned num_geometry_sampler_views; unsigned num_vertex_buffers; unsigned dirty; /**< Mask of SP_NEW_x flags */ @@ -148,6 +152,7 @@ struct softpipe_context { /** TGSI exec things */ struct { + struct sp_sampler_varient *geom_samplers_list[PIPE_MAX_GEOMETRY_SAMPLERS]; struct sp_sampler_varient *vert_samplers_list[PIPE_MAX_VERTEX_SAMPLERS]; struct sp_sampler_varient *frag_samplers_list[PIPE_MAX_SAMPLERS]; } tgsi; @@ -169,6 +174,7 @@ struct softpipe_context { unsigned tex_timestamp; struct softpipe_tex_tile_cache *tex_cache[PIPE_MAX_SAMPLERS]; struct softpipe_tex_tile_cache *vertex_tex_cache[PIPE_MAX_VERTEX_SAMPLERS]; + struct softpipe_tex_tile_cache *geometry_tex_cache[PIPE_MAX_GEOMETRY_SAMPLERS]; unsigned use_sse : 1; unsigned dump_fs : 1; diff --git a/src/gallium/drivers/softpipe/sp_flush.c b/src/gallium/drivers/softpipe/sp_flush.c index 5024fc8a819..4a53ef048f3 100644 --- a/src/gallium/drivers/softpipe/sp_flush.c +++ b/src/gallium/drivers/softpipe/sp_flush.c @@ -56,6 +56,9 @@ softpipe_flush( struct pipe_context *pipe, for (i = 0; i < softpipe->num_vertex_sampler_views; i++) { sp_flush_tex_tile_cache(softpipe->vertex_tex_cache[i]); } + for (i = 0; i < softpipe->num_geometry_sampler_views; i++) { + sp_flush_tex_tile_cache(softpipe->geometry_tex_cache[i]); + } } if (flags & PIPE_FLUSH_SWAPBUFFERS) { diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index d0b73cc850c..7d6b86dce04 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -100,6 +100,7 @@ struct sp_vertex_shader { struct sp_geometry_shader { struct pipe_shader_state shader; struct draw_geometry_shader *draw_data; + int max_sampler; }; struct sp_velems_state { @@ -128,6 +129,10 @@ void softpipe_bind_vertex_sampler_states(struct pipe_context *, unsigned num_samplers, void **samplers); +void +softpipe_bind_geometry_sampler_states(struct pipe_context *, + unsigned num_samplers, + void **samplers); void softpipe_delete_sampler_state(struct pipe_context *, void *); void * @@ -195,6 +200,11 @@ softpipe_set_vertex_sampler_views(struct pipe_context *, unsigned num, struct pipe_sampler_view **); +void +softpipe_set_geometry_sampler_views(struct pipe_context *, + unsigned num, + struct pipe_sampler_view **); + struct pipe_sampler_view * softpipe_create_sampler_view(struct pipe_context *pipe, struct pipe_resource *texture, diff --git a/src/gallium/drivers/softpipe/sp_state_derived.c b/src/gallium/drivers/softpipe/sp_state_derived.c index 4c6d4909f5b..3ba4d934fd2 100644 --- a/src/gallium/drivers/softpipe/sp_state_derived.c +++ b/src/gallium/drivers/softpipe/sp_state_derived.c @@ -225,6 +225,19 @@ update_tgsi_samplers( struct softpipe_context *softpipe ) } } } + + for (i = 0; i < PIPE_MAX_GEOMETRY_SAMPLERS; i++) { + struct softpipe_tex_tile_cache *tc = softpipe->geometry_tex_cache[i]; + + if (tc->texture) { + struct softpipe_resource *spt = softpipe_resource(tc->texture); + + if (spt->timestamp != tc->timestamp) { + sp_tex_tile_cache_validate_texture(tc); + tc->timestamp = spt->timestamp; + } + } + } } diff --git a/src/gallium/drivers/softpipe/sp_state_fs.c b/src/gallium/drivers/softpipe/sp_state_fs.c index 2fff80c4385..3fbf1f25781 100644 --- a/src/gallium/drivers/softpipe/sp_state_fs.c +++ b/src/gallium/drivers/softpipe/sp_state_fs.c @@ -35,6 +35,7 @@ #include "util/u_inlines.h" #include "draw/draw_context.h" #include "draw/draw_vs.h" +#include "draw/draw_gs.h" #include "tgsi/tgsi_dump.h" #include "tgsi/tgsi_exec.h" #include "tgsi/tgsi_scan.h" @@ -223,6 +224,8 @@ softpipe_create_gs_state(struct pipe_context *pipe, if (state->draw_data == NULL) goto fail; + state->max_sampler = state->draw_data->info.file_max[TGSI_FILE_SAMPLER]; + return state; fail: diff --git a/src/gallium/drivers/softpipe/sp_state_sampler.c b/src/gallium/drivers/softpipe/sp_state_sampler.c index 2692f06c927..09b0ffc1dad 100644 --- a/src/gallium/drivers/softpipe/sp_state_sampler.c +++ b/src/gallium/drivers/softpipe/sp_state_sampler.c @@ -121,6 +121,33 @@ softpipe_bind_vertex_sampler_states(struct pipe_context *pipe, softpipe->dirty |= SP_NEW_SAMPLER; } +void +softpipe_bind_geometry_sampler_states(struct pipe_context *pipe, + unsigned num_samplers, + void **samplers) +{ + struct softpipe_context *softpipe = softpipe_context(pipe); + unsigned i; + + assert(num_samplers <= PIPE_MAX_GEOMETRY_SAMPLERS); + + /* Check for no-op */ + if (num_samplers == softpipe->num_geometry_samplers && + !memcmp(softpipe->geometry_samplers, samplers, num_samplers * sizeof(void *))) + return; + + draw_flush(softpipe->draw); + + for (i = 0; i < num_samplers; ++i) + softpipe->geometry_samplers[i] = samplers[i]; + for (i = num_samplers; i < PIPE_MAX_GEOMETRY_SAMPLERS; ++i) + softpipe->geometry_samplers[i] = NULL; + + softpipe->num_geometry_samplers = num_samplers; + + softpipe->dirty |= SP_NEW_SAMPLER; +} + struct pipe_sampler_view * softpipe_create_sampler_view(struct pipe_context *pipe, @@ -210,6 +237,36 @@ softpipe_set_vertex_sampler_views(struct pipe_context *pipe, softpipe->dirty |= SP_NEW_TEXTURE; } +void +softpipe_set_geometry_sampler_views(struct pipe_context *pipe, + unsigned num, + struct pipe_sampler_view **views) +{ + struct softpipe_context *softpipe = softpipe_context(pipe); + uint i; + + assert(num <= PIPE_MAX_GEOMETRY_SAMPLERS); + + /* Check for no-op */ + if (num == softpipe->num_geometry_sampler_views && + !memcmp(softpipe->geometry_sampler_views, views, num * sizeof(struct pipe_sampler_view *))) { + return; + } + + draw_flush(softpipe->draw); + + for (i = 0; i < PIPE_MAX_GEOMETRY_SAMPLERS; i++) { + struct pipe_sampler_view *view = i < num ? views[i] : NULL; + + pipe_sampler_view_reference(&softpipe->geometry_sampler_views[i], view); + sp_tex_tile_cache_set_sampler_view(softpipe->geometry_tex_cache[i], view); + } + + softpipe->num_geometry_sampler_views = num; + + softpipe->dirty |= SP_NEW_TEXTURE; +} + /** * Find/create an sp_sampler_varient object for sampling the given texture, @@ -293,6 +350,26 @@ softpipe_reset_sampler_varients(struct softpipe_context *softpipe) } } + for (i = 0; i <= softpipe->gs->max_sampler; i++) { + if (softpipe->geometry_samplers[i]) { + struct pipe_resource *texture = NULL; + + if (softpipe->geometry_sampler_views[i]) { + texture = softpipe->geometry_sampler_views[i]->texture; + } + + softpipe->tgsi.geom_samplers_list[i] = + get_sampler_varient( i, + sp_sampler(softpipe->geometry_samplers[i]), + texture, + TGSI_PROCESSOR_GEOMETRY ); + + sp_sampler_varient_bind_texture( softpipe->tgsi.geom_samplers_list[i], + softpipe->geometry_tex_cache[i], + texture ); + } + } + for (i = 0; i <= softpipe->fs->info.file_max[TGSI_FILE_SAMPLER]; i++) { if (softpipe->sampler[i]) { struct pipe_resource *texture = NULL; diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 72afad60ba9..7ec3d63a3fd 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -158,6 +158,9 @@ struct pipe_context { void (*bind_vertex_sampler_states)(struct pipe_context *, unsigned num_samplers, void **samplers); + void (*bind_geometry_sampler_states)(struct pipe_context *, + unsigned num_samplers, + void **samplers); void (*delete_sampler_state)(struct pipe_context *, void *); void * (*create_rasterizer_state)(struct pipe_context *, @@ -238,6 +241,10 @@ struct pipe_context { unsigned num_views, struct pipe_sampler_view **); + void (*set_geometry_sampler_views)(struct pipe_context *, + unsigned num_views, + struct pipe_sampler_view **); + void (*set_vertex_buffers)( struct pipe_context *, unsigned num_buffers, const struct pipe_vertex_buffer * ); diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 5ed1cca67a5..6231f06ec71 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -60,6 +60,7 @@ extern "C" { #define PIPE_MAX_CONSTANT_BUFFERS 32 #define PIPE_MAX_SAMPLERS 16 #define PIPE_MAX_VERTEX_SAMPLERS 16 +#define PIPE_MAX_GEOMETRY_SAMPLERS 16 #define PIPE_MAX_SHADER_INPUTS 16 #define PIPE_MAX_SHADER_OUTPUTS 16 #define PIPE_MAX_TEXTURE_LEVELS 16 -- cgit v1.2.3 From 2b221e11da7a8bf759e3c359f22ba6f49d5f0997 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Fri, 18 Jun 2010 09:39:16 -0400 Subject: gallium: add a new register file - immediate array allows one to specify a safe (bound checked) array filled with immediates. it works just like a const array and declares much like our current immediates. --- src/gallium/auxiliary/tgsi/tgsi_build.c | 21 ++++- src/gallium/auxiliary/tgsi/tgsi_dump.c | 103 ++++++++++++++++++------- src/gallium/auxiliary/tgsi/tgsi_exec.c | 21 +++++ src/gallium/auxiliary/tgsi/tgsi_exec.h | 2 + src/gallium/auxiliary/tgsi/tgsi_parse.c | 11 +++ src/gallium/auxiliary/tgsi/tgsi_parse.h | 6 ++ src/gallium/auxiliary/tgsi/tgsi_sanity.c | 3 +- src/gallium/auxiliary/tgsi/tgsi_text.c | 119 +++++++++++++++++++++-------- src/gallium/include/pipe/p_shader_tokens.h | 25 +++--- 9 files changed, 240 insertions(+), 71 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c index 0890078cd05..89e020adaca 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_build.c +++ b/src/gallium/auxiliary/tgsi/tgsi_build.c @@ -164,6 +164,7 @@ tgsi_default_full_declaration( void ) full_declaration.Declaration = tgsi_default_declaration(); full_declaration.Range = tgsi_default_declaration_range(); full_declaration.Semantic = tgsi_default_declaration_semantic(); + full_declaration.ImmediateData.u = NULL; return full_declaration; } @@ -180,7 +181,7 @@ tgsi_build_full_declaration( struct tgsi_declaration_range *dr; if( maxsize <= size ) - return 0; + return 0; declaration = (struct tgsi_declaration *) &tokens[size]; size++; @@ -235,6 +236,24 @@ tgsi_build_full_declaration( header ); } + if (full_decl->Declaration.File == TGSI_FILE_IMMEDIATE_ARRAY) { + unsigned i, j; + union tgsi_immediate_data *data; + + for (i = 0; i <= dr->Last; ++i) { + for (j = 0; j < 4; ++j) { + unsigned idx = i*4 + j; + if (maxsize <= size) + return 0; + data = (union tgsi_immediate_data *) &tokens[size]; + ++size; + + *data = full_decl->ImmediateData.u[idx]; + declaration_grow( declaration, header ); + } + } + } + return size; } diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index de6d4419464..82443d96115 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -101,7 +101,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "ADDR", "IMM", "PRED", - "SV" + "SV", + "IMMX" }; static const char *interpolate_names[] = @@ -292,6 +293,39 @@ _dump_writemask( } } +static void +dump_imm_data(struct tgsi_iterate_context *iter, + union tgsi_immediate_data *data, + unsigned num_tokens, + unsigned data_type) +{ + struct dump_ctx *ctx = (struct dump_ctx *)iter; + unsigned i ; + + TXT( " {" ); + + assert( num_tokens <= 4 ); + for (i = 0; i < num_tokens; i++) { + switch (data_type) { + case TGSI_IMM_FLOAT32: + FLT( data[i].Float ); + break; + case TGSI_IMM_UINT32: + UID(data[i].Uint); + break; + case TGSI_IMM_INT32: + SID(data[i].Int); + break; + default: + assert( 0 ); + } + + if (i < num_tokens - 1) + TXT( ", " ); + } + TXT( "}" ); +} + static boolean iter_declaration( struct tgsi_iterate_context *iter, @@ -372,6 +406,43 @@ iter_declaration( } } + if (decl->Declaration.File == TGSI_FILE_IMMEDIATE_ARRAY) { + unsigned i; + char range_indent[4]; + + TXT(" {"); + + if (decl->Range.Last < 10) + range_indent[0] = '\0'; + else if (decl->Range.Last < 100) { + range_indent[0] = ' '; + range_indent[1] = '\0'; + } else if (decl->Range.Last < 1000) { + range_indent[0] = ' '; + range_indent[1] = ' '; + range_indent[2] = '\0'; + } else { + range_indent[0] = ' '; + range_indent[1] = ' '; + range_indent[2] = ' '; + range_indent[3] = '\0'; + } + + dump_imm_data(iter, decl->ImmediateData.u, + 4, TGSI_IMM_FLOAT32); + for(i = 1; i <= decl->Range.Last; ++i) { + /* indent by strlen of: + * "DCL IMMX[0..1] {" */ + CHR('\n'); + TXT( " " ); + TXT( range_indent ); + dump_imm_data(iter, decl->ImmediateData.u + i, + 4, TGSI_IMM_FLOAT32); + } + + TXT(" }"); + } + EOL(); return TRUE; @@ -445,33 +516,11 @@ iter_immediate( { struct dump_ctx *ctx = (struct dump_ctx *) iter; - uint i; - TXT( "IMM " ); ENM( imm->Immediate.DataType, immediate_type_names ); - TXT( " { " ); - - assert( imm->Immediate.NrTokens <= 4 + 1 ); - for (i = 0; i < imm->Immediate.NrTokens - 1; i++) { - switch (imm->Immediate.DataType) { - case TGSI_IMM_FLOAT32: - FLT( imm->u[i].Float ); - break; - case TGSI_IMM_UINT32: - UID(imm->u[i].Uint); - break; - case TGSI_IMM_INT32: - SID(imm->u[i].Int); - break; - default: - assert( 0 ); - } - - if (i < imm->Immediate.NrTokens - 2) - TXT( ", " ); - } - TXT( " }" ); + dump_imm_data(iter, imm->u, imm->Immediate.NrTokens - 1, + imm->Immediate.DataType); EOL(); @@ -502,12 +551,12 @@ iter_instruction( INSTID( instno ); TXT( ": " ); - + ctx->indent -= info->pre_dedent; for(i = 0; (int)i < ctx->indent; ++i) TXT( " " ); ctx->indent += info->post_indent; - + if (inst->Instruction.Predicate) { CHR( '(' ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 2b0809b6eba..335fd34604c 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -699,6 +699,19 @@ tgsi_exec_machine_bind_shader( ++mach->NumOutputs; } } + if (parse.FullToken.FullDeclaration.Declaration.File == + TGSI_FILE_IMMEDIATE_ARRAY) { + unsigned reg; + struct tgsi_full_declaration *decl = + &parse.FullToken.FullDeclaration; + debug_assert(decl->Range.Last < TGSI_EXEC_NUM_IMMEDIATES); + for (reg = decl->Range.First; reg <= decl->Range.Last; ++reg) { + for( i = 0; i < 4; i++ ) { + int idx = reg * 4 + i; + mach->ImmArray[reg][i] = decl->ImmediateData.u[idx].Float; + } + } + } memcpy(declarations + numDeclarations, &parse.FullToken.FullDeclaration, sizeof(declarations[0])); @@ -1074,6 +1087,14 @@ fetch_src_file_channel(const struct tgsi_exec_machine *mach, } break; + case TGSI_FILE_IMMEDIATE_ARRAY: + for (i = 0; i < QUAD_SIZE; i++) { + assert(index2D->i[i] == 0); + + chan->f[i] = mach->ImmArray[index->i[i]][swizzle]; + } + break; + case TGSI_FILE_ADDRESS: for (i = 0; i < QUAD_SIZE; i++) { assert(index->i[i] >= 0); diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 3caf820af67..b54ca2355fe 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -240,6 +240,8 @@ struct tgsi_exec_machine float Imms[TGSI_EXEC_NUM_IMMEDIATES][4]; + float ImmArray[TGSI_EXEC_NUM_IMMEDIATES][4]; + struct tgsi_exec_vector Inputs[TGSI_MAX_PRIM_VERTICES * PIPE_MAX_ATTRIBS]; struct tgsi_exec_vector Outputs[TGSI_MAX_TOTAL_VERTICES]; diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.c b/src/gallium/auxiliary/tgsi/tgsi_parse.c index 7e19e1fe36f..ae8c868dcb7 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_parse.c +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.c @@ -117,6 +117,17 @@ tgsi_parse_token( next_token( ctx, &decl->Semantic ); } + if (decl->Declaration.File == TGSI_FILE_IMMEDIATE_ARRAY) { + unsigned i, j; + decl->ImmediateData.u = (union tgsi_immediate_data*) + &ctx->Tokens[ctx->Position]; + for (i = 0; i <= decl->Range.Last; ++i) { + for (j = 0; j < 4; ++j) { + ctx->Position++; + } + } + } + break; } diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.h b/src/gallium/auxiliary/tgsi/tgsi_parse.h index b45ccee2f63..3f4965e6d59 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_parse.h +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.h @@ -54,12 +54,18 @@ struct tgsi_full_src_register struct tgsi_src_register DimIndirect; }; +struct tgsi_immediate_array_data +{ + union tgsi_immediate_data *u; +}; + struct tgsi_full_declaration { struct tgsi_declaration Declaration; struct tgsi_declaration_range Range; struct tgsi_declaration_dimension Dim; struct tgsi_declaration_semantic Semantic; + struct tgsi_immediate_array_data ImmediateData; }; struct tgsi_full_immediate diff --git a/src/gallium/auxiliary/tgsi/tgsi_sanity.c b/src/gallium/auxiliary/tgsi/tgsi_sanity.c index c2fd6b6e434..fa6a1a36dd1 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sanity.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sanity.c @@ -235,7 +235,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "ADDR", "IMM", "PRED", - "SV" + "SV", + "IMMX" }; static boolean diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 527b7d7b226..3d838d30fae 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -280,7 +280,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "ADDR", "IMM", "PRED", - "SV" + "SV", + "IMMX" }; static boolean @@ -985,6 +986,45 @@ static const char *interpolate_names[TGSI_INTERPOLATE_COUNT] = "PERSPECTIVE" }; + +/* parses a 4-touple of the form {x, y, z, w} + * where x, y, z, w are numbers */ +static boolean parse_immediate_data(struct translate_ctx *ctx, + float *values) +{ + unsigned i; + + eat_opt_white( &ctx->cur ); + if (*ctx->cur != '{') { + report_error( ctx, "Expected `{'" ); + return FALSE; + } + ctx->cur++; + for (i = 0; i < 4; i++) { + eat_opt_white( &ctx->cur ); + if (i > 0) { + if (*ctx->cur != ',') { + report_error( ctx, "Expected `,'" ); + return FALSE; + } + ctx->cur++; + eat_opt_white( &ctx->cur ); + } + if (!parse_float( &ctx->cur, &values[i] )) { + report_error( ctx, "Expected literal floating point" ); + return FALSE; + } + } + eat_opt_white( &ctx->cur ); + if (*ctx->cur != '}') { + report_error( ctx, "Expected `}'" ); + return FALSE; + } + ctx->cur++; + + return TRUE; +} + static boolean parse_declaration( struct translate_ctx *ctx ) { struct tgsi_full_declaration decl; @@ -995,6 +1035,7 @@ static boolean parse_declaration( struct translate_ctx *ctx ) const char *cur; uint advance; boolean is_vs_input; + boolean is_imm_array; assert(Elements(semantic_names) == TGSI_SEMANTIC_COUNT); assert(Elements(interpolate_names) == TGSI_INTERPOLATE_COUNT); @@ -1025,6 +1066,7 @@ static boolean parse_declaration( struct translate_ctx *ctx ) is_vs_input = (file == TGSI_FILE_INPUT && ctx->processor == TGSI_PROCESSOR_VERTEX); + is_imm_array = (file == TGSI_FILE_IMMEDIATE_ARRAY); cur = ctx->cur; eat_opt_white( &cur ); @@ -1067,6 +1109,44 @@ static boolean parse_declaration( struct translate_ctx *ctx ) break; } } + } else if (is_imm_array) { + unsigned i; + float *vals_itr; + /* we have our immediate data */ + if (*cur != '{') { + report_error( ctx, "Immediate array without data" ); + return FALSE; + } + ++cur; + ctx->cur = cur; + + decl.ImmediateData.u = + MALLOC(sizeof(union tgsi_immediate_data) * 4 * + (decl.Range.Last + 1)); + vals_itr = (float*)decl.ImmediateData.u; + for (i = 0; i <= decl.Range.Last; ++i) { + if (!parse_immediate_data(ctx, vals_itr)) { + FREE(decl.ImmediateData.u); + return FALSE; + } + vals_itr += 4; + eat_opt_white( &ctx->cur ); + if (*ctx->cur != ',') { + if (i != decl.Range.Last) { + report_error( ctx, "Not enough data in immediate array!" ); + FREE(decl.ImmediateData.u); + return FALSE; + } + } else + ++ctx->cur; + } + eat_opt_white( &ctx->cur ); + if (*ctx->cur != '}') { + FREE(decl.ImmediateData.u); + report_error( ctx, "Immediate array data missing closing '}'" ); + return FALSE; + } + ++ctx->cur; } cur = ctx->cur; @@ -1097,6 +1177,10 @@ static boolean parse_declaration( struct translate_ctx *ctx ) ctx->tokens_cur, ctx->header, (uint) (ctx->tokens_end - ctx->tokens_cur) ); + + if (is_imm_array) + FREE(decl.ImmediateData.u); + if (advance == 0) return FALSE; ctx->tokens_cur += advance; @@ -1107,7 +1191,6 @@ static boolean parse_declaration( struct translate_ctx *ctx ) static boolean parse_immediate( struct translate_ctx *ctx ) { struct tgsi_full_immediate imm; - uint i; float values[4]; uint advance; @@ -1115,37 +1198,13 @@ static boolean parse_immediate( struct translate_ctx *ctx ) report_error( ctx, "Syntax error" ); return FALSE; } - if (!str_match_no_case( &ctx->cur, "FLT32" ) || is_digit_alpha_underscore( ctx->cur )) { + if (!str_match_no_case( &ctx->cur, "FLT32" ) || + is_digit_alpha_underscore( ctx->cur )) { report_error( ctx, "Expected `FLT32'" ); return FALSE; } - eat_opt_white( &ctx->cur ); - if (*ctx->cur != '{') { - report_error( ctx, "Expected `{'" ); - return FALSE; - } - ctx->cur++; - for (i = 0; i < 4; i++) { - eat_opt_white( &ctx->cur ); - if (i > 0) { - if (*ctx->cur != ',') { - report_error( ctx, "Expected `,'" ); - return FALSE; - } - ctx->cur++; - eat_opt_white( &ctx->cur ); - } - if (!parse_float( &ctx->cur, &values[i] )) { - report_error( ctx, "Expected literal floating point" ); - return FALSE; - } - } - eat_opt_white( &ctx->cur ); - if (*ctx->cur != '}') { - report_error( ctx, "Expected `}'" ); - return FALSE; - } - ctx->cur++; + + parse_immediate_data(ctx, values); imm = tgsi_default_full_immediate(); imm.Immediate.NrTokens += 4; diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index c46c7e3d14e..184a582cf7a 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -65,16 +65,17 @@ struct tgsi_token }; enum tgsi_file_type { - TGSI_FILE_NULL =0, - TGSI_FILE_CONSTANT =1, - TGSI_FILE_INPUT =2, - TGSI_FILE_OUTPUT =3, - TGSI_FILE_TEMPORARY =4, - TGSI_FILE_SAMPLER =5, - TGSI_FILE_ADDRESS =6, - TGSI_FILE_IMMEDIATE =7, - TGSI_FILE_PREDICATE =8, - TGSI_FILE_SYSTEM_VALUE =9, + TGSI_FILE_NULL =0, + TGSI_FILE_CONSTANT =1, + TGSI_FILE_INPUT =2, + TGSI_FILE_OUTPUT =3, + TGSI_FILE_TEMPORARY =4, + TGSI_FILE_SAMPLER =5, + TGSI_FILE_ADDRESS =6, + TGSI_FILE_IMMEDIATE =7, + TGSI_FILE_PREDICATE =8, + TGSI_FILE_SYSTEM_VALUE =9, + TGSI_FILE_IMMEDIATE_ARRAY =10, TGSI_FILE_COUNT /**< how many TGSI_FILE_ types */ }; @@ -159,9 +160,9 @@ struct tgsi_declaration_semantic struct tgsi_immediate { unsigned Type : 4; /**< TGSI_TOKEN_TYPE_IMMEDIATE */ - unsigned NrTokens : 8; /**< UINT */ + unsigned NrTokens : 14; /**< UINT */ unsigned DataType : 4; /**< one of TGSI_IMM_x */ - unsigned Padding : 16; + unsigned Padding : 10; }; union tgsi_immediate_data -- cgit v1.2.3 From 101f792a2af9c9a19a050afba8b60caa689466a5 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Fri, 18 Jun 2010 13:41:20 -0400 Subject: gallium: add a temporary array register file like normal temporaries, but allows to define a number of distinct arrays, all of which make it explicit that they contain /indexable/ registers. as a side-effect we're adding support for multi-dimensional destination registers. The whole thing looks like this: DCL TEMPX[0][0..128] # 0 array with 128 registers ADD TEMPX[0][0], IN[0], IMM[0] ADD TEMPX[0][1], IN[0], IMM[0] ABS OUT[0], TEMPX[0][TEMP[0]] --- src/gallium/auxiliary/tgsi/tgsi_build.c | 45 ++++++++ src/gallium/auxiliary/tgsi/tgsi_build.h | 1 + src/gallium/auxiliary/tgsi/tgsi_dump.c | 93 ++++++++------- src/gallium/auxiliary/tgsi/tgsi_exec.c | 96 +++++++++++++++- src/gallium/auxiliary/tgsi/tgsi_exec.h | 2 + src/gallium/auxiliary/tgsi/tgsi_parse.c | 23 +++- src/gallium/auxiliary/tgsi/tgsi_parse.h | 2 + src/gallium/auxiliary/tgsi/tgsi_sanity.c | 18 ++- src/gallium/auxiliary/tgsi/tgsi_text.c | 175 +++++++++++++++++------------ src/gallium/include/pipe/p_shader_tokens.h | 1 + 10 files changed, 325 insertions(+), 131 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c index 89e020adaca..6dbedf15ca8 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_build.c +++ b/src/gallium/auxiliary/tgsi/tgsi_build.c @@ -632,6 +632,7 @@ tgsi_build_full_instruction( reg->Register.File, reg->Register.WriteMask, reg->Register.Indirect, + reg->Register.Dimension, reg->Register.Index, instruction, header ); @@ -659,6 +660,46 @@ tgsi_build_full_instruction( instruction, header ); } + + if( reg->Register.Dimension ) { + struct tgsi_dimension *dim; + + assert( !reg->Dimension.Dimension ); + + if( maxsize <= size ) + return 0; + dim = (struct tgsi_dimension *) &tokens[size]; + size++; + + *dim = tgsi_build_dimension( + reg->Dimension.Indirect, + reg->Dimension.Index, + instruction, + header ); + + if( reg->Dimension.Indirect ) { + struct tgsi_src_register *ind; + + if( maxsize <= size ) + return 0; + ind = (struct tgsi_src_register *) &tokens[size]; + size++; + + *ind = tgsi_build_src_register( + reg->DimIndirect.File, + reg->DimIndirect.SwizzleX, + reg->DimIndirect.SwizzleY, + reg->DimIndirect.SwizzleZ, + reg->DimIndirect.SwizzleW, + reg->DimIndirect.Negate, + reg->DimIndirect.Absolute, + reg->DimIndirect.Indirect, + reg->DimIndirect.Dimension, + reg->DimIndirect.Index, + instruction, + header ); + } + } } for( i = 0; i < full_inst->Instruction.NumSrcRegs; i++ ) { @@ -978,6 +1019,7 @@ tgsi_build_dst_register( unsigned file, unsigned mask, unsigned indirect, + unsigned dimension, int index, struct tgsi_instruction *instruction, struct tgsi_header *header ) @@ -993,6 +1035,7 @@ tgsi_build_dst_register( dst_register.WriteMask = mask; dst_register.Index = index; dst_register.Indirect = indirect; + dst_register.Dimension = dimension; instruction_grow( instruction, header ); @@ -1006,6 +1049,8 @@ tgsi_default_full_dst_register( void ) full_dst_register.Register = tgsi_default_dst_register(); full_dst_register.Indirect = tgsi_default_src_register(); + full_dst_register.Dimension = tgsi_default_dimension(); + full_dst_register.DimIndirect = tgsi_default_src_register(); return full_dst_register; } diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.h b/src/gallium/auxiliary/tgsi/tgsi_build.h index 13d7f5272d6..112107a0881 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_build.h +++ b/src/gallium/auxiliary/tgsi/tgsi_build.h @@ -263,6 +263,7 @@ tgsi_build_dst_register( unsigned file, unsigned mask, unsigned indirect, + unsigned dimension, int index, struct tgsi_instruction *instruction, struct tgsi_header *header ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 82443d96115..9fcc28f4c96 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -102,7 +102,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "IMM", "PRED", "SV", - "IMMX" + "IMMX", + "TEMPX" }; static const char *interpolate_names[] = @@ -191,20 +192,6 @@ static const char *fs_coord_pixel_center_names[] = }; -static void -_dump_register_dst( - struct dump_ctx *ctx, - uint file, - int index) -{ - ENM( file, file_names ); - - CHR( '[' ); - SID( index ); - CHR( ']' ); -} - - static void _dump_register_src( struct dump_ctx *ctx, @@ -251,30 +238,52 @@ _dump_register_src( } } + static void -_dump_register_ind( +_dump_register_dst( struct dump_ctx *ctx, - uint file, - int index, - uint ind_file, - int ind_index, - uint ind_swizzle ) + const struct tgsi_full_dst_register *dst ) { - ENM( file, file_names ); - CHR( '[' ); - ENM( ind_file, file_names ); - CHR( '[' ); - SID( ind_index ); - TXT( "]." ); - ENM( ind_swizzle, swizzle_names ); - if (index != 0) { - if (index > 0) - CHR( '+' ); - SID( index ); + ENM(dst->Register.File, file_names); + if (dst->Register.Dimension) { + if (dst->Dimension.Indirect) { + CHR( '[' ); + ENM( dst->DimIndirect.File, file_names ); + CHR( '[' ); + SID( dst->DimIndirect.Index ); + TXT( "]." ); + ENM( dst->DimIndirect.SwizzleX, swizzle_names ); + if (dst->Dimension.Index != 0) { + if (dst->Dimension.Index > 0) + CHR( '+' ); + SID( dst->Dimension.Index ); + } + CHR( ']' ); + } else { + CHR('['); + SID(dst->Dimension.Index); + CHR(']'); + } + } + if (dst->Register.Indirect) { + CHR( '[' ); + ENM( dst->Indirect.File, file_names ); + CHR( '[' ); + SID( dst->Indirect.Index ); + TXT( "]." ); + ENM( dst->Indirect.SwizzleX, swizzle_names ); + if (dst->Register.Index != 0) { + if (dst->Register.Index > 0) + CHR( '+' ); + SID( dst->Register.Index ); + } + CHR( ']' ); + } else { + CHR( '[' ); + SID( dst->Register.Index ); + CHR( ']' ); } - CHR( ']' ); } - static void _dump_writemask( struct dump_ctx *ctx, @@ -603,21 +612,7 @@ iter_instruction( CHR( ',' ); CHR( ' ' ); - if (dst->Register.Indirect) { - _dump_register_ind( - ctx, - dst->Register.File, - dst->Register.Index, - dst->Indirect.File, - dst->Indirect.Index, - dst->Indirect.SwizzleX ); - } - else { - _dump_register_dst( - ctx, - dst->Register.File, - dst->Register.Index ); - } + _dump_register_dst( ctx, dst ); _dump_writemask( ctx, dst->Register.WriteMask ); first_reg = FALSE; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 335fd34604c..5275faa5e22 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -1065,7 +1065,9 @@ fetch_src_file_channel(const struct tgsi_exec_machine *mach, index2D->i[i] * TGSI_EXEC_MAX_INPUT_ATTRIBS + index->i[i], index2D->i[i], index->i[i]); }*/ - chan->u[i] = mach->Inputs[index2D->i[i] * TGSI_EXEC_MAX_INPUT_ATTRIBS + index->i[i]].xyzw[swizzle].u[i]; + chan->u[i] = mach->Inputs[index2D->i[i] * + TGSI_EXEC_MAX_INPUT_ATTRIBS + + index->i[i]].xyzw[swizzle].u[i]; } break; @@ -1078,6 +1080,16 @@ fetch_src_file_channel(const struct tgsi_exec_machine *mach, } break; + case TGSI_FILE_TEMPORARY_ARRAY: + for (i = 0; i < QUAD_SIZE; i++) { + assert(index->i[i] < TGSI_EXEC_NUM_TEMPS); + assert(index2D->i[i] < TGSI_EXEC_NUM_TEMP_ARRAYS); + + chan->u[i] = + mach->TempArray[index2D->i[i]][index->i[i]].xyzw[swizzle].u[i]; + } + break; + case TGSI_FILE_IMMEDIATE: for (i = 0; i < QUAD_SIZE; i++) { assert(index->i[i] >= 0 && index->i[i] < (int)mach->ImmLimit); @@ -1306,6 +1318,7 @@ store_dest(struct tgsi_exec_machine *mach, uint i; union tgsi_exec_channel null; union tgsi_exec_channel *dst; + union tgsi_exec_channel index2D; uint execmask = mach->ExecMask; int offset = 0; /* indirection offset */ int index; @@ -1351,6 +1364,77 @@ store_dest(struct tgsi_exec_machine *mach, offset = indir_index.i[0]; } + /* There is an extra source register that is a second + * subscript to a register file. Effectively it means that + * the register file is actually a 2D array of registers. + * + * file[3][1], + * where: + * [3] = Dimension.Index + */ + if (reg->Register.Dimension) { + index2D.i[0] = + index2D.i[1] = + index2D.i[2] = + index2D.i[3] = reg->Dimension.Index; + + /* Again, the second subscript index can be addressed indirectly + * identically to the first one. + * Nothing stops us from indirectly addressing the indirect register, + * but there is no need for that, so we won't exercise it. + * + * file[ind[4].y+3][1], + * where: + * ind = DimIndirect.File + * [4] = DimIndirect.Index + * .y = DimIndirect.SwizzleX + */ + if (reg->Dimension.Indirect) { + union tgsi_exec_channel index2; + union tgsi_exec_channel indir_index; + const uint execmask = mach->ExecMask; + unsigned swizzle; + uint i; + + index2.i[0] = + index2.i[1] = + index2.i[2] = + index2.i[3] = reg->DimIndirect.Index; + + swizzle = tgsi_util_get_src_register_swizzle( ®->DimIndirect, CHAN_X ); + fetch_src_file_channel(mach, + reg->DimIndirect.File, + swizzle, + &index2, + &ZeroVec, + &indir_index); + + index2D.i[0] += indir_index.i[0]; + index2D.i[1] += indir_index.i[1]; + index2D.i[2] += indir_index.i[2]; + index2D.i[3] += indir_index.i[3]; + + /* for disabled execution channels, zero-out the index to + * avoid using a potential garbage value. + */ + for (i = 0; i < QUAD_SIZE; i++) { + if ((execmask & (1 << i)) == 0) { + index2D.i[i] = 0; + } + } + } + + /* If by any chance there was a need for a 3D array of register + * files, we would have to check whether Dimension is followed + * by a dimension register and continue the saga. + */ + } else { + index2D.i[0] = + index2D.i[1] = + index2D.i[2] = + index2D.i[3] = 0; + } + switch (reg->Register.File) { case TGSI_FILE_NULL: dst = &null; @@ -1377,6 +1461,16 @@ store_dest(struct tgsi_exec_machine *mach, dst = &mach->Temps[offset + index].xyzw[chan_index]; break; + case TGSI_FILE_TEMPORARY_ARRAY: + index = reg->Register.Index; + assert( index < TGSI_EXEC_NUM_TEMPS ); + assert( index2D.i[0] < TGSI_EXEC_NUM_TEMP_ARRAYS ); + /* XXX we use index2D.i[0] here but somehow we might + * end up with someone trying to store indirectly in + * different buffers */ + dst = &mach->TempArray[index2D.i[0]][offset + index].xyzw[chan_index]; + break; + case TGSI_FILE_ADDRESS: index = reg->Register.Index; dst = &mach->Addrs[index].xyzw[chan_index]; diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index b54ca2355fe..ccf80ca6fd9 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -93,6 +93,7 @@ struct tgsi_sampler #define TGSI_EXEC_NUM_TEMPS 128 #define TGSI_EXEC_NUM_IMMEDIATES 256 +#define TGSI_EXEC_NUM_TEMP_ARRAYS 8 /* * Locations of various utility registers (_I = Index, _C = Channel) @@ -237,6 +238,7 @@ struct tgsi_exec_machine */ struct tgsi_exec_vector Temps[TGSI_EXEC_NUM_TEMPS + TGSI_EXEC_NUM_TEMP_EXTRAS]; + struct tgsi_exec_vector TempArray[TGSI_EXEC_NUM_TEMP_ARRAYS][TGSI_EXEC_NUM_TEMPS]; float Imms[TGSI_EXEC_NUM_IMMEDIATES][4]; diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.c b/src/gallium/auxiliary/tgsi/tgsi_parse.c index ae8c868dcb7..db9a3422203 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_parse.c +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.c @@ -192,11 +192,6 @@ tgsi_parse_token( next_token( ctx, &inst->Dst[i].Register ); - /* - * No support for indirect or multi-dimensional addressing. - */ - assert( !inst->Dst[i].Register.Dimension ); - if( inst->Dst[i].Register.Indirect ) { next_token( ctx, &inst->Dst[i].Indirect ); @@ -206,6 +201,24 @@ tgsi_parse_token( assert( !inst->Dst[i].Indirect.Dimension ); assert( !inst->Dst[i].Indirect.Indirect ); } + if( inst->Dst[i].Register.Dimension ) { + next_token( ctx, &inst->Dst[i].Dimension ); + + /* + * No support for multi-dimensional addressing. + */ + assert( !inst->Dst[i].Dimension.Dimension ); + + if( inst->Dst[i].Dimension.Indirect ) { + next_token( ctx, &inst->Dst[i].DimIndirect ); + + /* + * No support for indirect or multi-dimensional addressing. + */ + assert( !inst->Dst[i].Indirect.Indirect ); + assert( !inst->Dst[i].Indirect.Dimension ); + } + } } assert( inst->Instruction.NumSrcRegs <= TGSI_FULL_MAX_SRC_REGISTERS ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_parse.h b/src/gallium/auxiliary/tgsi/tgsi_parse.h index 3f4965e6d59..36de8807b44 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_parse.h +++ b/src/gallium/auxiliary/tgsi/tgsi_parse.h @@ -44,6 +44,8 @@ struct tgsi_full_dst_register { struct tgsi_dst_register Register; struct tgsi_src_register Indirect; + struct tgsi_dimension Dimension; + struct tgsi_src_register DimIndirect; }; struct tgsi_full_src_register diff --git a/src/gallium/auxiliary/tgsi/tgsi_sanity.c b/src/gallium/auxiliary/tgsi/tgsi_sanity.c index fa6a1a36dd1..97148dbe233 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sanity.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sanity.c @@ -90,9 +90,18 @@ static void scan_register_dst(scan_register *reg, struct tgsi_full_dst_register *dst) { - fill_scan_register1d(reg, - dst->Register.File, - dst->Register.Index); + if (dst->Register.Dimension) { + /*FIXME: right now we don't support indirect + * multidimensional addressing */ + fill_scan_register2d(reg, + dst->Register.File, + dst->Register.Index, + dst->Dimension.Index); + } else { + fill_scan_register1d(reg, + dst->Register.File, + dst->Register.Index); + } } static void @@ -236,7 +245,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "IMM", "PRED", "SV", - "IMMX" + "IMMX", + "TEMPX" }; static boolean diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 3d838d30fae..55fccba4d8c 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -281,7 +281,8 @@ static const char *file_names[TGSI_FILE_COUNT] = "IMM", "PRED", "SV", - "IMMX" + "IMMX", + "TEMPX" }; static boolean @@ -346,12 +347,68 @@ parse_opt_writemask( return TRUE; } + +/* ::= `[' + */ +static boolean +parse_register_file_bracket( + struct translate_ctx *ctx, + uint *file ) +{ + if (!parse_file( &ctx->cur, file )) { + report_error( ctx, "Unknown register file" ); + return FALSE; + } + eat_opt_white( &ctx->cur ); + if (*ctx->cur != '[') { + report_error( ctx, "Expected `['" ); + return FALSE; + } + ctx->cur++; + return TRUE; +} + +/* ::= + */ +static boolean +parse_register_file_bracket_index( + struct translate_ctx *ctx, + uint *file, + int *index ) +{ + uint uindex; + + if (!parse_register_file_bracket( ctx, file )) + return FALSE; + eat_opt_white( &ctx->cur ); + if (!parse_uint( &ctx->cur, &uindex )) { + report_error( ctx, "Expected literal unsigned integer" ); + return FALSE; + } + *index = (int) uindex; + return TRUE; +} + +/* Parse simple 1d register operand. + * ::= `]' + */ static boolean -parse_register_dst( struct translate_ctx *ctx, - uint *file, - int *index ); +parse_register_1d(struct translate_ctx *ctx, + uint *file, + int *index ) +{ + if (!parse_register_file_bracket_index( ctx, file, index )) + return FALSE; + eat_opt_white( &ctx->cur ); + if (*ctx->cur != ']') { + report_error( ctx, "Expected `]'" ); + return FALSE; + } + ctx->cur++; + return TRUE; +} -struct parsed_src_bracket { +struct parsed_bracket { int index; uint ind_file; @@ -361,21 +418,21 @@ struct parsed_src_bracket { static boolean -parse_register_src_bracket( +parse_register_bracket( struct translate_ctx *ctx, - struct parsed_src_bracket *brackets) + struct parsed_bracket *brackets) { const char *cur; uint uindex; - memset(brackets, 0, sizeof(struct parsed_src_bracket)); + memset(brackets, 0, sizeof(struct parsed_bracket)); eat_opt_white( &ctx->cur ); cur = ctx->cur; if (parse_file( &cur, &brackets->ind_file )) { - if (!parse_register_dst( ctx, &brackets->ind_file, - &brackets->ind_index )) + if (!parse_register_1d( ctx, &brackets->ind_file, + &brackets->ind_index )) return FALSE; eat_opt_white( &ctx->cur ); @@ -444,7 +501,7 @@ parse_register_src_bracket( static boolean parse_opt_register_src_bracket( struct translate_ctx *ctx, - struct parsed_src_bracket *brackets, + struct parsed_bracket *brackets, int *parsed_brackets) { const char *cur = ctx->cur; @@ -456,7 +513,7 @@ parse_opt_register_src_bracket( ++cur; ctx->cur = cur; - if (!parse_register_src_bracket(ctx, brackets)) + if (!parse_register_bracket(ctx, brackets)) return FALSE; *parsed_brackets = 1; @@ -465,46 +522,6 @@ parse_opt_register_src_bracket( return TRUE; } -/* ::= `[' - */ -static boolean -parse_register_file_bracket( - struct translate_ctx *ctx, - uint *file ) -{ - if (!parse_file( &ctx->cur, file )) { - report_error( ctx, "Unknown register file" ); - return FALSE; - } - eat_opt_white( &ctx->cur ); - if (*ctx->cur != '[') { - report_error( ctx, "Expected `['" ); - return FALSE; - } - ctx->cur++; - return TRUE; -} - -/* ::= - */ -static boolean -parse_register_file_bracket_index( - struct translate_ctx *ctx, - uint *file, - int *index ) -{ - uint uindex; - - if (!parse_register_file_bracket( ctx, file )) - return FALSE; - eat_opt_white( &ctx->cur ); - if (!parse_uint( &ctx->cur, &uindex )) { - report_error( ctx, "Expected literal unsigned integer" ); - return FALSE; - } - *index = (int) uindex; - return TRUE; -} /* Parse source register operand. * ::= `]' | @@ -516,13 +533,12 @@ static boolean parse_register_src( struct translate_ctx *ctx, uint *file, - struct parsed_src_bracket *brackets) + struct parsed_bracket *brackets) { - brackets->ind_comp = TGSI_SWIZZLE_X; if (!parse_register_file_bracket( ctx, file )) return FALSE; - if (!parse_register_src_bracket( ctx, brackets )) + if (!parse_register_bracket( ctx, brackets )) return FALSE; return TRUE; @@ -630,23 +646,19 @@ parse_register_dcl( } -/* Parse destination register operand. - * ::= `]' - */ +/* Parse destination register operand.*/ static boolean parse_register_dst( struct translate_ctx *ctx, uint *file, - int *index ) + struct parsed_bracket *brackets) { - if (!parse_register_file_bracket_index( ctx, file, index )) - return FALSE; - eat_opt_white( &ctx->cur ); - if (*ctx->cur != ']') { - report_error( ctx, "Expected `]'" ); + brackets->ind_comp = TGSI_SWIZZLE_X; + if (!parse_register_file_bracket( ctx, file )) return FALSE; - } - ctx->cur++; + if (!parse_register_bracket( ctx, brackets )) + return FALSE; + return TRUE; } @@ -656,11 +668,14 @@ parse_dst_operand( struct tgsi_full_dst_register *dst ) { uint file; - int index; uint writemask; const char *cur; + struct parsed_bracket bracket[2]; + int parsed_opt_brackets; - if (!parse_register_dst( ctx, &file, &index )) + if (!parse_register_dst( ctx, &file, &bracket[0] )) + return FALSE; + if (!parse_opt_register_src_bracket(ctx, &bracket[1], &parsed_opt_brackets)) return FALSE; cur = ctx->cur; @@ -670,8 +685,24 @@ parse_dst_operand( return FALSE; dst->Register.File = file; - dst->Register.Index = index; + if (parsed_opt_brackets) { + dst->Register.Dimension = 1; + dst->Dimension.Indirect = 0; + dst->Dimension.Dimension = 0; + dst->Dimension.Index = bracket[0].index; + bracket[0] = bracket[1]; + } + dst->Register.Index = bracket[0].index; dst->Register.WriteMask = writemask; + if (bracket[0].ind_file != TGSI_FILE_NULL) { + dst->Register.Indirect = 1; + dst->Indirect.File = bracket[0].ind_file; + dst->Indirect.Index = bracket[0].ind_index; + dst->Indirect.SwizzleX = bracket[0].ind_comp; + dst->Indirect.SwizzleY = bracket[0].ind_comp; + dst->Indirect.SwizzleZ = bracket[0].ind_comp; + dst->Indirect.SwizzleW = bracket[0].ind_comp; + } return TRUE; } @@ -720,7 +751,7 @@ parse_src_operand( uint file; uint swizzle[4]; boolean parsed_swizzle; - struct parsed_src_bracket bracket[2]; + struct parsed_bracket bracket[2]; int parsed_opt_brackets; if (*ctx->cur == '-') { @@ -836,7 +867,7 @@ parse_instruction( inst.Predicate.Negate = 1; } - if (!parse_register_dst( ctx, &file, &index )) + if (!parse_register_1d( ctx, &file, &index )) return FALSE; if (parse_optional_swizzle( ctx, swizzle, &parsed_swizzle )) { @@ -1064,7 +1095,7 @@ static boolean parse_declaration( struct translate_ctx *ctx ) decl.Dim.Index2D = brackets[0].first; } - is_vs_input = (file == TGSI_FILE_INPUT && + is_vs_input = (file == TGSI_FILE_INPUT && ctx->processor == TGSI_PROCESSOR_VERTEX); is_imm_array = (file == TGSI_FILE_IMMEDIATE_ARRAY); diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 184a582cf7a..9df20ea8581 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -76,6 +76,7 @@ enum tgsi_file_type { TGSI_FILE_PREDICATE =8, TGSI_FILE_SYSTEM_VALUE =9, TGSI_FILE_IMMEDIATE_ARRAY =10, + TGSI_FILE_TEMPORARY_ARRAY =11, TGSI_FILE_COUNT /**< how many TGSI_FILE_ types */ }; -- cgit v1.2.3 From b6c360b46c2b2b1548e2aeaa1a1cd201dfcf82ae Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 21 Jun 2010 22:11:07 -0400 Subject: gallium: add a new query to figure out if gpu is finished with all of the previously issues commands --- src/gallium/drivers/softpipe/sp_query.c | 12 ++++++++++-- src/gallium/include/pipe/p_defines.h | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c index 245f1b554c9..9328334c5c4 100644 --- a/src/gallium/drivers/softpipe/sp_query.c +++ b/src/gallium/drivers/softpipe/sp_query.c @@ -58,7 +58,8 @@ softpipe_create_query(struct pipe_context *pipe, assert(type == PIPE_QUERY_OCCLUSION_COUNTER || type == PIPE_QUERY_TIME_ELAPSED || - type == PIPE_QUERY_SO_STATISTICS); + type == PIPE_QUERY_SO_STATISTICS || + type == PIPE_QUERY_GPU_FINISHED); sq = CALLOC_STRUCT( softpipe_query ); sq->type = type; @@ -78,7 +79,7 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q) { struct softpipe_context *softpipe = softpipe_context( pipe ); struct softpipe_query *sq = softpipe_query(q); - + switch (sq->type) { case PIPE_QUERY_OCCLUSION_COUNTER: sq->start = softpipe->occlusion_count; @@ -90,6 +91,8 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q) sq->so.num_primitives_written = 0; sq->so.primitives_storage_needed = 0; break; + case PIPE_QUERY_GPU_FINISHED: + break; default: assert(0); break; @@ -119,6 +122,8 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q) sq->so.primitives_storage_needed = softpipe->so_stats.primitives_storage_needed; break; + case PIPE_QUERY_GPU_FINISHED: + break; default: assert(0); break; @@ -141,6 +146,9 @@ softpipe_get_query_result(struct pipe_context *pipe, memcpy(vresult, &sq->so, sizeof(struct pipe_query_data_so_statistics)); break; + case PIPE_QUERY_GPU_FINISHED: + *result = TRUE; + break; default: *result = sq->end - sq->start; break; diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 85551cac25a..b3a53c262de 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -382,7 +382,8 @@ enum pipe_transfer_usage { #define PIPE_QUERY_PRIMITIVES_EMITTED 2 #define PIPE_QUERY_TIME_ELAPSED 3 #define PIPE_QUERY_SO_STATISTICS 5 -#define PIPE_QUERY_TYPES 6 +#define PIPE_QUERY_GPU_FINISHED 6 +#define PIPE_QUERY_TYPES 7 /** -- cgit v1.2.3 From e433b73dd256577b022bf38c8499c7ea4eda9845 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Tue, 22 Jun 2010 12:14:29 -0400 Subject: gallium: add a timestamp disjoint query allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands. --- src/gallium/auxiliary/draw/draw_gs.c | 2 +- src/gallium/drivers/softpipe/sp_query.c | 14 +++++++++++++- src/gallium/include/pipe/p_defines.h | 8 +++++++- 3 files changed, 21 insertions(+), 3 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c index 881d8fc93ba..79a57a67f3e 100644 --- a/src/gallium/auxiliary/draw/draw_gs.c +++ b/src/gallium/auxiliary/draw/draw_gs.c @@ -39,7 +39,6 @@ #include "util/u_memory.h" #include "util/u_prim.h" -#define MAX_PRIM_VERTICES 6 /* fixme: move it from here */ #define MAX_PRIMITIVES 64 @@ -76,6 +75,7 @@ draw_gs_set_constants(struct draw_context *draw, const void *constants, unsigned size) { + /* noop */ } diff --git a/src/gallium/drivers/softpipe/sp_query.c b/src/gallium/drivers/softpipe/sp_query.c index 9328334c5c4..4ae69c1c2bd 100644 --- a/src/gallium/drivers/softpipe/sp_query.c +++ b/src/gallium/drivers/softpipe/sp_query.c @@ -59,7 +59,8 @@ softpipe_create_query(struct pipe_context *pipe, assert(type == PIPE_QUERY_OCCLUSION_COUNTER || type == PIPE_QUERY_TIME_ELAPSED || type == PIPE_QUERY_SO_STATISTICS || - type == PIPE_QUERY_GPU_FINISHED); + type == PIPE_QUERY_GPU_FINISHED || + type == PIPE_QUERY_TIMESTAMP_DISJOINT); sq = CALLOC_STRUCT( softpipe_query ); sq->type = type; @@ -93,6 +94,7 @@ softpipe_begin_query(struct pipe_context *pipe, struct pipe_query *q) break; case PIPE_QUERY_GPU_FINISHED: break; + case PIPE_QUERY_TIMESTAMP_DISJOINT: default: assert(0); break; @@ -123,6 +125,7 @@ softpipe_end_query(struct pipe_context *pipe, struct pipe_query *q) softpipe->so_stats.primitives_storage_needed; break; case PIPE_QUERY_GPU_FINISHED: + case PIPE_QUERY_TIMESTAMP_DISJOINT: break; default: assert(0); @@ -149,6 +152,15 @@ softpipe_get_query_result(struct pipe_context *pipe, case PIPE_QUERY_GPU_FINISHED: *result = TRUE; break; + case PIPE_QUERY_TIMESTAMP_DISJOINT: { + struct pipe_query_data_timestamp_disjoint td; + /*os_get_time is in microseconds*/ + td.frequency = 1000000; + td.disjoint = FALSE; + memcpy(vresult, &sq->so, + sizeof(struct pipe_query_data_timestamp_disjoint)); + } + break; default: *result = sq->end - sq->start; break; diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index b3a53c262de..3b87d998ceb 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -383,7 +383,8 @@ enum pipe_transfer_usage { #define PIPE_QUERY_TIME_ELAPSED 3 #define PIPE_QUERY_SO_STATISTICS 5 #define PIPE_QUERY_GPU_FINISHED 6 -#define PIPE_QUERY_TYPES 7 +#define PIPE_QUERY_TIMESTAMP_DISJOINT 7 +#define PIPE_QUERY_TYPES 8 /** @@ -508,6 +509,11 @@ struct pipe_query_data_so_statistics uint64_t num_primitives_written; uint64_t primitives_storage_needed; }; +struct pipe_query_data_timestamp_disjoint +{ + uint64_t frequency; + boolean disjoint; +}; #ifdef __cplusplus } -- cgit v1.2.3 From e47d32d721a76b5df3b640ccdc9bad15dffb8450 Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Wed, 23 Jun 2010 23:14:22 +0200 Subject: gallium: Remove drm_api and all references to it --- .../auxiliary/target-helpers/drm_api_compat.h | 46 ---------- src/gallium/drivers/identity/Makefile | 3 +- src/gallium/drivers/identity/SConscript | 1 - src/gallium/drivers/identity/id_drm.c | 93 ------------------- src/gallium/drivers/identity/id_drm.h | 35 ------- src/gallium/drivers/trace/Makefile | 1 - src/gallium/drivers/trace/SConscript | 1 - src/gallium/drivers/trace/tr_drm.c | 101 --------------------- src/gallium/drivers/trace/tr_drm.h | 35 ------- src/gallium/include/state_tracker/drm_api.h | 57 ------------ src/gallium/targets/dri-swrast/swrast_drm_api.c | 1 - 11 files changed, 1 insertion(+), 373 deletions(-) delete mode 100644 src/gallium/auxiliary/target-helpers/drm_api_compat.h delete mode 100644 src/gallium/drivers/identity/id_drm.c delete mode 100644 src/gallium/drivers/identity/id_drm.h delete mode 100644 src/gallium/drivers/trace/tr_drm.c delete mode 100644 src/gallium/drivers/trace/tr_drm.h delete mode 100644 src/gallium/include/state_tracker/drm_api.h (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/target-helpers/drm_api_compat.h b/src/gallium/auxiliary/target-helpers/drm_api_compat.h deleted file mode 100644 index 324c6f2ba94..00000000000 --- a/src/gallium/auxiliary/target-helpers/drm_api_compat.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * This file contain a small backwards compatible shim between - * the old depricated drm_api and the drm_driver interface. - */ - -#ifndef DRM_API_COMPAT_H -#define DRM_API_COMPAT_H - -#ifdef _DRM_API_H_ -#error "Included drm_api.h before drm_api_compat.h" -#endif - -#include "state_tracker/drm_driver.h" - -/* - * XXX Hack, can't include both drm_api and drm_driver. Due to name - * collition of winsys_handle, just use a define to rename it. - */ -#define winsys_handle HACK_winsys_handle -#include "state_tracker/drm_api.h" -#undef winsys_handle - -static INLINE struct pipe_screen * -drm_api_compat_create_screen(int fd) -{ - static struct drm_api *api; - if (!api) - api = drm_api_create(); - - if (!api) - return NULL; - - return api->create_screen(api, fd); -} - -/** - * Instanciate a drm_driver descriptor. - */ -#define DRM_API_COMPAT_STRUCT(name_str, driver_name_str) \ -struct drm_driver_descriptor driver_descriptor = { \ - .name = name_str, \ - .driver_name = driver_name_str, \ - .create_screen = drm_api_compat_create_screen, \ -}; - -#endif diff --git a/src/gallium/drivers/identity/Makefile b/src/gallium/drivers/identity/Makefile index e32b9102e59..74692d97610 100644 --- a/src/gallium/drivers/identity/Makefile +++ b/src/gallium/drivers/identity/Makefile @@ -6,7 +6,6 @@ LIBNAME = identity C_SOURCES = \ id_objects.c \ id_context.c \ - id_screen.c \ - id_drm.c + id_screen.c include ../../Makefile.template diff --git a/src/gallium/drivers/identity/SConscript b/src/gallium/drivers/identity/SConscript index 2a68891c284..b364e0acc84 100644 --- a/src/gallium/drivers/identity/SConscript +++ b/src/gallium/drivers/identity/SConscript @@ -6,7 +6,6 @@ identity = env.ConvenienceLibrary( target = 'identity', source = [ 'id_context.c', - 'id_drm.c', 'id_objects.c', 'id_screen.c', ]) diff --git a/src/gallium/drivers/identity/id_drm.c b/src/gallium/drivers/identity/id_drm.c deleted file mode 100644 index 15d01519f80..00000000000 --- a/src/gallium/drivers/identity/id_drm.c +++ /dev/null @@ -1,93 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#include "state_tracker/drm_api.h" - -#include "util/u_memory.h" -#include "id_drm.h" -#include "id_screen.h" -#include "id_public.h" - -struct identity_drm_api -{ - struct drm_api base; - - struct drm_api *api; -}; - -static INLINE struct identity_drm_api * -identity_drm_api(struct drm_api *_api) -{ - return (struct identity_drm_api *)_api; -} - -static struct pipe_screen * -identity_drm_create_screen(struct drm_api *_api, int fd) -{ - struct identity_drm_api *id_api = identity_drm_api(_api); - struct drm_api *api = id_api->api; - struct pipe_screen *screen; - - screen = api->create_screen(api, fd); - - return identity_screen_create(screen); -} - -static void -identity_drm_destroy(struct drm_api *_api) -{ - struct identity_drm_api *id_api = identity_drm_api(_api); - struct drm_api *api = id_api->api; - api->destroy(api); - - FREE(id_api); -} - -struct drm_api * -identity_drm_create(struct drm_api *api) -{ - struct identity_drm_api *id_api; - - if (!api) - goto error; - - id_api = CALLOC_STRUCT(identity_drm_api); - - if (!id_api) - goto error; - - id_api->base.name = api->name; - id_api->base.driver_name = api->driver_name; - id_api->base.create_screen = identity_drm_create_screen; - id_api->base.destroy = identity_drm_destroy; - id_api->api = api; - - return &id_api->base; - -error: - return api; -} diff --git a/src/gallium/drivers/identity/id_drm.h b/src/gallium/drivers/identity/id_drm.h deleted file mode 100644 index cf2ad2ce07f..00000000000 --- a/src/gallium/drivers/identity/id_drm.h +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef ID_DRM_H -#define ID_DRM_H - -struct drm_api; - -struct drm_api* identity_drm_create(struct drm_api *api); - -#endif /* ID_DRM_H */ diff --git a/src/gallium/drivers/trace/Makefile b/src/gallium/drivers/trace/Makefile index 1b0c087a2a4..99e5fb81c22 100644 --- a/src/gallium/drivers/trace/Makefile +++ b/src/gallium/drivers/trace/Makefile @@ -8,7 +8,6 @@ C_SOURCES = \ tr_dump.c \ tr_dump_state.c \ tr_screen.c \ - tr_drm.c \ tr_texture.c include ../../Makefile.template diff --git a/src/gallium/drivers/trace/SConscript b/src/gallium/drivers/trace/SConscript index 0dc43a9ec41..06b0c4863a4 100644 --- a/src/gallium/drivers/trace/SConscript +++ b/src/gallium/drivers/trace/SConscript @@ -6,7 +6,6 @@ trace = env.ConvenienceLibrary( target = 'trace', source = [ 'tr_context.c', - 'tr_drm.c', 'tr_dump.c', 'tr_dump_state.c', 'tr_screen.c', diff --git a/src/gallium/drivers/trace/tr_drm.c b/src/gallium/drivers/trace/tr_drm.c deleted file mode 100644 index e6850332121..00000000000 --- a/src/gallium/drivers/trace/tr_drm.c +++ /dev/null @@ -1,101 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#include "state_tracker/drm_api.h" - -#include "util/u_memory.h" -#include "rbug/rbug_public.h" -#include "tr_drm.h" -#include "tr_screen.h" -#include "tr_public.h" - -struct trace_drm_api -{ - struct drm_api base; - - struct drm_api *api; -}; - -static INLINE struct trace_drm_api * -trace_drm_api(struct drm_api *_api) -{ - return (struct trace_drm_api *)_api; -} - -static struct pipe_screen * -trace_drm_create_screen(struct drm_api *_api, int fd) -{ - struct trace_drm_api *tr_api = trace_drm_api(_api); - struct drm_api *api = tr_api->api; - struct pipe_screen *screen; - - /* TODO trace call */ - - screen = api->create_screen(api, fd); - - return trace_screen_create(rbug_screen_create(screen)); -} - -static void -trace_drm_destroy(struct drm_api *_api) -{ - struct trace_drm_api *tr_api = trace_drm_api(_api); - struct drm_api *api = tr_api->api; - - if (api->destroy) - api->destroy(api); - - FREE(tr_api); -} - -struct drm_api * -trace_drm_create(struct drm_api *api) -{ - struct trace_drm_api *tr_api; - - if (!api) - goto error; - - if (!trace_enabled() && !rbug_enabled()) - goto error; - - tr_api = CALLOC_STRUCT(trace_drm_api); - - if (!tr_api) - goto error; - - tr_api->base.name = api->name; - tr_api->base.driver_name = api->driver_name; - tr_api->base.create_screen = trace_drm_create_screen; - tr_api->base.destroy = trace_drm_destroy; - tr_api->api = api; - - return &tr_api->base; - -error: - return api; -} diff --git a/src/gallium/drivers/trace/tr_drm.h b/src/gallium/drivers/trace/tr_drm.h deleted file mode 100644 index 845c66a32aa..00000000000 --- a/src/gallium/drivers/trace/tr_drm.h +++ /dev/null @@ -1,35 +0,0 @@ -/************************************************************************** - * - * Copyright 2009 VMware, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sub license, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial portions - * of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR - * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - **************************************************************************/ - -#ifndef TR_DRM_H -#define TR_DRM_H - -struct drm_api; - -struct drm_api* trace_drm_create(struct drm_api *api); - -#endif /* ID_DRM_H */ diff --git a/src/gallium/include/state_tracker/drm_api.h b/src/gallium/include/state_tracker/drm_api.h deleted file mode 100644 index 4572c7e0423..00000000000 --- a/src/gallium/include/state_tracker/drm_api.h +++ /dev/null @@ -1,57 +0,0 @@ - -#ifndef _DRM_API_H_ -#define _DRM_API_H_ - -#include "pipe/p_compiler.h" - -struct pipe_screen; -struct pipe_winsys; -struct pipe_context; -struct pipe_resource; - -#define DRM_API_HANDLE_TYPE_SHARED 0 -#define DRM_API_HANDLE_TYPE_KMS 1 - -/** - * For use with pipe_screen::{texture_from_handle|texture_get_handle}. - */ -struct winsys_handle -{ - /** - * Unused for texture_from_handle, always - * DRM_API_HANDLE_TYPE_SHARED. Input to texture_get_handle, - * use TEXTURE_USAGE to select handle for kms or ipc. - */ - unsigned type; - /** - * Input to texture_from_handle. - * Output for texture_get_handle. - */ - unsigned handle; - /** - * Input to texture_from_handle. - * Output for texture_get_handle. - */ - unsigned stride; -}; - -struct drm_api -{ - void (*destroy)(struct drm_api *api); - - const char *name; - - /** - * Kernel driver name, as accepted by drmOpenByName. - */ - const char *driver_name; - - /** - * Create a pipe srcreen. - */ - struct pipe_screen* (*create_screen)(struct drm_api *api, int drm_fd); -}; - -extern struct drm_api * drm_api_create(void); - -#endif diff --git a/src/gallium/targets/dri-swrast/swrast_drm_api.c b/src/gallium/targets/dri-swrast/swrast_drm_api.c index 84142be80c8..ddf78406d53 100644 --- a/src/gallium/targets/dri-swrast/swrast_drm_api.c +++ b/src/gallium/targets/dri-swrast/swrast_drm_api.c @@ -28,7 +28,6 @@ #include "pipe/p_compiler.h" #include "util/u_memory.h" -#include "state_tracker/drm_api.h" #include "state_tracker/sw_winsys.h" #include "dri_sw_winsys.h" #include "trace/tr_public.h" -- cgit v1.2.3 From fd7de146f6c5989ab3a8459d600ca3386571b31f Mon Sep 17 00:00:00 2001 From: nobled Date: Wed, 23 Jun 2010 21:31:28 -0400 Subject: pipe: Add PIPE_OS_HURD One tiny step toward porting Gallium to the GNU/Hurd kernel (and fixing Debian bug #585618). Signed-off-by: Corbin Simpson --- src/gallium/include/pipe/p_config.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index b81702a4fac..c6ea198dbb4 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -146,6 +146,11 @@ #define PIPE_OS_UNIX #endif +#if defined(__GNU__) +#define PIPE_OS_HURD +#define PIPE_OS_UNIX +#endif + #if defined(__sun) #define PIPE_OS_SOLARIS #define PIPE_OS_UNIX -- cgit v1.2.3 From da7bd6a90e1fee5c16327338fd251c0f6be34e36 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Mon, 28 Jun 2010 17:31:21 -0400 Subject: mesa: initial support for ARB_geometry_shader4 laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left. --- src/gallium/drivers/llvmpipe/lp_screen.c | 2 + src/gallium/drivers/r300/r300_screen.c | 2 + src/gallium/drivers/softpipe/sp_screen.c | 3 + src/gallium/include/pipe/p_defines.h | 4 +- src/glsl/apps/compile.c | 4 +- src/glsl/cl/sl_cl_parse.c | 35 +- src/mapi/glapi/gen/ARB_geometry_shader4.xml | 57 + src/mapi/glapi/gen/Makefile | 3 +- src/mapi/glapi/gen/gl_API.xml | 2 + src/mapi/glapi/glapi_sparc.S | 158 +- src/mapi/glapi/glapi_x86-64.S | 2784 ++++++------ src/mapi/glapi/glapi_x86.S | 166 +- src/mapi/glapi/glapidispatch.h | 578 +-- src/mapi/glapi/glapioffsets.h | 528 +-- src/mapi/glapi/glapitable.h | 516 +-- src/mapi/glapi/glapitemp.h | 302 +- src/mapi/glapi/glprocs.h | 1294 +++--- src/mesa/drivers/glslcompiler/glslcompiler.c | 22 +- src/mesa/main/api_exec.c | 6 + src/mesa/main/config.h | 9 + src/mesa/main/context.c | 20 +- src/mesa/main/enums.c | 5079 +++++++++++----------- src/mesa/main/extensions.c | 4 + src/mesa/main/fbobject.c | 22 + src/mesa/main/fbobject.h | 8 + src/mesa/main/get.c | 21 + src/mesa/main/mfeatures.h | 1 + src/mesa/main/mtypes.h | 131 +- src/mesa/main/remap_helper.h | 3211 +++++++------- src/mesa/main/shaderapi.c | 76 + src/mesa/main/shaderapi.h | 3 + src/mesa/main/shaderobj.c | 4 +- src/mesa/main/state.c | 30 +- src/mesa/main/uniforms.c | 5 + src/mesa/program/prog_instruction.c | 2 + src/mesa/program/prog_instruction.h | 2 + src/mesa/program/prog_print.c | 12 +- src/mesa/program/prog_uniform.h | 1 + src/mesa/program/program.c | 54 +- src/mesa/program/program.h | 20 + src/mesa/slang/library/Makefile | 5 +- src/mesa/slang/library/SConscript | 14 +- src/mesa/slang/library/slang_geometry_builtin.gc | 56 + src/mesa/slang/slang_builtin.c | 54 +- src/mesa/slang/slang_builtin.h | 3 + src/mesa/slang/slang_codegen.c | 50 +- src/mesa/slang/slang_compile.c | 84 +- src/mesa/slang/slang_compile.h | 4 +- src/mesa/slang/slang_emit.c | 11 +- src/mesa/slang/slang_ir.c | 2 + src/mesa/slang/slang_ir.h | 5 +- src/mesa/slang/slang_link.c | 134 +- src/mesa/slang/slang_typeinfo.h | 6 + src/mesa/state_tracker/st_atom.c | 4 + src/mesa/state_tracker/st_atom.h | 2 + src/mesa/state_tracker/st_atom_constbuf.c | 24 +- src/mesa/state_tracker/st_atom_shader.c | 42 + src/mesa/state_tracker/st_cb_program.c | 48 + src/mesa/state_tracker/st_context.h | 4 +- src/mesa/state_tracker/st_extensions.c | 4 + src/mesa/state_tracker/st_mesa_to_tgsi.c | 18 + src/mesa/state_tracker/st_program.c | 246 ++ src/mesa/state_tracker/st_program.h | 48 +- 63 files changed, 9007 insertions(+), 7042 deletions(-) create mode 100644 src/mapi/glapi/gen/ARB_geometry_shader4.xml create mode 100644 src/mesa/slang/library/slang_geometry_builtin.gc (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 6432cea862d..49b13f464a7 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -166,6 +166,8 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return LP_MAX_TGSI_PREDS; case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: return 1; + case PIPE_CAP_GEOMETRY_SHADER4: + return 1; default: assert(0); return 0; diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 5bba55906c3..cad99ca8453 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -207,6 +207,8 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) return 1; /* XXX guessed */ case PIPE_CAP_MAX_VS_PREDS: return is_r500 ? 4 : 0; /* XXX guessed. */ + case PIPE_CAP_GEOMETRY_SHADER4: + return 0; default: fprintf(stderr, "r300: Implementation error: Bad param %d\n", diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index fc57d3eb611..93af6ee5b02 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -149,6 +149,9 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: return 0; + + case PIPE_CAP_GEOMETRY_SHADER4: + return 1; default: return 0; } diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 3b87d998ceb..aa39fdec0d7 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -489,7 +489,9 @@ enum pipe_cap { PIPE_CAP_MAX_VS_CONSTS, PIPE_CAP_MAX_VS_TEMPS, PIPE_CAP_MAX_VS_ADDRS, - PIPE_CAP_MAX_VS_PREDS + PIPE_CAP_MAX_VS_PREDS, + + PIPE_CAP_GEOMETRY_SHADER4 }; diff --git a/src/glsl/apps/compile.c b/src/glsl/apps/compile.c index 21c2b7617e9..5073b0da827 100644 --- a/src/glsl/apps/compile.c +++ b/src/glsl/apps/compile.c @@ -37,7 +37,7 @@ static void usage(void) { printf("Usage:\n"); - printf(" compile fragment|vertex \n"); + printf(" compile fragment|vertex|geometry \n"); } int @@ -65,6 +65,8 @@ main(int argc, shader_type = 1; } else if (!strcmp(argv[1], "vertex")) { shader_type = 2; + } else if (!strcmp(argv[1], "geometry")) { + shader_type = 3; } else { usage(); return 1; diff --git a/src/glsl/cl/sl_cl_parse.c b/src/glsl/cl/sl_cl_parse.c index 663436dde99..65df6c38ae7 100644 --- a/src/glsl/cl/sl_cl_parse.c +++ b/src/glsl/cl/sl_cl_parse.c @@ -246,6 +246,7 @@ #define PARAM_QUALIFIER_IN 0 #define PARAM_QUALIFIER_OUT 1 #define PARAM_QUALIFIER_INOUT 2 +#define PARAM_QUALIFIER_NONE 3 /* function parameter */ #define PARAMETER_NONE 0 @@ -836,7 +837,6 @@ _parse_storage_qualifier(struct parse_context *ctx, return 0; } - static int _parse_struct_declarator(struct parse_context *ctx, struct parse_state *ps) @@ -1114,6 +1114,21 @@ _parse_type_specifier(struct parse_context *ctx, return 0; } +static int +_parse_parameter_qualifier(struct parse_context *ctx, + struct parse_state *ps) +{ + unsigned int e = _emit(ctx, &ps->out, PARAM_QUALIFIER_NONE); + + if (_parse_id(ctx, ctx->dict.in, ps) == 0) { + _update(ctx, e, PARAM_QUALIFIER_IN); + } else if (_parse_id(ctx, ctx->dict.out, ps) == 0) { + _update(ctx, e, PARAM_QUALIFIER_OUT); + } else if (_parse_id(ctx, ctx->dict.inout, ps) == 0) { + _update(ctx, e, PARAM_QUALIFIER_INOUT); + } + return 0; +} static int _parse_fully_specified_type(struct parse_context *ctx, @@ -1136,6 +1151,7 @@ _parse_fully_specified_type(struct parse_context *ctx, if (_parse_storage_qualifier(ctx, &p)) { _emit(ctx, &p.out, TYPE_QUALIFIER_NONE); } + _parse_parameter_qualifier(ctx, &p); if (_parse_precision(ctx, &p)) { _emit(ctx, &p.out, PRECISION_DEFAULT); } @@ -1167,23 +1183,6 @@ _parse_function_header(struct parse_context *ctx, } -static int -_parse_parameter_qualifier(struct parse_context *ctx, - struct parse_state *ps) -{ - unsigned int e = _emit(ctx, &ps->out, PARAM_QUALIFIER_IN); - - if (_parse_id(ctx, ctx->dict.out, ps) == 0) { - _update(ctx, e, PARAM_QUALIFIER_OUT); - } else if (_parse_id(ctx, ctx->dict.inout, ps) == 0) { - _update(ctx, e, PARAM_QUALIFIER_INOUT); - } else { - _parse_id(ctx, ctx->dict.in, ps); - } - return 0; -} - - static int _parse_function_identifier(struct parse_context *ctx, struct parse_state *ps) diff --git a/src/mapi/glapi/gen/ARB_geometry_shader4.xml b/src/mapi/glapi/gen/ARB_geometry_shader4.xml new file mode 100644 index 00000000000..ca9a101a0ee --- /dev/null +++ b/src/mapi/glapi/gen/ARB_geometry_shader4.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mapi/glapi/gen/Makefile b/src/mapi/glapi/gen/Makefile index daa0a48ddae..586c302f180 100644 --- a/src/mapi/glapi/gen/Makefile +++ b/src/mapi/glapi/gen/Makefile @@ -37,7 +37,7 @@ MESA_OUTPUTS = \ ###################################################################### XORG_GLX_DIR = $(XORG_BASE)/glx -XORG_GLAPI_DIR = $(XORG_BASE)/glx/glapi +XORG_GLAPI_DIR = $(XORG_BASE)/glx XORG_GLAPI_FILES = \ $(XORG_GLAPI_DIR)/glapi.h \ @@ -76,6 +76,7 @@ API_XML = \ ARB_draw_elements_base_vertex.xml \ ARB_draw_instanced.xml \ ARB_framebuffer_object.xml \ + ARB_geometry_shader4.xml \ ARB_map_buffer_range.xml \ ARB_seamless_cube_map.xml \ ARB_sync.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 31df7a5f801..71a1a8c0132 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -7971,6 +7971,8 @@ + + diff --git a/src/mapi/glapi/glapi_sparc.S b/src/mapi/glapi/glapi_sparc.S index e9f887b78f2..c353ece567f 100644 --- a/src/mapi/glapi/glapi_sparc.S +++ b/src/mapi/glapi/glapi_sparc.S @@ -761,6 +761,9 @@ gl_dispatch_functions_start: GL_STUB(glGetAttribLocationARB, _gloffset_GetAttribLocationARB) GL_STUB(glDrawBuffersARB, _gloffset_DrawBuffersARB) GL_STUB(glRenderbufferStorageMultisample, _gloffset_RenderbufferStorageMultisample) + GL_STUB(glFramebufferTextureARB, _gloffset_FramebufferTextureARB) + GL_STUB(glFramebufferTextureFaceARB, _gloffset_FramebufferTextureFaceARB) + GL_STUB(glProgramParameteriARB, _gloffset_ProgramParameteriARB) GL_STUB(glFlushMappedBufferRange, _gloffset_FlushMappedBufferRange) GL_STUB(glMapBufferRange, _gloffset_MapBufferRange) GL_STUB(glBindVertexArray, _gloffset_BindVertexArray) @@ -776,23 +779,30 @@ gl_dispatch_functions_start: GL_STUB(glDrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex) GL_STUB(glDrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex) GL_STUB(glMultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex) + GL_STUB(glBindTransformFeedback, _gloffset_BindTransformFeedback) + GL_STUB(glDeleteTransformFeedbacks, _gloffset_DeleteTransformFeedbacks) + GL_STUB(glDrawTransformFeedback, _gloffset_DrawTransformFeedback) + GL_STUB(glGenTransformFeedbacks, _gloffset_GenTransformFeedbacks) + GL_STUB(glIsTransformFeedback, _gloffset_IsTransformFeedback) + GL_STUB(glPauseTransformFeedback, _gloffset_PauseTransformFeedback) + GL_STUB(glResumeTransformFeedback, _gloffset_ResumeTransformFeedback) GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT) - GL_STUB(gl_dispatch_stub_580, _gloffset_GetPixelTexGenParameterfvSGIS) - HIDDEN(gl_dispatch_stub_580) - GL_STUB(gl_dispatch_stub_581, _gloffset_GetPixelTexGenParameterivSGIS) - HIDDEN(gl_dispatch_stub_581) - GL_STUB(gl_dispatch_stub_582, _gloffset_PixelTexGenParameterfSGIS) - HIDDEN(gl_dispatch_stub_582) - GL_STUB(gl_dispatch_stub_583, _gloffset_PixelTexGenParameterfvSGIS) - HIDDEN(gl_dispatch_stub_583) - GL_STUB(gl_dispatch_stub_584, _gloffset_PixelTexGenParameteriSGIS) - HIDDEN(gl_dispatch_stub_584) - GL_STUB(gl_dispatch_stub_585, _gloffset_PixelTexGenParameterivSGIS) - HIDDEN(gl_dispatch_stub_585) - GL_STUB(gl_dispatch_stub_586, _gloffset_SampleMaskSGIS) - HIDDEN(gl_dispatch_stub_586) - GL_STUB(gl_dispatch_stub_587, _gloffset_SamplePatternSGIS) - HIDDEN(gl_dispatch_stub_587) + GL_STUB(gl_dispatch_stub_590, _gloffset_GetPixelTexGenParameterfvSGIS) + HIDDEN(gl_dispatch_stub_590) + GL_STUB(gl_dispatch_stub_591, _gloffset_GetPixelTexGenParameterivSGIS) + HIDDEN(gl_dispatch_stub_591) + GL_STUB(gl_dispatch_stub_592, _gloffset_PixelTexGenParameterfSGIS) + HIDDEN(gl_dispatch_stub_592) + GL_STUB(gl_dispatch_stub_593, _gloffset_PixelTexGenParameterfvSGIS) + HIDDEN(gl_dispatch_stub_593) + GL_STUB(gl_dispatch_stub_594, _gloffset_PixelTexGenParameteriSGIS) + HIDDEN(gl_dispatch_stub_594) + GL_STUB(gl_dispatch_stub_595, _gloffset_PixelTexGenParameterivSGIS) + HIDDEN(gl_dispatch_stub_595) + GL_STUB(gl_dispatch_stub_596, _gloffset_SampleMaskSGIS) + HIDDEN(gl_dispatch_stub_596) + GL_STUB(gl_dispatch_stub_597, _gloffset_SamplePatternSGIS) + HIDDEN(gl_dispatch_stub_597) GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT) GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT) GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT) @@ -803,10 +813,10 @@ gl_dispatch_functions_start: GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT) GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT) GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT) - GL_STUB(gl_dispatch_stub_598, _gloffset_CullParameterdvEXT) - HIDDEN(gl_dispatch_stub_598) - GL_STUB(gl_dispatch_stub_599, _gloffset_CullParameterfvEXT) - HIDDEN(gl_dispatch_stub_599) + GL_STUB(gl_dispatch_stub_608, _gloffset_CullParameterdvEXT) + HIDDEN(gl_dispatch_stub_608) + GL_STUB(gl_dispatch_stub_609, _gloffset_CullParameterfvEXT) + HIDDEN(gl_dispatch_stub_609) GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT) GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT) GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT) @@ -831,8 +841,8 @@ gl_dispatch_functions_start: GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT) GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT) GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT) - GL_STUB(gl_dispatch_stub_624, _gloffset_PixelTexGenSGIX) - HIDDEN(gl_dispatch_stub_624) + GL_STUB(gl_dispatch_stub_634, _gloffset_PixelTexGenSGIX) + HIDDEN(gl_dispatch_stub_634) GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT) GL_STUB(glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV) GL_STUB(glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV) @@ -874,24 +884,24 @@ gl_dispatch_functions_start: GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA) GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA) GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA) - GL_STUB(gl_dispatch_stub_666, _gloffset_MultiModeDrawArraysIBM) - HIDDEN(gl_dispatch_stub_666) - GL_STUB(gl_dispatch_stub_667, _gloffset_MultiModeDrawElementsIBM) - HIDDEN(gl_dispatch_stub_667) - GL_STUB(gl_dispatch_stub_668, _gloffset_DeleteFencesNV) - HIDDEN(gl_dispatch_stub_668) - GL_STUB(gl_dispatch_stub_669, _gloffset_FinishFenceNV) - HIDDEN(gl_dispatch_stub_669) - GL_STUB(gl_dispatch_stub_670, _gloffset_GenFencesNV) - HIDDEN(gl_dispatch_stub_670) - GL_STUB(gl_dispatch_stub_671, _gloffset_GetFenceivNV) - HIDDEN(gl_dispatch_stub_671) - GL_STUB(gl_dispatch_stub_672, _gloffset_IsFenceNV) - HIDDEN(gl_dispatch_stub_672) - GL_STUB(gl_dispatch_stub_673, _gloffset_SetFenceNV) - HIDDEN(gl_dispatch_stub_673) - GL_STUB(gl_dispatch_stub_674, _gloffset_TestFenceNV) - HIDDEN(gl_dispatch_stub_674) + GL_STUB(gl_dispatch_stub_676, _gloffset_MultiModeDrawArraysIBM) + HIDDEN(gl_dispatch_stub_676) + GL_STUB(gl_dispatch_stub_677, _gloffset_MultiModeDrawElementsIBM) + HIDDEN(gl_dispatch_stub_677) + GL_STUB(gl_dispatch_stub_678, _gloffset_DeleteFencesNV) + HIDDEN(gl_dispatch_stub_678) + GL_STUB(gl_dispatch_stub_679, _gloffset_FinishFenceNV) + HIDDEN(gl_dispatch_stub_679) + GL_STUB(gl_dispatch_stub_680, _gloffset_GenFencesNV) + HIDDEN(gl_dispatch_stub_680) + GL_STUB(gl_dispatch_stub_681, _gloffset_GetFenceivNV) + HIDDEN(gl_dispatch_stub_681) + GL_STUB(gl_dispatch_stub_682, _gloffset_IsFenceNV) + HIDDEN(gl_dispatch_stub_682) + GL_STUB(gl_dispatch_stub_683, _gloffset_SetFenceNV) + HIDDEN(gl_dispatch_stub_683) + GL_STUB(gl_dispatch_stub_684, _gloffset_TestFenceNV) + HIDDEN(gl_dispatch_stub_684) GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV) GL_STUB(glBindProgramNV, _gloffset_BindProgramNV) GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV) @@ -972,26 +982,26 @@ gl_dispatch_functions_start: GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI) GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV) GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV) - GL_STUB(gl_dispatch_stub_755, _gloffset_ActiveStencilFaceEXT) - HIDDEN(gl_dispatch_stub_755) - GL_STUB(gl_dispatch_stub_756, _gloffset_BindVertexArrayAPPLE) - HIDDEN(gl_dispatch_stub_756) - GL_STUB(gl_dispatch_stub_757, _gloffset_DeleteVertexArraysAPPLE) - HIDDEN(gl_dispatch_stub_757) - GL_STUB(gl_dispatch_stub_758, _gloffset_GenVertexArraysAPPLE) - HIDDEN(gl_dispatch_stub_758) - GL_STUB(gl_dispatch_stub_759, _gloffset_IsVertexArrayAPPLE) - HIDDEN(gl_dispatch_stub_759) + GL_STUB(gl_dispatch_stub_765, _gloffset_ActiveStencilFaceEXT) + HIDDEN(gl_dispatch_stub_765) + GL_STUB(gl_dispatch_stub_766, _gloffset_BindVertexArrayAPPLE) + HIDDEN(gl_dispatch_stub_766) + GL_STUB(gl_dispatch_stub_767, _gloffset_DeleteVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_767) + GL_STUB(gl_dispatch_stub_768, _gloffset_GenVertexArraysAPPLE) + HIDDEN(gl_dispatch_stub_768) + GL_STUB(gl_dispatch_stub_769, _gloffset_IsVertexArrayAPPLE) + HIDDEN(gl_dispatch_stub_769) GL_STUB(glGetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV) GL_STUB(glGetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV) GL_STUB(glProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV) GL_STUB(glProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV) GL_STUB(glProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV) GL_STUB(glProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV) - GL_STUB(gl_dispatch_stub_766, _gloffset_DepthBoundsEXT) - HIDDEN(gl_dispatch_stub_766) - GL_STUB(gl_dispatch_stub_767, _gloffset_BlendEquationSeparateEXT) - HIDDEN(gl_dispatch_stub_767) + GL_STUB(gl_dispatch_stub_776, _gloffset_DepthBoundsEXT) + HIDDEN(gl_dispatch_stub_776) + GL_STUB(gl_dispatch_stub_777, _gloffset_BlendEquationSeparateEXT) + HIDDEN(gl_dispatch_stub_777) GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT) GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT) GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT) @@ -1009,12 +1019,12 @@ gl_dispatch_functions_start: GL_STUB(glIsFramebufferEXT, _gloffset_IsFramebufferEXT) GL_STUB(glIsRenderbufferEXT, _gloffset_IsRenderbufferEXT) GL_STUB(glRenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT) - GL_STUB(gl_dispatch_stub_785, _gloffset_BlitFramebufferEXT) - HIDDEN(gl_dispatch_stub_785) - GL_STUB(gl_dispatch_stub_786, _gloffset_BufferParameteriAPPLE) - HIDDEN(gl_dispatch_stub_786) - GL_STUB(gl_dispatch_stub_787, _gloffset_FlushMappedBufferRangeAPPLE) - HIDDEN(gl_dispatch_stub_787) + GL_STUB(gl_dispatch_stub_795, _gloffset_BlitFramebufferEXT) + HIDDEN(gl_dispatch_stub_795) + GL_STUB(gl_dispatch_stub_796, _gloffset_BufferParameteriAPPLE) + HIDDEN(gl_dispatch_stub_796) + GL_STUB(gl_dispatch_stub_797, _gloffset_FlushMappedBufferRangeAPPLE) + HIDDEN(gl_dispatch_stub_797) GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT) GL_STUB(glColorMaskIndexedEXT, _gloffset_ColorMaskIndexedEXT) GL_STUB(glDisableIndexedEXT, _gloffset_DisableIndexedEXT) @@ -1032,23 +1042,23 @@ gl_dispatch_functions_start: GL_STUB(glGetTransformFeedbackVaryingEXT, _gloffset_GetTransformFeedbackVaryingEXT) GL_STUB(glTransformFeedbackVaryingsEXT, _gloffset_TransformFeedbackVaryingsEXT) GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT) - GL_STUB(gl_dispatch_stub_805, _gloffset_GetTexParameterPointervAPPLE) - HIDDEN(gl_dispatch_stub_805) - GL_STUB(gl_dispatch_stub_806, _gloffset_TextureRangeAPPLE) - HIDDEN(gl_dispatch_stub_806) + GL_STUB(gl_dispatch_stub_815, _gloffset_GetTexParameterPointervAPPLE) + HIDDEN(gl_dispatch_stub_815) + GL_STUB(gl_dispatch_stub_816, _gloffset_TextureRangeAPPLE) + HIDDEN(gl_dispatch_stub_816) GL_STUB(glGetObjectParameterivAPPLE, _gloffset_GetObjectParameterivAPPLE) GL_STUB(glObjectPurgeableAPPLE, _gloffset_ObjectPurgeableAPPLE) GL_STUB(glObjectUnpurgeableAPPLE, _gloffset_ObjectUnpurgeableAPPLE) - GL_STUB(gl_dispatch_stub_810, _gloffset_StencilFuncSeparateATI) - HIDDEN(gl_dispatch_stub_810) - GL_STUB(gl_dispatch_stub_811, _gloffset_ProgramEnvParameters4fvEXT) - HIDDEN(gl_dispatch_stub_811) - GL_STUB(gl_dispatch_stub_812, _gloffset_ProgramLocalParameters4fvEXT) - HIDDEN(gl_dispatch_stub_812) - GL_STUB(gl_dispatch_stub_813, _gloffset_GetQueryObjecti64vEXT) - HIDDEN(gl_dispatch_stub_813) - GL_STUB(gl_dispatch_stub_814, _gloffset_GetQueryObjectui64vEXT) - HIDDEN(gl_dispatch_stub_814) + GL_STUB(gl_dispatch_stub_820, _gloffset_StencilFuncSeparateATI) + HIDDEN(gl_dispatch_stub_820) + GL_STUB(gl_dispatch_stub_821, _gloffset_ProgramEnvParameters4fvEXT) + HIDDEN(gl_dispatch_stub_821) + GL_STUB(gl_dispatch_stub_822, _gloffset_ProgramLocalParameters4fvEXT) + HIDDEN(gl_dispatch_stub_822) + GL_STUB(gl_dispatch_stub_823, _gloffset_GetQueryObjecti64vEXT) + HIDDEN(gl_dispatch_stub_823) + GL_STUB(gl_dispatch_stub_824, _gloffset_GetQueryObjectui64vEXT) + HIDDEN(gl_dispatch_stub_824) GL_STUB(glEGLImageTargetRenderbufferStorageOES, _gloffset_EGLImageTargetRenderbufferStorageOES) GL_STUB(glEGLImageTargetTexture2DOES, _gloffset_EGLImageTargetTexture2DOES) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) diff --git a/src/mapi/glapi/glapi_x86-64.S b/src/mapi/glapi/glapi_x86-64.S index 96930162175..8cfd815a500 100644 --- a/src/mapi/glapi/glapi_x86-64.S +++ b/src/mapi/glapi/glapi_x86-64.S @@ -21247,9 +21247,9 @@ GL_PREFIX(RenderbufferStorageMultisample): .size GL_PREFIX(RenderbufferStorageMultisample), .-GL_PREFIX(RenderbufferStorageMultisample) .p2align 4,,15 - .globl GL_PREFIX(FlushMappedBufferRange) - .type GL_PREFIX(FlushMappedBufferRange), @function -GL_PREFIX(FlushMappedBufferRange): + .globl GL_PREFIX(FramebufferTextureARB) + .type GL_PREFIX(FramebufferTextureARB), @function +GL_PREFIX(FramebufferTextureARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4512(%rax), %r11 @@ -21258,7 +21258,11 @@ GL_PREFIX(FlushMappedBufferRange): 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 @@ -21274,12 +21278,135 @@ GL_PREFIX(FlushMappedBufferRange): 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 4512(%rax), %r11 jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(FramebufferTextureARB), .-GL_PREFIX(FramebufferTextureARB) + + .p2align 4,,15 + .globl GL_PREFIX(FramebufferTextureFaceARB) + .type GL_PREFIX(FramebufferTextureFaceARB), @function +GL_PREFIX(FramebufferTextureFaceARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4520(%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 4520(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4520(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + call _glapi_get_dispatch + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi + movq 4520(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(FramebufferTextureFaceARB), .-GL_PREFIX(FramebufferTextureFaceARB) + + .p2align 4,,15 + .globl GL_PREFIX(ProgramParameteriARB) + .type GL_PREFIX(ProgramParameteriARB), @function +GL_PREFIX(ProgramParameteriARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4528(%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 4528(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4528(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4528(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ProgramParameteriARB), .-GL_PREFIX(ProgramParameteriARB) + + .p2align 4,,15 + .globl GL_PREFIX(FlushMappedBufferRange) + .type GL_PREFIX(FlushMappedBufferRange), @function +GL_PREFIX(FlushMappedBufferRange): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4536(%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 4536(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4536(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4536(%rax), %r11 + jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushMappedBufferRange), .-GL_PREFIX(FlushMappedBufferRange) @@ -21289,7 +21416,7 @@ GL_PREFIX(FlushMappedBufferRange): GL_PREFIX(MapBufferRange): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21303,13 +21430,13 @@ GL_PREFIX(MapBufferRange): popq %rdx popq %rsi popq %rdi - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21323,7 +21450,7 @@ GL_PREFIX(MapBufferRange): popq %rdx popq %rsi popq %rdi - movq 4520(%rax), %r11 + movq 4544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MapBufferRange), .-GL_PREFIX(MapBufferRange) @@ -21334,25 +21461,25 @@ GL_PREFIX(MapBufferRange): GL_PREFIX(BindVertexArray): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4528(%rax), %r11 + movq 4552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindVertexArray), .-GL_PREFIX(BindVertexArray) @@ -21363,7 +21490,7 @@ GL_PREFIX(BindVertexArray): GL_PREFIX(GenVertexArrays): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21373,13 +21500,13 @@ GL_PREFIX(GenVertexArrays): popq %rbp popq %rsi popq %rdi - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21389,7 +21516,7 @@ GL_PREFIX(GenVertexArrays): popq %rbp popq %rsi popq %rdi - movq 4536(%rax), %r11 + movq 4560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenVertexArrays), .-GL_PREFIX(GenVertexArrays) @@ -21400,7 +21527,7 @@ GL_PREFIX(GenVertexArrays): GL_PREFIX(CopyBufferSubData): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21414,13 +21541,13 @@ GL_PREFIX(CopyBufferSubData): popq %rdx popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21434,7 +21561,7 @@ GL_PREFIX(CopyBufferSubData): popq %rdx popq %rsi popq %rdi - movq 4544(%rax), %r11 + movq 4568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CopyBufferSubData), .-GL_PREFIX(CopyBufferSubData) @@ -21445,7 +21572,7 @@ GL_PREFIX(CopyBufferSubData): GL_PREFIX(ClientWaitSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21455,13 +21582,13 @@ GL_PREFIX(ClientWaitSync): popq %rdx popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21471,7 +21598,7 @@ GL_PREFIX(ClientWaitSync): popq %rdx popq %rsi popq %rdi - movq 4552(%rax), %r11 + movq 4576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClientWaitSync), .-GL_PREFIX(ClientWaitSync) @@ -21482,25 +21609,25 @@ GL_PREFIX(ClientWaitSync): GL_PREFIX(DeleteSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4560(%rax), %r11 + movq 4584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteSync), .-GL_PREFIX(DeleteSync) @@ -21511,7 +21638,7 @@ GL_PREFIX(DeleteSync): GL_PREFIX(FenceSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21521,13 +21648,13 @@ GL_PREFIX(FenceSync): popq %rbp popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21537,7 +21664,7 @@ GL_PREFIX(FenceSync): popq %rbp popq %rsi popq %rdi - movq 4568(%rax), %r11 + movq 4592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FenceSync), .-GL_PREFIX(FenceSync) @@ -21548,7 +21675,7 @@ GL_PREFIX(FenceSync): GL_PREFIX(GetInteger64v): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21558,13 +21685,13 @@ GL_PREFIX(GetInteger64v): popq %rbp popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21574,7 +21701,7 @@ GL_PREFIX(GetInteger64v): popq %rbp popq %rsi popq %rdi - movq 4576(%rax), %r11 + movq 4600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetInteger64v), .-GL_PREFIX(GetInteger64v) @@ -21585,7 +21712,7 @@ GL_PREFIX(GetInteger64v): GL_PREFIX(GetSynciv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21599,13 +21726,13 @@ GL_PREFIX(GetSynciv): popq %rdx popq %rsi popq %rdi - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21619,7 +21746,7 @@ GL_PREFIX(GetSynciv): popq %rdx popq %rsi popq %rdi - movq 4584(%rax), %r11 + movq 4608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSynciv), .-GL_PREFIX(GetSynciv) @@ -21630,25 +21757,25 @@ GL_PREFIX(GetSynciv): GL_PREFIX(IsSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4592(%rax), %r11 + movq 4616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsSync), .-GL_PREFIX(IsSync) @@ -21659,7 +21786,7 @@ GL_PREFIX(IsSync): GL_PREFIX(WaitSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21669,13 +21796,13 @@ GL_PREFIX(WaitSync): popq %rdx popq %rsi popq %rdi - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21685,7 +21812,7 @@ GL_PREFIX(WaitSync): popq %rdx popq %rsi popq %rdi - movq 4600(%rax), %r11 + movq 4624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WaitSync), .-GL_PREFIX(WaitSync) @@ -21696,7 +21823,7 @@ GL_PREFIX(WaitSync): GL_PREFIX(DrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21710,13 +21837,13 @@ GL_PREFIX(DrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21730,7 +21857,7 @@ GL_PREFIX(DrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4608(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawElementsBaseVertex), .-GL_PREFIX(DrawElementsBaseVertex) @@ -21741,7 +21868,7 @@ GL_PREFIX(DrawElementsBaseVertex): GL_PREFIX(DrawRangeElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21759,13 +21886,13 @@ GL_PREFIX(DrawRangeElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21783,7 +21910,7 @@ GL_PREFIX(DrawRangeElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4616(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawRangeElementsBaseVertex), .-GL_PREFIX(DrawRangeElementsBaseVertex) @@ -21794,7 +21921,7 @@ GL_PREFIX(DrawRangeElementsBaseVertex): GL_PREFIX(MultiDrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21812,13 +21939,13 @@ GL_PREFIX(MultiDrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21836,56 +21963,291 @@ GL_PREFIX(MultiDrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsBaseVertex), .-GL_PREFIX(MultiDrawElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(PolygonOffsetEXT) - .type GL_PREFIX(PolygonOffsetEXT), @function -GL_PREFIX(PolygonOffsetEXT): + .globl GL_PREFIX(BindTransformFeedback) + .type GL_PREFIX(BindTransformFeedback), @function +GL_PREFIX(BindTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - subq $24, %rsp - movq %xmm0, (%rsp) - movq %xmm1, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT - movq 8(%rsp), %xmm1 - movq (%rsp), %xmm0 - addq $24, %rsp - movq 4632(%rax), %r11 + popq %rbp + popq %rsi + popq %rdi + movq 4656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4632(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 1: - subq $24, %rsp - movq %xmm0, (%rsp) + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4656(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BindTransformFeedback), .-GL_PREFIX(BindTransformFeedback) + + .p2align 4,,15 + .globl GL_PREFIX(DeleteTransformFeedbacks) + .type GL_PREFIX(DeleteTransformFeedbacks), @function +GL_PREFIX(DeleteTransformFeedbacks): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4664(%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 4664(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4664(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4664(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DeleteTransformFeedbacks), .-GL_PREFIX(DeleteTransformFeedbacks) + + .p2align 4,,15 + .globl GL_PREFIX(DrawTransformFeedback) + .type GL_PREFIX(DrawTransformFeedback), @function +GL_PREFIX(DrawTransformFeedback): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4672(%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 4672(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4672(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4672(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DrawTransformFeedback), .-GL_PREFIX(DrawTransformFeedback) + + .p2align 4,,15 + .globl GL_PREFIX(GenTransformFeedbacks) + .type GL_PREFIX(GenTransformFeedbacks), @function +GL_PREFIX(GenTransformFeedbacks): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4680(%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 4680(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4680(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4680(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GenTransformFeedbacks), .-GL_PREFIX(GenTransformFeedbacks) + + .p2align 4,,15 + .globl GL_PREFIX(IsTransformFeedback) + .type GL_PREFIX(IsTransformFeedback), @function +GL_PREFIX(IsTransformFeedback): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4688(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 4688(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4688(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 4688(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(IsTransformFeedback), .-GL_PREFIX(IsTransformFeedback) + + .p2align 4,,15 + .globl GL_PREFIX(PauseTransformFeedback) + .type GL_PREFIX(PauseTransformFeedback), @function +GL_PREFIX(PauseTransformFeedback): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4696(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + movq 4696(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4696(%rax), %r11 + jmp *%r11 +1: + pushq %rbp + call _glapi_get_dispatch + popq %rbp + movq 4696(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(PauseTransformFeedback), .-GL_PREFIX(PauseTransformFeedback) + + .p2align 4,,15 + .globl GL_PREFIX(ResumeTransformFeedback) + .type GL_PREFIX(ResumeTransformFeedback), @function +GL_PREFIX(ResumeTransformFeedback): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4704(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + movq 4704(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4704(%rax), %r11 + jmp *%r11 +1: + pushq %rbp + call _glapi_get_dispatch + popq %rbp + movq 4704(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ResumeTransformFeedback), .-GL_PREFIX(ResumeTransformFeedback) + + .p2align 4,,15 + .globl GL_PREFIX(PolygonOffsetEXT) + .type GL_PREFIX(PolygonOffsetEXT), @function +GL_PREFIX(PolygonOffsetEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4712(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + subq $24, %rsp + movq %xmm0, (%rsp) + movq %xmm1, 8(%rsp) + call _x86_64_get_dispatch@PLT + movq 8(%rsp), %xmm1 + movq (%rsp), %xmm0 + addq $24, %rsp + movq 4712(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4712(%rax), %r11 + jmp *%r11 +1: + subq $24, %rsp + movq %xmm0, (%rsp) movq %xmm1, 8(%rsp) call _glapi_get_dispatch movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4632(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_580) - .type GL_PREFIX(_dispatch_stub_580), @function - HIDDEN(GL_PREFIX(_dispatch_stub_580)) -GL_PREFIX(_dispatch_stub_580): + .globl GL_PREFIX(_dispatch_stub_590) + .type GL_PREFIX(_dispatch_stub_590), @function + HIDDEN(GL_PREFIX(_dispatch_stub_590)) +GL_PREFIX(_dispatch_stub_590): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4640(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21895,13 +22257,13 @@ GL_PREFIX(_dispatch_stub_580): popq %rbp popq %rsi popq %rdi - movq 4640(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4640(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21911,19 +22273,19 @@ GL_PREFIX(_dispatch_stub_580): popq %rbp popq %rsi popq %rdi - movq 4640(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_580), .-GL_PREFIX(_dispatch_stub_580) + .size GL_PREFIX(_dispatch_stub_590), .-GL_PREFIX(_dispatch_stub_590) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_581) - .type GL_PREFIX(_dispatch_stub_581), @function - HIDDEN(GL_PREFIX(_dispatch_stub_581)) -GL_PREFIX(_dispatch_stub_581): + .globl GL_PREFIX(_dispatch_stub_591) + .type GL_PREFIX(_dispatch_stub_591), @function + HIDDEN(GL_PREFIX(_dispatch_stub_591)) +GL_PREFIX(_dispatch_stub_591): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4648(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21933,13 +22295,13 @@ GL_PREFIX(_dispatch_stub_581): popq %rbp popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4648(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21949,19 +22311,19 @@ GL_PREFIX(_dispatch_stub_581): popq %rbp popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_581), .-GL_PREFIX(_dispatch_stub_581) + .size GL_PREFIX(_dispatch_stub_591), .-GL_PREFIX(_dispatch_stub_591) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_582) - .type GL_PREFIX(_dispatch_stub_582), @function - HIDDEN(GL_PREFIX(_dispatch_stub_582)) -GL_PREFIX(_dispatch_stub_582): + .globl GL_PREFIX(_dispatch_stub_592) + .type GL_PREFIX(_dispatch_stub_592), @function + HIDDEN(GL_PREFIX(_dispatch_stub_592)) +GL_PREFIX(_dispatch_stub_592): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4656(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -21971,13 +22333,13 @@ GL_PREFIX(_dispatch_stub_582): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4656(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4656(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -21987,19 +22349,19 @@ GL_PREFIX(_dispatch_stub_582): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4656(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_582), .-GL_PREFIX(_dispatch_stub_582) + .size GL_PREFIX(_dispatch_stub_592), .-GL_PREFIX(_dispatch_stub_592) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_583) - .type GL_PREFIX(_dispatch_stub_583), @function - HIDDEN(GL_PREFIX(_dispatch_stub_583)) -GL_PREFIX(_dispatch_stub_583): + .globl GL_PREFIX(_dispatch_stub_593) + .type GL_PREFIX(_dispatch_stub_593), @function + HIDDEN(GL_PREFIX(_dispatch_stub_593)) +GL_PREFIX(_dispatch_stub_593): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4664(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22009,13 +22371,13 @@ GL_PREFIX(_dispatch_stub_583): popq %rbp popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4664(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22025,19 +22387,19 @@ GL_PREFIX(_dispatch_stub_583): popq %rbp popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_583), .-GL_PREFIX(_dispatch_stub_583) + .size GL_PREFIX(_dispatch_stub_593), .-GL_PREFIX(_dispatch_stub_593) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_584) - .type GL_PREFIX(_dispatch_stub_584), @function - HIDDEN(GL_PREFIX(_dispatch_stub_584)) -GL_PREFIX(_dispatch_stub_584): + .globl GL_PREFIX(_dispatch_stub_594) + .type GL_PREFIX(_dispatch_stub_594), @function + HIDDEN(GL_PREFIX(_dispatch_stub_594)) +GL_PREFIX(_dispatch_stub_594): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4672(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22047,13 +22409,13 @@ GL_PREFIX(_dispatch_stub_584): popq %rbp popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4672(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22063,19 +22425,19 @@ GL_PREFIX(_dispatch_stub_584): popq %rbp popq %rsi popq %rdi - movq 4672(%rax), %r11 + movq 4752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_584), .-GL_PREFIX(_dispatch_stub_584) + .size GL_PREFIX(_dispatch_stub_594), .-GL_PREFIX(_dispatch_stub_594) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_585) - .type GL_PREFIX(_dispatch_stub_585), @function - HIDDEN(GL_PREFIX(_dispatch_stub_585)) -GL_PREFIX(_dispatch_stub_585): + .globl GL_PREFIX(_dispatch_stub_595) + .type GL_PREFIX(_dispatch_stub_595), @function + HIDDEN(GL_PREFIX(_dispatch_stub_595)) +GL_PREFIX(_dispatch_stub_595): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4680(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22085,13 +22447,13 @@ GL_PREFIX(_dispatch_stub_585): popq %rbp popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4680(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22101,19 +22463,19 @@ GL_PREFIX(_dispatch_stub_585): popq %rbp popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_585), .-GL_PREFIX(_dispatch_stub_585) + .size GL_PREFIX(_dispatch_stub_595), .-GL_PREFIX(_dispatch_stub_595) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_586) - .type GL_PREFIX(_dispatch_stub_586), @function - HIDDEN(GL_PREFIX(_dispatch_stub_586)) -GL_PREFIX(_dispatch_stub_586): + .globl GL_PREFIX(_dispatch_stub_596) + .type GL_PREFIX(_dispatch_stub_596), @function + HIDDEN(GL_PREFIX(_dispatch_stub_596)) +GL_PREFIX(_dispatch_stub_596): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4688(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22123,13 +22485,13 @@ GL_PREFIX(_dispatch_stub_586): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4688(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22139,40 +22501,40 @@ GL_PREFIX(_dispatch_stub_586): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_586), .-GL_PREFIX(_dispatch_stub_586) + .size GL_PREFIX(_dispatch_stub_596), .-GL_PREFIX(_dispatch_stub_596) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_587) - .type GL_PREFIX(_dispatch_stub_587), @function - HIDDEN(GL_PREFIX(_dispatch_stub_587)) -GL_PREFIX(_dispatch_stub_587): + .globl GL_PREFIX(_dispatch_stub_597) + .type GL_PREFIX(_dispatch_stub_597), @function + HIDDEN(GL_PREFIX(_dispatch_stub_597)) +GL_PREFIX(_dispatch_stub_597): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4696(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4696(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4696(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4696(%rax), %r11 + movq 4776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_587), .-GL_PREFIX(_dispatch_stub_587) + .size GL_PREFIX(_dispatch_stub_597), .-GL_PREFIX(_dispatch_stub_597) .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) @@ -22180,7 +22542,7 @@ GL_PREFIX(_dispatch_stub_587): GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4704(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22194,13 +22556,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4704(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22214,7 +22576,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4704(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -22225,7 +22587,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4712(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22235,13 +22597,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4712(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22251,7 +22613,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -22262,7 +22624,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4720(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22276,13 +22638,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4720(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22296,7 +22658,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -22307,7 +22669,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4728(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22321,13 +22683,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4728(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22341,7 +22703,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -22352,7 +22714,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4736(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22366,13 +22728,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4736(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4736(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22386,7 +22748,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4736(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -22397,7 +22759,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4744(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22411,13 +22773,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4744(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22431,7 +22793,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -22442,7 +22804,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4752(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22452,13 +22814,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4752(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4752(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22468,7 +22830,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4752(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -22479,7 +22841,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4760(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22489,13 +22851,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4760(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22505,7 +22867,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -22516,7 +22878,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4768(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22526,13 +22888,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4768(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22542,7 +22904,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -22553,37 +22915,37 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4776(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4776(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_598) - .type GL_PREFIX(_dispatch_stub_598), @function - HIDDEN(GL_PREFIX(_dispatch_stub_598)) -GL_PREFIX(_dispatch_stub_598): + .globl GL_PREFIX(_dispatch_stub_608) + .type GL_PREFIX(_dispatch_stub_608), @function + HIDDEN(GL_PREFIX(_dispatch_stub_608)) +GL_PREFIX(_dispatch_stub_608): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22593,13 +22955,13 @@ GL_PREFIX(_dispatch_stub_598): popq %rbp popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22609,19 +22971,19 @@ GL_PREFIX(_dispatch_stub_598): popq %rbp popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_598), .-GL_PREFIX(_dispatch_stub_598) + .size GL_PREFIX(_dispatch_stub_608), .-GL_PREFIX(_dispatch_stub_608) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_599) - .type GL_PREFIX(_dispatch_stub_599), @function - HIDDEN(GL_PREFIX(_dispatch_stub_599)) -GL_PREFIX(_dispatch_stub_599): + .globl GL_PREFIX(_dispatch_stub_609) + .type GL_PREFIX(_dispatch_stub_609), @function + HIDDEN(GL_PREFIX(_dispatch_stub_609)) +GL_PREFIX(_dispatch_stub_609): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22631,13 +22993,13 @@ GL_PREFIX(_dispatch_stub_599): popq %rbp popq %rsi popq %rdi - movq 4792(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22647,10 +23009,10 @@ GL_PREFIX(_dispatch_stub_599): popq %rbp popq %rsi popq %rdi - movq 4792(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_599), .-GL_PREFIX(_dispatch_stub_599) + .size GL_PREFIX(_dispatch_stub_609), .-GL_PREFIX(_dispatch_stub_609) .p2align 4,,15 .globl GL_PREFIX(SecondaryColor3bEXT) @@ -22658,7 +23020,7 @@ GL_PREFIX(_dispatch_stub_599): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22668,13 +23030,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22684,7 +23046,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -22695,25 +23057,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -22724,7 +23086,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22736,13 +23098,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22754,7 +23116,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -22765,25 +23127,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -22794,7 +23156,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22806,13 +23168,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22824,7 +23186,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -22835,25 +23197,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -22864,7 +23226,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22874,13 +23236,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22890,7 +23252,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -22901,25 +23263,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -22930,7 +23292,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22940,13 +23302,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22956,7 +23318,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -22967,25 +23329,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -22996,7 +23358,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23006,13 +23368,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23022,7 +23384,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -23033,25 +23395,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -23062,7 +23424,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23072,13 +23434,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23088,7 +23450,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -23099,25 +23461,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -23128,7 +23490,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23138,13 +23500,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23154,7 +23516,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -23165,25 +23527,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -23194,7 +23556,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23208,13 +23570,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23228,7 +23590,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -23239,7 +23601,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23253,13 +23615,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23273,7 +23635,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -23284,7 +23646,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23298,13 +23660,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23318,7 +23680,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -23329,7 +23691,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23339,13 +23701,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23355,7 +23717,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -23366,7 +23728,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -23374,13 +23736,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -23388,7 +23750,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -23399,25 +23761,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -23428,7 +23790,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -23436,13 +23798,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -23450,7 +23812,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -23461,58 +23823,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_624) - .type GL_PREFIX(_dispatch_stub_624), @function - HIDDEN(GL_PREFIX(_dispatch_stub_624)) -GL_PREFIX(_dispatch_stub_624): + .globl GL_PREFIX(_dispatch_stub_634) + .type GL_PREFIX(_dispatch_stub_634), @function + HIDDEN(GL_PREFIX(_dispatch_stub_634)) +GL_PREFIX(_dispatch_stub_634): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_624), .-GL_PREFIX(_dispatch_stub_624) + .size GL_PREFIX(_dispatch_stub_634), .-GL_PREFIX(_dispatch_stub_634) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -23520,7 +23882,7 @@ GL_PREFIX(_dispatch_stub_624): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23534,13 +23896,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23554,7 +23916,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -23565,25 +23927,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -23594,7 +23956,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23604,13 +23966,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23620,7 +23982,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -23631,7 +23993,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23649,13 +24011,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23673,7 +24035,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -23684,7 +24046,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23702,13 +24064,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23726,7 +24088,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -23737,7 +24099,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23747,13 +24109,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23763,7 +24125,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -23774,7 +24136,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23784,13 +24146,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23800,7 +24162,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -23811,7 +24173,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23821,13 +24183,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23837,7 +24199,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -23848,7 +24210,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23858,13 +24220,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23874,7 +24236,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -23885,7 +24247,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23899,13 +24261,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23919,7 +24281,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -23930,7 +24292,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23944,13 +24306,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23964,7 +24326,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -23975,7 +24337,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23989,13 +24351,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24009,7 +24371,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -24020,7 +24382,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24034,13 +24396,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24054,7 +24416,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -24065,7 +24427,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24079,13 +24441,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24099,7 +24461,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -24110,7 +24472,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24120,13 +24482,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24136,7 +24498,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -24147,7 +24509,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24157,13 +24519,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24173,7 +24535,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -24184,25 +24546,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -24213,7 +24575,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24223,13 +24585,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24239,7 +24601,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -24250,25 +24612,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -24279,7 +24641,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24289,13 +24651,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24305,7 +24667,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -24316,25 +24678,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -24345,7 +24707,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24355,13 +24717,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24371,7 +24733,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -24382,25 +24744,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -24411,7 +24773,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24421,13 +24783,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24437,7 +24799,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -24448,25 +24810,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -24477,7 +24839,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24489,13 +24851,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24507,7 +24869,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -24518,25 +24880,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -24547,7 +24909,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24559,13 +24921,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24577,7 +24939,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -24588,25 +24950,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -24617,7 +24979,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24627,13 +24989,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24643,7 +25005,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -24654,25 +25016,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -24683,7 +25045,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24693,13 +25055,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24709,7 +25071,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -24720,25 +25082,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -24749,7 +25111,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24763,13 +25125,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24783,7 +25145,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -24794,25 +25156,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -24823,7 +25185,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -24837,13 +25199,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -24857,7 +25219,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -24868,25 +25230,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -24897,7 +25259,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24911,13 +25273,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24931,7 +25293,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -24942,25 +25304,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -24971,7 +25333,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24985,13 +25347,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25005,7 +25367,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -25016,37 +25378,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_666) - .type GL_PREFIX(_dispatch_stub_666), @function - HIDDEN(GL_PREFIX(_dispatch_stub_666)) -GL_PREFIX(_dispatch_stub_666): + .globl GL_PREFIX(_dispatch_stub_676) + .type GL_PREFIX(_dispatch_stub_676), @function + HIDDEN(GL_PREFIX(_dispatch_stub_676)) +GL_PREFIX(_dispatch_stub_676): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25060,13 +25422,13 @@ GL_PREFIX(_dispatch_stub_666): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25080,19 +25442,19 @@ GL_PREFIX(_dispatch_stub_666): popq %rdx popq %rsi popq %rdi - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_666), .-GL_PREFIX(_dispatch_stub_666) + .size GL_PREFIX(_dispatch_stub_676), .-GL_PREFIX(_dispatch_stub_676) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_667) - .type GL_PREFIX(_dispatch_stub_667), @function - HIDDEN(GL_PREFIX(_dispatch_stub_667)) -GL_PREFIX(_dispatch_stub_667): + .globl GL_PREFIX(_dispatch_stub_677) + .type GL_PREFIX(_dispatch_stub_677), @function + HIDDEN(GL_PREFIX(_dispatch_stub_677)) +GL_PREFIX(_dispatch_stub_677): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25110,13 +25472,13 @@ GL_PREFIX(_dispatch_stub_667): popq %rdx popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25134,19 +25496,19 @@ GL_PREFIX(_dispatch_stub_667): popq %rdx popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_667), .-GL_PREFIX(_dispatch_stub_667) + .size GL_PREFIX(_dispatch_stub_677), .-GL_PREFIX(_dispatch_stub_677) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_668) - .type GL_PREFIX(_dispatch_stub_668), @function - HIDDEN(GL_PREFIX(_dispatch_stub_668)) -GL_PREFIX(_dispatch_stub_668): + .globl GL_PREFIX(_dispatch_stub_678) + .type GL_PREFIX(_dispatch_stub_678), @function + HIDDEN(GL_PREFIX(_dispatch_stub_678)) +GL_PREFIX(_dispatch_stub_678): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25156,13 +25518,13 @@ GL_PREFIX(_dispatch_stub_668): popq %rbp popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25172,49 +25534,49 @@ GL_PREFIX(_dispatch_stub_668): popq %rbp popq %rsi popq %rdi - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_668), .-GL_PREFIX(_dispatch_stub_668) + .size GL_PREFIX(_dispatch_stub_678), .-GL_PREFIX(_dispatch_stub_678) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_669) - .type GL_PREFIX(_dispatch_stub_669), @function - HIDDEN(GL_PREFIX(_dispatch_stub_669)) -GL_PREFIX(_dispatch_stub_669): + .globl GL_PREFIX(_dispatch_stub_679) + .type GL_PREFIX(_dispatch_stub_679), @function + HIDDEN(GL_PREFIX(_dispatch_stub_679)) +GL_PREFIX(_dispatch_stub_679): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_669), .-GL_PREFIX(_dispatch_stub_669) + .size GL_PREFIX(_dispatch_stub_679), .-GL_PREFIX(_dispatch_stub_679) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_670) - .type GL_PREFIX(_dispatch_stub_670), @function - HIDDEN(GL_PREFIX(_dispatch_stub_670)) -GL_PREFIX(_dispatch_stub_670): + .globl GL_PREFIX(_dispatch_stub_680) + .type GL_PREFIX(_dispatch_stub_680), @function + HIDDEN(GL_PREFIX(_dispatch_stub_680)) +GL_PREFIX(_dispatch_stub_680): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25224,13 +25586,13 @@ GL_PREFIX(_dispatch_stub_670): popq %rbp popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25240,19 +25602,19 @@ GL_PREFIX(_dispatch_stub_670): popq %rbp popq %rsi popq %rdi - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_670), .-GL_PREFIX(_dispatch_stub_670) + .size GL_PREFIX(_dispatch_stub_680), .-GL_PREFIX(_dispatch_stub_680) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_671) - .type GL_PREFIX(_dispatch_stub_671), @function - HIDDEN(GL_PREFIX(_dispatch_stub_671)) -GL_PREFIX(_dispatch_stub_671): + .globl GL_PREFIX(_dispatch_stub_681) + .type GL_PREFIX(_dispatch_stub_681), @function + HIDDEN(GL_PREFIX(_dispatch_stub_681)) +GL_PREFIX(_dispatch_stub_681): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25262,13 +25624,13 @@ GL_PREFIX(_dispatch_stub_671): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25278,49 +25640,49 @@ GL_PREFIX(_dispatch_stub_671): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_671), .-GL_PREFIX(_dispatch_stub_671) + .size GL_PREFIX(_dispatch_stub_681), .-GL_PREFIX(_dispatch_stub_681) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_672) - .type GL_PREFIX(_dispatch_stub_672), @function - HIDDEN(GL_PREFIX(_dispatch_stub_672)) -GL_PREFIX(_dispatch_stub_672): + .globl GL_PREFIX(_dispatch_stub_682) + .type GL_PREFIX(_dispatch_stub_682), @function + HIDDEN(GL_PREFIX(_dispatch_stub_682)) +GL_PREFIX(_dispatch_stub_682): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_672), .-GL_PREFIX(_dispatch_stub_672) + .size GL_PREFIX(_dispatch_stub_682), .-GL_PREFIX(_dispatch_stub_682) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_673) - .type GL_PREFIX(_dispatch_stub_673), @function - HIDDEN(GL_PREFIX(_dispatch_stub_673)) -GL_PREFIX(_dispatch_stub_673): + .globl GL_PREFIX(_dispatch_stub_683) + .type GL_PREFIX(_dispatch_stub_683), @function + HIDDEN(GL_PREFIX(_dispatch_stub_683)) +GL_PREFIX(_dispatch_stub_683): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25330,13 +25692,13 @@ GL_PREFIX(_dispatch_stub_673): popq %rbp popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25346,40 +25708,40 @@ GL_PREFIX(_dispatch_stub_673): popq %rbp popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_673), .-GL_PREFIX(_dispatch_stub_673) + .size GL_PREFIX(_dispatch_stub_683), .-GL_PREFIX(_dispatch_stub_683) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_674) - .type GL_PREFIX(_dispatch_stub_674), @function - HIDDEN(GL_PREFIX(_dispatch_stub_674)) -GL_PREFIX(_dispatch_stub_674): + .globl GL_PREFIX(_dispatch_stub_684) + .type GL_PREFIX(_dispatch_stub_684), @function + HIDDEN(GL_PREFIX(_dispatch_stub_684)) +GL_PREFIX(_dispatch_stub_684): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_674), .-GL_PREFIX(_dispatch_stub_674) + .size GL_PREFIX(_dispatch_stub_684), .-GL_PREFIX(_dispatch_stub_684) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -25387,7 +25749,7 @@ GL_PREFIX(_dispatch_stub_674): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25397,13 +25759,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25413,7 +25775,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -25424,7 +25786,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25434,13 +25796,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25450,7 +25812,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -25461,7 +25823,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25471,13 +25833,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25487,7 +25849,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -25498,7 +25860,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25508,13 +25870,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25524,7 +25886,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -25535,7 +25897,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25545,13 +25907,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25561,7 +25923,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -25572,7 +25934,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25586,13 +25948,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25606,7 +25968,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -25617,7 +25979,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25631,13 +25993,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25651,7 +26013,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -25662,7 +26024,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25672,13 +26034,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25688,7 +26050,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -25699,7 +26061,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25709,13 +26071,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25725,7 +26087,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -25736,7 +26098,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25750,13 +26112,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25770,7 +26132,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -25781,7 +26143,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25791,13 +26153,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25807,7 +26169,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -25818,7 +26180,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25828,13 +26190,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25844,7 +26206,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -25855,7 +26217,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25865,13 +26227,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25881,7 +26243,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -25892,7 +26254,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25902,13 +26264,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25918,7 +26280,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -25929,25 +26291,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -25958,7 +26320,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25972,13 +26334,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25992,7 +26354,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -26003,7 +26365,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26017,13 +26379,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26037,7 +26399,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -26048,7 +26410,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26062,13 +26424,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26082,7 +26444,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -26093,7 +26455,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26103,13 +26465,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26119,7 +26481,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -26130,7 +26492,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26144,13 +26506,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26164,7 +26526,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -26175,7 +26537,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26185,13 +26547,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26201,7 +26563,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -26212,7 +26574,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26222,13 +26584,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26238,7 +26600,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -26249,7 +26611,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26259,13 +26621,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26275,7 +26637,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -26286,7 +26648,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26296,13 +26658,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26312,7 +26674,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -26323,7 +26685,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26333,13 +26695,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26349,7 +26711,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -26360,7 +26722,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26370,13 +26732,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26386,7 +26748,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -26397,7 +26759,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26409,13 +26771,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26427,7 +26789,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -26438,7 +26800,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26448,13 +26810,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26464,7 +26826,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -26475,7 +26837,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26487,13 +26849,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26505,7 +26867,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -26516,7 +26878,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26526,13 +26888,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26542,7 +26904,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -26553,7 +26915,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26563,13 +26925,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26579,7 +26941,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -26590,7 +26952,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26600,13 +26962,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26616,7 +26978,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -26627,7 +26989,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26641,13 +27003,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26661,7 +27023,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -26672,7 +27034,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26682,13 +27044,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26698,7 +27060,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -26709,7 +27071,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26723,13 +27085,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26743,7 +27105,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -26754,7 +27116,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26764,13 +27126,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26780,7 +27142,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -26791,7 +27153,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26805,13 +27167,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26825,7 +27187,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -26836,7 +27198,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26846,13 +27208,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26862,7 +27224,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -26873,7 +27235,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26889,13 +27251,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26911,7 +27273,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -26922,7 +27284,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26932,13 +27294,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26948,7 +27310,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -26959,7 +27321,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -26975,13 +27337,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -26997,7 +27359,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -27008,7 +27370,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27018,13 +27380,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27034,7 +27396,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -27045,7 +27407,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27059,13 +27421,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27079,7 +27441,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -27090,7 +27452,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27100,13 +27462,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27116,7 +27478,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -27127,7 +27489,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27141,13 +27503,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27161,7 +27523,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -27172,7 +27534,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27182,13 +27544,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27198,7 +27560,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -27209,7 +27571,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27223,13 +27585,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27243,7 +27605,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -27254,7 +27616,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27264,13 +27626,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27280,7 +27642,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -27291,7 +27653,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27301,13 +27663,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27317,7 +27679,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -27328,7 +27690,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27338,13 +27700,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27354,7 +27716,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -27365,7 +27727,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27375,13 +27737,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27391,7 +27753,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -27402,7 +27764,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27412,13 +27774,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27428,7 +27790,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -27439,7 +27801,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27449,13 +27811,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27465,7 +27827,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -27476,7 +27838,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27486,13 +27848,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27502,7 +27864,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -27513,7 +27875,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27523,13 +27885,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27539,7 +27901,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -27550,7 +27912,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27560,13 +27922,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27576,7 +27938,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -27587,7 +27949,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27597,13 +27959,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27613,7 +27975,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -27624,7 +27986,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27634,13 +27996,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27650,7 +28012,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -27661,7 +28023,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27671,13 +28033,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27687,7 +28049,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -27698,7 +28060,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27708,13 +28070,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27724,7 +28086,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -27735,7 +28097,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27745,13 +28107,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27761,7 +28123,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -27772,7 +28134,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27782,13 +28144,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27798,7 +28160,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -27809,7 +28171,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27819,13 +28181,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27835,7 +28197,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -27846,7 +28208,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27856,13 +28218,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27872,7 +28234,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -27883,7 +28245,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27901,13 +28263,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27925,7 +28287,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -27936,7 +28298,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27954,13 +28316,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27978,7 +28340,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -27989,7 +28351,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28007,13 +28369,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28031,7 +28393,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -28042,25 +28404,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -28071,25 +28433,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -28100,7 +28462,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28118,13 +28480,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28142,7 +28504,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -28153,7 +28515,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28171,13 +28533,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28195,7 +28557,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -28206,7 +28568,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28224,13 +28586,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28248,7 +28610,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -28259,25 +28621,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -28288,25 +28650,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -28317,25 +28679,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -28346,7 +28708,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28356,13 +28718,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28372,7 +28734,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -28383,7 +28745,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28393,13 +28755,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28409,7 +28771,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -28420,7 +28782,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28430,13 +28792,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28446,7 +28808,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -28457,7 +28819,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28467,13 +28829,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28483,7 +28845,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -28494,7 +28856,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28504,13 +28866,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28520,79 +28882,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_755) - .type GL_PREFIX(_dispatch_stub_755), @function - HIDDEN(GL_PREFIX(_dispatch_stub_755)) -GL_PREFIX(_dispatch_stub_755): + .globl GL_PREFIX(_dispatch_stub_765) + .type GL_PREFIX(_dispatch_stub_765), @function + HIDDEN(GL_PREFIX(_dispatch_stub_765)) +GL_PREFIX(_dispatch_stub_765): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_755), .-GL_PREFIX(_dispatch_stub_755) + .size GL_PREFIX(_dispatch_stub_765), .-GL_PREFIX(_dispatch_stub_765) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_756) - .type GL_PREFIX(_dispatch_stub_756), @function - HIDDEN(GL_PREFIX(_dispatch_stub_756)) -GL_PREFIX(_dispatch_stub_756): + .globl GL_PREFIX(_dispatch_stub_766) + .type GL_PREFIX(_dispatch_stub_766), @function + HIDDEN(GL_PREFIX(_dispatch_stub_766)) +GL_PREFIX(_dispatch_stub_766): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_756), .-GL_PREFIX(_dispatch_stub_756) + .size GL_PREFIX(_dispatch_stub_766), .-GL_PREFIX(_dispatch_stub_766) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_757) - .type GL_PREFIX(_dispatch_stub_757), @function - HIDDEN(GL_PREFIX(_dispatch_stub_757)) -GL_PREFIX(_dispatch_stub_757): + .globl GL_PREFIX(_dispatch_stub_767) + .type GL_PREFIX(_dispatch_stub_767), @function + HIDDEN(GL_PREFIX(_dispatch_stub_767)) +GL_PREFIX(_dispatch_stub_767): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28602,13 +28964,13 @@ GL_PREFIX(_dispatch_stub_757): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28618,19 +28980,19 @@ GL_PREFIX(_dispatch_stub_757): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_757), .-GL_PREFIX(_dispatch_stub_757) + .size GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_758) - .type GL_PREFIX(_dispatch_stub_758), @function - HIDDEN(GL_PREFIX(_dispatch_stub_758)) -GL_PREFIX(_dispatch_stub_758): + .globl GL_PREFIX(_dispatch_stub_768) + .type GL_PREFIX(_dispatch_stub_768), @function + HIDDEN(GL_PREFIX(_dispatch_stub_768)) +GL_PREFIX(_dispatch_stub_768): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28640,13 +29002,13 @@ GL_PREFIX(_dispatch_stub_758): popq %rbp popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28656,40 +29018,40 @@ GL_PREFIX(_dispatch_stub_758): popq %rbp popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_758), .-GL_PREFIX(_dispatch_stub_758) + .size GL_PREFIX(_dispatch_stub_768), .-GL_PREFIX(_dispatch_stub_768) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_759) - .type GL_PREFIX(_dispatch_stub_759), @function - HIDDEN(GL_PREFIX(_dispatch_stub_759)) -GL_PREFIX(_dispatch_stub_759): + .globl GL_PREFIX(_dispatch_stub_769) + .type GL_PREFIX(_dispatch_stub_769), @function + HIDDEN(GL_PREFIX(_dispatch_stub_769)) +GL_PREFIX(_dispatch_stub_769): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_759), .-GL_PREFIX(_dispatch_stub_759) + .size GL_PREFIX(_dispatch_stub_769), .-GL_PREFIX(_dispatch_stub_769) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28697,7 +29059,7 @@ GL_PREFIX(_dispatch_stub_759): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28711,13 +29073,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28731,7 +29093,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -28742,7 +29104,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28756,13 +29118,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28776,7 +29138,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -28787,7 +29149,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28807,13 +29169,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28833,7 +29195,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -28844,7 +29206,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28858,13 +29220,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28878,7 +29240,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -28889,7 +29251,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -28909,13 +29271,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -28935,7 +29297,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -28946,7 +29308,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28960,13 +29322,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28980,19 +29342,19 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_766) - .type GL_PREFIX(_dispatch_stub_766), @function - HIDDEN(GL_PREFIX(_dispatch_stub_766)) -GL_PREFIX(_dispatch_stub_766): + .globl GL_PREFIX(_dispatch_stub_776) + .type GL_PREFIX(_dispatch_stub_776), @function + HIDDEN(GL_PREFIX(_dispatch_stub_776)) +GL_PREFIX(_dispatch_stub_776): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29002,13 +29364,13 @@ GL_PREFIX(_dispatch_stub_766): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29018,19 +29380,19 @@ GL_PREFIX(_dispatch_stub_766): popq %rbp popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_766), .-GL_PREFIX(_dispatch_stub_766) + .size GL_PREFIX(_dispatch_stub_776), .-GL_PREFIX(_dispatch_stub_776) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_767) - .type GL_PREFIX(_dispatch_stub_767), @function - HIDDEN(GL_PREFIX(_dispatch_stub_767)) -GL_PREFIX(_dispatch_stub_767): + .globl GL_PREFIX(_dispatch_stub_777) + .type GL_PREFIX(_dispatch_stub_777), @function + HIDDEN(GL_PREFIX(_dispatch_stub_777)) +GL_PREFIX(_dispatch_stub_777): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29040,13 +29402,13 @@ GL_PREFIX(_dispatch_stub_767): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29056,10 +29418,10 @@ GL_PREFIX(_dispatch_stub_767): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_767), .-GL_PREFIX(_dispatch_stub_767) + .size GL_PREFIX(_dispatch_stub_777), .-GL_PREFIX(_dispatch_stub_777) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -29067,7 +29429,7 @@ GL_PREFIX(_dispatch_stub_767): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29077,13 +29439,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29093,7 +29455,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -29104,7 +29466,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29114,13 +29476,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29130,7 +29492,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -29141,25 +29503,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -29170,7 +29532,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29180,13 +29542,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29196,7 +29558,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -29207,7 +29569,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29217,13 +29579,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29233,7 +29595,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -29244,7 +29606,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29258,13 +29620,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29278,7 +29640,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -29289,7 +29651,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29303,13 +29665,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29323,7 +29685,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -29334,7 +29696,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29348,13 +29710,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29368,7 +29730,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -29379,7 +29741,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29397,13 +29759,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29421,7 +29783,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -29432,7 +29794,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29442,13 +29804,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29458,7 +29820,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -29469,7 +29831,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29479,13 +29841,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29495,7 +29857,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -29506,25 +29868,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -29535,7 +29897,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29549,13 +29911,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29569,7 +29931,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -29580,7 +29942,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29590,13 +29952,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29606,7 +29968,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -29617,25 +29979,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -29646,25 +30008,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -29675,7 +30037,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29689,13 +30051,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29709,19 +30071,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_785) - .type GL_PREFIX(_dispatch_stub_785), @function - HIDDEN(GL_PREFIX(_dispatch_stub_785)) -GL_PREFIX(_dispatch_stub_785): + .globl GL_PREFIX(_dispatch_stub_795) + .type GL_PREFIX(_dispatch_stub_795), @function + HIDDEN(GL_PREFIX(_dispatch_stub_795)) +GL_PREFIX(_dispatch_stub_795): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29739,13 +30101,13 @@ GL_PREFIX(_dispatch_stub_785): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29763,19 +30125,19 @@ GL_PREFIX(_dispatch_stub_785): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_785), .-GL_PREFIX(_dispatch_stub_785) + .size GL_PREFIX(_dispatch_stub_795), .-GL_PREFIX(_dispatch_stub_795) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_786) - .type GL_PREFIX(_dispatch_stub_786), @function - HIDDEN(GL_PREFIX(_dispatch_stub_786)) -GL_PREFIX(_dispatch_stub_786): + .globl GL_PREFIX(_dispatch_stub_796) + .type GL_PREFIX(_dispatch_stub_796), @function + HIDDEN(GL_PREFIX(_dispatch_stub_796)) +GL_PREFIX(_dispatch_stub_796): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29785,13 +30147,13 @@ GL_PREFIX(_dispatch_stub_786): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29801,19 +30163,19 @@ GL_PREFIX(_dispatch_stub_786): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_786), .-GL_PREFIX(_dispatch_stub_786) + .size GL_PREFIX(_dispatch_stub_796), .-GL_PREFIX(_dispatch_stub_796) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_787) - .type GL_PREFIX(_dispatch_stub_787), @function - HIDDEN(GL_PREFIX(_dispatch_stub_787)) -GL_PREFIX(_dispatch_stub_787): + .globl GL_PREFIX(_dispatch_stub_797) + .type GL_PREFIX(_dispatch_stub_797), @function + HIDDEN(GL_PREFIX(_dispatch_stub_797)) +GL_PREFIX(_dispatch_stub_797): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29823,13 +30185,13 @@ GL_PREFIX(_dispatch_stub_787): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29839,10 +30201,10 @@ GL_PREFIX(_dispatch_stub_787): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_787), .-GL_PREFIX(_dispatch_stub_787) + .size GL_PREFIX(_dispatch_stub_797), .-GL_PREFIX(_dispatch_stub_797) .p2align 4,,15 .globl GL_PREFIX(FramebufferTextureLayerEXT) @@ -29850,7 +30212,7 @@ GL_PREFIX(_dispatch_stub_787): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29864,13 +30226,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29884,7 +30246,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -29895,7 +30257,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ColorMaskIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29909,13 +30271,13 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29929,7 +30291,7 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorMaskIndexedEXT), .-GL_PREFIX(ColorMaskIndexedEXT) @@ -29940,7 +30302,7 @@ GL_PREFIX(ColorMaskIndexedEXT): GL_PREFIX(DisableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29950,13 +30312,13 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29966,7 +30328,7 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableIndexedEXT), .-GL_PREFIX(DisableIndexedEXT) @@ -29977,7 +30339,7 @@ GL_PREFIX(DisableIndexedEXT): GL_PREFIX(EnableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29987,13 +30349,13 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30003,7 +30365,7 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableIndexedEXT), .-GL_PREFIX(EnableIndexedEXT) @@ -30014,7 +30376,7 @@ GL_PREFIX(EnableIndexedEXT): GL_PREFIX(GetBooleanIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30024,13 +30386,13 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30040,7 +30402,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBooleanIndexedvEXT), .-GL_PREFIX(GetBooleanIndexedvEXT) @@ -30051,7 +30413,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): GL_PREFIX(GetIntegerIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30061,13 +30423,13 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30077,7 +30439,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetIntegerIndexedvEXT), .-GL_PREFIX(GetIntegerIndexedvEXT) @@ -30088,7 +30450,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): GL_PREFIX(IsEnabledIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30098,13 +30460,13 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30114,7 +30476,7 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsEnabledIndexedEXT), .-GL_PREFIX(IsEnabledIndexedEXT) @@ -30125,7 +30487,7 @@ GL_PREFIX(IsEnabledIndexedEXT): GL_PREFIX(BeginConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30135,13 +30497,13 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30151,7 +30513,7 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginConditionalRenderNV), .-GL_PREFIX(BeginConditionalRenderNV) @@ -30162,25 +30524,25 @@ GL_PREFIX(BeginConditionalRenderNV): GL_PREFIX(EndConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndConditionalRenderNV), .-GL_PREFIX(EndConditionalRenderNV) @@ -30191,25 +30553,25 @@ GL_PREFIX(EndConditionalRenderNV): GL_PREFIX(BeginTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginTransformFeedbackEXT), .-GL_PREFIX(BeginTransformFeedbackEXT) @@ -30220,7 +30582,7 @@ GL_PREFIX(BeginTransformFeedbackEXT): GL_PREFIX(BindBufferBaseEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30230,13 +30592,13 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30246,7 +30608,7 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferBaseEXT), .-GL_PREFIX(BindBufferBaseEXT) @@ -30257,7 +30619,7 @@ GL_PREFIX(BindBufferBaseEXT): GL_PREFIX(BindBufferOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30271,13 +30633,13 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30291,7 +30653,7 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferOffsetEXT), .-GL_PREFIX(BindBufferOffsetEXT) @@ -30302,7 +30664,7 @@ GL_PREFIX(BindBufferOffsetEXT): GL_PREFIX(BindBufferRangeEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30316,13 +30678,13 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30336,7 +30698,7 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferRangeEXT), .-GL_PREFIX(BindBufferRangeEXT) @@ -30347,25 +30709,25 @@ GL_PREFIX(BindBufferRangeEXT): GL_PREFIX(EndTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndTransformFeedbackEXT), .-GL_PREFIX(EndTransformFeedbackEXT) @@ -30376,7 +30738,7 @@ GL_PREFIX(EndTransformFeedbackEXT): GL_PREFIX(GetTransformFeedbackVaryingEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30394,13 +30756,13 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30418,7 +30780,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTransformFeedbackVaryingEXT), .-GL_PREFIX(GetTransformFeedbackVaryingEXT) @@ -30429,7 +30791,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): GL_PREFIX(TransformFeedbackVaryingsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30443,13 +30805,13 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30463,7 +30825,7 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TransformFeedbackVaryingsEXT), .-GL_PREFIX(TransformFeedbackVaryingsEXT) @@ -30474,37 +30836,37 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_805) - .type GL_PREFIX(_dispatch_stub_805), @function - HIDDEN(GL_PREFIX(_dispatch_stub_805)) -GL_PREFIX(_dispatch_stub_805): + .globl GL_PREFIX(_dispatch_stub_815) + .type GL_PREFIX(_dispatch_stub_815), @function + HIDDEN(GL_PREFIX(_dispatch_stub_815)) +GL_PREFIX(_dispatch_stub_815): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30514,13 +30876,13 @@ GL_PREFIX(_dispatch_stub_805): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30530,19 +30892,19 @@ GL_PREFIX(_dispatch_stub_805): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_805), .-GL_PREFIX(_dispatch_stub_805) + .size GL_PREFIX(_dispatch_stub_815), .-GL_PREFIX(_dispatch_stub_815) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_806) - .type GL_PREFIX(_dispatch_stub_806), @function - HIDDEN(GL_PREFIX(_dispatch_stub_806)) -GL_PREFIX(_dispatch_stub_806): + .globl GL_PREFIX(_dispatch_stub_816) + .type GL_PREFIX(_dispatch_stub_816), @function + HIDDEN(GL_PREFIX(_dispatch_stub_816)) +GL_PREFIX(_dispatch_stub_816): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30552,13 +30914,13 @@ GL_PREFIX(_dispatch_stub_806): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30568,10 +30930,10 @@ GL_PREFIX(_dispatch_stub_806): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_806), .-GL_PREFIX(_dispatch_stub_806) + .size GL_PREFIX(_dispatch_stub_816), .-GL_PREFIX(_dispatch_stub_816) .p2align 4,,15 .globl GL_PREFIX(GetObjectParameterivAPPLE) @@ -30579,7 +30941,7 @@ GL_PREFIX(_dispatch_stub_806): GL_PREFIX(GetObjectParameterivAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30593,13 +30955,13 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30613,7 +30975,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivAPPLE), .-GL_PREFIX(GetObjectParameterivAPPLE) @@ -30624,7 +30986,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): GL_PREFIX(ObjectPurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30634,13 +30996,13 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30650,7 +31012,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectPurgeableAPPLE), .-GL_PREFIX(ObjectPurgeableAPPLE) @@ -30661,7 +31023,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): GL_PREFIX(ObjectUnpurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30671,13 +31033,13 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30687,19 +31049,19 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectUnpurgeableAPPLE), .-GL_PREFIX(ObjectUnpurgeableAPPLE) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_810) - .type GL_PREFIX(_dispatch_stub_810), @function - HIDDEN(GL_PREFIX(_dispatch_stub_810)) -GL_PREFIX(_dispatch_stub_810): + .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 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30713,13 +31075,13 @@ GL_PREFIX(_dispatch_stub_810): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30733,19 +31095,19 @@ GL_PREFIX(_dispatch_stub_810): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_810), .-GL_PREFIX(_dispatch_stub_810) + .size GL_PREFIX(_dispatch_stub_820), .-GL_PREFIX(_dispatch_stub_820) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_811) - .type GL_PREFIX(_dispatch_stub_811), @function - HIDDEN(GL_PREFIX(_dispatch_stub_811)) -GL_PREFIX(_dispatch_stub_811): + .globl GL_PREFIX(_dispatch_stub_821) + .type GL_PREFIX(_dispatch_stub_821), @function + HIDDEN(GL_PREFIX(_dispatch_stub_821)) +GL_PREFIX(_dispatch_stub_821): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30759,13 +31121,13 @@ GL_PREFIX(_dispatch_stub_811): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30779,19 +31141,19 @@ GL_PREFIX(_dispatch_stub_811): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_811), .-GL_PREFIX(_dispatch_stub_811) + .size GL_PREFIX(_dispatch_stub_821), .-GL_PREFIX(_dispatch_stub_821) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_812) - .type GL_PREFIX(_dispatch_stub_812), @function - HIDDEN(GL_PREFIX(_dispatch_stub_812)) -GL_PREFIX(_dispatch_stub_812): + .globl GL_PREFIX(_dispatch_stub_822) + .type GL_PREFIX(_dispatch_stub_822), @function + HIDDEN(GL_PREFIX(_dispatch_stub_822)) +GL_PREFIX(_dispatch_stub_822): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30805,13 +31167,13 @@ GL_PREFIX(_dispatch_stub_812): popq %rdx popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30825,19 +31187,19 @@ GL_PREFIX(_dispatch_stub_812): popq %rdx popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_812), .-GL_PREFIX(_dispatch_stub_812) + .size GL_PREFIX(_dispatch_stub_822), .-GL_PREFIX(_dispatch_stub_822) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_813) - .type GL_PREFIX(_dispatch_stub_813), @function - HIDDEN(GL_PREFIX(_dispatch_stub_813)) -GL_PREFIX(_dispatch_stub_813): + .globl GL_PREFIX(_dispatch_stub_823) + .type GL_PREFIX(_dispatch_stub_823), @function + HIDDEN(GL_PREFIX(_dispatch_stub_823)) +GL_PREFIX(_dispatch_stub_823): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30847,13 +31209,13 @@ GL_PREFIX(_dispatch_stub_813): popq %rdx popq %rsi popq %rdi - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30863,19 +31225,19 @@ GL_PREFIX(_dispatch_stub_813): popq %rdx popq %rsi popq %rdi - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_813), .-GL_PREFIX(_dispatch_stub_813) + .size GL_PREFIX(_dispatch_stub_823), .-GL_PREFIX(_dispatch_stub_823) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_814) - .type GL_PREFIX(_dispatch_stub_814), @function - HIDDEN(GL_PREFIX(_dispatch_stub_814)) -GL_PREFIX(_dispatch_stub_814): + .globl GL_PREFIX(_dispatch_stub_824) + .type GL_PREFIX(_dispatch_stub_824), @function + HIDDEN(GL_PREFIX(_dispatch_stub_824)) +GL_PREFIX(_dispatch_stub_824): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30885,13 +31247,13 @@ GL_PREFIX(_dispatch_stub_814): popq %rdx popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30901,10 +31263,10 @@ GL_PREFIX(_dispatch_stub_814): popq %rdx popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_814), .-GL_PREFIX(_dispatch_stub_814) + .size GL_PREFIX(_dispatch_stub_824), .-GL_PREFIX(_dispatch_stub_824) .p2align 4,,15 .globl GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -30912,7 +31274,7 @@ GL_PREFIX(_dispatch_stub_814): GL_PREFIX(EGLImageTargetRenderbufferStorageOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30922,13 +31284,13 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30938,7 +31300,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetRenderbufferStorageOES), .-GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -30949,7 +31311,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): GL_PREFIX(EGLImageTargetTexture2DOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30959,13 +31321,13 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30975,7 +31337,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetTexture2DOES), .-GL_PREFIX(EGLImageTargetTexture2DOES) @@ -31238,9 +31600,9 @@ 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_757) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_759) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_767) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_767) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_769) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_777) .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) @@ -31258,7 +31620,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_785) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_795) .globl GL_PREFIX(FramebufferTextureLayer) ; .set GL_PREFIX(FramebufferTextureLayer), GL_PREFIX(FramebufferTextureLayerEXT) .globl GL_PREFIX(BeginTransformFeedback) ; .set GL_PREFIX(BeginTransformFeedback), GL_PREFIX(BeginTransformFeedbackEXT) .globl GL_PREFIX(BindBufferBase) ; .set GL_PREFIX(BindBufferBase), GL_PREFIX(BindBufferBaseEXT) diff --git a/src/mapi/glapi/glapi_x86.S b/src/mapi/glapi/glapi_x86.S index 317f595454a..8b764c993cb 100644 --- a/src/mapi/glapi/glapi_x86.S +++ b/src/mapi/glapi/glapi_x86.S @@ -715,6 +715,9 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GetAttribLocationARB, _gloffset_GetAttribLocationARB, GetAttribLocationARB@8) GL_STUB(DrawBuffersARB, _gloffset_DrawBuffersARB, DrawBuffersARB@8) GL_STUB(RenderbufferStorageMultisample, _gloffset_RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) + GL_STUB(FramebufferTextureARB, _gloffset_FramebufferTextureARB, FramebufferTextureARB@16) + GL_STUB(FramebufferTextureFaceARB, _gloffset_FramebufferTextureFaceARB, FramebufferTextureFaceARB@20) + GL_STUB(ProgramParameteriARB, _gloffset_ProgramParameteriARB, ProgramParameteriARB@12) GL_STUB(FlushMappedBufferRange, _gloffset_FlushMappedBufferRange, FlushMappedBufferRange@12) GL_STUB(MapBufferRange, _gloffset_MapBufferRange, MapBufferRange@16) GL_STUB(BindVertexArray, _gloffset_BindVertexArray, BindVertexArray@4) @@ -730,23 +733,30 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(DrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex, DrawElementsBaseVertex@20) GL_STUB(DrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex, DrawRangeElementsBaseVertex@28) GL_STUB(MultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex, MultiDrawElementsBaseVertex@24) + GL_STUB(BindTransformFeedback, _gloffset_BindTransformFeedback, BindTransformFeedback@8) + GL_STUB(DeleteTransformFeedbacks, _gloffset_DeleteTransformFeedbacks, DeleteTransformFeedbacks@8) + GL_STUB(DrawTransformFeedback, _gloffset_DrawTransformFeedback, DrawTransformFeedback@8) + GL_STUB(GenTransformFeedbacks, _gloffset_GenTransformFeedbacks, GenTransformFeedbacks@8) + GL_STUB(IsTransformFeedback, _gloffset_IsTransformFeedback, IsTransformFeedback@4) + GL_STUB(PauseTransformFeedback, _gloffset_PauseTransformFeedback, PauseTransformFeedback@0) + GL_STUB(ResumeTransformFeedback, _gloffset_ResumeTransformFeedback, ResumeTransformFeedback@0) GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_580, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_580@8) - HIDDEN(GL_PREFIX(_dispatch_stub_580, _dispatch_stub_580@8)) - GL_STUB(_dispatch_stub_581, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_581@8) - HIDDEN(GL_PREFIX(_dispatch_stub_581, _dispatch_stub_581@8)) - GL_STUB(_dispatch_stub_582, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_582@8) - HIDDEN(GL_PREFIX(_dispatch_stub_582, _dispatch_stub_582@8)) - GL_STUB(_dispatch_stub_583, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_583@8) - HIDDEN(GL_PREFIX(_dispatch_stub_583, _dispatch_stub_583@8)) - GL_STUB(_dispatch_stub_584, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_584@8) - HIDDEN(GL_PREFIX(_dispatch_stub_584, _dispatch_stub_584@8)) - GL_STUB(_dispatch_stub_585, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_585@8) - HIDDEN(GL_PREFIX(_dispatch_stub_585, _dispatch_stub_585@8)) - GL_STUB(_dispatch_stub_586, _gloffset_SampleMaskSGIS, _dispatch_stub_586@8) - HIDDEN(GL_PREFIX(_dispatch_stub_586, _dispatch_stub_586@8)) - GL_STUB(_dispatch_stub_587, _gloffset_SamplePatternSGIS, _dispatch_stub_587@4) - HIDDEN(GL_PREFIX(_dispatch_stub_587, _dispatch_stub_587@4)) + GL_STUB(_dispatch_stub_590, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_590@8) + HIDDEN(GL_PREFIX(_dispatch_stub_590, _dispatch_stub_590@8)) + GL_STUB(_dispatch_stub_591, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_591@8) + HIDDEN(GL_PREFIX(_dispatch_stub_591, _dispatch_stub_591@8)) + GL_STUB(_dispatch_stub_592, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_592@8) + HIDDEN(GL_PREFIX(_dispatch_stub_592, _dispatch_stub_592@8)) + GL_STUB(_dispatch_stub_593, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_593@8) + HIDDEN(GL_PREFIX(_dispatch_stub_593, _dispatch_stub_593@8)) + GL_STUB(_dispatch_stub_594, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_594@8) + HIDDEN(GL_PREFIX(_dispatch_stub_594, _dispatch_stub_594@8)) + GL_STUB(_dispatch_stub_595, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_595@8) + HIDDEN(GL_PREFIX(_dispatch_stub_595, _dispatch_stub_595@8)) + GL_STUB(_dispatch_stub_596, _gloffset_SampleMaskSGIS, _dispatch_stub_596@8) + HIDDEN(GL_PREFIX(_dispatch_stub_596, _dispatch_stub_596@8)) + GL_STUB(_dispatch_stub_597, _gloffset_SamplePatternSGIS, _dispatch_stub_597@4) + HIDDEN(GL_PREFIX(_dispatch_stub_597, _dispatch_stub_597@4)) GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20) GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12) GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16) @@ -757,10 +767,10 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8) GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8) GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0) - GL_STUB(_dispatch_stub_598, _gloffset_CullParameterdvEXT, _dispatch_stub_598@8) - HIDDEN(GL_PREFIX(_dispatch_stub_598, _dispatch_stub_598@8)) - GL_STUB(_dispatch_stub_599, _gloffset_CullParameterfvEXT, _dispatch_stub_599@8) - HIDDEN(GL_PREFIX(_dispatch_stub_599, _dispatch_stub_599@8)) + GL_STUB(_dispatch_stub_608, _gloffset_CullParameterdvEXT, _dispatch_stub_608@8) + HIDDEN(GL_PREFIX(_dispatch_stub_608, _dispatch_stub_608@8)) + GL_STUB(_dispatch_stub_609, _gloffset_CullParameterfvEXT, _dispatch_stub_609@8) + HIDDEN(GL_PREFIX(_dispatch_stub_609, _dispatch_stub_609@8)) GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12) GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24) @@ -785,8 +795,8 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(FogCoorddvEXT, _gloffset_FogCoorddvEXT, FogCoorddvEXT@4) GL_STUB(FogCoordfEXT, _gloffset_FogCoordfEXT, FogCoordfEXT@4) GL_STUB(FogCoordfvEXT, _gloffset_FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_624, _gloffset_PixelTexGenSGIX, _dispatch_stub_624@4) - HIDDEN(GL_PREFIX(_dispatch_stub_624, _dispatch_stub_624@4)) + GL_STUB(_dispatch_stub_634, _gloffset_PixelTexGenSGIX, _dispatch_stub_634@4) + HIDDEN(GL_PREFIX(_dispatch_stub_634, _dispatch_stub_634@4)) GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) GL_STUB(FlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV, FlushVertexArrayRangeNV@0) GL_STUB(VertexArrayRangeNV, _gloffset_VertexArrayRangeNV, VertexArrayRangeNV@8) @@ -828,24 +838,24 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(WindowPos4ivMESA, _gloffset_WindowPos4ivMESA, WindowPos4ivMESA@4) GL_STUB(WindowPos4sMESA, _gloffset_WindowPos4sMESA, WindowPos4sMESA@16) GL_STUB(WindowPos4svMESA, _gloffset_WindowPos4svMESA, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_666, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_666@20) - HIDDEN(GL_PREFIX(_dispatch_stub_666, _dispatch_stub_666@20)) - GL_STUB(_dispatch_stub_667, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_667@24) - HIDDEN(GL_PREFIX(_dispatch_stub_667, _dispatch_stub_667@24)) - GL_STUB(_dispatch_stub_668, _gloffset_DeleteFencesNV, _dispatch_stub_668@8) - HIDDEN(GL_PREFIX(_dispatch_stub_668, _dispatch_stub_668@8)) - GL_STUB(_dispatch_stub_669, _gloffset_FinishFenceNV, _dispatch_stub_669@4) - HIDDEN(GL_PREFIX(_dispatch_stub_669, _dispatch_stub_669@4)) - GL_STUB(_dispatch_stub_670, _gloffset_GenFencesNV, _dispatch_stub_670@8) - HIDDEN(GL_PREFIX(_dispatch_stub_670, _dispatch_stub_670@8)) - GL_STUB(_dispatch_stub_671, _gloffset_GetFenceivNV, _dispatch_stub_671@12) - HIDDEN(GL_PREFIX(_dispatch_stub_671, _dispatch_stub_671@12)) - GL_STUB(_dispatch_stub_672, _gloffset_IsFenceNV, _dispatch_stub_672@4) - HIDDEN(GL_PREFIX(_dispatch_stub_672, _dispatch_stub_672@4)) - GL_STUB(_dispatch_stub_673, _gloffset_SetFenceNV, _dispatch_stub_673@8) - HIDDEN(GL_PREFIX(_dispatch_stub_673, _dispatch_stub_673@8)) - GL_STUB(_dispatch_stub_674, _gloffset_TestFenceNV, _dispatch_stub_674@4) - HIDDEN(GL_PREFIX(_dispatch_stub_674, _dispatch_stub_674@4)) + GL_STUB(_dispatch_stub_676, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_676@20) + HIDDEN(GL_PREFIX(_dispatch_stub_676, _dispatch_stub_676@20)) + GL_STUB(_dispatch_stub_677, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_677@24) + HIDDEN(GL_PREFIX(_dispatch_stub_677, _dispatch_stub_677@24)) + GL_STUB(_dispatch_stub_678, _gloffset_DeleteFencesNV, _dispatch_stub_678@8) + HIDDEN(GL_PREFIX(_dispatch_stub_678, _dispatch_stub_678@8)) + GL_STUB(_dispatch_stub_679, _gloffset_FinishFenceNV, _dispatch_stub_679@4) + HIDDEN(GL_PREFIX(_dispatch_stub_679, _dispatch_stub_679@4)) + GL_STUB(_dispatch_stub_680, _gloffset_GenFencesNV, _dispatch_stub_680@8) + HIDDEN(GL_PREFIX(_dispatch_stub_680, _dispatch_stub_680@8)) + GL_STUB(_dispatch_stub_681, _gloffset_GetFenceivNV, _dispatch_stub_681@12) + HIDDEN(GL_PREFIX(_dispatch_stub_681, _dispatch_stub_681@12)) + GL_STUB(_dispatch_stub_682, _gloffset_IsFenceNV, _dispatch_stub_682@4) + HIDDEN(GL_PREFIX(_dispatch_stub_682, _dispatch_stub_682@4)) + GL_STUB(_dispatch_stub_683, _gloffset_SetFenceNV, _dispatch_stub_683@8) + HIDDEN(GL_PREFIX(_dispatch_stub_683, _dispatch_stub_683@8)) + GL_STUB(_dispatch_stub_684, _gloffset_TestFenceNV, _dispatch_stub_684@4) + HIDDEN(GL_PREFIX(_dispatch_stub_684, _dispatch_stub_684@4)) GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12) GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8) GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8) @@ -926,26 +936,26 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(SetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI, SetFragmentShaderConstantATI@8) GL_STUB(PointParameteriNV, _gloffset_PointParameteriNV, PointParameteriNV@8) GL_STUB(PointParameterivNV, _gloffset_PointParameterivNV, PointParameterivNV@8) - GL_STUB(_dispatch_stub_755, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_755@4) - HIDDEN(GL_PREFIX(_dispatch_stub_755, _dispatch_stub_755@4)) - GL_STUB(_dispatch_stub_756, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_756@4) - HIDDEN(GL_PREFIX(_dispatch_stub_756, _dispatch_stub_756@4)) - GL_STUB(_dispatch_stub_757, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_757@8) - HIDDEN(GL_PREFIX(_dispatch_stub_757, _dispatch_stub_757@8)) - GL_STUB(_dispatch_stub_758, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_758@8) - HIDDEN(GL_PREFIX(_dispatch_stub_758, _dispatch_stub_758@8)) - GL_STUB(_dispatch_stub_759, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_759@4) - HIDDEN(GL_PREFIX(_dispatch_stub_759, _dispatch_stub_759@4)) + GL_STUB(_dispatch_stub_765, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_765@4) + HIDDEN(GL_PREFIX(_dispatch_stub_765, _dispatch_stub_765@4)) + GL_STUB(_dispatch_stub_766, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_766@4) + HIDDEN(GL_PREFIX(_dispatch_stub_766, _dispatch_stub_766@4)) + GL_STUB(_dispatch_stub_767, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_767@8) + HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@8)) + GL_STUB(_dispatch_stub_768, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_768@8) + HIDDEN(GL_PREFIX(_dispatch_stub_768, _dispatch_stub_768@8)) + GL_STUB(_dispatch_stub_769, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_769@4) + HIDDEN(GL_PREFIX(_dispatch_stub_769, _dispatch_stub_769@4)) GL_STUB(GetProgramNamedParameterdvNV, _gloffset_GetProgramNamedParameterdvNV, GetProgramNamedParameterdvNV@16) GL_STUB(GetProgramNamedParameterfvNV, _gloffset_GetProgramNamedParameterfvNV, GetProgramNamedParameterfvNV@16) GL_STUB(ProgramNamedParameter4dNV, _gloffset_ProgramNamedParameter4dNV, ProgramNamedParameter4dNV@44) GL_STUB(ProgramNamedParameter4dvNV, _gloffset_ProgramNamedParameter4dvNV, ProgramNamedParameter4dvNV@16) GL_STUB(ProgramNamedParameter4fNV, _gloffset_ProgramNamedParameter4fNV, ProgramNamedParameter4fNV@28) GL_STUB(ProgramNamedParameter4fvNV, _gloffset_ProgramNamedParameter4fvNV, ProgramNamedParameter4fvNV@16) - GL_STUB(_dispatch_stub_766, _gloffset_DepthBoundsEXT, _dispatch_stub_766@16) - HIDDEN(GL_PREFIX(_dispatch_stub_766, _dispatch_stub_766@16)) - GL_STUB(_dispatch_stub_767, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_767@8) - HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@8)) + GL_STUB(_dispatch_stub_776, _gloffset_DepthBoundsEXT, _dispatch_stub_776@16) + HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@16)) + GL_STUB(_dispatch_stub_777, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_777@8) + HIDDEN(GL_PREFIX(_dispatch_stub_777, _dispatch_stub_777@8)) GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8) GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8) GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) @@ -963,12 +973,12 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(IsFramebufferEXT, _gloffset_IsFramebufferEXT, IsFramebufferEXT@4) GL_STUB(IsRenderbufferEXT, _gloffset_IsRenderbufferEXT, IsRenderbufferEXT@4) GL_STUB(RenderbufferStorageEXT, _gloffset_RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_785, _gloffset_BlitFramebufferEXT, _dispatch_stub_785@40) - HIDDEN(GL_PREFIX(_dispatch_stub_785, _dispatch_stub_785@40)) - GL_STUB(_dispatch_stub_786, _gloffset_BufferParameteriAPPLE, _dispatch_stub_786@12) - HIDDEN(GL_PREFIX(_dispatch_stub_786, _dispatch_stub_786@12)) - GL_STUB(_dispatch_stub_787, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_787@12) - HIDDEN(GL_PREFIX(_dispatch_stub_787, _dispatch_stub_787@12)) + GL_STUB(_dispatch_stub_795, _gloffset_BlitFramebufferEXT, _dispatch_stub_795@40) + HIDDEN(GL_PREFIX(_dispatch_stub_795, _dispatch_stub_795@40)) + GL_STUB(_dispatch_stub_796, _gloffset_BufferParameteriAPPLE, _dispatch_stub_796@12) + HIDDEN(GL_PREFIX(_dispatch_stub_796, _dispatch_stub_796@12)) + GL_STUB(_dispatch_stub_797, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_797@12) + HIDDEN(GL_PREFIX(_dispatch_stub_797, _dispatch_stub_797@12)) GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) GL_STUB(ColorMaskIndexedEXT, _gloffset_ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) GL_STUB(DisableIndexedEXT, _gloffset_DisableIndexedEXT, DisableIndexedEXT@8) @@ -986,23 +996,23 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GetTransformFeedbackVaryingEXT, _gloffset_GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) GL_STUB(TransformFeedbackVaryingsEXT, _gloffset_TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) GL_STUB(ProvokingVertexEXT, _gloffset_ProvokingVertexEXT, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_805, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_805@12) - HIDDEN(GL_PREFIX(_dispatch_stub_805, _dispatch_stub_805@12)) - GL_STUB(_dispatch_stub_806, _gloffset_TextureRangeAPPLE, _dispatch_stub_806@12) - HIDDEN(GL_PREFIX(_dispatch_stub_806, _dispatch_stub_806@12)) + GL_STUB(_dispatch_stub_815, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_815@12) + HIDDEN(GL_PREFIX(_dispatch_stub_815, _dispatch_stub_815@12)) + GL_STUB(_dispatch_stub_816, _gloffset_TextureRangeAPPLE, _dispatch_stub_816@12) + HIDDEN(GL_PREFIX(_dispatch_stub_816, _dispatch_stub_816@12)) GL_STUB(GetObjectParameterivAPPLE, _gloffset_GetObjectParameterivAPPLE, GetObjectParameterivAPPLE@16) GL_STUB(ObjectPurgeableAPPLE, _gloffset_ObjectPurgeableAPPLE, ObjectPurgeableAPPLE@12) GL_STUB(ObjectUnpurgeableAPPLE, _gloffset_ObjectUnpurgeableAPPLE, ObjectUnpurgeableAPPLE@12) - GL_STUB(_dispatch_stub_810, _gloffset_StencilFuncSeparateATI, _dispatch_stub_810@16) - HIDDEN(GL_PREFIX(_dispatch_stub_810, _dispatch_stub_810@16)) - GL_STUB(_dispatch_stub_811, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_811@16) - HIDDEN(GL_PREFIX(_dispatch_stub_811, _dispatch_stub_811@16)) - GL_STUB(_dispatch_stub_812, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_812@16) - HIDDEN(GL_PREFIX(_dispatch_stub_812, _dispatch_stub_812@16)) - GL_STUB(_dispatch_stub_813, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_813@12) - HIDDEN(GL_PREFIX(_dispatch_stub_813, _dispatch_stub_813@12)) - GL_STUB(_dispatch_stub_814, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_814@12) - HIDDEN(GL_PREFIX(_dispatch_stub_814, _dispatch_stub_814@12)) + GL_STUB(_dispatch_stub_820, _gloffset_StencilFuncSeparateATI, _dispatch_stub_820@16) + HIDDEN(GL_PREFIX(_dispatch_stub_820, _dispatch_stub_820@16)) + GL_STUB(_dispatch_stub_821, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_821@16) + HIDDEN(GL_PREFIX(_dispatch_stub_821, _dispatch_stub_821@16)) + GL_STUB(_dispatch_stub_822, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_822@16) + HIDDEN(GL_PREFIX(_dispatch_stub_822, _dispatch_stub_822@16)) + GL_STUB(_dispatch_stub_823, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_823@12) + HIDDEN(GL_PREFIX(_dispatch_stub_823, _dispatch_stub_823@12)) + GL_STUB(_dispatch_stub_824, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_824@12) + HIDDEN(GL_PREFIX(_dispatch_stub_824, _dispatch_stub_824@12)) GL_STUB(EGLImageTargetRenderbufferStorageOES, _gloffset_EGLImageTargetRenderbufferStorageOES, EGLImageTargetRenderbufferStorageOES@8) GL_STUB(EGLImageTargetTexture2DOES, _gloffset_EGLImageTargetTexture2DOES, EGLImageTargetTexture2DOES@8) GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4) @@ -1263,9 +1273,9 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(IsProgramARB, _gloffset_IsProgramNV, IsProgramARB@4, IsProgramNV, IsProgramNV@4) GL_STUB_ALIAS(PointParameteri, _gloffset_PointParameteriNV, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) GL_STUB_ALIAS(PointParameteriv, _gloffset_PointParameterivNV, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) - GL_STUB_ALIAS(DeleteVertexArrays, _gloffset_DeleteVertexArraysAPPLE, DeleteVertexArrays@8, _dispatch_stub_757, _dispatch_stub_757@8) - GL_STUB_ALIAS(IsVertexArray, _gloffset_IsVertexArrayAPPLE, IsVertexArray@4, _dispatch_stub_759, _dispatch_stub_759@4) - GL_STUB_ALIAS(BlendEquationSeparate, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparate@8, _dispatch_stub_767, _dispatch_stub_767@8) + GL_STUB_ALIAS(DeleteVertexArrays, _gloffset_DeleteVertexArraysAPPLE, DeleteVertexArrays@8, _dispatch_stub_767, _dispatch_stub_767@8) + GL_STUB_ALIAS(IsVertexArray, _gloffset_IsVertexArrayAPPLE, IsVertexArray@4, _dispatch_stub_769, _dispatch_stub_769@4) + GL_STUB_ALIAS(BlendEquationSeparate, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparate@8, _dispatch_stub_777, _dispatch_stub_777@8) GL_STUB_ALIAS(BindFramebuffer, _gloffset_BindFramebufferEXT, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) GL_STUB_ALIAS(BindRenderbuffer, _gloffset_BindRenderbufferEXT, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) GL_STUB_ALIAS(CheckFramebufferStatus, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) @@ -1283,7 +1293,7 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(IsFramebuffer, _gloffset_IsFramebufferEXT, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) GL_STUB_ALIAS(IsRenderbuffer, _gloffset_IsRenderbufferEXT, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) GL_STUB_ALIAS(RenderbufferStorage, _gloffset_RenderbufferStorageEXT, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB_ALIAS(BlitFramebuffer, _gloffset_BlitFramebufferEXT, BlitFramebuffer@40, _dispatch_stub_785, _dispatch_stub_785@40) + GL_STUB_ALIAS(BlitFramebuffer, _gloffset_BlitFramebufferEXT, BlitFramebuffer@40, _dispatch_stub_795, _dispatch_stub_795@40) GL_STUB_ALIAS(FramebufferTextureLayer, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) GL_STUB_ALIAS(BeginTransformFeedback, _gloffset_BeginTransformFeedbackEXT, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) GL_STUB_ALIAS(BindBufferBase, _gloffset_BindBufferBaseEXT, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) diff --git a/src/mapi/glapi/glapidispatch.h b/src/mapi/glapi/glapidispatch.h index f66876fe8d2..f8a68ee302c 100644 --- a/src/mapi/glapi/glapidispatch.h +++ b/src/mapi/glapi/glapidispatch.h @@ -1753,6 +1753,15 @@ #define CALL_RenderbufferStorageMultisample(disp, parameters) (*((disp)->RenderbufferStorageMultisample)) parameters #define GET_RenderbufferStorageMultisample(disp) ((disp)->RenderbufferStorageMultisample) #define SET_RenderbufferStorageMultisample(disp, fn) ((disp)->RenderbufferStorageMultisample = fn) +#define CALL_FramebufferTextureARB(disp, parameters) (*((disp)->FramebufferTextureARB)) parameters +#define GET_FramebufferTextureARB(disp) ((disp)->FramebufferTextureARB) +#define SET_FramebufferTextureARB(disp, fn) ((disp)->FramebufferTextureARB = fn) +#define CALL_FramebufferTextureFaceARB(disp, parameters) (*((disp)->FramebufferTextureFaceARB)) parameters +#define GET_FramebufferTextureFaceARB(disp) ((disp)->FramebufferTextureFaceARB) +#define SET_FramebufferTextureFaceARB(disp, fn) ((disp)->FramebufferTextureFaceARB = fn) +#define CALL_ProgramParameteriARB(disp, parameters) (*((disp)->ProgramParameteriARB)) parameters +#define GET_ProgramParameteriARB(disp) ((disp)->ProgramParameteriARB) +#define SET_ProgramParameteriARB(disp, fn) ((disp)->ProgramParameteriARB = fn) #define CALL_FlushMappedBufferRange(disp, parameters) (*((disp)->FlushMappedBufferRange)) parameters #define GET_FlushMappedBufferRange(disp) ((disp)->FlushMappedBufferRange) #define SET_FlushMappedBufferRange(disp, fn) ((disp)->FlushMappedBufferRange = fn) @@ -1798,6 +1807,27 @@ #define CALL_MultiDrawElementsBaseVertex(disp, parameters) (*((disp)->MultiDrawElementsBaseVertex)) parameters #define GET_MultiDrawElementsBaseVertex(disp) ((disp)->MultiDrawElementsBaseVertex) #define SET_MultiDrawElementsBaseVertex(disp, fn) ((disp)->MultiDrawElementsBaseVertex = fn) +#define CALL_BindTransformFeedback(disp, parameters) (*((disp)->BindTransformFeedback)) parameters +#define GET_BindTransformFeedback(disp) ((disp)->BindTransformFeedback) +#define SET_BindTransformFeedback(disp, fn) ((disp)->BindTransformFeedback = fn) +#define CALL_DeleteTransformFeedbacks(disp, parameters) (*((disp)->DeleteTransformFeedbacks)) parameters +#define GET_DeleteTransformFeedbacks(disp) ((disp)->DeleteTransformFeedbacks) +#define SET_DeleteTransformFeedbacks(disp, fn) ((disp)->DeleteTransformFeedbacks = fn) +#define CALL_DrawTransformFeedback(disp, parameters) (*((disp)->DrawTransformFeedback)) parameters +#define GET_DrawTransformFeedback(disp) ((disp)->DrawTransformFeedback) +#define SET_DrawTransformFeedback(disp, fn) ((disp)->DrawTransformFeedback = fn) +#define CALL_GenTransformFeedbacks(disp, parameters) (*((disp)->GenTransformFeedbacks)) parameters +#define GET_GenTransformFeedbacks(disp) ((disp)->GenTransformFeedbacks) +#define SET_GenTransformFeedbacks(disp, fn) ((disp)->GenTransformFeedbacks = fn) +#define CALL_IsTransformFeedback(disp, parameters) (*((disp)->IsTransformFeedback)) parameters +#define GET_IsTransformFeedback(disp) ((disp)->IsTransformFeedback) +#define SET_IsTransformFeedback(disp, fn) ((disp)->IsTransformFeedback = fn) +#define CALL_PauseTransformFeedback(disp, parameters) (*((disp)->PauseTransformFeedback)) parameters +#define GET_PauseTransformFeedback(disp) ((disp)->PauseTransformFeedback) +#define SET_PauseTransformFeedback(disp, fn) ((disp)->PauseTransformFeedback = fn) +#define CALL_ResumeTransformFeedback(disp, parameters) (*((disp)->ResumeTransformFeedback)) parameters +#define GET_ResumeTransformFeedback(disp) ((disp)->ResumeTransformFeedback) +#define SET_ResumeTransformFeedback(disp, fn) ((disp)->ResumeTransformFeedback = fn) #define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters #define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT) #define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn) @@ -2515,7 +2545,7 @@ #else -#define driDispatchRemapTable_size 409 +#define driDispatchRemapTable_size 419 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -2674,259 +2704,269 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define GetAttribLocationARB_remap_index 153 #define DrawBuffersARB_remap_index 154 #define RenderbufferStorageMultisample_remap_index 155 -#define FlushMappedBufferRange_remap_index 156 -#define MapBufferRange_remap_index 157 -#define BindVertexArray_remap_index 158 -#define GenVertexArrays_remap_index 159 -#define CopyBufferSubData_remap_index 160 -#define ClientWaitSync_remap_index 161 -#define DeleteSync_remap_index 162 -#define FenceSync_remap_index 163 -#define GetInteger64v_remap_index 164 -#define GetSynciv_remap_index 165 -#define IsSync_remap_index 166 -#define WaitSync_remap_index 167 -#define DrawElementsBaseVertex_remap_index 168 -#define DrawRangeElementsBaseVertex_remap_index 169 -#define MultiDrawElementsBaseVertex_remap_index 170 -#define PolygonOffsetEXT_remap_index 171 -#define GetPixelTexGenParameterfvSGIS_remap_index 172 -#define GetPixelTexGenParameterivSGIS_remap_index 173 -#define PixelTexGenParameterfSGIS_remap_index 174 -#define PixelTexGenParameterfvSGIS_remap_index 175 -#define PixelTexGenParameteriSGIS_remap_index 176 -#define PixelTexGenParameterivSGIS_remap_index 177 -#define SampleMaskSGIS_remap_index 178 -#define SamplePatternSGIS_remap_index 179 -#define ColorPointerEXT_remap_index 180 -#define EdgeFlagPointerEXT_remap_index 181 -#define IndexPointerEXT_remap_index 182 -#define NormalPointerEXT_remap_index 183 -#define TexCoordPointerEXT_remap_index 184 -#define VertexPointerEXT_remap_index 185 -#define PointParameterfEXT_remap_index 186 -#define PointParameterfvEXT_remap_index 187 -#define LockArraysEXT_remap_index 188 -#define UnlockArraysEXT_remap_index 189 -#define CullParameterdvEXT_remap_index 190 -#define CullParameterfvEXT_remap_index 191 -#define SecondaryColor3bEXT_remap_index 192 -#define SecondaryColor3bvEXT_remap_index 193 -#define SecondaryColor3dEXT_remap_index 194 -#define SecondaryColor3dvEXT_remap_index 195 -#define SecondaryColor3fEXT_remap_index 196 -#define SecondaryColor3fvEXT_remap_index 197 -#define SecondaryColor3iEXT_remap_index 198 -#define SecondaryColor3ivEXT_remap_index 199 -#define SecondaryColor3sEXT_remap_index 200 -#define SecondaryColor3svEXT_remap_index 201 -#define SecondaryColor3ubEXT_remap_index 202 -#define SecondaryColor3ubvEXT_remap_index 203 -#define SecondaryColor3uiEXT_remap_index 204 -#define SecondaryColor3uivEXT_remap_index 205 -#define SecondaryColor3usEXT_remap_index 206 -#define SecondaryColor3usvEXT_remap_index 207 -#define SecondaryColorPointerEXT_remap_index 208 -#define MultiDrawArraysEXT_remap_index 209 -#define MultiDrawElementsEXT_remap_index 210 -#define FogCoordPointerEXT_remap_index 211 -#define FogCoorddEXT_remap_index 212 -#define FogCoorddvEXT_remap_index 213 -#define FogCoordfEXT_remap_index 214 -#define FogCoordfvEXT_remap_index 215 -#define PixelTexGenSGIX_remap_index 216 -#define BlendFuncSeparateEXT_remap_index 217 -#define FlushVertexArrayRangeNV_remap_index 218 -#define VertexArrayRangeNV_remap_index 219 -#define CombinerInputNV_remap_index 220 -#define CombinerOutputNV_remap_index 221 -#define CombinerParameterfNV_remap_index 222 -#define CombinerParameterfvNV_remap_index 223 -#define CombinerParameteriNV_remap_index 224 -#define CombinerParameterivNV_remap_index 225 -#define FinalCombinerInputNV_remap_index 226 -#define GetCombinerInputParameterfvNV_remap_index 227 -#define GetCombinerInputParameterivNV_remap_index 228 -#define GetCombinerOutputParameterfvNV_remap_index 229 -#define GetCombinerOutputParameterivNV_remap_index 230 -#define GetFinalCombinerInputParameterfvNV_remap_index 231 -#define GetFinalCombinerInputParameterivNV_remap_index 232 -#define ResizeBuffersMESA_remap_index 233 -#define WindowPos2dMESA_remap_index 234 -#define WindowPos2dvMESA_remap_index 235 -#define WindowPos2fMESA_remap_index 236 -#define WindowPos2fvMESA_remap_index 237 -#define WindowPos2iMESA_remap_index 238 -#define WindowPos2ivMESA_remap_index 239 -#define WindowPos2sMESA_remap_index 240 -#define WindowPos2svMESA_remap_index 241 -#define WindowPos3dMESA_remap_index 242 -#define WindowPos3dvMESA_remap_index 243 -#define WindowPos3fMESA_remap_index 244 -#define WindowPos3fvMESA_remap_index 245 -#define WindowPos3iMESA_remap_index 246 -#define WindowPos3ivMESA_remap_index 247 -#define WindowPos3sMESA_remap_index 248 -#define WindowPos3svMESA_remap_index 249 -#define WindowPos4dMESA_remap_index 250 -#define WindowPos4dvMESA_remap_index 251 -#define WindowPos4fMESA_remap_index 252 -#define WindowPos4fvMESA_remap_index 253 -#define WindowPos4iMESA_remap_index 254 -#define WindowPos4ivMESA_remap_index 255 -#define WindowPos4sMESA_remap_index 256 -#define WindowPos4svMESA_remap_index 257 -#define MultiModeDrawArraysIBM_remap_index 258 -#define MultiModeDrawElementsIBM_remap_index 259 -#define DeleteFencesNV_remap_index 260 -#define FinishFenceNV_remap_index 261 -#define GenFencesNV_remap_index 262 -#define GetFenceivNV_remap_index 263 -#define IsFenceNV_remap_index 264 -#define SetFenceNV_remap_index 265 -#define TestFenceNV_remap_index 266 -#define AreProgramsResidentNV_remap_index 267 -#define BindProgramNV_remap_index 268 -#define DeleteProgramsNV_remap_index 269 -#define ExecuteProgramNV_remap_index 270 -#define GenProgramsNV_remap_index 271 -#define GetProgramParameterdvNV_remap_index 272 -#define GetProgramParameterfvNV_remap_index 273 -#define GetProgramStringNV_remap_index 274 -#define GetProgramivNV_remap_index 275 -#define GetTrackMatrixivNV_remap_index 276 -#define GetVertexAttribPointervNV_remap_index 277 -#define GetVertexAttribdvNV_remap_index 278 -#define GetVertexAttribfvNV_remap_index 279 -#define GetVertexAttribivNV_remap_index 280 -#define IsProgramNV_remap_index 281 -#define LoadProgramNV_remap_index 282 -#define ProgramParameters4dvNV_remap_index 283 -#define ProgramParameters4fvNV_remap_index 284 -#define RequestResidentProgramsNV_remap_index 285 -#define TrackMatrixNV_remap_index 286 -#define VertexAttrib1dNV_remap_index 287 -#define VertexAttrib1dvNV_remap_index 288 -#define VertexAttrib1fNV_remap_index 289 -#define VertexAttrib1fvNV_remap_index 290 -#define VertexAttrib1sNV_remap_index 291 -#define VertexAttrib1svNV_remap_index 292 -#define VertexAttrib2dNV_remap_index 293 -#define VertexAttrib2dvNV_remap_index 294 -#define VertexAttrib2fNV_remap_index 295 -#define VertexAttrib2fvNV_remap_index 296 -#define VertexAttrib2sNV_remap_index 297 -#define VertexAttrib2svNV_remap_index 298 -#define VertexAttrib3dNV_remap_index 299 -#define VertexAttrib3dvNV_remap_index 300 -#define VertexAttrib3fNV_remap_index 301 -#define VertexAttrib3fvNV_remap_index 302 -#define VertexAttrib3sNV_remap_index 303 -#define VertexAttrib3svNV_remap_index 304 -#define VertexAttrib4dNV_remap_index 305 -#define VertexAttrib4dvNV_remap_index 306 -#define VertexAttrib4fNV_remap_index 307 -#define VertexAttrib4fvNV_remap_index 308 -#define VertexAttrib4sNV_remap_index 309 -#define VertexAttrib4svNV_remap_index 310 -#define VertexAttrib4ubNV_remap_index 311 -#define VertexAttrib4ubvNV_remap_index 312 -#define VertexAttribPointerNV_remap_index 313 -#define VertexAttribs1dvNV_remap_index 314 -#define VertexAttribs1fvNV_remap_index 315 -#define VertexAttribs1svNV_remap_index 316 -#define VertexAttribs2dvNV_remap_index 317 -#define VertexAttribs2fvNV_remap_index 318 -#define VertexAttribs2svNV_remap_index 319 -#define VertexAttribs3dvNV_remap_index 320 -#define VertexAttribs3fvNV_remap_index 321 -#define VertexAttribs3svNV_remap_index 322 -#define VertexAttribs4dvNV_remap_index 323 -#define VertexAttribs4fvNV_remap_index 324 -#define VertexAttribs4svNV_remap_index 325 -#define VertexAttribs4ubvNV_remap_index 326 -#define GetTexBumpParameterfvATI_remap_index 327 -#define GetTexBumpParameterivATI_remap_index 328 -#define TexBumpParameterfvATI_remap_index 329 -#define TexBumpParameterivATI_remap_index 330 -#define AlphaFragmentOp1ATI_remap_index 331 -#define AlphaFragmentOp2ATI_remap_index 332 -#define AlphaFragmentOp3ATI_remap_index 333 -#define BeginFragmentShaderATI_remap_index 334 -#define BindFragmentShaderATI_remap_index 335 -#define ColorFragmentOp1ATI_remap_index 336 -#define ColorFragmentOp2ATI_remap_index 337 -#define ColorFragmentOp3ATI_remap_index 338 -#define DeleteFragmentShaderATI_remap_index 339 -#define EndFragmentShaderATI_remap_index 340 -#define GenFragmentShadersATI_remap_index 341 -#define PassTexCoordATI_remap_index 342 -#define SampleMapATI_remap_index 343 -#define SetFragmentShaderConstantATI_remap_index 344 -#define PointParameteriNV_remap_index 345 -#define PointParameterivNV_remap_index 346 -#define ActiveStencilFaceEXT_remap_index 347 -#define BindVertexArrayAPPLE_remap_index 348 -#define DeleteVertexArraysAPPLE_remap_index 349 -#define GenVertexArraysAPPLE_remap_index 350 -#define IsVertexArrayAPPLE_remap_index 351 -#define GetProgramNamedParameterdvNV_remap_index 352 -#define GetProgramNamedParameterfvNV_remap_index 353 -#define ProgramNamedParameter4dNV_remap_index 354 -#define ProgramNamedParameter4dvNV_remap_index 355 -#define ProgramNamedParameter4fNV_remap_index 356 -#define ProgramNamedParameter4fvNV_remap_index 357 -#define DepthBoundsEXT_remap_index 358 -#define BlendEquationSeparateEXT_remap_index 359 -#define BindFramebufferEXT_remap_index 360 -#define BindRenderbufferEXT_remap_index 361 -#define CheckFramebufferStatusEXT_remap_index 362 -#define DeleteFramebuffersEXT_remap_index 363 -#define DeleteRenderbuffersEXT_remap_index 364 -#define FramebufferRenderbufferEXT_remap_index 365 -#define FramebufferTexture1DEXT_remap_index 366 -#define FramebufferTexture2DEXT_remap_index 367 -#define FramebufferTexture3DEXT_remap_index 368 -#define GenFramebuffersEXT_remap_index 369 -#define GenRenderbuffersEXT_remap_index 370 -#define GenerateMipmapEXT_remap_index 371 -#define GetFramebufferAttachmentParameterivEXT_remap_index 372 -#define GetRenderbufferParameterivEXT_remap_index 373 -#define IsFramebufferEXT_remap_index 374 -#define IsRenderbufferEXT_remap_index 375 -#define RenderbufferStorageEXT_remap_index 376 -#define BlitFramebufferEXT_remap_index 377 -#define BufferParameteriAPPLE_remap_index 378 -#define FlushMappedBufferRangeAPPLE_remap_index 379 -#define FramebufferTextureLayerEXT_remap_index 380 -#define ColorMaskIndexedEXT_remap_index 381 -#define DisableIndexedEXT_remap_index 382 -#define EnableIndexedEXT_remap_index 383 -#define GetBooleanIndexedvEXT_remap_index 384 -#define GetIntegerIndexedvEXT_remap_index 385 -#define IsEnabledIndexedEXT_remap_index 386 -#define BeginConditionalRenderNV_remap_index 387 -#define EndConditionalRenderNV_remap_index 388 -#define BeginTransformFeedbackEXT_remap_index 389 -#define BindBufferBaseEXT_remap_index 390 -#define BindBufferOffsetEXT_remap_index 391 -#define BindBufferRangeEXT_remap_index 392 -#define EndTransformFeedbackEXT_remap_index 393 -#define GetTransformFeedbackVaryingEXT_remap_index 394 -#define TransformFeedbackVaryingsEXT_remap_index 395 -#define ProvokingVertexEXT_remap_index 396 -#define GetTexParameterPointervAPPLE_remap_index 397 -#define TextureRangeAPPLE_remap_index 398 -#define GetObjectParameterivAPPLE_remap_index 399 -#define ObjectPurgeableAPPLE_remap_index 400 -#define ObjectUnpurgeableAPPLE_remap_index 401 -#define StencilFuncSeparateATI_remap_index 402 -#define ProgramEnvParameters4fvEXT_remap_index 403 -#define ProgramLocalParameters4fvEXT_remap_index 404 -#define GetQueryObjecti64vEXT_remap_index 405 -#define GetQueryObjectui64vEXT_remap_index 406 -#define EGLImageTargetRenderbufferStorageOES_remap_index 407 -#define EGLImageTargetTexture2DOES_remap_index 408 +#define FramebufferTextureARB_remap_index 156 +#define FramebufferTextureFaceARB_remap_index 157 +#define ProgramParameteriARB_remap_index 158 +#define FlushMappedBufferRange_remap_index 159 +#define MapBufferRange_remap_index 160 +#define BindVertexArray_remap_index 161 +#define GenVertexArrays_remap_index 162 +#define CopyBufferSubData_remap_index 163 +#define ClientWaitSync_remap_index 164 +#define DeleteSync_remap_index 165 +#define FenceSync_remap_index 166 +#define GetInteger64v_remap_index 167 +#define GetSynciv_remap_index 168 +#define IsSync_remap_index 169 +#define WaitSync_remap_index 170 +#define DrawElementsBaseVertex_remap_index 171 +#define DrawRangeElementsBaseVertex_remap_index 172 +#define MultiDrawElementsBaseVertex_remap_index 173 +#define BindTransformFeedback_remap_index 174 +#define DeleteTransformFeedbacks_remap_index 175 +#define DrawTransformFeedback_remap_index 176 +#define GenTransformFeedbacks_remap_index 177 +#define IsTransformFeedback_remap_index 178 +#define PauseTransformFeedback_remap_index 179 +#define ResumeTransformFeedback_remap_index 180 +#define PolygonOffsetEXT_remap_index 181 +#define GetPixelTexGenParameterfvSGIS_remap_index 182 +#define GetPixelTexGenParameterivSGIS_remap_index 183 +#define PixelTexGenParameterfSGIS_remap_index 184 +#define PixelTexGenParameterfvSGIS_remap_index 185 +#define PixelTexGenParameteriSGIS_remap_index 186 +#define PixelTexGenParameterivSGIS_remap_index 187 +#define SampleMaskSGIS_remap_index 188 +#define SamplePatternSGIS_remap_index 189 +#define ColorPointerEXT_remap_index 190 +#define EdgeFlagPointerEXT_remap_index 191 +#define IndexPointerEXT_remap_index 192 +#define NormalPointerEXT_remap_index 193 +#define TexCoordPointerEXT_remap_index 194 +#define VertexPointerEXT_remap_index 195 +#define PointParameterfEXT_remap_index 196 +#define PointParameterfvEXT_remap_index 197 +#define LockArraysEXT_remap_index 198 +#define UnlockArraysEXT_remap_index 199 +#define CullParameterdvEXT_remap_index 200 +#define CullParameterfvEXT_remap_index 201 +#define SecondaryColor3bEXT_remap_index 202 +#define SecondaryColor3bvEXT_remap_index 203 +#define SecondaryColor3dEXT_remap_index 204 +#define SecondaryColor3dvEXT_remap_index 205 +#define SecondaryColor3fEXT_remap_index 206 +#define SecondaryColor3fvEXT_remap_index 207 +#define SecondaryColor3iEXT_remap_index 208 +#define SecondaryColor3ivEXT_remap_index 209 +#define SecondaryColor3sEXT_remap_index 210 +#define SecondaryColor3svEXT_remap_index 211 +#define SecondaryColor3ubEXT_remap_index 212 +#define SecondaryColor3ubvEXT_remap_index 213 +#define SecondaryColor3uiEXT_remap_index 214 +#define SecondaryColor3uivEXT_remap_index 215 +#define SecondaryColor3usEXT_remap_index 216 +#define SecondaryColor3usvEXT_remap_index 217 +#define SecondaryColorPointerEXT_remap_index 218 +#define MultiDrawArraysEXT_remap_index 219 +#define MultiDrawElementsEXT_remap_index 220 +#define FogCoordPointerEXT_remap_index 221 +#define FogCoorddEXT_remap_index 222 +#define FogCoorddvEXT_remap_index 223 +#define FogCoordfEXT_remap_index 224 +#define FogCoordfvEXT_remap_index 225 +#define PixelTexGenSGIX_remap_index 226 +#define BlendFuncSeparateEXT_remap_index 227 +#define FlushVertexArrayRangeNV_remap_index 228 +#define VertexArrayRangeNV_remap_index 229 +#define CombinerInputNV_remap_index 230 +#define CombinerOutputNV_remap_index 231 +#define CombinerParameterfNV_remap_index 232 +#define CombinerParameterfvNV_remap_index 233 +#define CombinerParameteriNV_remap_index 234 +#define CombinerParameterivNV_remap_index 235 +#define FinalCombinerInputNV_remap_index 236 +#define GetCombinerInputParameterfvNV_remap_index 237 +#define GetCombinerInputParameterivNV_remap_index 238 +#define GetCombinerOutputParameterfvNV_remap_index 239 +#define GetCombinerOutputParameterivNV_remap_index 240 +#define GetFinalCombinerInputParameterfvNV_remap_index 241 +#define GetFinalCombinerInputParameterivNV_remap_index 242 +#define ResizeBuffersMESA_remap_index 243 +#define WindowPos2dMESA_remap_index 244 +#define WindowPos2dvMESA_remap_index 245 +#define WindowPos2fMESA_remap_index 246 +#define WindowPos2fvMESA_remap_index 247 +#define WindowPos2iMESA_remap_index 248 +#define WindowPos2ivMESA_remap_index 249 +#define WindowPos2sMESA_remap_index 250 +#define WindowPos2svMESA_remap_index 251 +#define WindowPos3dMESA_remap_index 252 +#define WindowPos3dvMESA_remap_index 253 +#define WindowPos3fMESA_remap_index 254 +#define WindowPos3fvMESA_remap_index 255 +#define WindowPos3iMESA_remap_index 256 +#define WindowPos3ivMESA_remap_index 257 +#define WindowPos3sMESA_remap_index 258 +#define WindowPos3svMESA_remap_index 259 +#define WindowPos4dMESA_remap_index 260 +#define WindowPos4dvMESA_remap_index 261 +#define WindowPos4fMESA_remap_index 262 +#define WindowPos4fvMESA_remap_index 263 +#define WindowPos4iMESA_remap_index 264 +#define WindowPos4ivMESA_remap_index 265 +#define WindowPos4sMESA_remap_index 266 +#define WindowPos4svMESA_remap_index 267 +#define MultiModeDrawArraysIBM_remap_index 268 +#define MultiModeDrawElementsIBM_remap_index 269 +#define DeleteFencesNV_remap_index 270 +#define FinishFenceNV_remap_index 271 +#define GenFencesNV_remap_index 272 +#define GetFenceivNV_remap_index 273 +#define IsFenceNV_remap_index 274 +#define SetFenceNV_remap_index 275 +#define TestFenceNV_remap_index 276 +#define AreProgramsResidentNV_remap_index 277 +#define BindProgramNV_remap_index 278 +#define DeleteProgramsNV_remap_index 279 +#define ExecuteProgramNV_remap_index 280 +#define GenProgramsNV_remap_index 281 +#define GetProgramParameterdvNV_remap_index 282 +#define GetProgramParameterfvNV_remap_index 283 +#define GetProgramStringNV_remap_index 284 +#define GetProgramivNV_remap_index 285 +#define GetTrackMatrixivNV_remap_index 286 +#define GetVertexAttribPointervNV_remap_index 287 +#define GetVertexAttribdvNV_remap_index 288 +#define GetVertexAttribfvNV_remap_index 289 +#define GetVertexAttribivNV_remap_index 290 +#define IsProgramNV_remap_index 291 +#define LoadProgramNV_remap_index 292 +#define ProgramParameters4dvNV_remap_index 293 +#define ProgramParameters4fvNV_remap_index 294 +#define RequestResidentProgramsNV_remap_index 295 +#define TrackMatrixNV_remap_index 296 +#define VertexAttrib1dNV_remap_index 297 +#define VertexAttrib1dvNV_remap_index 298 +#define VertexAttrib1fNV_remap_index 299 +#define VertexAttrib1fvNV_remap_index 300 +#define VertexAttrib1sNV_remap_index 301 +#define VertexAttrib1svNV_remap_index 302 +#define VertexAttrib2dNV_remap_index 303 +#define VertexAttrib2dvNV_remap_index 304 +#define VertexAttrib2fNV_remap_index 305 +#define VertexAttrib2fvNV_remap_index 306 +#define VertexAttrib2sNV_remap_index 307 +#define VertexAttrib2svNV_remap_index 308 +#define VertexAttrib3dNV_remap_index 309 +#define VertexAttrib3dvNV_remap_index 310 +#define VertexAttrib3fNV_remap_index 311 +#define VertexAttrib3fvNV_remap_index 312 +#define VertexAttrib3sNV_remap_index 313 +#define VertexAttrib3svNV_remap_index 314 +#define VertexAttrib4dNV_remap_index 315 +#define VertexAttrib4dvNV_remap_index 316 +#define VertexAttrib4fNV_remap_index 317 +#define VertexAttrib4fvNV_remap_index 318 +#define VertexAttrib4sNV_remap_index 319 +#define VertexAttrib4svNV_remap_index 320 +#define VertexAttrib4ubNV_remap_index 321 +#define VertexAttrib4ubvNV_remap_index 322 +#define VertexAttribPointerNV_remap_index 323 +#define VertexAttribs1dvNV_remap_index 324 +#define VertexAttribs1fvNV_remap_index 325 +#define VertexAttribs1svNV_remap_index 326 +#define VertexAttribs2dvNV_remap_index 327 +#define VertexAttribs2fvNV_remap_index 328 +#define VertexAttribs2svNV_remap_index 329 +#define VertexAttribs3dvNV_remap_index 330 +#define VertexAttribs3fvNV_remap_index 331 +#define VertexAttribs3svNV_remap_index 332 +#define VertexAttribs4dvNV_remap_index 333 +#define VertexAttribs4fvNV_remap_index 334 +#define VertexAttribs4svNV_remap_index 335 +#define VertexAttribs4ubvNV_remap_index 336 +#define GetTexBumpParameterfvATI_remap_index 337 +#define GetTexBumpParameterivATI_remap_index 338 +#define TexBumpParameterfvATI_remap_index 339 +#define TexBumpParameterivATI_remap_index 340 +#define AlphaFragmentOp1ATI_remap_index 341 +#define AlphaFragmentOp2ATI_remap_index 342 +#define AlphaFragmentOp3ATI_remap_index 343 +#define BeginFragmentShaderATI_remap_index 344 +#define BindFragmentShaderATI_remap_index 345 +#define ColorFragmentOp1ATI_remap_index 346 +#define ColorFragmentOp2ATI_remap_index 347 +#define ColorFragmentOp3ATI_remap_index 348 +#define DeleteFragmentShaderATI_remap_index 349 +#define EndFragmentShaderATI_remap_index 350 +#define GenFragmentShadersATI_remap_index 351 +#define PassTexCoordATI_remap_index 352 +#define SampleMapATI_remap_index 353 +#define SetFragmentShaderConstantATI_remap_index 354 +#define PointParameteriNV_remap_index 355 +#define PointParameterivNV_remap_index 356 +#define ActiveStencilFaceEXT_remap_index 357 +#define BindVertexArrayAPPLE_remap_index 358 +#define DeleteVertexArraysAPPLE_remap_index 359 +#define GenVertexArraysAPPLE_remap_index 360 +#define IsVertexArrayAPPLE_remap_index 361 +#define GetProgramNamedParameterdvNV_remap_index 362 +#define GetProgramNamedParameterfvNV_remap_index 363 +#define ProgramNamedParameter4dNV_remap_index 364 +#define ProgramNamedParameter4dvNV_remap_index 365 +#define ProgramNamedParameter4fNV_remap_index 366 +#define ProgramNamedParameter4fvNV_remap_index 367 +#define DepthBoundsEXT_remap_index 368 +#define BlendEquationSeparateEXT_remap_index 369 +#define BindFramebufferEXT_remap_index 370 +#define BindRenderbufferEXT_remap_index 371 +#define CheckFramebufferStatusEXT_remap_index 372 +#define DeleteFramebuffersEXT_remap_index 373 +#define DeleteRenderbuffersEXT_remap_index 374 +#define FramebufferRenderbufferEXT_remap_index 375 +#define FramebufferTexture1DEXT_remap_index 376 +#define FramebufferTexture2DEXT_remap_index 377 +#define FramebufferTexture3DEXT_remap_index 378 +#define GenFramebuffersEXT_remap_index 379 +#define GenRenderbuffersEXT_remap_index 380 +#define GenerateMipmapEXT_remap_index 381 +#define GetFramebufferAttachmentParameterivEXT_remap_index 382 +#define GetRenderbufferParameterivEXT_remap_index 383 +#define IsFramebufferEXT_remap_index 384 +#define IsRenderbufferEXT_remap_index 385 +#define RenderbufferStorageEXT_remap_index 386 +#define BlitFramebufferEXT_remap_index 387 +#define BufferParameteriAPPLE_remap_index 388 +#define FlushMappedBufferRangeAPPLE_remap_index 389 +#define FramebufferTextureLayerEXT_remap_index 390 +#define ColorMaskIndexedEXT_remap_index 391 +#define DisableIndexedEXT_remap_index 392 +#define EnableIndexedEXT_remap_index 393 +#define GetBooleanIndexedvEXT_remap_index 394 +#define GetIntegerIndexedvEXT_remap_index 395 +#define IsEnabledIndexedEXT_remap_index 396 +#define BeginConditionalRenderNV_remap_index 397 +#define EndConditionalRenderNV_remap_index 398 +#define BeginTransformFeedbackEXT_remap_index 399 +#define BindBufferBaseEXT_remap_index 400 +#define BindBufferOffsetEXT_remap_index 401 +#define BindBufferRangeEXT_remap_index 402 +#define EndTransformFeedbackEXT_remap_index 403 +#define GetTransformFeedbackVaryingEXT_remap_index 404 +#define TransformFeedbackVaryingsEXT_remap_index 405 +#define ProvokingVertexEXT_remap_index 406 +#define GetTexParameterPointervAPPLE_remap_index 407 +#define TextureRangeAPPLE_remap_index 408 +#define GetObjectParameterivAPPLE_remap_index 409 +#define ObjectPurgeableAPPLE_remap_index 410 +#define ObjectUnpurgeableAPPLE_remap_index 411 +#define StencilFuncSeparateATI_remap_index 412 +#define ProgramEnvParameters4fvEXT_remap_index 413 +#define ProgramLocalParameters4fvEXT_remap_index 414 +#define GetQueryObjecti64vEXT_remap_index 415 +#define GetQueryObjectui64vEXT_remap_index 416 +#define EGLImageTargetRenderbufferStorageOES_remap_index 417 +#define EGLImageTargetTexture2DOES_remap_index 418 #define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters) #define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index]) @@ -3396,6 +3436,15 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_RenderbufferStorageMultisample(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)), driDispatchRemapTable[RenderbufferStorageMultisample_remap_index], parameters) #define GET_RenderbufferStorageMultisample(disp) GET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageMultisample_remap_index]) #define SET_RenderbufferStorageMultisample(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageMultisample_remap_index], fn) +#define CALL_FramebufferTextureARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTextureARB_remap_index], parameters) +#define GET_FramebufferTextureARB(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureARB_remap_index]) +#define SET_FramebufferTextureARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureARB_remap_index], fn) +#define CALL_FramebufferTextureFaceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLenum)), driDispatchRemapTable[FramebufferTextureFaceARB_remap_index], parameters) +#define GET_FramebufferTextureFaceARB(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureFaceARB_remap_index]) +#define SET_FramebufferTextureFaceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureFaceARB_remap_index], fn) +#define CALL_ProgramParameteriARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint)), driDispatchRemapTable[ProgramParameteriARB_remap_index], parameters) +#define GET_ProgramParameteriARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameteriARB_remap_index]) +#define SET_ProgramParameteriARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameteriARB_remap_index], fn) #define CALL_FlushMappedBufferRange(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr)), driDispatchRemapTable[FlushMappedBufferRange_remap_index], parameters) #define GET_FlushMappedBufferRange(disp) GET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRange_remap_index]) #define SET_FlushMappedBufferRange(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRange_remap_index], fn) @@ -3441,6 +3490,27 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define CALL_MultiDrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *)), driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], parameters) #define GET_MultiDrawElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index]) #define SET_MultiDrawElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], fn) +#define CALL_BindTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindTransformFeedback_remap_index], parameters) +#define GET_BindTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[BindTransformFeedback_remap_index]) +#define SET_BindTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindTransformFeedback_remap_index], fn) +#define CALL_DeleteTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteTransformFeedbacks_remap_index], parameters) +#define GET_DeleteTransformFeedbacks(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteTransformFeedbacks_remap_index]) +#define SET_DeleteTransformFeedbacks(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteTransformFeedbacks_remap_index], fn) +#define CALL_DrawTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[DrawTransformFeedback_remap_index], parameters) +#define GET_DrawTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[DrawTransformFeedback_remap_index]) +#define SET_DrawTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawTransformFeedback_remap_index], fn) +#define CALL_GenTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenTransformFeedbacks_remap_index], parameters) +#define GET_GenTransformFeedbacks(disp) GET_by_offset(disp, driDispatchRemapTable[GenTransformFeedbacks_remap_index]) +#define SET_GenTransformFeedbacks(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenTransformFeedbacks_remap_index], fn) +#define CALL_IsTransformFeedback(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsTransformFeedback_remap_index], parameters) +#define GET_IsTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[IsTransformFeedback_remap_index]) +#define SET_IsTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsTransformFeedback_remap_index], fn) +#define CALL_PauseTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[PauseTransformFeedback_remap_index], parameters) +#define GET_PauseTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[PauseTransformFeedback_remap_index]) +#define SET_PauseTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PauseTransformFeedback_remap_index], fn) +#define CALL_ResumeTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[ResumeTransformFeedback_remap_index], parameters) +#define GET_ResumeTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[ResumeTransformFeedback_remap_index]) +#define SET_ResumeTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ResumeTransformFeedback_remap_index], fn) #define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[PolygonOffsetEXT_remap_index], parameters) #define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index]) #define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PolygonOffsetEXT_remap_index], fn) diff --git a/src/mapi/glapi/glapioffsets.h b/src/mapi/glapi/glapioffsets.h index a8133b40737..a790d87322e 100644 --- a/src/mapi/glapi/glapioffsets.h +++ b/src/mapi/glapi/glapioffsets.h @@ -598,260 +598,270 @@ #define _gloffset_GetAttribLocationARB 561 #define _gloffset_DrawBuffersARB 562 #define _gloffset_RenderbufferStorageMultisample 563 -#define _gloffset_FlushMappedBufferRange 564 -#define _gloffset_MapBufferRange 565 -#define _gloffset_BindVertexArray 566 -#define _gloffset_GenVertexArrays 567 -#define _gloffset_CopyBufferSubData 568 -#define _gloffset_ClientWaitSync 569 -#define _gloffset_DeleteSync 570 -#define _gloffset_FenceSync 571 -#define _gloffset_GetInteger64v 572 -#define _gloffset_GetSynciv 573 -#define _gloffset_IsSync 574 -#define _gloffset_WaitSync 575 -#define _gloffset_DrawElementsBaseVertex 576 -#define _gloffset_DrawRangeElementsBaseVertex 577 -#define _gloffset_MultiDrawElementsBaseVertex 578 -#define _gloffset_PolygonOffsetEXT 579 -#define _gloffset_GetPixelTexGenParameterfvSGIS 580 -#define _gloffset_GetPixelTexGenParameterivSGIS 581 -#define _gloffset_PixelTexGenParameterfSGIS 582 -#define _gloffset_PixelTexGenParameterfvSGIS 583 -#define _gloffset_PixelTexGenParameteriSGIS 584 -#define _gloffset_PixelTexGenParameterivSGIS 585 -#define _gloffset_SampleMaskSGIS 586 -#define _gloffset_SamplePatternSGIS 587 -#define _gloffset_ColorPointerEXT 588 -#define _gloffset_EdgeFlagPointerEXT 589 -#define _gloffset_IndexPointerEXT 590 -#define _gloffset_NormalPointerEXT 591 -#define _gloffset_TexCoordPointerEXT 592 -#define _gloffset_VertexPointerEXT 593 -#define _gloffset_PointParameterfEXT 594 -#define _gloffset_PointParameterfvEXT 595 -#define _gloffset_LockArraysEXT 596 -#define _gloffset_UnlockArraysEXT 597 -#define _gloffset_CullParameterdvEXT 598 -#define _gloffset_CullParameterfvEXT 599 -#define _gloffset_SecondaryColor3bEXT 600 -#define _gloffset_SecondaryColor3bvEXT 601 -#define _gloffset_SecondaryColor3dEXT 602 -#define _gloffset_SecondaryColor3dvEXT 603 -#define _gloffset_SecondaryColor3fEXT 604 -#define _gloffset_SecondaryColor3fvEXT 605 -#define _gloffset_SecondaryColor3iEXT 606 -#define _gloffset_SecondaryColor3ivEXT 607 -#define _gloffset_SecondaryColor3sEXT 608 -#define _gloffset_SecondaryColor3svEXT 609 -#define _gloffset_SecondaryColor3ubEXT 610 -#define _gloffset_SecondaryColor3ubvEXT 611 -#define _gloffset_SecondaryColor3uiEXT 612 -#define _gloffset_SecondaryColor3uivEXT 613 -#define _gloffset_SecondaryColor3usEXT 614 -#define _gloffset_SecondaryColor3usvEXT 615 -#define _gloffset_SecondaryColorPointerEXT 616 -#define _gloffset_MultiDrawArraysEXT 617 -#define _gloffset_MultiDrawElementsEXT 618 -#define _gloffset_FogCoordPointerEXT 619 -#define _gloffset_FogCoorddEXT 620 -#define _gloffset_FogCoorddvEXT 621 -#define _gloffset_FogCoordfEXT 622 -#define _gloffset_FogCoordfvEXT 623 -#define _gloffset_PixelTexGenSGIX 624 -#define _gloffset_BlendFuncSeparateEXT 625 -#define _gloffset_FlushVertexArrayRangeNV 626 -#define _gloffset_VertexArrayRangeNV 627 -#define _gloffset_CombinerInputNV 628 -#define _gloffset_CombinerOutputNV 629 -#define _gloffset_CombinerParameterfNV 630 -#define _gloffset_CombinerParameterfvNV 631 -#define _gloffset_CombinerParameteriNV 632 -#define _gloffset_CombinerParameterivNV 633 -#define _gloffset_FinalCombinerInputNV 634 -#define _gloffset_GetCombinerInputParameterfvNV 635 -#define _gloffset_GetCombinerInputParameterivNV 636 -#define _gloffset_GetCombinerOutputParameterfvNV 637 -#define _gloffset_GetCombinerOutputParameterivNV 638 -#define _gloffset_GetFinalCombinerInputParameterfvNV 639 -#define _gloffset_GetFinalCombinerInputParameterivNV 640 -#define _gloffset_ResizeBuffersMESA 641 -#define _gloffset_WindowPos2dMESA 642 -#define _gloffset_WindowPos2dvMESA 643 -#define _gloffset_WindowPos2fMESA 644 -#define _gloffset_WindowPos2fvMESA 645 -#define _gloffset_WindowPos2iMESA 646 -#define _gloffset_WindowPos2ivMESA 647 -#define _gloffset_WindowPos2sMESA 648 -#define _gloffset_WindowPos2svMESA 649 -#define _gloffset_WindowPos3dMESA 650 -#define _gloffset_WindowPos3dvMESA 651 -#define _gloffset_WindowPos3fMESA 652 -#define _gloffset_WindowPos3fvMESA 653 -#define _gloffset_WindowPos3iMESA 654 -#define _gloffset_WindowPos3ivMESA 655 -#define _gloffset_WindowPos3sMESA 656 -#define _gloffset_WindowPos3svMESA 657 -#define _gloffset_WindowPos4dMESA 658 -#define _gloffset_WindowPos4dvMESA 659 -#define _gloffset_WindowPos4fMESA 660 -#define _gloffset_WindowPos4fvMESA 661 -#define _gloffset_WindowPos4iMESA 662 -#define _gloffset_WindowPos4ivMESA 663 -#define _gloffset_WindowPos4sMESA 664 -#define _gloffset_WindowPos4svMESA 665 -#define _gloffset_MultiModeDrawArraysIBM 666 -#define _gloffset_MultiModeDrawElementsIBM 667 -#define _gloffset_DeleteFencesNV 668 -#define _gloffset_FinishFenceNV 669 -#define _gloffset_GenFencesNV 670 -#define _gloffset_GetFenceivNV 671 -#define _gloffset_IsFenceNV 672 -#define _gloffset_SetFenceNV 673 -#define _gloffset_TestFenceNV 674 -#define _gloffset_AreProgramsResidentNV 675 -#define _gloffset_BindProgramNV 676 -#define _gloffset_DeleteProgramsNV 677 -#define _gloffset_ExecuteProgramNV 678 -#define _gloffset_GenProgramsNV 679 -#define _gloffset_GetProgramParameterdvNV 680 -#define _gloffset_GetProgramParameterfvNV 681 -#define _gloffset_GetProgramStringNV 682 -#define _gloffset_GetProgramivNV 683 -#define _gloffset_GetTrackMatrixivNV 684 -#define _gloffset_GetVertexAttribPointervNV 685 -#define _gloffset_GetVertexAttribdvNV 686 -#define _gloffset_GetVertexAttribfvNV 687 -#define _gloffset_GetVertexAttribivNV 688 -#define _gloffset_IsProgramNV 689 -#define _gloffset_LoadProgramNV 690 -#define _gloffset_ProgramParameters4dvNV 691 -#define _gloffset_ProgramParameters4fvNV 692 -#define _gloffset_RequestResidentProgramsNV 693 -#define _gloffset_TrackMatrixNV 694 -#define _gloffset_VertexAttrib1dNV 695 -#define _gloffset_VertexAttrib1dvNV 696 -#define _gloffset_VertexAttrib1fNV 697 -#define _gloffset_VertexAttrib1fvNV 698 -#define _gloffset_VertexAttrib1sNV 699 -#define _gloffset_VertexAttrib1svNV 700 -#define _gloffset_VertexAttrib2dNV 701 -#define _gloffset_VertexAttrib2dvNV 702 -#define _gloffset_VertexAttrib2fNV 703 -#define _gloffset_VertexAttrib2fvNV 704 -#define _gloffset_VertexAttrib2sNV 705 -#define _gloffset_VertexAttrib2svNV 706 -#define _gloffset_VertexAttrib3dNV 707 -#define _gloffset_VertexAttrib3dvNV 708 -#define _gloffset_VertexAttrib3fNV 709 -#define _gloffset_VertexAttrib3fvNV 710 -#define _gloffset_VertexAttrib3sNV 711 -#define _gloffset_VertexAttrib3svNV 712 -#define _gloffset_VertexAttrib4dNV 713 -#define _gloffset_VertexAttrib4dvNV 714 -#define _gloffset_VertexAttrib4fNV 715 -#define _gloffset_VertexAttrib4fvNV 716 -#define _gloffset_VertexAttrib4sNV 717 -#define _gloffset_VertexAttrib4svNV 718 -#define _gloffset_VertexAttrib4ubNV 719 -#define _gloffset_VertexAttrib4ubvNV 720 -#define _gloffset_VertexAttribPointerNV 721 -#define _gloffset_VertexAttribs1dvNV 722 -#define _gloffset_VertexAttribs1fvNV 723 -#define _gloffset_VertexAttribs1svNV 724 -#define _gloffset_VertexAttribs2dvNV 725 -#define _gloffset_VertexAttribs2fvNV 726 -#define _gloffset_VertexAttribs2svNV 727 -#define _gloffset_VertexAttribs3dvNV 728 -#define _gloffset_VertexAttribs3fvNV 729 -#define _gloffset_VertexAttribs3svNV 730 -#define _gloffset_VertexAttribs4dvNV 731 -#define _gloffset_VertexAttribs4fvNV 732 -#define _gloffset_VertexAttribs4svNV 733 -#define _gloffset_VertexAttribs4ubvNV 734 -#define _gloffset_GetTexBumpParameterfvATI 735 -#define _gloffset_GetTexBumpParameterivATI 736 -#define _gloffset_TexBumpParameterfvATI 737 -#define _gloffset_TexBumpParameterivATI 738 -#define _gloffset_AlphaFragmentOp1ATI 739 -#define _gloffset_AlphaFragmentOp2ATI 740 -#define _gloffset_AlphaFragmentOp3ATI 741 -#define _gloffset_BeginFragmentShaderATI 742 -#define _gloffset_BindFragmentShaderATI 743 -#define _gloffset_ColorFragmentOp1ATI 744 -#define _gloffset_ColorFragmentOp2ATI 745 -#define _gloffset_ColorFragmentOp3ATI 746 -#define _gloffset_DeleteFragmentShaderATI 747 -#define _gloffset_EndFragmentShaderATI 748 -#define _gloffset_GenFragmentShadersATI 749 -#define _gloffset_PassTexCoordATI 750 -#define _gloffset_SampleMapATI 751 -#define _gloffset_SetFragmentShaderConstantATI 752 -#define _gloffset_PointParameteriNV 753 -#define _gloffset_PointParameterivNV 754 -#define _gloffset_ActiveStencilFaceEXT 755 -#define _gloffset_BindVertexArrayAPPLE 756 -#define _gloffset_DeleteVertexArraysAPPLE 757 -#define _gloffset_GenVertexArraysAPPLE 758 -#define _gloffset_IsVertexArrayAPPLE 759 -#define _gloffset_GetProgramNamedParameterdvNV 760 -#define _gloffset_GetProgramNamedParameterfvNV 761 -#define _gloffset_ProgramNamedParameter4dNV 762 -#define _gloffset_ProgramNamedParameter4dvNV 763 -#define _gloffset_ProgramNamedParameter4fNV 764 -#define _gloffset_ProgramNamedParameter4fvNV 765 -#define _gloffset_DepthBoundsEXT 766 -#define _gloffset_BlendEquationSeparateEXT 767 -#define _gloffset_BindFramebufferEXT 768 -#define _gloffset_BindRenderbufferEXT 769 -#define _gloffset_CheckFramebufferStatusEXT 770 -#define _gloffset_DeleteFramebuffersEXT 771 -#define _gloffset_DeleteRenderbuffersEXT 772 -#define _gloffset_FramebufferRenderbufferEXT 773 -#define _gloffset_FramebufferTexture1DEXT 774 -#define _gloffset_FramebufferTexture2DEXT 775 -#define _gloffset_FramebufferTexture3DEXT 776 -#define _gloffset_GenFramebuffersEXT 777 -#define _gloffset_GenRenderbuffersEXT 778 -#define _gloffset_GenerateMipmapEXT 779 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 780 -#define _gloffset_GetRenderbufferParameterivEXT 781 -#define _gloffset_IsFramebufferEXT 782 -#define _gloffset_IsRenderbufferEXT 783 -#define _gloffset_RenderbufferStorageEXT 784 -#define _gloffset_BlitFramebufferEXT 785 -#define _gloffset_BufferParameteriAPPLE 786 -#define _gloffset_FlushMappedBufferRangeAPPLE 787 -#define _gloffset_FramebufferTextureLayerEXT 788 -#define _gloffset_ColorMaskIndexedEXT 789 -#define _gloffset_DisableIndexedEXT 790 -#define _gloffset_EnableIndexedEXT 791 -#define _gloffset_GetBooleanIndexedvEXT 792 -#define _gloffset_GetIntegerIndexedvEXT 793 -#define _gloffset_IsEnabledIndexedEXT 794 -#define _gloffset_BeginConditionalRenderNV 795 -#define _gloffset_EndConditionalRenderNV 796 -#define _gloffset_BeginTransformFeedbackEXT 797 -#define _gloffset_BindBufferBaseEXT 798 -#define _gloffset_BindBufferOffsetEXT 799 -#define _gloffset_BindBufferRangeEXT 800 -#define _gloffset_EndTransformFeedbackEXT 801 -#define _gloffset_GetTransformFeedbackVaryingEXT 802 -#define _gloffset_TransformFeedbackVaryingsEXT 803 -#define _gloffset_ProvokingVertexEXT 804 -#define _gloffset_GetTexParameterPointervAPPLE 805 -#define _gloffset_TextureRangeAPPLE 806 -#define _gloffset_GetObjectParameterivAPPLE 807 -#define _gloffset_ObjectPurgeableAPPLE 808 -#define _gloffset_ObjectUnpurgeableAPPLE 809 -#define _gloffset_StencilFuncSeparateATI 810 -#define _gloffset_ProgramEnvParameters4fvEXT 811 -#define _gloffset_ProgramLocalParameters4fvEXT 812 -#define _gloffset_GetQueryObjecti64vEXT 813 -#define _gloffset_GetQueryObjectui64vEXT 814 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 815 -#define _gloffset_EGLImageTargetTexture2DOES 816 -#define _gloffset_FIRST_DYNAMIC 817 +#define _gloffset_FramebufferTextureARB 564 +#define _gloffset_FramebufferTextureFaceARB 565 +#define _gloffset_ProgramParameteriARB 566 +#define _gloffset_FlushMappedBufferRange 567 +#define _gloffset_MapBufferRange 568 +#define _gloffset_BindVertexArray 569 +#define _gloffset_GenVertexArrays 570 +#define _gloffset_CopyBufferSubData 571 +#define _gloffset_ClientWaitSync 572 +#define _gloffset_DeleteSync 573 +#define _gloffset_FenceSync 574 +#define _gloffset_GetInteger64v 575 +#define _gloffset_GetSynciv 576 +#define _gloffset_IsSync 577 +#define _gloffset_WaitSync 578 +#define _gloffset_DrawElementsBaseVertex 579 +#define _gloffset_DrawRangeElementsBaseVertex 580 +#define _gloffset_MultiDrawElementsBaseVertex 581 +#define _gloffset_BindTransformFeedback 582 +#define _gloffset_DeleteTransformFeedbacks 583 +#define _gloffset_DrawTransformFeedback 584 +#define _gloffset_GenTransformFeedbacks 585 +#define _gloffset_IsTransformFeedback 586 +#define _gloffset_PauseTransformFeedback 587 +#define _gloffset_ResumeTransformFeedback 588 +#define _gloffset_PolygonOffsetEXT 589 +#define _gloffset_GetPixelTexGenParameterfvSGIS 590 +#define _gloffset_GetPixelTexGenParameterivSGIS 591 +#define _gloffset_PixelTexGenParameterfSGIS 592 +#define _gloffset_PixelTexGenParameterfvSGIS 593 +#define _gloffset_PixelTexGenParameteriSGIS 594 +#define _gloffset_PixelTexGenParameterivSGIS 595 +#define _gloffset_SampleMaskSGIS 596 +#define _gloffset_SamplePatternSGIS 597 +#define _gloffset_ColorPointerEXT 598 +#define _gloffset_EdgeFlagPointerEXT 599 +#define _gloffset_IndexPointerEXT 600 +#define _gloffset_NormalPointerEXT 601 +#define _gloffset_TexCoordPointerEXT 602 +#define _gloffset_VertexPointerEXT 603 +#define _gloffset_PointParameterfEXT 604 +#define _gloffset_PointParameterfvEXT 605 +#define _gloffset_LockArraysEXT 606 +#define _gloffset_UnlockArraysEXT 607 +#define _gloffset_CullParameterdvEXT 608 +#define _gloffset_CullParameterfvEXT 609 +#define _gloffset_SecondaryColor3bEXT 610 +#define _gloffset_SecondaryColor3bvEXT 611 +#define _gloffset_SecondaryColor3dEXT 612 +#define _gloffset_SecondaryColor3dvEXT 613 +#define _gloffset_SecondaryColor3fEXT 614 +#define _gloffset_SecondaryColor3fvEXT 615 +#define _gloffset_SecondaryColor3iEXT 616 +#define _gloffset_SecondaryColor3ivEXT 617 +#define _gloffset_SecondaryColor3sEXT 618 +#define _gloffset_SecondaryColor3svEXT 619 +#define _gloffset_SecondaryColor3ubEXT 620 +#define _gloffset_SecondaryColor3ubvEXT 621 +#define _gloffset_SecondaryColor3uiEXT 622 +#define _gloffset_SecondaryColor3uivEXT 623 +#define _gloffset_SecondaryColor3usEXT 624 +#define _gloffset_SecondaryColor3usvEXT 625 +#define _gloffset_SecondaryColorPointerEXT 626 +#define _gloffset_MultiDrawArraysEXT 627 +#define _gloffset_MultiDrawElementsEXT 628 +#define _gloffset_FogCoordPointerEXT 629 +#define _gloffset_FogCoorddEXT 630 +#define _gloffset_FogCoorddvEXT 631 +#define _gloffset_FogCoordfEXT 632 +#define _gloffset_FogCoordfvEXT 633 +#define _gloffset_PixelTexGenSGIX 634 +#define _gloffset_BlendFuncSeparateEXT 635 +#define _gloffset_FlushVertexArrayRangeNV 636 +#define _gloffset_VertexArrayRangeNV 637 +#define _gloffset_CombinerInputNV 638 +#define _gloffset_CombinerOutputNV 639 +#define _gloffset_CombinerParameterfNV 640 +#define _gloffset_CombinerParameterfvNV 641 +#define _gloffset_CombinerParameteriNV 642 +#define _gloffset_CombinerParameterivNV 643 +#define _gloffset_FinalCombinerInputNV 644 +#define _gloffset_GetCombinerInputParameterfvNV 645 +#define _gloffset_GetCombinerInputParameterivNV 646 +#define _gloffset_GetCombinerOutputParameterfvNV 647 +#define _gloffset_GetCombinerOutputParameterivNV 648 +#define _gloffset_GetFinalCombinerInputParameterfvNV 649 +#define _gloffset_GetFinalCombinerInputParameterivNV 650 +#define _gloffset_ResizeBuffersMESA 651 +#define _gloffset_WindowPos2dMESA 652 +#define _gloffset_WindowPos2dvMESA 653 +#define _gloffset_WindowPos2fMESA 654 +#define _gloffset_WindowPos2fvMESA 655 +#define _gloffset_WindowPos2iMESA 656 +#define _gloffset_WindowPos2ivMESA 657 +#define _gloffset_WindowPos2sMESA 658 +#define _gloffset_WindowPos2svMESA 659 +#define _gloffset_WindowPos3dMESA 660 +#define _gloffset_WindowPos3dvMESA 661 +#define _gloffset_WindowPos3fMESA 662 +#define _gloffset_WindowPos3fvMESA 663 +#define _gloffset_WindowPos3iMESA 664 +#define _gloffset_WindowPos3ivMESA 665 +#define _gloffset_WindowPos3sMESA 666 +#define _gloffset_WindowPos3svMESA 667 +#define _gloffset_WindowPos4dMESA 668 +#define _gloffset_WindowPos4dvMESA 669 +#define _gloffset_WindowPos4fMESA 670 +#define _gloffset_WindowPos4fvMESA 671 +#define _gloffset_WindowPos4iMESA 672 +#define _gloffset_WindowPos4ivMESA 673 +#define _gloffset_WindowPos4sMESA 674 +#define _gloffset_WindowPos4svMESA 675 +#define _gloffset_MultiModeDrawArraysIBM 676 +#define _gloffset_MultiModeDrawElementsIBM 677 +#define _gloffset_DeleteFencesNV 678 +#define _gloffset_FinishFenceNV 679 +#define _gloffset_GenFencesNV 680 +#define _gloffset_GetFenceivNV 681 +#define _gloffset_IsFenceNV 682 +#define _gloffset_SetFenceNV 683 +#define _gloffset_TestFenceNV 684 +#define _gloffset_AreProgramsResidentNV 685 +#define _gloffset_BindProgramNV 686 +#define _gloffset_DeleteProgramsNV 687 +#define _gloffset_ExecuteProgramNV 688 +#define _gloffset_GenProgramsNV 689 +#define _gloffset_GetProgramParameterdvNV 690 +#define _gloffset_GetProgramParameterfvNV 691 +#define _gloffset_GetProgramStringNV 692 +#define _gloffset_GetProgramivNV 693 +#define _gloffset_GetTrackMatrixivNV 694 +#define _gloffset_GetVertexAttribPointervNV 695 +#define _gloffset_GetVertexAttribdvNV 696 +#define _gloffset_GetVertexAttribfvNV 697 +#define _gloffset_GetVertexAttribivNV 698 +#define _gloffset_IsProgramNV 699 +#define _gloffset_LoadProgramNV 700 +#define _gloffset_ProgramParameters4dvNV 701 +#define _gloffset_ProgramParameters4fvNV 702 +#define _gloffset_RequestResidentProgramsNV 703 +#define _gloffset_TrackMatrixNV 704 +#define _gloffset_VertexAttrib1dNV 705 +#define _gloffset_VertexAttrib1dvNV 706 +#define _gloffset_VertexAttrib1fNV 707 +#define _gloffset_VertexAttrib1fvNV 708 +#define _gloffset_VertexAttrib1sNV 709 +#define _gloffset_VertexAttrib1svNV 710 +#define _gloffset_VertexAttrib2dNV 711 +#define _gloffset_VertexAttrib2dvNV 712 +#define _gloffset_VertexAttrib2fNV 713 +#define _gloffset_VertexAttrib2fvNV 714 +#define _gloffset_VertexAttrib2sNV 715 +#define _gloffset_VertexAttrib2svNV 716 +#define _gloffset_VertexAttrib3dNV 717 +#define _gloffset_VertexAttrib3dvNV 718 +#define _gloffset_VertexAttrib3fNV 719 +#define _gloffset_VertexAttrib3fvNV 720 +#define _gloffset_VertexAttrib3sNV 721 +#define _gloffset_VertexAttrib3svNV 722 +#define _gloffset_VertexAttrib4dNV 723 +#define _gloffset_VertexAttrib4dvNV 724 +#define _gloffset_VertexAttrib4fNV 725 +#define _gloffset_VertexAttrib4fvNV 726 +#define _gloffset_VertexAttrib4sNV 727 +#define _gloffset_VertexAttrib4svNV 728 +#define _gloffset_VertexAttrib4ubNV 729 +#define _gloffset_VertexAttrib4ubvNV 730 +#define _gloffset_VertexAttribPointerNV 731 +#define _gloffset_VertexAttribs1dvNV 732 +#define _gloffset_VertexAttribs1fvNV 733 +#define _gloffset_VertexAttribs1svNV 734 +#define _gloffset_VertexAttribs2dvNV 735 +#define _gloffset_VertexAttribs2fvNV 736 +#define _gloffset_VertexAttribs2svNV 737 +#define _gloffset_VertexAttribs3dvNV 738 +#define _gloffset_VertexAttribs3fvNV 739 +#define _gloffset_VertexAttribs3svNV 740 +#define _gloffset_VertexAttribs4dvNV 741 +#define _gloffset_VertexAttribs4fvNV 742 +#define _gloffset_VertexAttribs4svNV 743 +#define _gloffset_VertexAttribs4ubvNV 744 +#define _gloffset_GetTexBumpParameterfvATI 745 +#define _gloffset_GetTexBumpParameterivATI 746 +#define _gloffset_TexBumpParameterfvATI 747 +#define _gloffset_TexBumpParameterivATI 748 +#define _gloffset_AlphaFragmentOp1ATI 749 +#define _gloffset_AlphaFragmentOp2ATI 750 +#define _gloffset_AlphaFragmentOp3ATI 751 +#define _gloffset_BeginFragmentShaderATI 752 +#define _gloffset_BindFragmentShaderATI 753 +#define _gloffset_ColorFragmentOp1ATI 754 +#define _gloffset_ColorFragmentOp2ATI 755 +#define _gloffset_ColorFragmentOp3ATI 756 +#define _gloffset_DeleteFragmentShaderATI 757 +#define _gloffset_EndFragmentShaderATI 758 +#define _gloffset_GenFragmentShadersATI 759 +#define _gloffset_PassTexCoordATI 760 +#define _gloffset_SampleMapATI 761 +#define _gloffset_SetFragmentShaderConstantATI 762 +#define _gloffset_PointParameteriNV 763 +#define _gloffset_PointParameterivNV 764 +#define _gloffset_ActiveStencilFaceEXT 765 +#define _gloffset_BindVertexArrayAPPLE 766 +#define _gloffset_DeleteVertexArraysAPPLE 767 +#define _gloffset_GenVertexArraysAPPLE 768 +#define _gloffset_IsVertexArrayAPPLE 769 +#define _gloffset_GetProgramNamedParameterdvNV 770 +#define _gloffset_GetProgramNamedParameterfvNV 771 +#define _gloffset_ProgramNamedParameter4dNV 772 +#define _gloffset_ProgramNamedParameter4dvNV 773 +#define _gloffset_ProgramNamedParameter4fNV 774 +#define _gloffset_ProgramNamedParameter4fvNV 775 +#define _gloffset_DepthBoundsEXT 776 +#define _gloffset_BlendEquationSeparateEXT 777 +#define _gloffset_BindFramebufferEXT 778 +#define _gloffset_BindRenderbufferEXT 779 +#define _gloffset_CheckFramebufferStatusEXT 780 +#define _gloffset_DeleteFramebuffersEXT 781 +#define _gloffset_DeleteRenderbuffersEXT 782 +#define _gloffset_FramebufferRenderbufferEXT 783 +#define _gloffset_FramebufferTexture1DEXT 784 +#define _gloffset_FramebufferTexture2DEXT 785 +#define _gloffset_FramebufferTexture3DEXT 786 +#define _gloffset_GenFramebuffersEXT 787 +#define _gloffset_GenRenderbuffersEXT 788 +#define _gloffset_GenerateMipmapEXT 789 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 790 +#define _gloffset_GetRenderbufferParameterivEXT 791 +#define _gloffset_IsFramebufferEXT 792 +#define _gloffset_IsRenderbufferEXT 793 +#define _gloffset_RenderbufferStorageEXT 794 +#define _gloffset_BlitFramebufferEXT 795 +#define _gloffset_BufferParameteriAPPLE 796 +#define _gloffset_FlushMappedBufferRangeAPPLE 797 +#define _gloffset_FramebufferTextureLayerEXT 798 +#define _gloffset_ColorMaskIndexedEXT 799 +#define _gloffset_DisableIndexedEXT 800 +#define _gloffset_EnableIndexedEXT 801 +#define _gloffset_GetBooleanIndexedvEXT 802 +#define _gloffset_GetIntegerIndexedvEXT 803 +#define _gloffset_IsEnabledIndexedEXT 804 +#define _gloffset_BeginConditionalRenderNV 805 +#define _gloffset_EndConditionalRenderNV 806 +#define _gloffset_BeginTransformFeedbackEXT 807 +#define _gloffset_BindBufferBaseEXT 808 +#define _gloffset_BindBufferOffsetEXT 809 +#define _gloffset_BindBufferRangeEXT 810 +#define _gloffset_EndTransformFeedbackEXT 811 +#define _gloffset_GetTransformFeedbackVaryingEXT 812 +#define _gloffset_TransformFeedbackVaryingsEXT 813 +#define _gloffset_ProvokingVertexEXT 814 +#define _gloffset_GetTexParameterPointervAPPLE 815 +#define _gloffset_TextureRangeAPPLE 816 +#define _gloffset_GetObjectParameterivAPPLE 817 +#define _gloffset_ObjectPurgeableAPPLE 818 +#define _gloffset_ObjectUnpurgeableAPPLE 819 +#define _gloffset_StencilFuncSeparateATI 820 +#define _gloffset_ProgramEnvParameters4fvEXT 821 +#define _gloffset_ProgramLocalParameters4fvEXT 822 +#define _gloffset_GetQueryObjecti64vEXT 823 +#define _gloffset_GetQueryObjectui64vEXT 824 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 825 +#define _gloffset_EGLImageTargetTexture2DOES 826 +#define _gloffset_FIRST_DYNAMIC 827 #else @@ -1011,6 +1021,9 @@ #define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] #define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index] #define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index] +#define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index] +#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index] +#define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index] #define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] #define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] #define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] @@ -1026,6 +1039,13 @@ #define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] #define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] #define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] +#define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index] +#define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index] +#define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index] +#define _gloffset_GenTransformFeedbacks driDispatchRemapTable[GenTransformFeedbacks_remap_index] +#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index] +#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index] +#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] diff --git a/src/mapi/glapi/glapitable.h b/src/mapi/glapi/glapitable.h index faf274f2704..7da958981a8 100644 --- a/src/mapi/glapi/glapitable.h +++ b/src/mapi/glapi/glapitable.h @@ -604,259 +604,269 @@ struct _glapi_table GLint (GLAPIENTRYP GetAttribLocationARB)(GLhandleARB program, const GLcharARB * name); /* 561 */ void (GLAPIENTRYP DrawBuffersARB)(GLsizei n, const GLenum * bufs); /* 562 */ void (GLAPIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); /* 563 */ - void (GLAPIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); /* 564 */ - GLvoid * (GLAPIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 565 */ - void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 566 */ - void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 567 */ - void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 568 */ - GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 569 */ - void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 570 */ - GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 571 */ - void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 572 */ - void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 573 */ - GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 574 */ - void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 575 */ - void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 576 */ - void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 577 */ - void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 578 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 579 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 580 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 581 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 582 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 583 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 584 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 585 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 586 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 587 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 588 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 589 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 590 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 591 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 592 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 593 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 594 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 595 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 596 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 597 */ - void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 598 */ - void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 599 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 600 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 601 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 602 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 603 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 604 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 605 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 606 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 607 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 608 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 609 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 610 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 611 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 612 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 613 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 614 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 615 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 616 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 617 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 618 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 619 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 620 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 621 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 622 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 623 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 624 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 625 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 626 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 627 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 628 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 629 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 630 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 631 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 632 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 633 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 634 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 635 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 636 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 637 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 638 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 639 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 640 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 641 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 642 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 643 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 644 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 645 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 646 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 647 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 648 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 649 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 650 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 651 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 652 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 653 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 654 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 655 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 656 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 657 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 658 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 659 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 660 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 661 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 662 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 663 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 664 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 665 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 666 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 667 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 668 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 669 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 670 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 671 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 672 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 673 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 674 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 675 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 676 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 677 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 678 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 679 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 680 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 681 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 682 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 683 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 684 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 685 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 686 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 687 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 688 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 689 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 690 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 691 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 692 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 693 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 694 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 695 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 696 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 697 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 698 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 699 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 700 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 701 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 702 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 703 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 704 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 705 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 706 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 707 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 708 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 709 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 710 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 711 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 712 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 713 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 714 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 715 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 716 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 717 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 718 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 719 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 720 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 721 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 722 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 723 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 724 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 725 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 726 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 727 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 728 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 729 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 730 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 731 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 732 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 733 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 734 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 735 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 736 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 737 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 738 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 739 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 740 */ - 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); /* 741 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 742 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 743 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 744 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 745 */ - 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); /* 746 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 747 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 748 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 749 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 750 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 751 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 752 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 753 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 754 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 755 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 756 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 757 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 758 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 759 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 760 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 761 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 762 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 763 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 764 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 765 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 766 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 767 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 768 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 769 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 770 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 771 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 772 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 773 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 774 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 775 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 776 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 777 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 778 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 779 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 780 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 781 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 782 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 783 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 784 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 785 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 786 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 787 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 788 */ - void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 789 */ - void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 790 */ - void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 791 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 792 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 793 */ - GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 794 */ - void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 795 */ - void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 796 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 797 */ - void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 798 */ - void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 799 */ - void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 800 */ - void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 801 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 802 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 803 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 804 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 805 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 806 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 807 */ - GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 808 */ - GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 809 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 810 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 811 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 812 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 813 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 814 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 815 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 816 */ + void (GLAPIENTRYP FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level); /* 564 */ + void (GLAPIENTRYP FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); /* 565 */ + void (GLAPIENTRYP ProgramParameteriARB)(GLuint program, GLenum pname, GLint value); /* 566 */ + void (GLAPIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); /* 567 */ + GLvoid * (GLAPIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 568 */ + void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 569 */ + void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 570 */ + void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 571 */ + GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 572 */ + void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 573 */ + GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 574 */ + void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 575 */ + void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 576 */ + GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 577 */ + void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 578 */ + void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 579 */ + void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 580 */ + void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 581 */ + void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 582 */ + void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 583 */ + void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 584 */ + void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 585 */ + GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 586 */ + void (GLAPIENTRYP PauseTransformFeedback)(void); /* 587 */ + void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 588 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 589 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 590 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 591 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 592 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 593 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 594 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 595 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 596 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 597 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 598 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 599 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 600 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 601 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 602 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 603 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 604 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 605 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 606 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 607 */ + void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 608 */ + void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 609 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 610 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 611 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 612 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 613 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 614 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 615 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 616 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 617 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 618 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 619 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 620 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 621 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 622 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 623 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 624 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 625 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 626 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 627 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 628 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 629 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 630 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 631 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 632 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 633 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 634 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 635 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 636 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 637 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 638 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 639 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 640 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 641 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 642 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 643 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 644 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 645 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 646 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 647 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 648 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 649 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 650 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 651 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 652 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 653 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 654 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 655 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 656 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 657 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 658 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 659 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 660 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 661 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 662 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 663 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 664 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 665 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 666 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 667 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 668 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 669 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 670 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 671 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 672 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 673 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 674 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 675 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 676 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 677 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 678 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 679 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 680 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 681 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 682 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 683 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 684 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 685 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 686 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 687 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 688 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 689 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 690 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 691 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 692 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 693 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 694 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 695 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 696 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 697 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 698 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 699 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 700 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 701 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 702 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 703 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 704 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 705 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 706 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 707 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 708 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 709 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 710 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 711 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 712 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 713 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 714 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 715 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 716 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 717 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 718 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 719 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 720 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 721 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 722 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 723 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 724 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 725 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 726 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 727 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 728 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 729 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 730 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 731 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 732 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 733 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 734 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 735 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 736 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 737 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 738 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 739 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 740 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 741 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 742 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 743 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 744 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 745 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 746 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 747 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 748 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 749 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 750 */ + 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); /* 751 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 752 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 753 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 754 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 755 */ + 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); /* 756 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 757 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 758 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 759 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 760 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 761 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 762 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 763 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 764 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 765 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 766 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 767 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 768 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 769 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 770 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 771 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 772 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 773 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 774 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 775 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 776 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 777 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 778 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 779 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 780 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 781 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 782 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 783 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 784 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 785 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 786 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 787 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 788 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 789 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 790 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 791 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 792 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 793 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 794 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 795 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 796 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 797 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 798 */ + void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 799 */ + void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 800 */ + void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 801 */ + void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 802 */ + void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 803 */ + GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 804 */ + void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 805 */ + void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 806 */ + void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 807 */ + void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 808 */ + void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 809 */ + void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 810 */ + void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 811 */ + void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 812 */ + void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 813 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 814 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 815 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 816 */ + void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 817 */ + GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 818 */ + GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 819 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 820 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 821 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 822 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 823 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 824 */ + void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 825 */ + void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 826 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mapi/glapi/glapitemp.h b/src/mapi/glapi/glapitemp.h index 92835b9afc2..f27f6ab22bc 100644 --- a/src/mapi/glapi/glapitemp.h +++ b/src/mapi/glapi/glapitemp.h @@ -27,7 +27,7 @@ */ -# if (defined(__GNUC__) && !defined(__MINGW32__)) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) && defined(__ELF__) +# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) && defined(__ELF__) # define HIDDEN __attribute__((visibility("hidden"))) # else # define HIDDEN @@ -3882,6 +3882,21 @@ KEYWORD1 void KEYWORD2 NAME(RenderbufferStorageMultisampleEXT)(GLenum target, GL DISPATCH(RenderbufferStorageMultisample, (target, samples, internalformat, width, height), (F, "glRenderbufferStorageMultisampleEXT(0x%x, %d, 0x%x, %d, %d);\n", target, samples, internalformat, width, height)); } +KEYWORD1 void KEYWORD2 NAME(FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level) +{ + DISPATCH(FramebufferTextureARB, (target, attachment, texture, level), (F, "glFramebufferTextureARB(0x%x, 0x%x, %d, %d);\n", target, attachment, texture, level)); +} + +KEYWORD1 void KEYWORD2 NAME(FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) +{ + DISPATCH(FramebufferTextureFaceARB, (target, attachment, texture, level, face), (F, "glFramebufferTextureFaceARB(0x%x, 0x%x, %d, %d, 0x%x);\n", target, attachment, texture, level, face)); +} + +KEYWORD1 void KEYWORD2 NAME(ProgramParameteriARB)(GLuint program, GLenum pname, GLint value) +{ + DISPATCH(ProgramParameteriARB, (program, pname, value), (F, "glProgramParameteriARB(%d, 0x%x, %d);\n", program, pname, value)); +} + KEYWORD1 void KEYWORD2 NAME(FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length) { DISPATCH(FlushMappedBufferRange, (target, offset, length), (F, "glFlushMappedBufferRange(0x%x, %d, %d);\n", target, offset, length)); @@ -3957,63 +3972,98 @@ KEYWORD1 void KEYWORD2 NAME(MultiDrawElementsBaseVertex)(GLenum mode, const GLsi DISPATCH(MultiDrawElementsBaseVertex, (mode, count, type, indices, primcount, basevertex), (F, "glMultiDrawElementsBaseVertex(0x%x, %p, 0x%x, %p, %d, %p);\n", mode, (const void *) count, type, (const void *) indices, primcount, (const void *) basevertex)); } +KEYWORD1 void KEYWORD2 NAME(BindTransformFeedback)(GLenum target, GLuint id) +{ + DISPATCH(BindTransformFeedback, (target, id), (F, "glBindTransformFeedback(0x%x, %d);\n", target, id)); +} + +KEYWORD1 void KEYWORD2 NAME(DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids) +{ + DISPATCH(DeleteTransformFeedbacks, (n, ids), (F, "glDeleteTransformFeedbacks(%d, %p);\n", n, (const void *) ids)); +} + +KEYWORD1 void KEYWORD2 NAME(DrawTransformFeedback)(GLenum mode, GLuint id) +{ + DISPATCH(DrawTransformFeedback, (mode, id), (F, "glDrawTransformFeedback(0x%x, %d);\n", mode, id)); +} + +KEYWORD1 void KEYWORD2 NAME(GenTransformFeedbacks)(GLsizei n, GLuint * ids) +{ + DISPATCH(GenTransformFeedbacks, (n, ids), (F, "glGenTransformFeedbacks(%d, %p);\n", n, (const void *) ids)); +} + +KEYWORD1 GLboolean KEYWORD2 NAME(IsTransformFeedback)(GLuint id) +{ + RETURN_DISPATCH(IsTransformFeedback, (id), (F, "glIsTransformFeedback(%d);\n", id)); +} + +KEYWORD1 void KEYWORD2 NAME(PauseTransformFeedback)(void) +{ + DISPATCH(PauseTransformFeedback, (), (F, "glPauseTransformFeedback();\n")); +} + +KEYWORD1 void KEYWORD2 NAME(ResumeTransformFeedback)(void) +{ + DISPATCH(ResumeTransformFeedback, (), (F, "glResumeTransformFeedback();\n")); +} + 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_580)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_580)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_590)(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_581)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_591)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_581)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_591)(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_582)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_592)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_582)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_592)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_583)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_593)(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_584)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_584)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_585)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_595)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_585)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_595)(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_586)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_596)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_586)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_596)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_587)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_597)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_587)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_597)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -4063,9 +4113,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_594)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_594)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -4085,9 +4135,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_595)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_605)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_595)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_605)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -4102,16 +4152,16 @@ KEYWORD1 void KEYWORD2 NAME(UnlockArraysEXT)(void) DISPATCH(UnlockArraysEXT, (), (F, "glUnlockArraysEXT();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_598)(GLenum pname, GLdouble * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_608)(GLenum pname, GLdouble * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_598)(GLenum pname, GLdouble * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_608)(GLenum pname, GLdouble * params) { DISPATCH(CullParameterdvEXT, (pname, params), (F, "glCullParameterdvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_599)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_609)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_599)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_609)(GLenum pname, GLfloat * params) { DISPATCH(CullParameterfvEXT, (pname, params), (F, "glCullParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } @@ -4356,9 +4406,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_624)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_634)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_624)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_634)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -4373,9 +4423,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_625)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_635)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_625)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_635)(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)); } @@ -4740,65 +4790,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_666)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_676)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_666)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_676)(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_667)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_677)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_667)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_677)(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_668)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_678)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_668)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_678)(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_669)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_679)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_669)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_679)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_670)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_680)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_670)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_680)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_671)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_681)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_671)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_681)(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_672)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_682)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_672)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_682)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_673)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_683)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_673)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_683)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_674)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_684)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_674)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_684)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -5243,16 +5293,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_755)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_765)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_755)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_765)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_756)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_756)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } @@ -5262,16 +5312,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_757)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_757)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(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_758)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_758)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_768)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } @@ -5281,9 +5331,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_759)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_769)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_759)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_769)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -5318,9 +5368,9 @@ KEYWORD1 void KEYWORD2 NAME(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, DISPATCH(ProgramNamedParameter4fvNV, (id, len, name, v), (F, "glProgramNamedParameter4fvNV(%d, %d, %p, %p);\n", id, len, (const void *) name, (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_766)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -5330,9 +5380,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_767)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_767)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -5512,23 +5562,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_785)(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_795)(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_785)(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_795)(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_786)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_796)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_796)(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_787)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_797)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_797)(GLenum target, GLintptr offset, GLsizeiptr size) { DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } @@ -5658,16 +5708,16 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertex)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertex(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_805)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_815)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_805)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_815)(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_806)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_816)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_806)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_816)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } @@ -5687,37 +5737,37 @@ KEYWORD1 GLenum KEYWORD2 NAME(ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint RETURN_DISPATCH(ObjectUnpurgeableAPPLE, (objectType, name, option), (F, "glObjectUnpurgeableAPPLE(0x%x, %d, 0x%x);\n", objectType, name, option)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_810)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_820)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_810)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_820)(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_811)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_811)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(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_812)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_812)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(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_813)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_813)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(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_814)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_824)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_814)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_824)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -6449,6 +6499,9 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetAttribLocationARB), TABLE_ENTRY(DrawBuffersARB), TABLE_ENTRY(RenderbufferStorageMultisample), + TABLE_ENTRY(FramebufferTextureARB), + TABLE_ENTRY(FramebufferTextureFaceARB), + TABLE_ENTRY(ProgramParameteriARB), TABLE_ENTRY(FlushMappedBufferRange), TABLE_ENTRY(MapBufferRange), TABLE_ENTRY(BindVertexArray), @@ -6464,15 +6517,22 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(DrawElementsBaseVertex), TABLE_ENTRY(DrawRangeElementsBaseVertex), TABLE_ENTRY(MultiDrawElementsBaseVertex), + TABLE_ENTRY(BindTransformFeedback), + TABLE_ENTRY(DeleteTransformFeedbacks), + TABLE_ENTRY(DrawTransformFeedback), + TABLE_ENTRY(GenTransformFeedbacks), + TABLE_ENTRY(IsTransformFeedback), + TABLE_ENTRY(PauseTransformFeedback), + TABLE_ENTRY(ResumeTransformFeedback), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_580), - TABLE_ENTRY(_dispatch_stub_581), - TABLE_ENTRY(_dispatch_stub_582), - TABLE_ENTRY(_dispatch_stub_583), - TABLE_ENTRY(_dispatch_stub_584), - TABLE_ENTRY(_dispatch_stub_585), - TABLE_ENTRY(_dispatch_stub_586), - TABLE_ENTRY(_dispatch_stub_587), + TABLE_ENTRY(_dispatch_stub_590), + TABLE_ENTRY(_dispatch_stub_591), + TABLE_ENTRY(_dispatch_stub_592), + TABLE_ENTRY(_dispatch_stub_593), + TABLE_ENTRY(_dispatch_stub_594), + TABLE_ENTRY(_dispatch_stub_595), + TABLE_ENTRY(_dispatch_stub_596), + TABLE_ENTRY(_dispatch_stub_597), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -6483,8 +6543,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(PointParameterfvEXT), TABLE_ENTRY(LockArraysEXT), TABLE_ENTRY(UnlockArraysEXT), - TABLE_ENTRY(_dispatch_stub_598), - TABLE_ENTRY(_dispatch_stub_599), + TABLE_ENTRY(_dispatch_stub_608), + TABLE_ENTRY(_dispatch_stub_609), TABLE_ENTRY(SecondaryColor3bEXT), TABLE_ENTRY(SecondaryColor3bvEXT), TABLE_ENTRY(SecondaryColor3dEXT), @@ -6509,7 +6569,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_624), + TABLE_ENTRY(_dispatch_stub_634), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -6551,15 +6611,15 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_666), - TABLE_ENTRY(_dispatch_stub_667), - TABLE_ENTRY(_dispatch_stub_668), - TABLE_ENTRY(_dispatch_stub_669), - TABLE_ENTRY(_dispatch_stub_670), - TABLE_ENTRY(_dispatch_stub_671), - TABLE_ENTRY(_dispatch_stub_672), - TABLE_ENTRY(_dispatch_stub_673), - TABLE_ENTRY(_dispatch_stub_674), + TABLE_ENTRY(_dispatch_stub_676), + TABLE_ENTRY(_dispatch_stub_677), + TABLE_ENTRY(_dispatch_stub_678), + TABLE_ENTRY(_dispatch_stub_679), + TABLE_ENTRY(_dispatch_stub_680), + TABLE_ENTRY(_dispatch_stub_681), + TABLE_ENTRY(_dispatch_stub_682), + TABLE_ENTRY(_dispatch_stub_683), + TABLE_ENTRY(_dispatch_stub_684), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -6640,19 +6700,19 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_755), - TABLE_ENTRY(_dispatch_stub_756), - TABLE_ENTRY(_dispatch_stub_757), - TABLE_ENTRY(_dispatch_stub_758), - TABLE_ENTRY(_dispatch_stub_759), + TABLE_ENTRY(_dispatch_stub_765), + TABLE_ENTRY(_dispatch_stub_766), + TABLE_ENTRY(_dispatch_stub_767), + TABLE_ENTRY(_dispatch_stub_768), + TABLE_ENTRY(_dispatch_stub_769), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), TABLE_ENTRY(ProgramNamedParameter4dvNV), TABLE_ENTRY(ProgramNamedParameter4fNV), TABLE_ENTRY(ProgramNamedParameter4fvNV), - TABLE_ENTRY(_dispatch_stub_766), - TABLE_ENTRY(_dispatch_stub_767), + TABLE_ENTRY(_dispatch_stub_776), + TABLE_ENTRY(_dispatch_stub_777), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -6670,9 +6730,9 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_785), - TABLE_ENTRY(_dispatch_stub_786), - TABLE_ENTRY(_dispatch_stub_787), + TABLE_ENTRY(_dispatch_stub_795), + TABLE_ENTRY(_dispatch_stub_796), + TABLE_ENTRY(_dispatch_stub_797), TABLE_ENTRY(FramebufferTextureLayerEXT), TABLE_ENTRY(ColorMaskIndexedEXT), TABLE_ENTRY(DisableIndexedEXT), @@ -6690,16 +6750,16 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetTransformFeedbackVaryingEXT), TABLE_ENTRY(TransformFeedbackVaryingsEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_805), - TABLE_ENTRY(_dispatch_stub_806), + TABLE_ENTRY(_dispatch_stub_815), + TABLE_ENTRY(_dispatch_stub_816), TABLE_ENTRY(GetObjectParameterivAPPLE), TABLE_ENTRY(ObjectPurgeableAPPLE), TABLE_ENTRY(ObjectUnpurgeableAPPLE), - TABLE_ENTRY(_dispatch_stub_810), - TABLE_ENTRY(_dispatch_stub_811), - TABLE_ENTRY(_dispatch_stub_812), - TABLE_ENTRY(_dispatch_stub_813), - TABLE_ENTRY(_dispatch_stub_814), + 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(EGLImageTargetRenderbufferStorageOES), TABLE_ENTRY(EGLImageTargetTexture2DOES), /* A whole bunch of no-op functions. These might be called @@ -7006,10 +7066,10 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(RenderbufferStorageMultisampleEXT), TABLE_ENTRY(PointParameterf), TABLE_ENTRY(PointParameterfARB), - TABLE_ENTRY(_dispatch_stub_594), + TABLE_ENTRY(_dispatch_stub_604), TABLE_ENTRY(PointParameterfv), TABLE_ENTRY(PointParameterfvARB), - TABLE_ENTRY(_dispatch_stub_595), + TABLE_ENTRY(_dispatch_stub_605), TABLE_ENTRY(SecondaryColor3b), TABLE_ENTRY(SecondaryColor3bv), TABLE_ENTRY(SecondaryColor3d), @@ -7035,7 +7095,7 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(FogCoordf), TABLE_ENTRY(FogCoordfv), TABLE_ENTRY(BlendFuncSeparate), - TABLE_ENTRY(_dispatch_stub_625), + TABLE_ENTRY(_dispatch_stub_635), TABLE_ENTRY(WindowPos2d), TABLE_ENTRY(WindowPos2dARB), TABLE_ENTRY(WindowPos2dv), diff --git a/src/mapi/glapi/glprocs.h b/src/mapi/glapi/glprocs.h index 8eb04ee6781..0ddcf4bad0c 100644 --- a/src/mapi/glapi/glprocs.h +++ b/src/mapi/glapi/glprocs.h @@ -616,6 +616,9 @@ static const char gl_string_table[] = "glGetAttribLocationARB\0" "glDrawBuffersARB\0" "glRenderbufferStorageMultisample\0" + "glFramebufferTextureARB\0" + "glFramebufferTextureFaceARB\0" + "glProgramParameteriARB\0" "glFlushMappedBufferRange\0" "glMapBufferRange\0" "glBindVertexArray\0" @@ -631,6 +634,13 @@ static const char gl_string_table[] = "glDrawElementsBaseVertex\0" "glDrawRangeElementsBaseVertex\0" "glMultiDrawElementsBaseVertex\0" + "glBindTransformFeedback\0" + "glDeleteTransformFeedbacks\0" + "glDrawTransformFeedback\0" + "glGenTransformFeedbacks\0" + "glIsTransformFeedback\0" + "glPauseTransformFeedback\0" + "glResumeTransformFeedback\0" "glPolygonOffsetEXT\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" @@ -1198,43 +1208,43 @@ 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_580 mgl_dispatch_stub_580 -#define gl_dispatch_stub_581 mgl_dispatch_stub_581 -#define gl_dispatch_stub_582 mgl_dispatch_stub_582 -#define gl_dispatch_stub_583 mgl_dispatch_stub_583 -#define gl_dispatch_stub_584 mgl_dispatch_stub_584 -#define gl_dispatch_stub_585 mgl_dispatch_stub_585 -#define gl_dispatch_stub_586 mgl_dispatch_stub_586 -#define gl_dispatch_stub_587 mgl_dispatch_stub_587 -#define gl_dispatch_stub_598 mgl_dispatch_stub_598 -#define gl_dispatch_stub_599 mgl_dispatch_stub_599 -#define gl_dispatch_stub_624 mgl_dispatch_stub_624 -#define gl_dispatch_stub_666 mgl_dispatch_stub_666 -#define gl_dispatch_stub_667 mgl_dispatch_stub_667 -#define gl_dispatch_stub_668 mgl_dispatch_stub_668 -#define gl_dispatch_stub_669 mgl_dispatch_stub_669 -#define gl_dispatch_stub_670 mgl_dispatch_stub_670 -#define gl_dispatch_stub_671 mgl_dispatch_stub_671 -#define gl_dispatch_stub_672 mgl_dispatch_stub_672 -#define gl_dispatch_stub_673 mgl_dispatch_stub_673 -#define gl_dispatch_stub_674 mgl_dispatch_stub_674 -#define gl_dispatch_stub_755 mgl_dispatch_stub_755 -#define gl_dispatch_stub_756 mgl_dispatch_stub_756 -#define gl_dispatch_stub_757 mgl_dispatch_stub_757 -#define gl_dispatch_stub_758 mgl_dispatch_stub_758 -#define gl_dispatch_stub_759 mgl_dispatch_stub_759 +#define gl_dispatch_stub_590 mgl_dispatch_stub_590 +#define gl_dispatch_stub_591 mgl_dispatch_stub_591 +#define gl_dispatch_stub_592 mgl_dispatch_stub_592 +#define gl_dispatch_stub_593 mgl_dispatch_stub_593 +#define gl_dispatch_stub_594 mgl_dispatch_stub_594 +#define gl_dispatch_stub_595 mgl_dispatch_stub_595 +#define gl_dispatch_stub_596 mgl_dispatch_stub_596 +#define gl_dispatch_stub_597 mgl_dispatch_stub_597 +#define gl_dispatch_stub_608 mgl_dispatch_stub_608 +#define gl_dispatch_stub_609 mgl_dispatch_stub_609 +#define gl_dispatch_stub_634 mgl_dispatch_stub_634 +#define gl_dispatch_stub_676 mgl_dispatch_stub_676 +#define gl_dispatch_stub_677 mgl_dispatch_stub_677 +#define gl_dispatch_stub_678 mgl_dispatch_stub_678 +#define gl_dispatch_stub_679 mgl_dispatch_stub_679 +#define gl_dispatch_stub_680 mgl_dispatch_stub_680 +#define gl_dispatch_stub_681 mgl_dispatch_stub_681 +#define gl_dispatch_stub_682 mgl_dispatch_stub_682 +#define gl_dispatch_stub_683 mgl_dispatch_stub_683 +#define gl_dispatch_stub_684 mgl_dispatch_stub_684 +#define gl_dispatch_stub_765 mgl_dispatch_stub_765 #define gl_dispatch_stub_766 mgl_dispatch_stub_766 #define gl_dispatch_stub_767 mgl_dispatch_stub_767 -#define gl_dispatch_stub_785 mgl_dispatch_stub_785 -#define gl_dispatch_stub_786 mgl_dispatch_stub_786 -#define gl_dispatch_stub_787 mgl_dispatch_stub_787 -#define gl_dispatch_stub_805 mgl_dispatch_stub_805 -#define gl_dispatch_stub_806 mgl_dispatch_stub_806 -#define gl_dispatch_stub_810 mgl_dispatch_stub_810 -#define gl_dispatch_stub_811 mgl_dispatch_stub_811 -#define gl_dispatch_stub_812 mgl_dispatch_stub_812 -#define gl_dispatch_stub_813 mgl_dispatch_stub_813 -#define gl_dispatch_stub_814 mgl_dispatch_stub_814 +#define gl_dispatch_stub_768 mgl_dispatch_stub_768 +#define gl_dispatch_stub_769 mgl_dispatch_stub_769 +#define gl_dispatch_stub_776 mgl_dispatch_stub_776 +#define gl_dispatch_stub_777 mgl_dispatch_stub_777 +#define gl_dispatch_stub_795 mgl_dispatch_stub_795 +#define gl_dispatch_stub_796 mgl_dispatch_stub_796 +#define gl_dispatch_stub_797 mgl_dispatch_stub_797 +#define gl_dispatch_stub_815 mgl_dispatch_stub_815 +#define gl_dispatch_stub_816 mgl_dispatch_stub_816 +#define gl_dispatch_stub_820 mgl_dispatch_stub_820 +#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 #endif /* USE_MGL_NAMESPACE */ @@ -1252,43 +1262,43 @@ 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_580(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_581(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_582(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_583(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_584(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_585(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_586(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_587(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_598(GLenum pname, GLdouble * params); -void GLAPIENTRY gl_dispatch_stub_599(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_624(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_666(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_667(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_668(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_669(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_670(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_671(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_672(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_673(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_674(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_755(GLenum face); -void GLAPIENTRY gl_dispatch_stub_756(GLuint array); -void GLAPIENTRY gl_dispatch_stub_757(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_758(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_759(GLuint array); -void GLAPIENTRY gl_dispatch_stub_766(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_767(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_785(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_786(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_787(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_805(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_806(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_810(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_811(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_812(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_813(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_814(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_590(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_591(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_592(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_593(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_594(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_595(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_596(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_597(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_608(GLenum pname, GLdouble * params); +void GLAPIENTRY gl_dispatch_stub_609(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_634(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_676(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_677(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_678(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_679(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_680(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_681(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_682(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_683(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_684(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_765(GLenum face); +void GLAPIENTRY gl_dispatch_stub_766(GLuint array); +void GLAPIENTRY gl_dispatch_stub_767(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_768(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_769(GLuint array); +void GLAPIENTRY gl_dispatch_stub_776(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_777(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_795(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +void GLAPIENTRY gl_dispatch_stub_796(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_797(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_815(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_816(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_820(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_821(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_822(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_823(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_824(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -1856,571 +1866,581 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET( 8957, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), NAME_FUNC_OFFSET( 8980, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), NAME_FUNC_OFFSET( 8997, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, _gloffset_RenderbufferStorageMultisample), - NAME_FUNC_OFFSET( 9030, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, _gloffset_FlushMappedBufferRange), - NAME_FUNC_OFFSET( 9055, glMapBufferRange, glMapBufferRange, NULL, _gloffset_MapBufferRange), - NAME_FUNC_OFFSET( 9072, glBindVertexArray, glBindVertexArray, NULL, _gloffset_BindVertexArray), - NAME_FUNC_OFFSET( 9090, glGenVertexArrays, glGenVertexArrays, NULL, _gloffset_GenVertexArrays), - NAME_FUNC_OFFSET( 9108, glCopyBufferSubData, glCopyBufferSubData, NULL, _gloffset_CopyBufferSubData), - NAME_FUNC_OFFSET( 9128, glClientWaitSync, glClientWaitSync, NULL, _gloffset_ClientWaitSync), - NAME_FUNC_OFFSET( 9145, glDeleteSync, glDeleteSync, NULL, _gloffset_DeleteSync), - NAME_FUNC_OFFSET( 9158, glFenceSync, glFenceSync, NULL, _gloffset_FenceSync), - NAME_FUNC_OFFSET( 9170, glGetInteger64v, glGetInteger64v, NULL, _gloffset_GetInteger64v), - NAME_FUNC_OFFSET( 9186, glGetSynciv, glGetSynciv, NULL, _gloffset_GetSynciv), - NAME_FUNC_OFFSET( 9198, glIsSync, glIsSync, NULL, _gloffset_IsSync), - NAME_FUNC_OFFSET( 9207, glWaitSync, glWaitSync, NULL, _gloffset_WaitSync), - NAME_FUNC_OFFSET( 9218, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, _gloffset_DrawElementsBaseVertex), - NAME_FUNC_OFFSET( 9243, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, _gloffset_DrawRangeElementsBaseVertex), - NAME_FUNC_OFFSET( 9273, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, _gloffset_MultiDrawElementsBaseVertex), - NAME_FUNC_OFFSET( 9303, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), - NAME_FUNC_OFFSET( 9322, gl_dispatch_stub_580, gl_dispatch_stub_580, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9354, gl_dispatch_stub_581, gl_dispatch_stub_581, NULL, _gloffset_GetPixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9386, gl_dispatch_stub_582, gl_dispatch_stub_582, NULL, _gloffset_PixelTexGenParameterfSGIS), - NAME_FUNC_OFFSET( 9414, gl_dispatch_stub_583, gl_dispatch_stub_583, NULL, _gloffset_PixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9443, gl_dispatch_stub_584, gl_dispatch_stub_584, NULL, _gloffset_PixelTexGenParameteriSGIS), - NAME_FUNC_OFFSET( 9471, gl_dispatch_stub_585, gl_dispatch_stub_585, NULL, _gloffset_PixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9500, gl_dispatch_stub_586, gl_dispatch_stub_586, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET( 9517, gl_dispatch_stub_587, gl_dispatch_stub_587, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET( 9537, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), - NAME_FUNC_OFFSET( 9555, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), - NAME_FUNC_OFFSET( 9576, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), - NAME_FUNC_OFFSET( 9594, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), - NAME_FUNC_OFFSET( 9613, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), - NAME_FUNC_OFFSET( 9634, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), - NAME_FUNC_OFFSET( 9653, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET( 9674, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET( 9696, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), - NAME_FUNC_OFFSET( 9712, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), - NAME_FUNC_OFFSET( 9730, gl_dispatch_stub_598, gl_dispatch_stub_598, NULL, _gloffset_CullParameterdvEXT), - NAME_FUNC_OFFSET( 9751, gl_dispatch_stub_599, gl_dispatch_stub_599, NULL, _gloffset_CullParameterfvEXT), - NAME_FUNC_OFFSET( 9772, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET( 9794, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET( 9817, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET( 9839, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET( 9862, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET( 9884, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET( 9907, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET( 9929, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET( 9952, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET( 9974, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET( 9997, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(10020, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(10044, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(10067, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(10091, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(10114, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(10138, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(10165, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(10186, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(10209, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(10230, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(10245, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(10261, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(10276, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(10292, gl_dispatch_stub_624, gl_dispatch_stub_624, NULL, _gloffset_PixelTexGenSGIX), - NAME_FUNC_OFFSET(10310, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(10333, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), - NAME_FUNC_OFFSET(10359, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), - NAME_FUNC_OFFSET(10380, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), - NAME_FUNC_OFFSET(10398, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), - NAME_FUNC_OFFSET(10417, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), - NAME_FUNC_OFFSET(10440, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), - NAME_FUNC_OFFSET(10464, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), - NAME_FUNC_OFFSET(10487, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), - NAME_FUNC_OFFSET(10511, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), - NAME_FUNC_OFFSET(10534, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10566, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10598, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), - NAME_FUNC_OFFSET(10631, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), - NAME_FUNC_OFFSET(10664, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10701, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10738, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), - NAME_FUNC_OFFSET(10758, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(10776, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(10795, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(10813, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(10832, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(10850, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(10869, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(10887, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(10906, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(10924, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(10943, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(10961, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(10980, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(10998, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(11017, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(11035, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(11054, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), - NAME_FUNC_OFFSET(11072, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), - NAME_FUNC_OFFSET(11091, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), - NAME_FUNC_OFFSET(11109, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), - NAME_FUNC_OFFSET(11128, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), - NAME_FUNC_OFFSET(11146, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), - NAME_FUNC_OFFSET(11165, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), - NAME_FUNC_OFFSET(11183, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), - NAME_FUNC_OFFSET(11202, gl_dispatch_stub_666, gl_dispatch_stub_666, NULL, _gloffset_MultiModeDrawArraysIBM), - NAME_FUNC_OFFSET(11227, gl_dispatch_stub_667, gl_dispatch_stub_667, NULL, _gloffset_MultiModeDrawElementsIBM), - NAME_FUNC_OFFSET(11254, gl_dispatch_stub_668, gl_dispatch_stub_668, NULL, _gloffset_DeleteFencesNV), - NAME_FUNC_OFFSET(11271, gl_dispatch_stub_669, gl_dispatch_stub_669, NULL, _gloffset_FinishFenceNV), - NAME_FUNC_OFFSET(11287, gl_dispatch_stub_670, gl_dispatch_stub_670, NULL, _gloffset_GenFencesNV), - NAME_FUNC_OFFSET(11301, gl_dispatch_stub_671, gl_dispatch_stub_671, NULL, _gloffset_GetFenceivNV), - NAME_FUNC_OFFSET(11316, gl_dispatch_stub_672, gl_dispatch_stub_672, NULL, _gloffset_IsFenceNV), - NAME_FUNC_OFFSET(11328, gl_dispatch_stub_673, gl_dispatch_stub_673, NULL, _gloffset_SetFenceNV), - NAME_FUNC_OFFSET(11341, gl_dispatch_stub_674, gl_dispatch_stub_674, NULL, _gloffset_TestFenceNV), - NAME_FUNC_OFFSET(11355, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), - NAME_FUNC_OFFSET(11379, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(11395, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(11414, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), - NAME_FUNC_OFFSET(11433, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(11449, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), - NAME_FUNC_OFFSET(11475, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), - NAME_FUNC_OFFSET(11501, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), - NAME_FUNC_OFFSET(11522, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), - NAME_FUNC_OFFSET(11539, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), - NAME_FUNC_OFFSET(11560, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(11588, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), - NAME_FUNC_OFFSET(11610, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), - NAME_FUNC_OFFSET(11632, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), - NAME_FUNC_OFFSET(11654, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(11668, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), - NAME_FUNC_OFFSET(11684, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), - NAME_FUNC_OFFSET(11709, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), - NAME_FUNC_OFFSET(11734, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), - NAME_FUNC_OFFSET(11762, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), - NAME_FUNC_OFFSET(11778, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), - NAME_FUNC_OFFSET(11797, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), - NAME_FUNC_OFFSET(11817, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), - NAME_FUNC_OFFSET(11836, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), - NAME_FUNC_OFFSET(11856, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), - NAME_FUNC_OFFSET(11875, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), - NAME_FUNC_OFFSET(11895, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), - NAME_FUNC_OFFSET(11914, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), - NAME_FUNC_OFFSET(11934, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), - NAME_FUNC_OFFSET(11953, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), - NAME_FUNC_OFFSET(11973, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), - NAME_FUNC_OFFSET(11992, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), - NAME_FUNC_OFFSET(12012, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), - NAME_FUNC_OFFSET(12031, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), - NAME_FUNC_OFFSET(12051, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), - NAME_FUNC_OFFSET(12070, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), - NAME_FUNC_OFFSET(12090, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), - NAME_FUNC_OFFSET(12109, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), - NAME_FUNC_OFFSET(12129, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), - NAME_FUNC_OFFSET(12148, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), - NAME_FUNC_OFFSET(12168, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), - NAME_FUNC_OFFSET(12187, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), - NAME_FUNC_OFFSET(12207, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), - NAME_FUNC_OFFSET(12226, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), - NAME_FUNC_OFFSET(12246, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), - NAME_FUNC_OFFSET(12266, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), - NAME_FUNC_OFFSET(12287, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), - NAME_FUNC_OFFSET(12311, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), - NAME_FUNC_OFFSET(12332, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), - NAME_FUNC_OFFSET(12353, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), - NAME_FUNC_OFFSET(12374, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), - NAME_FUNC_OFFSET(12395, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), - NAME_FUNC_OFFSET(12416, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), - NAME_FUNC_OFFSET(12437, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), - NAME_FUNC_OFFSET(12458, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), - NAME_FUNC_OFFSET(12479, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), - NAME_FUNC_OFFSET(12500, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), - NAME_FUNC_OFFSET(12521, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), - NAME_FUNC_OFFSET(12542, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), - NAME_FUNC_OFFSET(12563, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), - NAME_FUNC_OFFSET(12585, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), - NAME_FUNC_OFFSET(12612, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), - NAME_FUNC_OFFSET(12639, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), - NAME_FUNC_OFFSET(12663, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), - NAME_FUNC_OFFSET(12687, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), - NAME_FUNC_OFFSET(12709, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), - NAME_FUNC_OFFSET(12731, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), - NAME_FUNC_OFFSET(12753, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), - NAME_FUNC_OFFSET(12778, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), - NAME_FUNC_OFFSET(12802, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), - NAME_FUNC_OFFSET(12824, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), - NAME_FUNC_OFFSET(12846, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), - NAME_FUNC_OFFSET(12868, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), - NAME_FUNC_OFFSET(12894, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), - NAME_FUNC_OFFSET(12917, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), - NAME_FUNC_OFFSET(12941, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), - NAME_FUNC_OFFSET(12959, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), - NAME_FUNC_OFFSET(12974, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), - NAME_FUNC_OFFSET(13005, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(13025, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(13046, gl_dispatch_stub_755, gl_dispatch_stub_755, NULL, _gloffset_ActiveStencilFaceEXT), - NAME_FUNC_OFFSET(13069, gl_dispatch_stub_756, gl_dispatch_stub_756, NULL, _gloffset_BindVertexArrayAPPLE), - NAME_FUNC_OFFSET(13092, gl_dispatch_stub_757, gl_dispatch_stub_757, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(13118, gl_dispatch_stub_758, gl_dispatch_stub_758, NULL, _gloffset_GenVertexArraysAPPLE), - NAME_FUNC_OFFSET(13141, gl_dispatch_stub_759, gl_dispatch_stub_759, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(13162, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), - NAME_FUNC_OFFSET(13193, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), - NAME_FUNC_OFFSET(13224, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), - NAME_FUNC_OFFSET(13252, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), - NAME_FUNC_OFFSET(13281, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), - NAME_FUNC_OFFSET(13309, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), - NAME_FUNC_OFFSET(13338, gl_dispatch_stub_766, gl_dispatch_stub_766, NULL, _gloffset_DepthBoundsEXT), - NAME_FUNC_OFFSET(13355, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(13382, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(13403, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(13425, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(13453, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(13477, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(13502, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(13531, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(13557, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(13583, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(13609, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(13630, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(13652, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(13672, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(13713, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(13745, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(13764, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(13784, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(13809, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(13830, gl_dispatch_stub_786, gl_dispatch_stub_786, NULL, _gloffset_BufferParameteriAPPLE), - NAME_FUNC_OFFSET(13854, gl_dispatch_stub_787, gl_dispatch_stub_787, NULL, _gloffset_FlushMappedBufferRangeAPPLE), - NAME_FUNC_OFFSET(13884, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(13913, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, _gloffset_ColorMaskIndexedEXT), - NAME_FUNC_OFFSET(13935, glDisableIndexedEXT, glDisableIndexedEXT, NULL, _gloffset_DisableIndexedEXT), - NAME_FUNC_OFFSET(13955, glEnableIndexedEXT, glEnableIndexedEXT, NULL, _gloffset_EnableIndexedEXT), - NAME_FUNC_OFFSET(13974, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, _gloffset_GetBooleanIndexedvEXT), - NAME_FUNC_OFFSET(13998, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, _gloffset_GetIntegerIndexedvEXT), - NAME_FUNC_OFFSET(14022, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, _gloffset_IsEnabledIndexedEXT), - NAME_FUNC_OFFSET(14044, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, _gloffset_BeginConditionalRenderNV), - NAME_FUNC_OFFSET(14071, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, _gloffset_EndConditionalRenderNV), - NAME_FUNC_OFFSET(14096, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), - NAME_FUNC_OFFSET(14124, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), - NAME_FUNC_OFFSET(14144, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, _gloffset_BindBufferOffsetEXT), - NAME_FUNC_OFFSET(14166, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), - NAME_FUNC_OFFSET(14187, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), - NAME_FUNC_OFFSET(14213, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), - NAME_FUNC_OFFSET(14246, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), - NAME_FUNC_OFFSET(14277, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), - NAME_FUNC_OFFSET(14298, gl_dispatch_stub_805, gl_dispatch_stub_805, NULL, _gloffset_GetTexParameterPointervAPPLE), - NAME_FUNC_OFFSET(14329, gl_dispatch_stub_806, gl_dispatch_stub_806, NULL, _gloffset_TextureRangeAPPLE), - NAME_FUNC_OFFSET(14349, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, _gloffset_GetObjectParameterivAPPLE), - NAME_FUNC_OFFSET(14377, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, _gloffset_ObjectPurgeableAPPLE), - NAME_FUNC_OFFSET(14400, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, _gloffset_ObjectUnpurgeableAPPLE), - NAME_FUNC_OFFSET(14425, gl_dispatch_stub_810, gl_dispatch_stub_810, NULL, _gloffset_StencilFuncSeparateATI), - NAME_FUNC_OFFSET(14450, gl_dispatch_stub_811, gl_dispatch_stub_811, NULL, _gloffset_ProgramEnvParameters4fvEXT), - NAME_FUNC_OFFSET(14479, gl_dispatch_stub_812, gl_dispatch_stub_812, NULL, _gloffset_ProgramLocalParameters4fvEXT), - NAME_FUNC_OFFSET(14510, gl_dispatch_stub_813, gl_dispatch_stub_813, NULL, _gloffset_GetQueryObjecti64vEXT), - NAME_FUNC_OFFSET(14534, gl_dispatch_stub_814, gl_dispatch_stub_814, NULL, _gloffset_GetQueryObjectui64vEXT), - NAME_FUNC_OFFSET(14559, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, _gloffset_EGLImageTargetRenderbufferStorageOES), - NAME_FUNC_OFFSET(14598, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, _gloffset_EGLImageTargetTexture2DOES), - NAME_FUNC_OFFSET(14627, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), - NAME_FUNC_OFFSET(14645, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), - NAME_FUNC_OFFSET(14662, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), - NAME_FUNC_OFFSET(14678, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), - NAME_FUNC_OFFSET(14703, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), - NAME_FUNC_OFFSET(14723, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), - NAME_FUNC_OFFSET(14743, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), - NAME_FUNC_OFFSET(14766, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), - NAME_FUNC_OFFSET(14789, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), - NAME_FUNC_OFFSET(14809, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), - NAME_FUNC_OFFSET(14826, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), - NAME_FUNC_OFFSET(14843, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), - NAME_FUNC_OFFSET(14858, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), - NAME_FUNC_OFFSET(14882, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), - NAME_FUNC_OFFSET(14901, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), - NAME_FUNC_OFFSET(14920, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), - NAME_FUNC_OFFSET(14936, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), - NAME_FUNC_OFFSET(14955, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), - NAME_FUNC_OFFSET(14978, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(14994, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(15010, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), - NAME_FUNC_OFFSET(15037, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), - NAME_FUNC_OFFSET(15064, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), - NAME_FUNC_OFFSET(15084, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(15103, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(15122, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(15152, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(15182, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(15212, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(15242, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), - NAME_FUNC_OFFSET(15261, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), - NAME_FUNC_OFFSET(15284, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), - NAME_FUNC_OFFSET(15309, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), - NAME_FUNC_OFFSET(15334, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), - NAME_FUNC_OFFSET(15361, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), - NAME_FUNC_OFFSET(15389, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), - NAME_FUNC_OFFSET(15416, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), - NAME_FUNC_OFFSET(15444, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), - NAME_FUNC_OFFSET(15473, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), - NAME_FUNC_OFFSET(15502, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), - NAME_FUNC_OFFSET(15528, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), - NAME_FUNC_OFFSET(15559, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), - NAME_FUNC_OFFSET(15590, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), - NAME_FUNC_OFFSET(15614, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), - NAME_FUNC_OFFSET(15637, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), - NAME_FUNC_OFFSET(15655, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), - NAME_FUNC_OFFSET(15684, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), - NAME_FUNC_OFFSET(15713, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), - NAME_FUNC_OFFSET(15728, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), - NAME_FUNC_OFFSET(15754, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), - NAME_FUNC_OFFSET(15780, glHistogram, glHistogram, NULL, _gloffset_Histogram), - NAME_FUNC_OFFSET(15795, glMinmax, glMinmax, NULL, _gloffset_Minmax), - NAME_FUNC_OFFSET(15807, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), - NAME_FUNC_OFFSET(15827, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), - NAME_FUNC_OFFSET(15844, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), - NAME_FUNC_OFFSET(15860, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), - NAME_FUNC_OFFSET(15879, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), - NAME_FUNC_OFFSET(15902, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), - NAME_FUNC_OFFSET(15918, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), - NAME_FUNC_OFFSET(15940, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), - NAME_FUNC_OFFSET(15958, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), - NAME_FUNC_OFFSET(15977, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), - NAME_FUNC_OFFSET(15995, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), - NAME_FUNC_OFFSET(16014, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), - NAME_FUNC_OFFSET(16032, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), - NAME_FUNC_OFFSET(16051, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), - NAME_FUNC_OFFSET(16069, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), - NAME_FUNC_OFFSET(16088, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), - NAME_FUNC_OFFSET(16106, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), - NAME_FUNC_OFFSET(16125, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), - NAME_FUNC_OFFSET(16143, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), - NAME_FUNC_OFFSET(16162, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), - NAME_FUNC_OFFSET(16180, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), - NAME_FUNC_OFFSET(16199, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), - NAME_FUNC_OFFSET(16217, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), - NAME_FUNC_OFFSET(16236, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), - NAME_FUNC_OFFSET(16254, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), - NAME_FUNC_OFFSET(16273, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), - NAME_FUNC_OFFSET(16291, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), - NAME_FUNC_OFFSET(16310, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), - NAME_FUNC_OFFSET(16328, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), - NAME_FUNC_OFFSET(16347, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), - NAME_FUNC_OFFSET(16365, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), - NAME_FUNC_OFFSET(16384, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), - NAME_FUNC_OFFSET(16402, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), - NAME_FUNC_OFFSET(16421, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), - NAME_FUNC_OFFSET(16439, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), - NAME_FUNC_OFFSET(16458, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), - NAME_FUNC_OFFSET(16476, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), - NAME_FUNC_OFFSET(16495, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), - NAME_FUNC_OFFSET(16513, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), - NAME_FUNC_OFFSET(16532, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), - NAME_FUNC_OFFSET(16555, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), - NAME_FUNC_OFFSET(16580, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), - NAME_FUNC_OFFSET(16605, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), - NAME_FUNC_OFFSET(16632, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), - NAME_FUNC_OFFSET(16659, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), - NAME_FUNC_OFFSET(16682, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), - NAME_FUNC_OFFSET(16705, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), - NAME_FUNC_OFFSET(16728, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), - NAME_FUNC_OFFSET(16751, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), - NAME_FUNC_OFFSET(16768, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), - NAME_FUNC_OFFSET(16791, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), - NAME_FUNC_OFFSET(16814, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), - NAME_FUNC_OFFSET(16837, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), - NAME_FUNC_OFFSET(16863, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), - NAME_FUNC_OFFSET(16889, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), - NAME_FUNC_OFFSET(16915, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), - NAME_FUNC_OFFSET(16939, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16966, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), - NAME_FUNC_OFFSET(16992, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), - NAME_FUNC_OFFSET(17012, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), - NAME_FUNC_OFFSET(17032, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), - NAME_FUNC_OFFSET(17052, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), - NAME_FUNC_OFFSET(17075, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), - NAME_FUNC_OFFSET(17099, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), - NAME_FUNC_OFFSET(17122, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), - NAME_FUNC_OFFSET(17146, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), - NAME_FUNC_OFFSET(17163, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), - NAME_FUNC_OFFSET(17181, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), - NAME_FUNC_OFFSET(17198, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), - NAME_FUNC_OFFSET(17216, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), - NAME_FUNC_OFFSET(17233, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), - NAME_FUNC_OFFSET(17251, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), - NAME_FUNC_OFFSET(17268, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), - NAME_FUNC_OFFSET(17286, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), - NAME_FUNC_OFFSET(17303, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), - NAME_FUNC_OFFSET(17321, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), - NAME_FUNC_OFFSET(17338, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), - NAME_FUNC_OFFSET(17356, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), - NAME_FUNC_OFFSET(17373, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), - NAME_FUNC_OFFSET(17391, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), - NAME_FUNC_OFFSET(17408, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), - NAME_FUNC_OFFSET(17426, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), - NAME_FUNC_OFFSET(17443, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), - NAME_FUNC_OFFSET(17461, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), - NAME_FUNC_OFFSET(17480, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), - NAME_FUNC_OFFSET(17499, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), - NAME_FUNC_OFFSET(17518, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), - NAME_FUNC_OFFSET(17537, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), - NAME_FUNC_OFFSET(17557, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), - NAME_FUNC_OFFSET(17577, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), - NAME_FUNC_OFFSET(17597, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), - NAME_FUNC_OFFSET(17615, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), - NAME_FUNC_OFFSET(17632, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), - NAME_FUNC_OFFSET(17650, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), - NAME_FUNC_OFFSET(17667, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), - NAME_FUNC_OFFSET(17685, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), - NAME_FUNC_OFFSET(17703, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), - NAME_FUNC_OFFSET(17720, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), - NAME_FUNC_OFFSET(17738, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), - NAME_FUNC_OFFSET(17757, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), - NAME_FUNC_OFFSET(17776, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), - NAME_FUNC_OFFSET(17795, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), - NAME_FUNC_OFFSET(17817, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), - NAME_FUNC_OFFSET(17830, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), - NAME_FUNC_OFFSET(17843, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), - NAME_FUNC_OFFSET(17859, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), - NAME_FUNC_OFFSET(17875, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), - NAME_FUNC_OFFSET(17888, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), - NAME_FUNC_OFFSET(17911, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), - NAME_FUNC_OFFSET(17931, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), - NAME_FUNC_OFFSET(17950, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), - NAME_FUNC_OFFSET(17961, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), - NAME_FUNC_OFFSET(17973, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), - NAME_FUNC_OFFSET(17987, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), - NAME_FUNC_OFFSET(18000, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), - NAME_FUNC_OFFSET(18016, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), - NAME_FUNC_OFFSET(18027, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), - NAME_FUNC_OFFSET(18040, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), - NAME_FUNC_OFFSET(18059, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), - NAME_FUNC_OFFSET(18079, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), - NAME_FUNC_OFFSET(18092, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), - NAME_FUNC_OFFSET(18102, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), - NAME_FUNC_OFFSET(18118, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), - NAME_FUNC_OFFSET(18137, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), - NAME_FUNC_OFFSET(18155, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), - NAME_FUNC_OFFSET(18176, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), - NAME_FUNC_OFFSET(18191, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), - NAME_FUNC_OFFSET(18206, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), - NAME_FUNC_OFFSET(18220, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), - NAME_FUNC_OFFSET(18235, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), - NAME_FUNC_OFFSET(18247, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), - NAME_FUNC_OFFSET(18260, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), - NAME_FUNC_OFFSET(18272, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), - NAME_FUNC_OFFSET(18285, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), - NAME_FUNC_OFFSET(18297, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), - NAME_FUNC_OFFSET(18310, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), - NAME_FUNC_OFFSET(18322, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), - NAME_FUNC_OFFSET(18335, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), - NAME_FUNC_OFFSET(18347, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), - NAME_FUNC_OFFSET(18360, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), - NAME_FUNC_OFFSET(18372, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), - NAME_FUNC_OFFSET(18385, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), - NAME_FUNC_OFFSET(18397, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), - NAME_FUNC_OFFSET(18410, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), - NAME_FUNC_OFFSET(18422, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), - NAME_FUNC_OFFSET(18435, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), - NAME_FUNC_OFFSET(18454, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), - NAME_FUNC_OFFSET(18473, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), - NAME_FUNC_OFFSET(18492, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), - NAME_FUNC_OFFSET(18505, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), - NAME_FUNC_OFFSET(18523, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), - NAME_FUNC_OFFSET(18544, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), - NAME_FUNC_OFFSET(18562, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), - NAME_FUNC_OFFSET(18582, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(18596, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(18613, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, _gloffset_RenderbufferStorageMultisample), - NAME_FUNC_OFFSET(18649, gl_dispatch_stub_586, gl_dispatch_stub_586, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET(18665, gl_dispatch_stub_587, gl_dispatch_stub_587, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET(18684, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(18702, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(18723, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(18745, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(18764, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(18786, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(18809, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET(18828, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET(18848, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET(18867, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET(18887, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET(18906, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET(18926, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET(18945, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET(18965, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET(18984, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET(19004, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(19024, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(19045, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(19065, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(19086, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(19106, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(19127, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(19151, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(19169, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(19189, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(19207, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(19219, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(19232, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(19244, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(19257, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(19277, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(19301, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(19315, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(19332, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(19347, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(19365, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(19379, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(19396, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(19411, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(19429, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(19443, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(19460, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(19475, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(19493, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(19507, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(19524, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(19539, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(19557, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(19571, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(19588, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(19603, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(19621, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(19635, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(19652, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(19667, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(19685, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(19699, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(19716, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(19731, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(19749, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(19763, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(19780, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(19795, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(19813, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(19830, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(19850, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(19867, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19893, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(19922, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(19937, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(19955, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(19974, gl_dispatch_stub_757, gl_dispatch_stub_757, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(19995, gl_dispatch_stub_759, gl_dispatch_stub_759, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(20011, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(20035, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(20062, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(20080, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(20099, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(20124, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(20145, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(20167, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(20193, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(20216, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(20239, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(20262, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(20280, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(20299, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(20316, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(20354, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(20383, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(20399, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(20416, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(20438, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(20456, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(20482, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), - NAME_FUNC_OFFSET(20507, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), - NAME_FUNC_OFFSET(20524, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), - NAME_FUNC_OFFSET(20542, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), - NAME_FUNC_OFFSET(20565, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), - NAME_FUNC_OFFSET(20595, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), - NAME_FUNC_OFFSET(20623, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), + NAME_FUNC_OFFSET( 9030, glFramebufferTextureARB, glFramebufferTextureARB, NULL, _gloffset_FramebufferTextureARB), + NAME_FUNC_OFFSET( 9054, glFramebufferTextureFaceARB, glFramebufferTextureFaceARB, NULL, _gloffset_FramebufferTextureFaceARB), + NAME_FUNC_OFFSET( 9082, glProgramParameteriARB, glProgramParameteriARB, NULL, _gloffset_ProgramParameteriARB), + NAME_FUNC_OFFSET( 9105, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, _gloffset_FlushMappedBufferRange), + NAME_FUNC_OFFSET( 9130, glMapBufferRange, glMapBufferRange, NULL, _gloffset_MapBufferRange), + NAME_FUNC_OFFSET( 9147, glBindVertexArray, glBindVertexArray, NULL, _gloffset_BindVertexArray), + NAME_FUNC_OFFSET( 9165, glGenVertexArrays, glGenVertexArrays, NULL, _gloffset_GenVertexArrays), + NAME_FUNC_OFFSET( 9183, glCopyBufferSubData, glCopyBufferSubData, NULL, _gloffset_CopyBufferSubData), + NAME_FUNC_OFFSET( 9203, glClientWaitSync, glClientWaitSync, NULL, _gloffset_ClientWaitSync), + NAME_FUNC_OFFSET( 9220, glDeleteSync, glDeleteSync, NULL, _gloffset_DeleteSync), + NAME_FUNC_OFFSET( 9233, glFenceSync, glFenceSync, NULL, _gloffset_FenceSync), + NAME_FUNC_OFFSET( 9245, glGetInteger64v, glGetInteger64v, NULL, _gloffset_GetInteger64v), + NAME_FUNC_OFFSET( 9261, glGetSynciv, glGetSynciv, NULL, _gloffset_GetSynciv), + NAME_FUNC_OFFSET( 9273, glIsSync, glIsSync, NULL, _gloffset_IsSync), + NAME_FUNC_OFFSET( 9282, glWaitSync, glWaitSync, NULL, _gloffset_WaitSync), + NAME_FUNC_OFFSET( 9293, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, _gloffset_DrawElementsBaseVertex), + NAME_FUNC_OFFSET( 9318, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, _gloffset_DrawRangeElementsBaseVertex), + NAME_FUNC_OFFSET( 9348, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, _gloffset_MultiDrawElementsBaseVertex), + NAME_FUNC_OFFSET( 9378, glBindTransformFeedback, glBindTransformFeedback, NULL, _gloffset_BindTransformFeedback), + NAME_FUNC_OFFSET( 9402, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, _gloffset_DeleteTransformFeedbacks), + NAME_FUNC_OFFSET( 9429, glDrawTransformFeedback, glDrawTransformFeedback, NULL, _gloffset_DrawTransformFeedback), + NAME_FUNC_OFFSET( 9453, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, _gloffset_GenTransformFeedbacks), + NAME_FUNC_OFFSET( 9477, glIsTransformFeedback, glIsTransformFeedback, NULL, _gloffset_IsTransformFeedback), + NAME_FUNC_OFFSET( 9499, glPauseTransformFeedback, glPauseTransformFeedback, NULL, _gloffset_PauseTransformFeedback), + NAME_FUNC_OFFSET( 9524, glResumeTransformFeedback, glResumeTransformFeedback, NULL, _gloffset_ResumeTransformFeedback), + NAME_FUNC_OFFSET( 9550, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), + NAME_FUNC_OFFSET( 9569, gl_dispatch_stub_590, gl_dispatch_stub_590, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9601, gl_dispatch_stub_591, gl_dispatch_stub_591, NULL, _gloffset_GetPixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9633, gl_dispatch_stub_592, gl_dispatch_stub_592, NULL, _gloffset_PixelTexGenParameterfSGIS), + NAME_FUNC_OFFSET( 9661, gl_dispatch_stub_593, gl_dispatch_stub_593, NULL, _gloffset_PixelTexGenParameterfvSGIS), + NAME_FUNC_OFFSET( 9690, gl_dispatch_stub_594, gl_dispatch_stub_594, NULL, _gloffset_PixelTexGenParameteriSGIS), + NAME_FUNC_OFFSET( 9718, gl_dispatch_stub_595, gl_dispatch_stub_595, NULL, _gloffset_PixelTexGenParameterivSGIS), + NAME_FUNC_OFFSET( 9747, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET( 9764, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET( 9784, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), + NAME_FUNC_OFFSET( 9802, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), + NAME_FUNC_OFFSET( 9823, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), + NAME_FUNC_OFFSET( 9841, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), + NAME_FUNC_OFFSET( 9860, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), + NAME_FUNC_OFFSET( 9881, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), + NAME_FUNC_OFFSET( 9900, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET( 9921, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET( 9943, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), + NAME_FUNC_OFFSET( 9959, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), + NAME_FUNC_OFFSET( 9977, gl_dispatch_stub_608, gl_dispatch_stub_608, NULL, _gloffset_CullParameterdvEXT), + NAME_FUNC_OFFSET( 9998, gl_dispatch_stub_609, gl_dispatch_stub_609, NULL, _gloffset_CullParameterfvEXT), + NAME_FUNC_OFFSET(10019, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET(10041, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET(10064, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET(10086, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET(10109, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET(10131, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET(10154, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET(10176, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET(10199, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET(10221, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET(10244, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET(10267, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET(10291, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(10314, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(10338, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(10361, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(10385, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(10412, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(10433, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(10456, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(10477, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(10492, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(10508, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(10523, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(10539, gl_dispatch_stub_634, gl_dispatch_stub_634, NULL, _gloffset_PixelTexGenSGIX), + NAME_FUNC_OFFSET(10557, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(10580, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), + NAME_FUNC_OFFSET(10606, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), + NAME_FUNC_OFFSET(10627, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), + NAME_FUNC_OFFSET(10645, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), + NAME_FUNC_OFFSET(10664, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), + NAME_FUNC_OFFSET(10687, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), + NAME_FUNC_OFFSET(10711, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), + NAME_FUNC_OFFSET(10734, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), + NAME_FUNC_OFFSET(10758, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), + NAME_FUNC_OFFSET(10781, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10813, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10845, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), + NAME_FUNC_OFFSET(10878, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), + NAME_FUNC_OFFSET(10911, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), + NAME_FUNC_OFFSET(10948, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), + NAME_FUNC_OFFSET(10985, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), + NAME_FUNC_OFFSET(11005, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(11023, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(11042, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(11060, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(11079, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(11097, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(11116, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(11134, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(11153, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(11171, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(11190, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(11208, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(11227, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(11245, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(11264, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(11282, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(11301, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), + NAME_FUNC_OFFSET(11319, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), + NAME_FUNC_OFFSET(11338, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), + NAME_FUNC_OFFSET(11356, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), + NAME_FUNC_OFFSET(11375, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), + NAME_FUNC_OFFSET(11393, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), + NAME_FUNC_OFFSET(11412, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), + NAME_FUNC_OFFSET(11430, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), + NAME_FUNC_OFFSET(11449, gl_dispatch_stub_676, gl_dispatch_stub_676, NULL, _gloffset_MultiModeDrawArraysIBM), + NAME_FUNC_OFFSET(11474, gl_dispatch_stub_677, gl_dispatch_stub_677, NULL, _gloffset_MultiModeDrawElementsIBM), + NAME_FUNC_OFFSET(11501, gl_dispatch_stub_678, gl_dispatch_stub_678, NULL, _gloffset_DeleteFencesNV), + NAME_FUNC_OFFSET(11518, gl_dispatch_stub_679, gl_dispatch_stub_679, NULL, _gloffset_FinishFenceNV), + NAME_FUNC_OFFSET(11534, gl_dispatch_stub_680, gl_dispatch_stub_680, NULL, _gloffset_GenFencesNV), + NAME_FUNC_OFFSET(11548, gl_dispatch_stub_681, gl_dispatch_stub_681, NULL, _gloffset_GetFenceivNV), + NAME_FUNC_OFFSET(11563, gl_dispatch_stub_682, gl_dispatch_stub_682, NULL, _gloffset_IsFenceNV), + NAME_FUNC_OFFSET(11575, gl_dispatch_stub_683, gl_dispatch_stub_683, NULL, _gloffset_SetFenceNV), + NAME_FUNC_OFFSET(11588, gl_dispatch_stub_684, gl_dispatch_stub_684, NULL, _gloffset_TestFenceNV), + NAME_FUNC_OFFSET(11602, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), + NAME_FUNC_OFFSET(11626, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(11642, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(11661, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), + NAME_FUNC_OFFSET(11680, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(11696, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), + NAME_FUNC_OFFSET(11722, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), + NAME_FUNC_OFFSET(11748, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), + NAME_FUNC_OFFSET(11769, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), + NAME_FUNC_OFFSET(11786, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), + NAME_FUNC_OFFSET(11807, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(11835, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), + NAME_FUNC_OFFSET(11857, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), + NAME_FUNC_OFFSET(11879, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), + NAME_FUNC_OFFSET(11901, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(11915, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), + NAME_FUNC_OFFSET(11931, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), + NAME_FUNC_OFFSET(11956, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), + NAME_FUNC_OFFSET(11981, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), + NAME_FUNC_OFFSET(12009, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), + NAME_FUNC_OFFSET(12025, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), + NAME_FUNC_OFFSET(12044, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), + NAME_FUNC_OFFSET(12064, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), + NAME_FUNC_OFFSET(12083, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), + NAME_FUNC_OFFSET(12103, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), + NAME_FUNC_OFFSET(12122, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), + NAME_FUNC_OFFSET(12142, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), + NAME_FUNC_OFFSET(12161, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), + NAME_FUNC_OFFSET(12181, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), + NAME_FUNC_OFFSET(12200, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), + NAME_FUNC_OFFSET(12220, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), + NAME_FUNC_OFFSET(12239, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), + NAME_FUNC_OFFSET(12259, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), + NAME_FUNC_OFFSET(12278, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), + NAME_FUNC_OFFSET(12298, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), + NAME_FUNC_OFFSET(12317, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), + NAME_FUNC_OFFSET(12337, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), + NAME_FUNC_OFFSET(12356, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), + NAME_FUNC_OFFSET(12376, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), + NAME_FUNC_OFFSET(12395, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), + NAME_FUNC_OFFSET(12415, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), + NAME_FUNC_OFFSET(12434, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), + NAME_FUNC_OFFSET(12454, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), + NAME_FUNC_OFFSET(12473, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), + NAME_FUNC_OFFSET(12493, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), + NAME_FUNC_OFFSET(12513, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), + NAME_FUNC_OFFSET(12534, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), + NAME_FUNC_OFFSET(12558, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), + NAME_FUNC_OFFSET(12579, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), + NAME_FUNC_OFFSET(12600, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), + NAME_FUNC_OFFSET(12621, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), + NAME_FUNC_OFFSET(12642, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), + NAME_FUNC_OFFSET(12663, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), + NAME_FUNC_OFFSET(12684, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), + NAME_FUNC_OFFSET(12705, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), + NAME_FUNC_OFFSET(12726, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), + NAME_FUNC_OFFSET(12747, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), + NAME_FUNC_OFFSET(12768, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), + NAME_FUNC_OFFSET(12789, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), + NAME_FUNC_OFFSET(12810, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), + NAME_FUNC_OFFSET(12832, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), + NAME_FUNC_OFFSET(12859, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), + NAME_FUNC_OFFSET(12886, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), + NAME_FUNC_OFFSET(12910, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), + NAME_FUNC_OFFSET(12934, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), + NAME_FUNC_OFFSET(12956, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), + NAME_FUNC_OFFSET(12978, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), + NAME_FUNC_OFFSET(13000, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), + NAME_FUNC_OFFSET(13025, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), + NAME_FUNC_OFFSET(13049, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), + NAME_FUNC_OFFSET(13071, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), + NAME_FUNC_OFFSET(13093, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), + NAME_FUNC_OFFSET(13115, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), + NAME_FUNC_OFFSET(13141, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), + NAME_FUNC_OFFSET(13164, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), + NAME_FUNC_OFFSET(13188, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), + NAME_FUNC_OFFSET(13206, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), + NAME_FUNC_OFFSET(13221, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), + NAME_FUNC_OFFSET(13252, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(13272, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(13293, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_ActiveStencilFaceEXT), + NAME_FUNC_OFFSET(13316, gl_dispatch_stub_766, gl_dispatch_stub_766, NULL, _gloffset_BindVertexArrayAPPLE), + NAME_FUNC_OFFSET(13339, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(13365, gl_dispatch_stub_768, gl_dispatch_stub_768, NULL, _gloffset_GenVertexArraysAPPLE), + NAME_FUNC_OFFSET(13388, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(13409, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), + NAME_FUNC_OFFSET(13440, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), + NAME_FUNC_OFFSET(13471, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), + NAME_FUNC_OFFSET(13499, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), + NAME_FUNC_OFFSET(13528, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), + NAME_FUNC_OFFSET(13556, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), + NAME_FUNC_OFFSET(13585, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, _gloffset_DepthBoundsEXT), + NAME_FUNC_OFFSET(13602, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(13629, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(13650, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(13672, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(13700, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(13724, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(13749, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(13778, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(13804, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(13830, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(13856, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(13877, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(13899, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(13919, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(13960, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(13992, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(14011, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(14031, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(14056, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(14077, gl_dispatch_stub_796, gl_dispatch_stub_796, NULL, _gloffset_BufferParameteriAPPLE), + NAME_FUNC_OFFSET(14101, gl_dispatch_stub_797, gl_dispatch_stub_797, NULL, _gloffset_FlushMappedBufferRangeAPPLE), + NAME_FUNC_OFFSET(14131, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET(14160, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, _gloffset_ColorMaskIndexedEXT), + NAME_FUNC_OFFSET(14182, glDisableIndexedEXT, glDisableIndexedEXT, NULL, _gloffset_DisableIndexedEXT), + NAME_FUNC_OFFSET(14202, glEnableIndexedEXT, glEnableIndexedEXT, NULL, _gloffset_EnableIndexedEXT), + NAME_FUNC_OFFSET(14221, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, _gloffset_GetBooleanIndexedvEXT), + NAME_FUNC_OFFSET(14245, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, _gloffset_GetIntegerIndexedvEXT), + NAME_FUNC_OFFSET(14269, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, _gloffset_IsEnabledIndexedEXT), + NAME_FUNC_OFFSET(14291, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, _gloffset_BeginConditionalRenderNV), + NAME_FUNC_OFFSET(14318, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, _gloffset_EndConditionalRenderNV), + NAME_FUNC_OFFSET(14343, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), + NAME_FUNC_OFFSET(14371, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), + NAME_FUNC_OFFSET(14391, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, _gloffset_BindBufferOffsetEXT), + NAME_FUNC_OFFSET(14413, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), + NAME_FUNC_OFFSET(14434, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), + NAME_FUNC_OFFSET(14460, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), + NAME_FUNC_OFFSET(14493, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), + NAME_FUNC_OFFSET(14524, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), + NAME_FUNC_OFFSET(14545, gl_dispatch_stub_815, gl_dispatch_stub_815, NULL, _gloffset_GetTexParameterPointervAPPLE), + NAME_FUNC_OFFSET(14576, gl_dispatch_stub_816, gl_dispatch_stub_816, NULL, _gloffset_TextureRangeAPPLE), + NAME_FUNC_OFFSET(14596, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, _gloffset_GetObjectParameterivAPPLE), + NAME_FUNC_OFFSET(14624, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, _gloffset_ObjectPurgeableAPPLE), + NAME_FUNC_OFFSET(14647, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, _gloffset_ObjectUnpurgeableAPPLE), + NAME_FUNC_OFFSET(14672, gl_dispatch_stub_820, gl_dispatch_stub_820, NULL, _gloffset_StencilFuncSeparateATI), + NAME_FUNC_OFFSET(14697, gl_dispatch_stub_821, gl_dispatch_stub_821, NULL, _gloffset_ProgramEnvParameters4fvEXT), + NAME_FUNC_OFFSET(14726, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, _gloffset_ProgramLocalParameters4fvEXT), + NAME_FUNC_OFFSET(14757, gl_dispatch_stub_823, gl_dispatch_stub_823, NULL, _gloffset_GetQueryObjecti64vEXT), + NAME_FUNC_OFFSET(14781, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, _gloffset_GetQueryObjectui64vEXT), + NAME_FUNC_OFFSET(14806, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, _gloffset_EGLImageTargetRenderbufferStorageOES), + NAME_FUNC_OFFSET(14845, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, _gloffset_EGLImageTargetTexture2DOES), + NAME_FUNC_OFFSET(14874, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), + NAME_FUNC_OFFSET(14892, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), + NAME_FUNC_OFFSET(14909, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), + NAME_FUNC_OFFSET(14925, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), + NAME_FUNC_OFFSET(14950, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), + NAME_FUNC_OFFSET(14970, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), + NAME_FUNC_OFFSET(14990, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), + NAME_FUNC_OFFSET(15013, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), + NAME_FUNC_OFFSET(15036, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), + NAME_FUNC_OFFSET(15056, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), + NAME_FUNC_OFFSET(15073, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), + NAME_FUNC_OFFSET(15090, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), + NAME_FUNC_OFFSET(15105, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), + NAME_FUNC_OFFSET(15129, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), + NAME_FUNC_OFFSET(15148, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), + NAME_FUNC_OFFSET(15167, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), + NAME_FUNC_OFFSET(15183, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), + NAME_FUNC_OFFSET(15202, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), + NAME_FUNC_OFFSET(15225, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(15241, glColorTable, glColorTable, NULL, _gloffset_ColorTable), + NAME_FUNC_OFFSET(15257, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), + NAME_FUNC_OFFSET(15284, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), + NAME_FUNC_OFFSET(15311, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), + NAME_FUNC_OFFSET(15331, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(15350, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), + NAME_FUNC_OFFSET(15369, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(15399, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), + NAME_FUNC_OFFSET(15429, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(15459, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), + NAME_FUNC_OFFSET(15489, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), + NAME_FUNC_OFFSET(15508, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), + NAME_FUNC_OFFSET(15531, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), + NAME_FUNC_OFFSET(15556, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), + NAME_FUNC_OFFSET(15581, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), + NAME_FUNC_OFFSET(15608, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), + NAME_FUNC_OFFSET(15636, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), + NAME_FUNC_OFFSET(15663, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), + NAME_FUNC_OFFSET(15691, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), + NAME_FUNC_OFFSET(15720, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), + NAME_FUNC_OFFSET(15749, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), + NAME_FUNC_OFFSET(15775, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), + NAME_FUNC_OFFSET(15806, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), + NAME_FUNC_OFFSET(15837, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), + NAME_FUNC_OFFSET(15861, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), + NAME_FUNC_OFFSET(15884, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), + NAME_FUNC_OFFSET(15902, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), + NAME_FUNC_OFFSET(15931, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), + NAME_FUNC_OFFSET(15960, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), + NAME_FUNC_OFFSET(15975, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), + NAME_FUNC_OFFSET(16001, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), + NAME_FUNC_OFFSET(16027, glHistogram, glHistogram, NULL, _gloffset_Histogram), + NAME_FUNC_OFFSET(16042, glMinmax, glMinmax, NULL, _gloffset_Minmax), + NAME_FUNC_OFFSET(16054, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), + NAME_FUNC_OFFSET(16074, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), + NAME_FUNC_OFFSET(16091, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), + NAME_FUNC_OFFSET(16107, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), + NAME_FUNC_OFFSET(16126, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), + NAME_FUNC_OFFSET(16149, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), + NAME_FUNC_OFFSET(16165, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), + NAME_FUNC_OFFSET(16187, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), + NAME_FUNC_OFFSET(16205, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), + NAME_FUNC_OFFSET(16224, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), + NAME_FUNC_OFFSET(16242, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), + NAME_FUNC_OFFSET(16261, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), + NAME_FUNC_OFFSET(16279, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), + NAME_FUNC_OFFSET(16298, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), + NAME_FUNC_OFFSET(16316, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), + NAME_FUNC_OFFSET(16335, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), + NAME_FUNC_OFFSET(16353, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), + NAME_FUNC_OFFSET(16372, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), + NAME_FUNC_OFFSET(16390, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), + NAME_FUNC_OFFSET(16409, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), + NAME_FUNC_OFFSET(16427, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), + NAME_FUNC_OFFSET(16446, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), + NAME_FUNC_OFFSET(16464, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), + NAME_FUNC_OFFSET(16483, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), + NAME_FUNC_OFFSET(16501, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), + NAME_FUNC_OFFSET(16520, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), + NAME_FUNC_OFFSET(16538, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), + NAME_FUNC_OFFSET(16557, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), + NAME_FUNC_OFFSET(16575, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), + NAME_FUNC_OFFSET(16594, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), + NAME_FUNC_OFFSET(16612, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), + NAME_FUNC_OFFSET(16631, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), + NAME_FUNC_OFFSET(16649, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), + NAME_FUNC_OFFSET(16668, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), + NAME_FUNC_OFFSET(16686, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), + NAME_FUNC_OFFSET(16705, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), + NAME_FUNC_OFFSET(16723, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), + NAME_FUNC_OFFSET(16742, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), + NAME_FUNC_OFFSET(16760, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), + NAME_FUNC_OFFSET(16779, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), + NAME_FUNC_OFFSET(16802, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), + NAME_FUNC_OFFSET(16827, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), + NAME_FUNC_OFFSET(16852, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), + NAME_FUNC_OFFSET(16879, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), + NAME_FUNC_OFFSET(16906, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), + NAME_FUNC_OFFSET(16929, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), + NAME_FUNC_OFFSET(16952, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), + NAME_FUNC_OFFSET(16975, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), + NAME_FUNC_OFFSET(16998, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), + NAME_FUNC_OFFSET(17015, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), + NAME_FUNC_OFFSET(17038, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), + NAME_FUNC_OFFSET(17061, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), + NAME_FUNC_OFFSET(17084, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), + NAME_FUNC_OFFSET(17110, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), + NAME_FUNC_OFFSET(17136, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), + NAME_FUNC_OFFSET(17162, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), + NAME_FUNC_OFFSET(17186, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), + NAME_FUNC_OFFSET(17213, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), + NAME_FUNC_OFFSET(17239, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), + NAME_FUNC_OFFSET(17259, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), + NAME_FUNC_OFFSET(17279, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), + NAME_FUNC_OFFSET(17299, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), + NAME_FUNC_OFFSET(17322, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), + NAME_FUNC_OFFSET(17346, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), + NAME_FUNC_OFFSET(17369, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), + NAME_FUNC_OFFSET(17393, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), + NAME_FUNC_OFFSET(17410, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), + NAME_FUNC_OFFSET(17428, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), + NAME_FUNC_OFFSET(17445, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), + NAME_FUNC_OFFSET(17463, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), + NAME_FUNC_OFFSET(17480, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), + NAME_FUNC_OFFSET(17498, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), + NAME_FUNC_OFFSET(17515, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), + NAME_FUNC_OFFSET(17533, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), + NAME_FUNC_OFFSET(17550, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), + NAME_FUNC_OFFSET(17568, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), + NAME_FUNC_OFFSET(17585, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), + NAME_FUNC_OFFSET(17603, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), + NAME_FUNC_OFFSET(17620, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), + NAME_FUNC_OFFSET(17638, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), + NAME_FUNC_OFFSET(17655, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), + NAME_FUNC_OFFSET(17673, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), + NAME_FUNC_OFFSET(17690, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), + NAME_FUNC_OFFSET(17708, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), + NAME_FUNC_OFFSET(17727, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), + NAME_FUNC_OFFSET(17746, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), + NAME_FUNC_OFFSET(17765, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), + NAME_FUNC_OFFSET(17784, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), + NAME_FUNC_OFFSET(17804, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), + NAME_FUNC_OFFSET(17824, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), + NAME_FUNC_OFFSET(17844, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), + NAME_FUNC_OFFSET(17862, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), + NAME_FUNC_OFFSET(17879, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), + NAME_FUNC_OFFSET(17897, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), + NAME_FUNC_OFFSET(17914, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), + NAME_FUNC_OFFSET(17932, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), + NAME_FUNC_OFFSET(17950, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), + NAME_FUNC_OFFSET(17967, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), + NAME_FUNC_OFFSET(17985, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), + NAME_FUNC_OFFSET(18004, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), + NAME_FUNC_OFFSET(18023, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), + NAME_FUNC_OFFSET(18042, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), + NAME_FUNC_OFFSET(18064, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), + NAME_FUNC_OFFSET(18077, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), + NAME_FUNC_OFFSET(18090, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), + NAME_FUNC_OFFSET(18106, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), + NAME_FUNC_OFFSET(18122, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), + NAME_FUNC_OFFSET(18135, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), + NAME_FUNC_OFFSET(18158, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), + NAME_FUNC_OFFSET(18178, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), + NAME_FUNC_OFFSET(18197, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), + NAME_FUNC_OFFSET(18208, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), + NAME_FUNC_OFFSET(18220, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), + NAME_FUNC_OFFSET(18234, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), + NAME_FUNC_OFFSET(18247, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), + NAME_FUNC_OFFSET(18263, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), + NAME_FUNC_OFFSET(18274, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), + NAME_FUNC_OFFSET(18287, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), + NAME_FUNC_OFFSET(18306, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), + NAME_FUNC_OFFSET(18326, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), + NAME_FUNC_OFFSET(18339, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), + NAME_FUNC_OFFSET(18349, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), + NAME_FUNC_OFFSET(18365, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), + NAME_FUNC_OFFSET(18384, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), + NAME_FUNC_OFFSET(18402, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), + NAME_FUNC_OFFSET(18423, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), + NAME_FUNC_OFFSET(18438, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), + NAME_FUNC_OFFSET(18453, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), + NAME_FUNC_OFFSET(18467, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), + NAME_FUNC_OFFSET(18482, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), + NAME_FUNC_OFFSET(18494, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), + NAME_FUNC_OFFSET(18507, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), + NAME_FUNC_OFFSET(18519, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), + NAME_FUNC_OFFSET(18532, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), + NAME_FUNC_OFFSET(18544, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), + NAME_FUNC_OFFSET(18557, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), + NAME_FUNC_OFFSET(18569, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), + NAME_FUNC_OFFSET(18582, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), + NAME_FUNC_OFFSET(18594, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), + NAME_FUNC_OFFSET(18607, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), + NAME_FUNC_OFFSET(18619, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), + NAME_FUNC_OFFSET(18632, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), + NAME_FUNC_OFFSET(18644, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), + NAME_FUNC_OFFSET(18657, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), + NAME_FUNC_OFFSET(18669, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), + NAME_FUNC_OFFSET(18682, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), + NAME_FUNC_OFFSET(18701, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), + NAME_FUNC_OFFSET(18720, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), + NAME_FUNC_OFFSET(18739, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), + NAME_FUNC_OFFSET(18752, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), + NAME_FUNC_OFFSET(18770, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), + NAME_FUNC_OFFSET(18791, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), + NAME_FUNC_OFFSET(18809, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), + NAME_FUNC_OFFSET(18829, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(18843, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), + NAME_FUNC_OFFSET(18860, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, _gloffset_RenderbufferStorageMultisample), + NAME_FUNC_OFFSET(18896, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, _gloffset_SampleMaskSGIS), + NAME_FUNC_OFFSET(18912, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, _gloffset_SamplePatternSGIS), + NAME_FUNC_OFFSET(18931, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18949, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18970, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), + NAME_FUNC_OFFSET(18992, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(19011, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(19033, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), + NAME_FUNC_OFFSET(19056, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), + NAME_FUNC_OFFSET(19075, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), + NAME_FUNC_OFFSET(19095, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), + NAME_FUNC_OFFSET(19114, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), + NAME_FUNC_OFFSET(19134, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), + NAME_FUNC_OFFSET(19153, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), + NAME_FUNC_OFFSET(19173, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), + NAME_FUNC_OFFSET(19192, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), + NAME_FUNC_OFFSET(19212, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), + NAME_FUNC_OFFSET(19231, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), + NAME_FUNC_OFFSET(19251, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), + NAME_FUNC_OFFSET(19271, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), + NAME_FUNC_OFFSET(19292, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), + NAME_FUNC_OFFSET(19312, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), + NAME_FUNC_OFFSET(19333, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), + NAME_FUNC_OFFSET(19353, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), + NAME_FUNC_OFFSET(19374, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), + NAME_FUNC_OFFSET(19398, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), + NAME_FUNC_OFFSET(19416, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), + NAME_FUNC_OFFSET(19436, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), + NAME_FUNC_OFFSET(19454, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), + NAME_FUNC_OFFSET(19466, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), + NAME_FUNC_OFFSET(19479, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), + NAME_FUNC_OFFSET(19491, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), + NAME_FUNC_OFFSET(19504, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(19524, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), + NAME_FUNC_OFFSET(19548, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(19562, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), + NAME_FUNC_OFFSET(19579, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(19594, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), + NAME_FUNC_OFFSET(19612, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(19626, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), + NAME_FUNC_OFFSET(19643, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(19658, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), + NAME_FUNC_OFFSET(19676, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(19690, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), + NAME_FUNC_OFFSET(19707, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(19722, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), + NAME_FUNC_OFFSET(19740, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(19754, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), + NAME_FUNC_OFFSET(19771, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(19786, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), + NAME_FUNC_OFFSET(19804, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(19818, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), + NAME_FUNC_OFFSET(19835, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(19850, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), + NAME_FUNC_OFFSET(19868, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(19882, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), + NAME_FUNC_OFFSET(19899, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(19914, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), + NAME_FUNC_OFFSET(19932, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(19946, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), + NAME_FUNC_OFFSET(19963, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(19978, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), + NAME_FUNC_OFFSET(19996, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(20010, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), + NAME_FUNC_OFFSET(20027, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(20042, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), + NAME_FUNC_OFFSET(20060, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), + NAME_FUNC_OFFSET(20077, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), + NAME_FUNC_OFFSET(20097, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), + NAME_FUNC_OFFSET(20114, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(20140, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), + NAME_FUNC_OFFSET(20169, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), + NAME_FUNC_OFFSET(20184, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), + NAME_FUNC_OFFSET(20202, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), + NAME_FUNC_OFFSET(20221, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_DeleteVertexArraysAPPLE), + NAME_FUNC_OFFSET(20242, gl_dispatch_stub_769, gl_dispatch_stub_769, NULL, _gloffset_IsVertexArrayAPPLE), + NAME_FUNC_OFFSET(20258, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(20282, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), + NAME_FUNC_OFFSET(20309, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), + NAME_FUNC_OFFSET(20327, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), + NAME_FUNC_OFFSET(20346, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), + NAME_FUNC_OFFSET(20371, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), + NAME_FUNC_OFFSET(20392, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), + NAME_FUNC_OFFSET(20414, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), + NAME_FUNC_OFFSET(20440, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), + NAME_FUNC_OFFSET(20463, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), + NAME_FUNC_OFFSET(20486, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), + NAME_FUNC_OFFSET(20509, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), + NAME_FUNC_OFFSET(20527, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), + NAME_FUNC_OFFSET(20546, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), + NAME_FUNC_OFFSET(20563, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), + NAME_FUNC_OFFSET(20601, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), + NAME_FUNC_OFFSET(20630, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), + NAME_FUNC_OFFSET(20646, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), + NAME_FUNC_OFFSET(20663, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), + NAME_FUNC_OFFSET(20685, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, _gloffset_BlitFramebufferEXT), + NAME_FUNC_OFFSET(20703, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), + NAME_FUNC_OFFSET(20729, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), + NAME_FUNC_OFFSET(20754, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), + NAME_FUNC_OFFSET(20771, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), + NAME_FUNC_OFFSET(20789, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), + NAME_FUNC_OFFSET(20812, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), + NAME_FUNC_OFFSET(20842, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), + NAME_FUNC_OFFSET(20870, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mesa/drivers/glslcompiler/glslcompiler.c b/src/mesa/drivers/glslcompiler/glslcompiler.c index 5166600bed8..9cfee8287b9 100644 --- a/src/mesa/drivers/glslcompiler/glslcompiler.c +++ b/src/mesa/drivers/glslcompiler/glslcompiler.c @@ -72,6 +72,7 @@ struct options { gl_prog_print_mode Mode; const char *VertFile; const char *FragFile; + const char *GeoFile; const char *OutputFile; GLboolean Params; struct gl_sl_pragmas Pragmas; @@ -251,7 +252,8 @@ CompileShader(const char *filename, GLenum type) GLuint shader; assert(type == GL_FRAGMENT_SHADER || - type == GL_VERTEX_SHADER); + type == GL_VERTEX_SHADER || + type == GL_GEOMETRY_SHADER_ARB); shader = _mesa_CreateShader(type); ReadShader(shader, filename); @@ -267,6 +269,7 @@ Usage(void) printf("Usage:\n"); printf(" --vs FILE vertex shader input filename\n"); printf(" --fs FILE fragment shader input filename\n"); + printf(" --gs FILE geometry shader input filename\n"); printf(" --arb emit ARB-style instructions\n"); printf(" --nv emit NV-style instructions\n"); printf(" --link run linker\n"); @@ -290,6 +293,7 @@ ParseOptions(int argc, char *argv[]) Options.Mode = PROG_PRINT_DEBUG; Options.VertFile = NULL; Options.FragFile = NULL; + Options.GeoFile = NULL; Options.OutputFile = NULL; Options.Params = GL_FALSE; Options.Pragmas.IgnoreOptimize = GL_FALSE; @@ -311,6 +315,10 @@ ParseOptions(int argc, char *argv[]) Options.FragFile = argv[i + 1]; i++; } + else if (strcmp(argv[i], "--gs") == 0) { + Options.GeoFile = argv[i + 1]; + i++; + } else if (strcmp(argv[i], "--arb") == 0) { Options.Mode = PROG_PRINT_ARB; } @@ -369,7 +377,7 @@ ParseOptions(int argc, char *argv[]) int main(int argc, char *argv[]) { - GLuint v_shader = 0, f_shader = 0; + GLuint v_shader = 0, f_shader = 0, g_shader = 0; ParseOptions(argc, argv); @@ -386,7 +394,12 @@ main(int argc, char *argv[]) f_shader = CompileShader(Options.FragFile, GL_FRAGMENT_SHADER); } - if (v_shader || f_shader) { + if (Options.GeoFile) { + g_shader = CompileShader(Options.GeoFile, GL_GEOMETRY_SHADER_ARB); + } + + + if (v_shader || f_shader || g_shader) { if (Options.OutputFile) { fclose(stdout); /*stdout =*/ freopen(Options.OutputFile, "w", stdout); @@ -397,6 +410,9 @@ main(int argc, char *argv[]) if (stdout && f_shader) { PrintShaderInstructions(f_shader, stdout); } + if (stdout && g_shader) { + PrintShaderInstructions(g_shader, stdout); + } if (Options.OutputFile) { fclose(stdout); } diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 37d1ba45060..82e1f0fdba5 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -733,6 +733,12 @@ _mesa_create_exec_table(void) SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE); #endif +#if FEATURE_ARB_geometry_shader4 + SET_FramebufferTextureARB(exec, _mesa_FramebufferTextureARB); + SET_FramebufferTextureFaceARB(exec, _mesa_FramebufferTextureFaceARB); +#endif + + return exec; } diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 84f7665fc07..32f7d969d8d 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -265,6 +265,15 @@ /** For GL_EXT_transform_feedback */ #define MAX_FEEDBACK_ATTRIBS 32 +/** For GL_ARB_geometry_shader4 */ +/*@{*/ +#define MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 8 +#define MAX_GEOMETRY_VARYING_COMPONENTS 32 +#define MAX_VERTEX_VARYING_COMPONENTS 32 +#define MAX_GEOMETRY_UNIFORM_COMPONENTS 512 +#define MAX_GEOMETRY_OUTPUT_VERTICES 256 +#define MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 1024 +/*@}*/ /** diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index f597b23194e..a369532e99c 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -347,6 +347,8 @@ dummy_enum_func(void) gl_texture_index ti; gl_vert_attrib va; gl_vert_result vr; + gl_geom_attrib ga; + gl_geom_result gr; (void) bi; (void) ci; @@ -356,6 +358,8 @@ dummy_enum_func(void) (void) ti; (void) va; (void) vr; + (void) ga; + (void) gr; } @@ -478,10 +482,21 @@ init_program_limits(GLenum type, struct gl_program_constants *prog) prog->MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS; prog->MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS; } - else { + else if (type == GL_FRAGMENT_PROGRAM_ARB) { prog->MaxParameters = MAX_NV_FRAGMENT_PROGRAM_PARAMS; prog->MaxAttribs = MAX_NV_FRAGMENT_PROGRAM_INPUTS; prog->MaxAddressRegs = MAX_FRAGMENT_PROGRAM_ADDRESS_REGS; + } else { + prog->MaxParameters = MAX_NV_VERTEX_PROGRAM_PARAMS; + prog->MaxAttribs = MAX_NV_VERTEX_PROGRAM_INPUTS; + prog->MaxAddressRegs = MAX_VERTEX_PROGRAM_ADDRESS_REGS; + + prog->MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS; + prog->MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; + prog->MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; + prog->MaxGeometryUniformComponents = MAX_GEOMETRY_UNIFORM_COMPONENTS; + prog->MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES; + prog->MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS; } /* Set the native limits to zero. This implies that there is no native @@ -546,6 +561,9 @@ _mesa_init_constants(GLcontext *ctx) #endif #if FEATURE_ARB_fragment_program init_program_limits(GL_FRAGMENT_PROGRAM_ARB, &ctx->Const.FragmentProgram); +#endif +#if FEATURE_ARB_geometry_shader4 + init_program_limits(MESA_GEOMETRY_PROGRAM, &ctx->Const.GeometryProgram); #endif ctx->Const.MaxProgramMatrices = MAX_PROGRAM_MATRICES; ctx->Const.MaxProgramMatrixStackDepth = MAX_PROGRAM_MATRIX_STACK_DEPTH; diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 13705b9f671..456d20603dc 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -607,6 +607,7 @@ LONGSTRING static const char enum_string_table[] = "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE\0" "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE\0" "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE\0" + "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT\0" "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES\0" @@ -645,6 +646,8 @@ LONGSTRING static const char enum_string_table[] = "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES\0" + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB\0" + "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB\0" "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\0" "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT\0" "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES\0" @@ -677,6 +680,10 @@ LONGSTRING static const char enum_string_table[] = "GL_GENERATE_MIPMAP_HINT\0" "GL_GENERATE_MIPMAP_HINT_SGIS\0" "GL_GENERATE_MIPMAP_SGIS\0" + "GL_GEOMETRY_INPUT_TYPE_ARB\0" + "GL_GEOMETRY_OUTPUT_TYPE_ARB\0" + "GL_GEOMETRY_SHADER_ARB\0" + "GL_GEOMETRY_VERTICES_OUT_ARB\0" "GL_GEQUAL\0" "GL_GREATER\0" "GL_GREEN\0" @@ -790,6 +797,7 @@ LONGSTRING static const char enum_string_table[] = "GL_LINEAR_MIPMAP_LINEAR\0" "GL_LINEAR_MIPMAP_NEAREST\0" "GL_LINES\0" + "GL_LINES_ADJACENCY_ARB\0" "GL_LINE_BIT\0" "GL_LINE_LOOP\0" "GL_LINE_RESET_TOKEN\0" @@ -799,6 +807,7 @@ LONGSTRING static const char enum_string_table[] = "GL_LINE_STIPPLE_PATTERN\0" "GL_LINE_STIPPLE_REPEAT\0" "GL_LINE_STRIP\0" + "GL_LINE_STRIP_ADJACENCY_ARB\0" "GL_LINE_TOKEN\0" "GL_LINE_WIDTH\0" "GL_LINE_WIDTH_GRANULARITY\0" @@ -984,6 +993,11 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS\0" "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB\0" "GL_MAX_FRAGMENT_UNIFORM_VECTORS\0" + "GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB\0" + "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB\0" + "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB\0" + "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB\0" + "GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB\0" "GL_MAX_LIGHTS\0" "GL_MAX_LIST_NESTING\0" "GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB\0" @@ -1044,6 +1058,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT\0" "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT\0" "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT\0" + "GL_MAX_VARYING_COMPONENTS\0" "GL_MAX_VARYING_FLOATS\0" "GL_MAX_VARYING_FLOATS_ARB\0" "GL_MAX_VARYING_VECTORS\0" @@ -1056,6 +1071,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_VERTEX_UNIFORM_VECTORS\0" "GL_MAX_VERTEX_UNITS_ARB\0" "GL_MAX_VERTEX_UNITS_OES\0" + "GL_MAX_VERTEX_VARYING_COMPONENTS_ARB\0" "GL_MAX_VIEWPORT_DIMS\0" "GL_MEDIUM_FLOAT\0" "GL_MEDIUM_INT\0" @@ -1378,6 +1394,7 @@ LONGSTRING static const char enum_string_table[] = "GL_PROGRAM_OBJECT_ARB\0" "GL_PROGRAM_PARAMETERS_ARB\0" "GL_PROGRAM_PARAMETER_NV\0" + "GL_PROGRAM_POINT_SIZE_ARB\0" "GL_PROGRAM_RESIDENT_NV\0" "GL_PROGRAM_STRING_ARB\0" "GL_PROGRAM_STRING_NV\0" @@ -1931,9 +1948,13 @@ LONGSTRING static const char enum_string_table[] = "GL_TRACK_MATRIX_NV\0" "GL_TRACK_MATRIX_TRANSFORM_NV\0" "GL_TRANSFORM_BIT\0" + "GL_TRANSFORM_FEEDBACK\0" + "GL_TRANSFORM_FEEDBACK_BINDING\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE\0" "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT\0" "GL_TRANSFORM_FEEDBACK_BUFFER_EXT\0" "GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT\0" + "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED\0" "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT\0" "GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT\0" "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT\0" @@ -1950,9 +1971,11 @@ LONGSTRING static const char enum_string_table[] = "GL_TRANSPOSE_TEXTURE_MATRIX\0" "GL_TRANSPOSE_TEXTURE_MATRIX_ARB\0" "GL_TRIANGLES\0" + "GL_TRIANGLES_ADJACENCY_ARB\0" "GL_TRIANGLE_FAN\0" "GL_TRIANGLE_MESH_SUN\0" "GL_TRIANGLE_STRIP\0" + "GL_TRIANGLE_STRIP_ADJACENCY_ARB\0" "GL_TRUE\0" "GL_UNDEFINED_APPLE\0" "GL_UNPACK_ALIGNMENT\0" @@ -2080,7 +2103,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[2042] = +static const enum_elt all_enums[2065] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -2653,1556 +2676,1583 @@ static const enum_elt all_enums[2042] = { 11534, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ { 11575, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ { 11612, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ - { 11649, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - { 11687, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 11729, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */ - { 11771, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - { 11809, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 11851, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */ - { 11893, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ - { 11928, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - { 11967, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 12016, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */ - { 12065, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - { 12113, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 12165, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */ - { 12217, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - { 12257, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ - { 12301, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - { 12341, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 12385, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */ - { 12429, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */ - { 12452, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 12479, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */ - { 12506, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ - { 12530, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 12558, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */ - { 12586, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ - { 12609, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 12628, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - { 12665, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 12706, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */ - { 12747, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */ - { 12784, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 12825, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */ - { 12866, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ - { 12904, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 12946, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */ - { 12988, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 13039, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 13077, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */ - { 13115, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - { 13160, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 13209, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */ - { 13258, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - { 13296, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */ - { 13338, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ - { 13376, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 13418, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */ - { 13460, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */ - { 13479, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 13511, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ - { 13536, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ - { 13563, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 13594, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */ - { 13625, 0x00000404 }, /* GL_FRONT */ - { 13634, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 13652, 0x00000B46 }, /* GL_FRONT_FACE */ - { 13666, 0x00000400 }, /* GL_FRONT_LEFT */ - { 13680, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 13695, 0x00008006 }, /* GL_FUNC_ADD */ - { 13707, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 13723, 0x00008006 }, /* GL_FUNC_ADD_OES */ - { 13739, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 13764, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 13793, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */ - { 13822, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 13839, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 13860, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */ - { 13881, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 13900, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 13924, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 13953, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 13977, 0x00000206 }, /* GL_GEQUAL */ - { 13987, 0x00000204 }, /* GL_GREATER */ - { 13998, 0x00001904 }, /* GL_GREEN */ - { 14007, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 14021, 0x00000D53 }, /* GL_GREEN_BITS */ - { 14035, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 14050, 0x0000140B }, /* GL_HALF_FLOAT */ - { 14064, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ - { 14082, 0x00008DF2 }, /* GL_HIGH_FLOAT */ - { 14096, 0x00008DF5 }, /* GL_HIGH_INT */ - { 14108, 0x00008000 }, /* GL_HINT_BIT */ - { 14120, 0x00008024 }, /* GL_HISTOGRAM */ - { 14133, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 14157, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 14185, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 14208, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 14235, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 14252, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 14272, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 14296, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 14320, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 14348, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 14376, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 14408, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 14430, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 14456, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 14474, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 14496, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 14515, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 14538, 0x0000862A }, /* GL_IDENTITY_NV */ - { 14553, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 14573, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ - { 14609, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 14649, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ - { 14683, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 14721, 0x00001E02 }, /* GL_INCR */ - { 14729, 0x00008507 }, /* GL_INCR_WRAP */ - { 14742, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 14759, 0x00008222 }, /* GL_INDEX */ - { 14768, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 14783, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 14813, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 14847, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 14870, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 14892, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 14912, 0x00000D51 }, /* GL_INDEX_BITS */ - { 14926, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 14947, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 14965, 0x00000C30 }, /* GL_INDEX_MODE */ - { 14979, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 14995, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 15010, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 15029, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 15048, 0x00001404 }, /* GL_INT */ - { 15055, 0x00008049 }, /* GL_INTENSITY */ - { 15068, 0x0000804C }, /* GL_INTENSITY12 */ - { 15083, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 15102, 0x0000804D }, /* GL_INTENSITY16 */ - { 15117, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 15136, 0x0000804A }, /* GL_INTENSITY4 */ - { 15150, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 15168, 0x0000804B }, /* GL_INTENSITY8 */ - { 15182, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 15200, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 15217, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ - { 15244, 0x00008575 }, /* GL_INTERPOLATE */ - { 15259, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 15278, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 15297, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ - { 15319, 0x00008B53 }, /* GL_INT_VEC2 */ - { 15331, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 15347, 0x00008B54 }, /* GL_INT_VEC3 */ - { 15359, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 15375, 0x00008B55 }, /* GL_INT_VEC4 */ - { 15387, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 15403, 0x00000500 }, /* GL_INVALID_ENUM */ - { 15419, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 15452, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 15489, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ - { 15526, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 15547, 0x00000501 }, /* GL_INVALID_VALUE */ - { 15564, 0x0000862B }, /* GL_INVERSE_NV */ - { 15578, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 15602, 0x0000150A }, /* GL_INVERT */ - { 15612, 0x00001E00 }, /* GL_KEEP */ - { 15620, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ - { 15646, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 15676, 0x00000406 }, /* GL_LEFT */ - { 15684, 0x00000203 }, /* GL_LEQUAL */ - { 15694, 0x00000201 }, /* GL_LESS */ - { 15702, 0x00004000 }, /* GL_LIGHT0 */ - { 15712, 0x00004001 }, /* GL_LIGHT1 */ - { 15722, 0x00004002 }, /* GL_LIGHT2 */ - { 15732, 0x00004003 }, /* GL_LIGHT3 */ - { 15742, 0x00004004 }, /* GL_LIGHT4 */ - { 15752, 0x00004005 }, /* GL_LIGHT5 */ - { 15762, 0x00004006 }, /* GL_LIGHT6 */ - { 15772, 0x00004007 }, /* GL_LIGHT7 */ - { 15782, 0x00000B50 }, /* GL_LIGHTING */ - { 15794, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 15810, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 15833, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 15862, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 15895, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 15923, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 15947, 0x00001B01 }, /* GL_LINE */ - { 15955, 0x00002601 }, /* GL_LINEAR */ - { 15965, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 15987, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 16017, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 16048, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 16072, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 16097, 0x00000001 }, /* GL_LINES */ - { 16106, 0x00000004 }, /* GL_LINE_BIT */ - { 16118, 0x00000002 }, /* GL_LINE_LOOP */ - { 16131, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 16151, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 16166, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 16186, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 16202, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 16226, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 16249, 0x00000003 }, /* GL_LINE_STRIP */ - { 16263, 0x00000702 }, /* GL_LINE_TOKEN */ - { 16277, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 16291, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 16317, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 16337, 0x00008B82 }, /* GL_LINK_STATUS */ - { 16352, 0x00000B32 }, /* GL_LIST_BASE */ - { 16365, 0x00020000 }, /* GL_LIST_BIT */ - { 16377, 0x00000B33 }, /* GL_LIST_INDEX */ - { 16391, 0x00000B30 }, /* GL_LIST_MODE */ - { 16404, 0x00000101 }, /* GL_LOAD */ - { 16412, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 16424, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 16441, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 16455, 0x00008DF0 }, /* GL_LOW_FLOAT */ - { 16468, 0x00008DF3 }, /* GL_LOW_INT */ - { 16479, 0x00001909 }, /* GL_LUMINANCE */ - { 16492, 0x00008041 }, /* GL_LUMINANCE12 */ - { 16507, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 16530, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 16557, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 16579, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 16605, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 16624, 0x00008042 }, /* GL_LUMINANCE16 */ - { 16639, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 16662, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 16689, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 16708, 0x0000803F }, /* GL_LUMINANCE4 */ - { 16722, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 16743, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 16768, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 16786, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 16807, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 16832, 0x00008040 }, /* GL_LUMINANCE8 */ - { 16846, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 16867, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 16892, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 16910, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 16929, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 16945, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 16965, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 16987, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 17001, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 17016, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 17040, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 17064, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 17088, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 17112, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 17129, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 17146, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 17174, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 17203, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 17232, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 17261, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 17290, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 17319, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 17348, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 17376, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 17404, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 17432, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 17460, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 17488, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 17516, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 17544, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 17572, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 17600, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 17616, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 17636, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 17658, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 17672, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 17687, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 17711, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 17735, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 17759, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 17783, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 17800, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 17817, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 17845, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 17874, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 17903, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 17932, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 17961, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 17990, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 18019, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 18047, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 18075, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 18103, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 18131, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 18159, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 18187, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 18215, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 18243, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 18271, 0x00000D10 }, /* GL_MAP_COLOR */ - { 18284, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 18310, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 18339, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 18367, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 18383, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 18398, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 18424, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 18441, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 18456, 0x00008630 }, /* GL_MATRIX0_NV */ - { 18470, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 18486, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 18502, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 18518, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 18534, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 18550, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 18566, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 18582, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 18598, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 18614, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 18630, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 18645, 0x00008631 }, /* GL_MATRIX1_NV */ - { 18659, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 18675, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 18691, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 18707, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 18723, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 18739, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 18755, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 18771, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 18787, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 18803, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 18819, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 18834, 0x00008632 }, /* GL_MATRIX2_NV */ - { 18848, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 18864, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 18880, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 18895, 0x00008633 }, /* GL_MATRIX3_NV */ - { 18909, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 18924, 0x00008634 }, /* GL_MATRIX4_NV */ - { 18938, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 18953, 0x00008635 }, /* GL_MATRIX5_NV */ - { 18967, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 18982, 0x00008636 }, /* GL_MATRIX6_NV */ - { 18996, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 19011, 0x00008637 }, /* GL_MATRIX7_NV */ - { 19025, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 19040, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 19055, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 19081, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - { 19122, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ - { 19148, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 19182, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ - { 19216, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 19247, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ - { 19278, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 19311, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ - { 19344, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 19375, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ - { 19406, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 19421, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 19443, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ - { 19465, 0x00008008 }, /* GL_MAX */ - { 19472, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 19495, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ - { 19522, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 19554, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 19580, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 19613, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 19639, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 19673, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 19692, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ - { 19717, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 19746, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 19778, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 19814, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 19850, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 19890, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 19916, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 19946, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 19971, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 20000, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 20029, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 20062, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ - { 20095, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 20115, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 20139, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 20163, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 20187, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 20212, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 20230, 0x00008008 }, /* GL_MAX_EXT */ - { 20241, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 20276, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 20315, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - { 20347, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 20361, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 20381, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 20419, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 20448, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 20472, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 20500, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ - { 20528, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 20551, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 20588, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 20624, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 20651, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 20680, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 20714, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 20750, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 20777, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 20809, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 20845, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 20874, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 20903, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 20931, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 20969, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 21013, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 21056, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 21090, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 21129, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 21166, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 21204, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 21247, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 21290, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 21320, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 21351, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 21387, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 21423, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 21453, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 21487, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 21520, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ - { 21545, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 21574, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ - { 21603, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 21618, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ - { 21637, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 21664, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 21684, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 21708, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 21730, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 21756, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 21783, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 21814, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 21838, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ - { 21866, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 21900, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 21920, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 21947, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 21968, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 21993, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 22018, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 22053, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - { 22106, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - { 22153, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - { 22203, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 22225, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 22251, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ - { 22274, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 22296, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 22322, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 22356, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 22394, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 22427, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 22464, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - { 22494, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 22518, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ - { 22542, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 22563, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ - { 22579, 0x00008DF4 }, /* GL_MEDIUM_INT */ - { 22593, 0x00008007 }, /* GL_MIN */ - { 22600, 0x0000802E }, /* GL_MINMAX */ - { 22610, 0x0000802E }, /* GL_MINMAX_EXT */ - { 22624, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 22641, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 22662, 0x00008030 }, /* GL_MINMAX_SINK */ - { 22677, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 22696, 0x00008007 }, /* GL_MIN_EXT */ - { 22707, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 22726, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 22749, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 22772, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 22792, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 22812, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 22842, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 22870, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 22898, 0x00001700 }, /* GL_MODELVIEW */ - { 22911, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 22929, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 22948, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 22967, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 22986, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 23005, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 23024, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 23043, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 23062, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 23081, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 23100, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 23119, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 23137, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 23156, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 23175, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 23194, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 23213, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 23232, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 23251, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 23270, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 23289, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 23308, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 23327, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 23345, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 23364, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 23383, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 23401, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 23419, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 23437, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 23455, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 23473, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 23491, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 23509, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 23529, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 23571, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 23598, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 23623, 0x00002100 }, /* GL_MODULATE */ - { 23635, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 23655, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 23682, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 23707, 0x00000103 }, /* GL_MULT */ - { 23715, 0x0000809D }, /* GL_MULTISAMPLE */ - { 23730, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 23750, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 23769, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 23788, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 23812, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 23835, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 23865, 0x00002A25 }, /* GL_N3F_V3F */ - { 23876, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 23896, 0x0000150E }, /* GL_NAND */ - { 23904, 0x00002600 }, /* GL_NEAREST */ - { 23915, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 23946, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 23978, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 24003, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 24029, 0x00000200 }, /* GL_NEVER */ - { 24038, 0x00001102 }, /* GL_NICEST */ - { 24048, 0x00000000 }, /* GL_NONE */ - { 24056, 0x00000000 }, /* GL_NONE_OES */ - { 24068, 0x00001505 }, /* GL_NOOP */ - { 24076, 0x00001508 }, /* GL_NOR */ - { 24083, 0x00000BA1 }, /* GL_NORMALIZE */ - { 24096, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 24112, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 24143, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 24178, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 24202, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 24225, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 24246, 0x00008511 }, /* GL_NORMAL_MAP */ - { 24260, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 24278, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 24295, 0x00008511 }, /* GL_NORMAL_MAP_OES */ - { 24313, 0x00000205 }, /* GL_NOTEQUAL */ - { 24325, 0x00000000 }, /* GL_NO_ERROR */ - { 24337, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 24371, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 24409, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - { 24443, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ - { 24472, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 24504, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 24546, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 24576, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 24616, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 24647, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 24676, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 24704, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 24734, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 24751, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 24777, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 24793, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 24828, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 24850, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 24865, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 24884, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 24914, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 24935, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 24963, 0x00000001 }, /* GL_ONE */ - { 24970, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 24998, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 25030, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 25058, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 25090, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 25113, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 25136, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 25159, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 25182, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 25200, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 25222, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 25244, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 25260, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 25280, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 25300, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 25318, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 25340, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 25362, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 25378, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 25398, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 25418, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 25436, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 25458, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 25480, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 25496, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 25516, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 25536, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 25557, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 25576, 0x00001507 }, /* GL_OR */ - { 25582, 0x00000A01 }, /* GL_ORDER */ - { 25591, 0x0000150D }, /* GL_OR_INVERTED */ - { 25606, 0x0000150B }, /* GL_OR_REVERSE */ - { 25620, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 25637, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 25655, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 25676, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 25696, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 25714, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 25733, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 25753, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 25773, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 25791, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 25810, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 25835, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 25859, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 25880, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 25902, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 25924, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 25949, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 25973, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 25994, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 26016, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 26038, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 26060, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 26091, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 26111, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 26136, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 26156, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 26181, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 26201, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 26226, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 26246, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 26271, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 26291, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 26316, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 26336, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 26361, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 26381, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 26406, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 26426, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 26451, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 26471, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 26496, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 26516, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 26541, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 26559, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 26580, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 26609, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 26642, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 26667, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 26690, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 26721, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 26756, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 26783, 0x00001B00 }, /* GL_POINT */ - { 26792, 0x00000000 }, /* GL_POINTS */ - { 26802, 0x00000002 }, /* GL_POINT_BIT */ - { 26815, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 26845, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 26879, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 26913, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 26948, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 26977, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 27010, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 27043, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 27077, 0x00000B11 }, /* GL_POINT_SIZE */ - { 27091, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - { 27130, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ - { 27154, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - { 27186, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - { 27217, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - { 27246, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 27272, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 27290, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 27312, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 27334, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 27357, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 27375, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 27397, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 27419, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 27442, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 27462, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 27478, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 27499, 0x00008861 }, /* GL_POINT_SPRITE */ - { 27515, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 27535, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 27564, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 27583, 0x00008861 }, /* GL_POINT_SPRITE_OES */ - { 27603, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 27629, 0x00000701 }, /* GL_POINT_TOKEN */ - { 27644, 0x00000009 }, /* GL_POLYGON */ - { 27655, 0x00000008 }, /* GL_POLYGON_BIT */ - { 27670, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 27686, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 27709, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 27734, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 27757, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 27780, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 27804, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 27828, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 27846, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 27869, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 27888, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 27911, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 27928, 0x00001203 }, /* GL_POSITION */ - { 27940, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 27972, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 28008, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 28041, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 28078, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 28109, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 28144, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 28176, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 28212, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 28245, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 28277, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 28313, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 28346, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 28383, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 28413, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 28447, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 28478, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 28513, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 28544, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 28579, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 28611, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 28647, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 28677, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 28711, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 28742, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 28777, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 28809, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 28840, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 28875, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 28907, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 28943, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 28972, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 29005, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 29035, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 29069, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 29108, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 29141, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 29181, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 29215, 0x00008578 }, /* GL_PREVIOUS */ - { 29227, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 29243, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 29259, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 29276, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 29297, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 29318, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ - { 29346, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 29379, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 29411, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 29434, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ - { 29464, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ - { 29493, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 29516, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 29546, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 29575, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 29603, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 29625, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 29653, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 29681, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 29703, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 29724, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 29764, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 29803, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 29833, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 29868, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 29901, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 29935, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 29974, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 30013, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 30035, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 30061, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 30085, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 30108, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 30130, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 30151, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 30172, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 30199, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 30231, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 30263, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 30298, 0x00001701 }, /* GL_PROJECTION */ - { 30312, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 30333, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 30376, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 30402, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ - { 30422, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 30446, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 30467, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 30486, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 30509, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 30548, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 30586, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 30606, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 30636, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 30660, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 30680, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 30710, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 30734, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 30754, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 30787, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 30813, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 30843, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 30874, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 30904, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ - { 30923, 0x00002003 }, /* GL_Q */ - { 30928, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 30953, 0x00000007 }, /* GL_QUADS */ - { 30962, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - { 31006, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 31054, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 31071, 0x00000008 }, /* GL_QUAD_STRIP */ - { 31085, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - { 31115, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ - { 31142, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 31164, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 31190, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ - { 31210, 0x00008866 }, /* GL_QUERY_RESULT */ - { 31226, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 31246, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 31272, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 31302, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ - { 31319, 0x00002002 }, /* GL_R */ - { 31324, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 31336, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ - { 31362, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 31395, 0x00000C02 }, /* GL_READ_BUFFER */ - { 31410, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 31430, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ - { 31458, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 31490, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 31514, 0x000088B8 }, /* GL_READ_ONLY */ - { 31527, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 31544, 0x000088BA }, /* GL_READ_WRITE */ - { 31558, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 31576, 0x00001903 }, /* GL_RED */ - { 31583, 0x00008016 }, /* GL_REDUCE */ - { 31593, 0x00008016 }, /* GL_REDUCE_EXT */ - { 31607, 0x00000D15 }, /* GL_RED_BIAS */ - { 31619, 0x00000D52 }, /* GL_RED_BITS */ - { 31631, 0x00000D14 }, /* GL_RED_SCALE */ - { 31644, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 31662, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 31684, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 31705, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ - { 31727, 0x00008A19 }, /* GL_RELEASED_APPLE */ - { 31745, 0x00001C00 }, /* GL_RENDER */ - { 31755, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 31771, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 31798, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ - { 31829, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ - { 31853, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 31881, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ - { 31909, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 31935, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ - { 31965, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 31992, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ - { 32023, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 32043, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 32070, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ - { 32101, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 32124, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 32151, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ - { 32178, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 32210, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 32246, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ - { 32282, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ - { 32302, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 32327, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ - { 32356, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 32380, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ - { 32408, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 32437, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ - { 32470, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 32492, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 32518, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ - { 32544, 0x00001F01 }, /* GL_RENDERER */ - { 32556, 0x00000C40 }, /* GL_RENDER_MODE */ - { 32571, 0x00002901 }, /* GL_REPEAT */ - { 32581, 0x00001E01 }, /* GL_REPLACE */ - { 32592, 0x00008062 }, /* GL_REPLACE_EXT */ - { 32607, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 32630, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 32648, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 32670, 0x00008A1B }, /* GL_RETAINED_APPLE */ - { 32688, 0x00000102 }, /* GL_RETURN */ - { 32698, 0x00001907 }, /* GL_RGB */ - { 32705, 0x00008052 }, /* GL_RGB10 */ - { 32714, 0x00008059 }, /* GL_RGB10_A2 */ - { 32726, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 32742, 0x00008052 }, /* GL_RGB10_EXT */ - { 32755, 0x00008053 }, /* GL_RGB12 */ - { 32764, 0x00008053 }, /* GL_RGB12_EXT */ - { 32777, 0x00008054 }, /* GL_RGB16 */ - { 32786, 0x00008054 }, /* GL_RGB16_EXT */ - { 32799, 0x0000804E }, /* GL_RGB2_EXT */ - { 32811, 0x0000804F }, /* GL_RGB4 */ - { 32819, 0x0000804F }, /* GL_RGB4_EXT */ - { 32831, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 32844, 0x00008050 }, /* GL_RGB5 */ - { 32852, 0x00008D62 }, /* GL_RGB565 */ - { 32862, 0x00008D62 }, /* GL_RGB565_OES */ - { 32876, 0x00008057 }, /* GL_RGB5_A1 */ - { 32887, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 32902, 0x00008057 }, /* GL_RGB5_A1_OES */ - { 32917, 0x00008050 }, /* GL_RGB5_EXT */ - { 32929, 0x00008051 }, /* GL_RGB8 */ - { 32937, 0x00008051 }, /* GL_RGB8_EXT */ - { 32949, 0x00008051 }, /* GL_RGB8_OES */ - { 32961, 0x00001908 }, /* GL_RGBA */ - { 32969, 0x0000805A }, /* GL_RGBA12 */ - { 32979, 0x0000805A }, /* GL_RGBA12_EXT */ - { 32993, 0x0000805B }, /* GL_RGBA16 */ - { 33003, 0x0000805B }, /* GL_RGBA16_EXT */ - { 33017, 0x00008055 }, /* GL_RGBA2 */ - { 33026, 0x00008055 }, /* GL_RGBA2_EXT */ - { 33039, 0x00008056 }, /* GL_RGBA4 */ - { 33048, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 33067, 0x00008056 }, /* GL_RGBA4_EXT */ - { 33080, 0x00008056 }, /* GL_RGBA4_OES */ - { 33093, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 33107, 0x00008058 }, /* GL_RGBA8 */ - { 33116, 0x00008058 }, /* GL_RGBA8_EXT */ - { 33129, 0x00008058 }, /* GL_RGBA8_OES */ - { 33142, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 33157, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 33175, 0x00000C31 }, /* GL_RGBA_MODE */ - { 33188, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 33201, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 33215, 0x000083A0 }, /* GL_RGB_S3TC */ - { 33227, 0x00008573 }, /* GL_RGB_SCALE */ - { 33240, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 33257, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 33274, 0x00000407 }, /* GL_RIGHT */ - { 33283, 0x00002000 }, /* GL_S */ - { 33288, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 33302, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 33323, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 33337, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 33358, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 33372, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ - { 33390, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 33406, 0x000080A9 }, /* GL_SAMPLES */ - { 33417, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 33433, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 33448, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 33466, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 33488, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 33516, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 33548, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 33571, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 33598, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 33616, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 33639, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 33661, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 33680, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 33703, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 33729, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 33759, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 33784, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 33813, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 33828, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 33843, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 33859, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 33884, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 33924, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 33968, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 34001, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 34031, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 34063, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 34093, 0x00001C02 }, /* GL_SELECT */ - { 34103, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 34131, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 34156, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 34172, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ - { 34196, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 34223, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 34254, 0x0000150F }, /* GL_SET */ - { 34261, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ - { 34286, 0x00008DFA }, /* GL_SHADER_COMPILER */ - { 34305, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 34326, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 34350, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 34365, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 34380, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 34408, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 34431, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 34461, 0x00001601 }, /* GL_SHININESS */ - { 34474, 0x00001402 }, /* GL_SHORT */ - { 34483, 0x00009119 }, /* GL_SIGNALED */ - { 34495, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 34516, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 34532, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 34552, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 34571, 0x00008C46 }, /* GL_SLUMINANCE */ - { 34585, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 34600, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 34622, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 34642, 0x00001D01 }, /* GL_SMOOTH */ - { 34652, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 34685, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 34712, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 34745, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 34772, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 34789, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 34810, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 34831, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 34846, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 34865, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 34884, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 34901, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 34922, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 34943, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 34958, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 34977, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 34996, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 35013, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 35034, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 35055, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 35070, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 35089, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 35108, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 35128, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 35146, 0x00001202 }, /* GL_SPECULAR */ - { 35158, 0x00002402 }, /* GL_SPHERE_MAP */ - { 35172, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 35187, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 35205, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 35222, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 35236, 0x00008580 }, /* GL_SRC0_RGB */ - { 35248, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 35262, 0x00008581 }, /* GL_SRC1_RGB */ - { 35274, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 35288, 0x00008582 }, /* GL_SRC2_RGB */ - { 35300, 0x00000302 }, /* GL_SRC_ALPHA */ - { 35313, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 35335, 0x00000300 }, /* GL_SRC_COLOR */ - { 35348, 0x00008C40 }, /* GL_SRGB */ - { 35356, 0x00008C41 }, /* GL_SRGB8 */ - { 35365, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 35381, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 35395, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 35413, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 35432, 0x000088E6 }, /* GL_STATIC_COPY */ - { 35447, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 35466, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 35481, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 35500, 0x000088E5 }, /* GL_STATIC_READ */ - { 35515, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 35534, 0x00001802 }, /* GL_STENCIL */ - { 35545, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 35567, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 35593, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ - { 35619, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 35640, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 35665, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 35686, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 35711, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 35743, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 35779, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 35811, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 35847, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 35867, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 35894, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 35920, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 35936, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 35958, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 35981, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 35997, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 36013, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 36030, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ - { 36048, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ - { 36067, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 36090, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 36112, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ - { 36134, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ - { 36152, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 36174, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ - { 36196, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ - { 36214, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 36236, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ - { 36258, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 36279, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 36306, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 36333, 0x00000B97 }, /* GL_STENCIL_REF */ - { 36348, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 36364, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 36393, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 36415, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 36436, 0x00000C33 }, /* GL_STEREO */ - { 36446, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 36470, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 36495, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 36519, 0x000088E2 }, /* GL_STREAM_COPY */ - { 36534, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 36553, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 36568, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 36587, 0x000088E1 }, /* GL_STREAM_READ */ - { 36602, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 36621, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 36638, 0x000084E7 }, /* GL_SUBTRACT */ - { 36650, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 36666, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 36684, 0x00009116 }, /* GL_SYNC_FENCE */ - { 36698, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 36712, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 36739, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 36769, 0x00009114 }, /* GL_SYNC_STATUS */ - { 36784, 0x00002001 }, /* GL_T */ - { 36789, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 36804, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 36823, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 36839, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 36854, 0x00002A27 }, /* GL_T2F_V3F */ - { 36865, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 36884, 0x00002A28 }, /* GL_T4F_V4F */ - { 36895, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 36918, 0x00001702 }, /* GL_TEXTURE */ - { 36929, 0x000084C0 }, /* GL_TEXTURE0 */ - { 36941, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 36957, 0x000084C1 }, /* GL_TEXTURE1 */ - { 36969, 0x000084CA }, /* GL_TEXTURE10 */ - { 36982, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 36999, 0x000084CB }, /* GL_TEXTURE11 */ - { 37012, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 37029, 0x000084CC }, /* GL_TEXTURE12 */ - { 37042, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 37059, 0x000084CD }, /* GL_TEXTURE13 */ - { 37072, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 37089, 0x000084CE }, /* GL_TEXTURE14 */ - { 37102, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 37119, 0x000084CF }, /* GL_TEXTURE15 */ - { 37132, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 37149, 0x000084D0 }, /* GL_TEXTURE16 */ - { 37162, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 37179, 0x000084D1 }, /* GL_TEXTURE17 */ - { 37192, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 37209, 0x000084D2 }, /* GL_TEXTURE18 */ - { 37222, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 37239, 0x000084D3 }, /* GL_TEXTURE19 */ - { 37252, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 37269, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 37285, 0x000084C2 }, /* GL_TEXTURE2 */ - { 37297, 0x000084D4 }, /* GL_TEXTURE20 */ - { 37310, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 37327, 0x000084D5 }, /* GL_TEXTURE21 */ - { 37340, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 37357, 0x000084D6 }, /* GL_TEXTURE22 */ - { 37370, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 37387, 0x000084D7 }, /* GL_TEXTURE23 */ - { 37400, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 37417, 0x000084D8 }, /* GL_TEXTURE24 */ - { 37430, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 37447, 0x000084D9 }, /* GL_TEXTURE25 */ - { 37460, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 37477, 0x000084DA }, /* GL_TEXTURE26 */ - { 37490, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 37507, 0x000084DB }, /* GL_TEXTURE27 */ - { 37520, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 37537, 0x000084DC }, /* GL_TEXTURE28 */ - { 37550, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 37567, 0x000084DD }, /* GL_TEXTURE29 */ - { 37580, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 37597, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 37613, 0x000084C3 }, /* GL_TEXTURE3 */ - { 37625, 0x000084DE }, /* GL_TEXTURE30 */ - { 37638, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 37655, 0x000084DF }, /* GL_TEXTURE31 */ - { 37668, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 37685, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 37701, 0x000084C4 }, /* GL_TEXTURE4 */ - { 37713, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 37729, 0x000084C5 }, /* GL_TEXTURE5 */ - { 37741, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 37757, 0x000084C6 }, /* GL_TEXTURE6 */ - { 37769, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 37785, 0x000084C7 }, /* GL_TEXTURE7 */ - { 37797, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 37813, 0x000084C8 }, /* GL_TEXTURE8 */ - { 37825, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 37841, 0x000084C9 }, /* GL_TEXTURE9 */ - { 37853, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 37869, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 37883, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 37907, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 37921, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 37945, 0x0000806F }, /* GL_TEXTURE_3D */ - { 37959, 0x0000806F }, /* GL_TEXTURE_3D_OES */ - { 37977, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 37999, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 38025, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 38047, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 38069, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 38101, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 38123, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 38155, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 38177, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ - { 38203, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 38231, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 38263, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ - { 38295, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 38328, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 38360, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 38375, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 38396, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 38421, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 38439, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 38463, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 38494, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 38524, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 38554, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 38589, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 38620, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 38658, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 38685, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 38717, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 38751, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 38775, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 38803, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 38827, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 38855, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 38888, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 38912, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 38934, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 38956, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 38982, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 39016, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 39049, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 39086, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 39114, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 39146, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 39169, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 39207, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 39249, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 39280, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 39308, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 39338, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 39366, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ - { 39391, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 39411, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 39435, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 39466, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 39501, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ - { 39536, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 39567, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 39602, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ - { 39637, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 39668, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 39703, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ - { 39738, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ - { 39762, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 39793, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 39828, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ - { 39863, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 39894, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 39929, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ - { 39964, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 39995, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 40030, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ - { 40065, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 40094, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 40111, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 40133, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 40159, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 40174, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 40195, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 40215, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 40241, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ - { 40271, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 40291, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ - { 40315, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 40332, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 40349, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 40366, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ - { 40389, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 40406, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 40431, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 40453, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 40479, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 40497, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 40523, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 40549, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 40579, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 40606, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 40631, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 40651, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 40675, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 40702, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 40729, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 40756, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 40782, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 40812, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 40834, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 40852, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 40892, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 40922, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 40950, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 40978, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 41006, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 41027, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 41046, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 41068, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 41087, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 41107, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 41137, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 41168, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 41193, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 41217, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 41237, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 41261, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 41281, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 41304, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 41328, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ - { 41356, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 41386, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 41411, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 41445, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 41462, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 41480, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ - { 41502, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 41520, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 41538, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 41557, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 41577, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 41596, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 41625, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 41642, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - { 41683, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - { 41716, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - { 41754, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - { 41792, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - { 41831, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - { 41876, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - { 41911, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - { 41956, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 41982, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 42012, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 42044, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 42074, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 42108, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 42124, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 42155, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 42190, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 42218, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 42250, 0x00000004 }, /* GL_TRIANGLES */ - { 42263, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 42279, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 42300, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 42318, 0x00000001 }, /* GL_TRUE */ - { 42326, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ - { 42345, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 42365, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 42388, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 42408, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 42429, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 42451, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 42473, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 42493, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 42514, 0x00009118 }, /* GL_UNSIGNALED */ - { 42528, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 42545, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 42572, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 42595, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 42611, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 42638, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - { 42669, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 42690, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ - { 42715, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 42739, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ - { 42764, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 42795, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ - { 42830, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 42854, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 42882, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 42905, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 42923, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 42953, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ - { 42987, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 43013, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 43043, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ - { 43077, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 43103, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 43127, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 43155, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 43183, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 43210, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 43242, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 43273, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 43287, 0x00002A20 }, /* GL_V2F */ - { 43294, 0x00002A21 }, /* GL_V3F */ - { 43301, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 43320, 0x00001F00 }, /* GL_VENDOR */ - { 43330, 0x00001F02 }, /* GL_VERSION */ - { 43341, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 43357, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 43381, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 43411, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 43442, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 43477, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 43501, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 43522, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 43545, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 43566, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 43593, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 43621, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 43649, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 43677, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 43705, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 43733, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 43761, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 43788, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 43815, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 43842, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 43869, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 43896, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 43923, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 43950, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 43977, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 44004, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 44042, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 44084, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 44115, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 44150, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 44184, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 44222, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 44253, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 44288, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 44316, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 44348, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 44378, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 44412, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 44440, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 44472, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 44492, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 44514, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 44543, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 44564, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 44593, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 44626, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 44658, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 44685, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 44716, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 44746, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 44763, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 44784, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 44811, 0x00000BA2 }, /* GL_VIEWPORT */ - { 44823, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 44839, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 44857, 0x0000911D }, /* GL_WAIT_FAILED */ - { 44872, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 44892, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 44923, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 44958, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ - { 44993, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ - { 45013, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 45041, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ - { 45069, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 45094, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ - { 45119, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 45146, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ - { 45173, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 45198, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ - { 45223, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 45247, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 45266, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 45280, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 45298, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ - { 45316, 0x00001506 }, /* GL_XOR */ - { 45323, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 45342, 0x00008757 }, /* GL_YCBCR_MESA */ - { 45356, 0x00000000 }, /* GL_ZERO */ - { 45364, 0x00000D16 }, /* GL_ZOOM_X */ - { 45374, 0x00000D17 }, /* GL_ZOOM_Y */ + { 11649, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */ + { 11687, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + { 11725, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 11767, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */ + { 11809, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + { 11847, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 11889, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */ + { 11931, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + { 11966, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + { 12005, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 12054, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */ + { 12103, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + { 12151, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 12203, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */ + { 12255, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + { 12295, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 12339, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + { 12379, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 12423, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */ + { 12467, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */ + { 12490, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 12517, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */ + { 12544, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */ + { 12568, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 12596, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */ + { 12624, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */ + { 12647, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 12666, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + { 12703, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 12744, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */ + { 12785, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */ + { 12822, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 12863, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */ + { 12904, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + { 12942, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 12984, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */ + { 13026, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 13077, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 13115, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */ + { 13153, 0x00008DA9 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ + { 13195, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */ + { 13239, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + { 13284, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 13333, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */ + { 13382, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + { 13420, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */ + { 13462, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + { 13500, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 13542, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */ + { 13584, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */ + { 13603, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 13635, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */ + { 13660, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */ + { 13687, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 13718, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */ + { 13749, 0x00000404 }, /* GL_FRONT */ + { 13758, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 13776, 0x00000B46 }, /* GL_FRONT_FACE */ + { 13790, 0x00000400 }, /* GL_FRONT_LEFT */ + { 13804, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 13819, 0x00008006 }, /* GL_FUNC_ADD */ + { 13831, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 13847, 0x00008006 }, /* GL_FUNC_ADD_OES */ + { 13863, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 13888, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 13917, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */ + { 13946, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 13963, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 13984, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */ + { 14005, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 14024, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 14048, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 14077, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 14101, 0x00008DDB }, /* GL_GEOMETRY_INPUT_TYPE_ARB */ + { 14128, 0x00008DDC }, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ + { 14156, 0x00008DD9 }, /* GL_GEOMETRY_SHADER_ARB */ + { 14179, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */ + { 14208, 0x00000206 }, /* GL_GEQUAL */ + { 14218, 0x00000204 }, /* GL_GREATER */ + { 14229, 0x00001904 }, /* GL_GREEN */ + { 14238, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 14252, 0x00000D53 }, /* GL_GREEN_BITS */ + { 14266, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 14281, 0x0000140B }, /* GL_HALF_FLOAT */ + { 14295, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ + { 14313, 0x00008DF2 }, /* GL_HIGH_FLOAT */ + { 14327, 0x00008DF5 }, /* GL_HIGH_INT */ + { 14339, 0x00008000 }, /* GL_HINT_BIT */ + { 14351, 0x00008024 }, /* GL_HISTOGRAM */ + { 14364, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 14388, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 14416, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 14439, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 14466, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 14483, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 14503, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 14527, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 14551, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 14579, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 14607, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 14639, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 14661, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 14687, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 14705, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 14727, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 14746, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 14769, 0x0000862A }, /* GL_IDENTITY_NV */ + { 14784, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 14804, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + { 14840, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 14880, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + { 14914, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 14952, 0x00001E02 }, /* GL_INCR */ + { 14960, 0x00008507 }, /* GL_INCR_WRAP */ + { 14973, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 14990, 0x00008222 }, /* GL_INDEX */ + { 14999, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 15014, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 15044, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 15078, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 15101, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 15123, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 15143, 0x00000D51 }, /* GL_INDEX_BITS */ + { 15157, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 15178, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 15196, 0x00000C30 }, /* GL_INDEX_MODE */ + { 15210, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 15226, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 15241, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 15260, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 15279, 0x00001404 }, /* GL_INT */ + { 15286, 0x00008049 }, /* GL_INTENSITY */ + { 15299, 0x0000804C }, /* GL_INTENSITY12 */ + { 15314, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 15333, 0x0000804D }, /* GL_INTENSITY16 */ + { 15348, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 15367, 0x0000804A }, /* GL_INTENSITY4 */ + { 15381, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 15399, 0x0000804B }, /* GL_INTENSITY8 */ + { 15413, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 15431, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 15448, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ + { 15475, 0x00008575 }, /* GL_INTERPOLATE */ + { 15490, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 15509, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 15528, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ + { 15550, 0x00008B53 }, /* GL_INT_VEC2 */ + { 15562, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 15578, 0x00008B54 }, /* GL_INT_VEC3 */ + { 15590, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 15606, 0x00008B55 }, /* GL_INT_VEC4 */ + { 15618, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 15634, 0x00000500 }, /* GL_INVALID_ENUM */ + { 15650, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 15683, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 15720, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 15757, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 15778, 0x00000501 }, /* GL_INVALID_VALUE */ + { 15795, 0x0000862B }, /* GL_INVERSE_NV */ + { 15809, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 15833, 0x0000150A }, /* GL_INVERT */ + { 15843, 0x00001E00 }, /* GL_KEEP */ + { 15851, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 15877, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 15907, 0x00000406 }, /* GL_LEFT */ + { 15915, 0x00000203 }, /* GL_LEQUAL */ + { 15925, 0x00000201 }, /* GL_LESS */ + { 15933, 0x00004000 }, /* GL_LIGHT0 */ + { 15943, 0x00004001 }, /* GL_LIGHT1 */ + { 15953, 0x00004002 }, /* GL_LIGHT2 */ + { 15963, 0x00004003 }, /* GL_LIGHT3 */ + { 15973, 0x00004004 }, /* GL_LIGHT4 */ + { 15983, 0x00004005 }, /* GL_LIGHT5 */ + { 15993, 0x00004006 }, /* GL_LIGHT6 */ + { 16003, 0x00004007 }, /* GL_LIGHT7 */ + { 16013, 0x00000B50 }, /* GL_LIGHTING */ + { 16025, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 16041, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 16064, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 16093, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 16126, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 16154, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 16178, 0x00001B01 }, /* GL_LINE */ + { 16186, 0x00002601 }, /* GL_LINEAR */ + { 16196, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 16218, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 16248, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 16279, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 16303, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 16328, 0x00000001 }, /* GL_LINES */ + { 16337, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ + { 16360, 0x00000004 }, /* GL_LINE_BIT */ + { 16372, 0x00000002 }, /* GL_LINE_LOOP */ + { 16385, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 16405, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 16420, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 16440, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 16456, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 16480, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 16503, 0x00000003 }, /* GL_LINE_STRIP */ + { 16517, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ + { 16545, 0x00000702 }, /* GL_LINE_TOKEN */ + { 16559, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 16573, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 16599, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 16619, 0x00008B82 }, /* GL_LINK_STATUS */ + { 16634, 0x00000B32 }, /* GL_LIST_BASE */ + { 16647, 0x00020000 }, /* GL_LIST_BIT */ + { 16659, 0x00000B33 }, /* GL_LIST_INDEX */ + { 16673, 0x00000B30 }, /* GL_LIST_MODE */ + { 16686, 0x00000101 }, /* GL_LOAD */ + { 16694, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 16706, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 16723, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 16737, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 16750, 0x00008DF3 }, /* GL_LOW_INT */ + { 16761, 0x00001909 }, /* GL_LUMINANCE */ + { 16774, 0x00008041 }, /* GL_LUMINANCE12 */ + { 16789, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 16812, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 16839, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 16861, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 16887, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 16906, 0x00008042 }, /* GL_LUMINANCE16 */ + { 16921, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 16944, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 16971, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 16990, 0x0000803F }, /* GL_LUMINANCE4 */ + { 17004, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 17025, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 17050, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 17068, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 17089, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 17114, 0x00008040 }, /* GL_LUMINANCE8 */ + { 17128, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 17149, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 17174, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 17192, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 17211, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 17227, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 17247, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 17269, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 17283, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 17298, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 17322, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 17346, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 17370, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 17394, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 17411, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 17428, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 17456, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 17485, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 17514, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 17543, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 17572, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 17601, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 17630, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 17658, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 17686, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 17714, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 17742, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 17770, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 17798, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 17826, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 17854, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 17882, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 17898, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 17918, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 17940, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 17954, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 17969, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 17993, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 18017, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 18041, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 18065, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 18082, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 18099, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 18127, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 18156, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 18185, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 18214, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 18243, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 18272, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 18301, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 18329, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 18357, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 18385, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 18413, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 18441, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 18469, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 18497, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 18525, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 18553, 0x00000D10 }, /* GL_MAP_COLOR */ + { 18566, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 18592, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 18621, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 18649, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 18665, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 18680, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 18706, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 18723, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 18738, 0x00008630 }, /* GL_MATRIX0_NV */ + { 18752, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 18768, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 18784, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 18800, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 18816, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 18832, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 18848, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 18864, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 18880, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 18896, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 18912, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 18927, 0x00008631 }, /* GL_MATRIX1_NV */ + { 18941, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 18957, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 18973, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 18989, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 19005, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 19021, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 19037, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 19053, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 19069, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 19085, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 19101, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 19116, 0x00008632 }, /* GL_MATRIX2_NV */ + { 19130, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 19146, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 19162, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 19177, 0x00008633 }, /* GL_MATRIX3_NV */ + { 19191, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 19206, 0x00008634 }, /* GL_MATRIX4_NV */ + { 19220, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 19235, 0x00008635 }, /* GL_MATRIX5_NV */ + { 19249, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 19264, 0x00008636 }, /* GL_MATRIX6_NV */ + { 19278, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 19293, 0x00008637 }, /* GL_MATRIX7_NV */ + { 19307, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 19322, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 19337, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 19363, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 19404, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 19430, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 19464, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 19498, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 19529, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 19560, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 19593, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 19626, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 19657, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 19688, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 19703, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 19725, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 19747, 0x00008008 }, /* GL_MAX */ + { 19754, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 19777, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 19804, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 19836, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 19862, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 19895, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 19921, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 19955, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 19974, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 19999, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 20028, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 20060, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 20096, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 20132, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 20172, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 20198, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 20228, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 20253, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 20282, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 20311, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 20344, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 20377, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 20397, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 20421, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 20445, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 20469, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 20494, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 20512, 0x00008008 }, /* GL_MAX_EXT */ + { 20523, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 20558, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 20597, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 20629, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + { 20665, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + { 20705, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + { 20749, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + { 20788, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + { 20827, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 20841, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 20861, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 20899, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 20928, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 20952, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 20980, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 21008, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 21031, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 21068, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 21104, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 21131, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 21160, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 21194, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 21230, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 21257, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 21289, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 21325, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 21354, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 21383, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 21411, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 21449, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 21493, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 21536, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 21570, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 21609, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 21646, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 21684, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 21727, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 21770, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 21800, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 21831, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 21867, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 21903, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 21933, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 21967, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 22000, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 22025, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 22054, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 22083, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 22098, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 22117, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 22144, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 22164, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 22188, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 22210, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 22236, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 22263, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 22294, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 22318, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 22346, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 22380, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 22400, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 22427, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 22448, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 22473, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 22498, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 22533, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 22586, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 22633, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 22683, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ + { 22709, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 22731, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 22757, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 22780, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 22802, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 22828, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 22862, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 22900, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 22933, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 22970, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 23000, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 23024, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 23048, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + { 23085, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 23106, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 23122, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 23136, 0x00008007 }, /* GL_MIN */ + { 23143, 0x0000802E }, /* GL_MINMAX */ + { 23153, 0x0000802E }, /* GL_MINMAX_EXT */ + { 23167, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 23184, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 23205, 0x00008030 }, /* GL_MINMAX_SINK */ + { 23220, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 23239, 0x00008007 }, /* GL_MIN_EXT */ + { 23250, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 23269, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 23292, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 23315, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 23335, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 23355, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 23385, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 23413, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 23441, 0x00001700 }, /* GL_MODELVIEW */ + { 23454, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 23472, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 23491, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 23510, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 23529, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 23548, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 23567, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 23586, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 23605, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 23624, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 23643, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 23662, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 23680, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 23699, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 23718, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 23737, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 23756, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 23775, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 23794, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 23813, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 23832, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 23851, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 23870, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 23888, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 23907, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 23926, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 23944, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 23962, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 23980, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 23998, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 24016, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 24034, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 24052, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 24072, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 24114, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 24141, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 24166, 0x00002100 }, /* GL_MODULATE */ + { 24178, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 24198, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 24225, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 24250, 0x00000103 }, /* GL_MULT */ + { 24258, 0x0000809D }, /* GL_MULTISAMPLE */ + { 24273, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 24293, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 24312, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 24331, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 24355, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 24378, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 24408, 0x00002A25 }, /* GL_N3F_V3F */ + { 24419, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 24439, 0x0000150E }, /* GL_NAND */ + { 24447, 0x00002600 }, /* GL_NEAREST */ + { 24458, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 24489, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 24521, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 24546, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 24572, 0x00000200 }, /* GL_NEVER */ + { 24581, 0x00001102 }, /* GL_NICEST */ + { 24591, 0x00000000 }, /* GL_NONE */ + { 24599, 0x00000000 }, /* GL_NONE_OES */ + { 24611, 0x00001505 }, /* GL_NOOP */ + { 24619, 0x00001508 }, /* GL_NOR */ + { 24626, 0x00000BA1 }, /* GL_NORMALIZE */ + { 24639, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 24655, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 24686, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 24721, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 24745, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 24768, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 24789, 0x00008511 }, /* GL_NORMAL_MAP */ + { 24803, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 24821, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 24838, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 24856, 0x00000205 }, /* GL_NOTEQUAL */ + { 24868, 0x00000000 }, /* GL_NO_ERROR */ + { 24880, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 24914, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 24952, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 24986, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 25015, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 25047, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 25089, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 25119, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 25159, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 25190, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 25219, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 25247, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 25277, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 25294, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 25320, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 25336, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 25371, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 25393, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 25408, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 25427, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 25457, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 25478, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 25506, 0x00000001 }, /* GL_ONE */ + { 25513, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 25541, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 25573, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 25601, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 25633, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 25656, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 25679, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 25702, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 25725, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 25743, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 25765, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 25787, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 25803, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 25823, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 25843, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 25861, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 25883, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 25905, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 25921, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 25941, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 25961, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 25979, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 26001, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 26023, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 26039, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 26059, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 26079, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 26100, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 26119, 0x00001507 }, /* GL_OR */ + { 26125, 0x00000A01 }, /* GL_ORDER */ + { 26134, 0x0000150D }, /* GL_OR_INVERTED */ + { 26149, 0x0000150B }, /* GL_OR_REVERSE */ + { 26163, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 26180, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 26198, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 26219, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 26239, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 26257, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 26276, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 26296, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 26316, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 26334, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 26353, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 26378, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 26402, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 26423, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 26445, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 26467, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 26492, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 26516, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 26537, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 26559, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 26581, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 26603, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 26634, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 26654, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 26679, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 26699, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 26724, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 26744, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 26769, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 26789, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 26814, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 26834, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 26859, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 26879, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 26904, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 26924, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 26949, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 26969, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 26994, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 27014, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 27039, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 27059, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 27084, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 27102, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 27123, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 27152, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 27185, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 27210, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 27233, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 27264, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 27299, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 27326, 0x00001B00 }, /* GL_POINT */ + { 27335, 0x00000000 }, /* GL_POINTS */ + { 27345, 0x00000002 }, /* GL_POINT_BIT */ + { 27358, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 27388, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 27422, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 27456, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 27491, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 27520, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 27553, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 27586, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 27620, 0x00000B11 }, /* GL_POINT_SIZE */ + { 27634, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 27673, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 27697, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 27729, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 27760, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 27789, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 27815, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 27833, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 27855, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 27877, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 27900, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 27918, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 27940, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 27962, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 27985, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 28005, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 28021, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 28042, 0x00008861 }, /* GL_POINT_SPRITE */ + { 28058, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 28078, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 28107, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 28126, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 28146, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 28172, 0x00000701 }, /* GL_POINT_TOKEN */ + { 28187, 0x00000009 }, /* GL_POLYGON */ + { 28198, 0x00000008 }, /* GL_POLYGON_BIT */ + { 28213, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 28229, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 28252, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 28277, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 28300, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 28323, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 28347, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 28371, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 28389, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 28412, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 28431, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 28454, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 28471, 0x00001203 }, /* GL_POSITION */ + { 28483, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 28515, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 28551, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 28584, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 28621, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 28652, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 28687, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 28719, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 28755, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 28788, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 28820, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 28856, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 28889, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 28926, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 28956, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 28990, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 29021, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 29056, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 29087, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 29122, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 29154, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 29190, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 29220, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 29254, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 29285, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 29320, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 29352, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 29383, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 29418, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 29450, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 29486, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 29515, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 29548, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 29578, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 29612, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 29651, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 29684, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 29724, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 29758, 0x00008578 }, /* GL_PREVIOUS */ + { 29770, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 29786, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 29802, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 29819, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 29840, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 29861, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 29889, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 29922, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 29954, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 29977, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 30007, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 30036, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 30059, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 30089, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 30118, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 30146, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 30168, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 30196, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 30224, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 30246, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 30267, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 30307, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 30346, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 30376, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 30411, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 30444, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 30478, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 30517, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 30556, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 30578, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 30604, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 30628, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ + { 30654, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 30677, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 30699, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 30720, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 30741, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 30768, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 30800, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 30832, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 30867, 0x00001701 }, /* GL_PROJECTION */ + { 30881, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 30902, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 30945, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 30971, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 30991, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 31015, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 31036, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 31055, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 31078, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 31117, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 31155, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 31175, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 31205, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 31229, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 31249, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 31279, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 31303, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 31323, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 31356, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 31382, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 31412, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 31443, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 31473, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 31492, 0x00002003 }, /* GL_Q */ + { 31497, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 31522, 0x00000007 }, /* GL_QUADS */ + { 31531, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 31575, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 31623, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 31640, 0x00000008 }, /* GL_QUAD_STRIP */ + { 31654, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 31684, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 31711, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 31733, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 31759, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 31779, 0x00008866 }, /* GL_QUERY_RESULT */ + { 31795, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 31815, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 31841, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 31871, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 31888, 0x00002002 }, /* GL_R */ + { 31893, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 31905, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 31931, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 31964, 0x00000C02 }, /* GL_READ_BUFFER */ + { 31979, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 31999, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 32027, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 32059, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 32083, 0x000088B8 }, /* GL_READ_ONLY */ + { 32096, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 32113, 0x000088BA }, /* GL_READ_WRITE */ + { 32127, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 32145, 0x00001903 }, /* GL_RED */ + { 32152, 0x00008016 }, /* GL_REDUCE */ + { 32162, 0x00008016 }, /* GL_REDUCE_EXT */ + { 32176, 0x00000D15 }, /* GL_RED_BIAS */ + { 32188, 0x00000D52 }, /* GL_RED_BITS */ + { 32200, 0x00000D14 }, /* GL_RED_SCALE */ + { 32213, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 32231, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 32253, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 32274, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 32296, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 32314, 0x00001C00 }, /* GL_RENDER */ + { 32324, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 32340, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 32367, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 32398, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 32422, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 32450, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 32478, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 32504, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 32534, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 32561, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 32592, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 32612, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 32639, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 32670, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 32693, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 32720, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 32747, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 32779, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 32815, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 32851, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 32871, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 32896, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 32925, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 32949, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 32977, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 33006, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 33039, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 33061, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 33087, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 33113, 0x00001F01 }, /* GL_RENDERER */ + { 33125, 0x00000C40 }, /* GL_RENDER_MODE */ + { 33140, 0x00002901 }, /* GL_REPEAT */ + { 33150, 0x00001E01 }, /* GL_REPLACE */ + { 33161, 0x00008062 }, /* GL_REPLACE_EXT */ + { 33176, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 33199, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 33217, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 33239, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 33257, 0x00000102 }, /* GL_RETURN */ + { 33267, 0x00001907 }, /* GL_RGB */ + { 33274, 0x00008052 }, /* GL_RGB10 */ + { 33283, 0x00008059 }, /* GL_RGB10_A2 */ + { 33295, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 33311, 0x00008052 }, /* GL_RGB10_EXT */ + { 33324, 0x00008053 }, /* GL_RGB12 */ + { 33333, 0x00008053 }, /* GL_RGB12_EXT */ + { 33346, 0x00008054 }, /* GL_RGB16 */ + { 33355, 0x00008054 }, /* GL_RGB16_EXT */ + { 33368, 0x0000804E }, /* GL_RGB2_EXT */ + { 33380, 0x0000804F }, /* GL_RGB4 */ + { 33388, 0x0000804F }, /* GL_RGB4_EXT */ + { 33400, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 33413, 0x00008050 }, /* GL_RGB5 */ + { 33421, 0x00008D62 }, /* GL_RGB565 */ + { 33431, 0x00008D62 }, /* GL_RGB565_OES */ + { 33445, 0x00008057 }, /* GL_RGB5_A1 */ + { 33456, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 33471, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 33486, 0x00008050 }, /* GL_RGB5_EXT */ + { 33498, 0x00008051 }, /* GL_RGB8 */ + { 33506, 0x00008051 }, /* GL_RGB8_EXT */ + { 33518, 0x00008051 }, /* GL_RGB8_OES */ + { 33530, 0x00001908 }, /* GL_RGBA */ + { 33538, 0x0000805A }, /* GL_RGBA12 */ + { 33548, 0x0000805A }, /* GL_RGBA12_EXT */ + { 33562, 0x0000805B }, /* GL_RGBA16 */ + { 33572, 0x0000805B }, /* GL_RGBA16_EXT */ + { 33586, 0x00008055 }, /* GL_RGBA2 */ + { 33595, 0x00008055 }, /* GL_RGBA2_EXT */ + { 33608, 0x00008056 }, /* GL_RGBA4 */ + { 33617, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 33636, 0x00008056 }, /* GL_RGBA4_EXT */ + { 33649, 0x00008056 }, /* GL_RGBA4_OES */ + { 33662, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 33676, 0x00008058 }, /* GL_RGBA8 */ + { 33685, 0x00008058 }, /* GL_RGBA8_EXT */ + { 33698, 0x00008058 }, /* GL_RGBA8_OES */ + { 33711, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 33726, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 33744, 0x00000C31 }, /* GL_RGBA_MODE */ + { 33757, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 33770, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 33784, 0x000083A0 }, /* GL_RGB_S3TC */ + { 33796, 0x00008573 }, /* GL_RGB_SCALE */ + { 33809, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 33826, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 33843, 0x00000407 }, /* GL_RIGHT */ + { 33852, 0x00002000 }, /* GL_S */ + { 33857, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 33871, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 33892, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 33906, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 33927, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 33941, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 33959, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 33975, 0x000080A9 }, /* GL_SAMPLES */ + { 33986, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 34002, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 34017, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 34035, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 34057, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 34085, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 34117, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 34140, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 34167, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 34185, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 34208, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 34230, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 34249, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 34272, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 34298, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 34328, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 34353, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 34382, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 34397, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 34412, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 34428, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 34453, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 34493, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 34537, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 34570, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 34600, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 34632, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 34662, 0x00001C02 }, /* GL_SELECT */ + { 34672, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 34700, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 34725, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 34741, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 34765, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 34792, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 34823, 0x0000150F }, /* GL_SET */ + { 34830, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 34855, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 34874, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 34895, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 34919, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 34934, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 34949, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 34977, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 35000, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 35030, 0x00001601 }, /* GL_SHININESS */ + { 35043, 0x00001402 }, /* GL_SHORT */ + { 35052, 0x00009119 }, /* GL_SIGNALED */ + { 35064, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 35085, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 35101, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 35121, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 35140, 0x00008C46 }, /* GL_SLUMINANCE */ + { 35154, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 35169, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 35191, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 35211, 0x00001D01 }, /* GL_SMOOTH */ + { 35221, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 35254, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 35281, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 35314, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 35341, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 35358, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 35379, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 35400, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 35415, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 35434, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 35453, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 35470, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 35491, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 35512, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 35527, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 35546, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 35565, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 35582, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 35603, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 35624, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 35639, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 35658, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 35677, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 35697, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 35715, 0x00001202 }, /* GL_SPECULAR */ + { 35727, 0x00002402 }, /* GL_SPHERE_MAP */ + { 35741, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 35756, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 35774, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 35791, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 35805, 0x00008580 }, /* GL_SRC0_RGB */ + { 35817, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 35831, 0x00008581 }, /* GL_SRC1_RGB */ + { 35843, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 35857, 0x00008582 }, /* GL_SRC2_RGB */ + { 35869, 0x00000302 }, /* GL_SRC_ALPHA */ + { 35882, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 35904, 0x00000300 }, /* GL_SRC_COLOR */ + { 35917, 0x00008C40 }, /* GL_SRGB */ + { 35925, 0x00008C41 }, /* GL_SRGB8 */ + { 35934, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 35950, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 35964, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 35982, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 36001, 0x000088E6 }, /* GL_STATIC_COPY */ + { 36016, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 36035, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 36050, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 36069, 0x000088E5 }, /* GL_STATIC_READ */ + { 36084, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 36103, 0x00001802 }, /* GL_STENCIL */ + { 36114, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 36136, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 36162, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 36188, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 36209, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 36234, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 36255, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 36280, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 36312, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 36348, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 36380, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 36416, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 36436, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 36463, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 36489, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 36505, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 36527, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 36550, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 36566, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 36582, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 36599, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 36617, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 36636, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 36659, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 36681, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 36703, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 36721, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 36743, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 36765, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 36783, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 36805, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 36827, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 36848, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 36875, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 36902, 0x00000B97 }, /* GL_STENCIL_REF */ + { 36917, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 36933, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 36962, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 36984, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 37005, 0x00000C33 }, /* GL_STEREO */ + { 37015, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 37039, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 37064, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 37088, 0x000088E2 }, /* GL_STREAM_COPY */ + { 37103, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 37122, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 37137, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 37156, 0x000088E1 }, /* GL_STREAM_READ */ + { 37171, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 37190, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 37207, 0x000084E7 }, /* GL_SUBTRACT */ + { 37219, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 37235, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 37253, 0x00009116 }, /* GL_SYNC_FENCE */ + { 37267, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 37281, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 37308, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 37338, 0x00009114 }, /* GL_SYNC_STATUS */ + { 37353, 0x00002001 }, /* GL_T */ + { 37358, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 37373, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 37392, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 37408, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 37423, 0x00002A27 }, /* GL_T2F_V3F */ + { 37434, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 37453, 0x00002A28 }, /* GL_T4F_V4F */ + { 37464, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 37487, 0x00001702 }, /* GL_TEXTURE */ + { 37498, 0x000084C0 }, /* GL_TEXTURE0 */ + { 37510, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 37526, 0x000084C1 }, /* GL_TEXTURE1 */ + { 37538, 0x000084CA }, /* GL_TEXTURE10 */ + { 37551, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 37568, 0x000084CB }, /* GL_TEXTURE11 */ + { 37581, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 37598, 0x000084CC }, /* GL_TEXTURE12 */ + { 37611, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 37628, 0x000084CD }, /* GL_TEXTURE13 */ + { 37641, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 37658, 0x000084CE }, /* GL_TEXTURE14 */ + { 37671, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 37688, 0x000084CF }, /* GL_TEXTURE15 */ + { 37701, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 37718, 0x000084D0 }, /* GL_TEXTURE16 */ + { 37731, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 37748, 0x000084D1 }, /* GL_TEXTURE17 */ + { 37761, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 37778, 0x000084D2 }, /* GL_TEXTURE18 */ + { 37791, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 37808, 0x000084D3 }, /* GL_TEXTURE19 */ + { 37821, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 37838, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 37854, 0x000084C2 }, /* GL_TEXTURE2 */ + { 37866, 0x000084D4 }, /* GL_TEXTURE20 */ + { 37879, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 37896, 0x000084D5 }, /* GL_TEXTURE21 */ + { 37909, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 37926, 0x000084D6 }, /* GL_TEXTURE22 */ + { 37939, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 37956, 0x000084D7 }, /* GL_TEXTURE23 */ + { 37969, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 37986, 0x000084D8 }, /* GL_TEXTURE24 */ + { 37999, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 38016, 0x000084D9 }, /* GL_TEXTURE25 */ + { 38029, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 38046, 0x000084DA }, /* GL_TEXTURE26 */ + { 38059, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 38076, 0x000084DB }, /* GL_TEXTURE27 */ + { 38089, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 38106, 0x000084DC }, /* GL_TEXTURE28 */ + { 38119, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 38136, 0x000084DD }, /* GL_TEXTURE29 */ + { 38149, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 38166, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 38182, 0x000084C3 }, /* GL_TEXTURE3 */ + { 38194, 0x000084DE }, /* GL_TEXTURE30 */ + { 38207, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 38224, 0x000084DF }, /* GL_TEXTURE31 */ + { 38237, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 38254, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 38270, 0x000084C4 }, /* GL_TEXTURE4 */ + { 38282, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 38298, 0x000084C5 }, /* GL_TEXTURE5 */ + { 38310, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 38326, 0x000084C6 }, /* GL_TEXTURE6 */ + { 38338, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 38354, 0x000084C7 }, /* GL_TEXTURE7 */ + { 38366, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 38382, 0x000084C8 }, /* GL_TEXTURE8 */ + { 38394, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 38410, 0x000084C9 }, /* GL_TEXTURE9 */ + { 38422, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 38438, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 38452, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 38476, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 38490, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 38514, 0x0000806F }, /* GL_TEXTURE_3D */ + { 38528, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 38546, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 38568, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 38594, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 38616, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 38638, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 38670, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 38692, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 38724, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 38746, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 38772, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 38800, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 38832, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 38864, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 38897, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 38929, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 38944, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 38965, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 38990, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 39008, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 39032, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 39063, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 39093, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 39123, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 39158, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 39189, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 39227, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 39254, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 39286, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 39320, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 39344, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 39372, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 39396, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 39424, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 39457, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 39481, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 39503, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 39525, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 39551, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 39585, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 39618, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 39655, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 39683, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 39715, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 39738, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 39776, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 39818, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 39849, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 39877, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 39907, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 39935, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 39960, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 39980, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 40004, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 40035, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 40070, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 40105, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 40136, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 40171, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 40206, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 40237, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 40272, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 40307, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 40331, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 40362, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 40397, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 40432, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 40463, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 40498, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 40533, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 40564, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 40599, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 40634, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 40663, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 40680, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 40702, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 40728, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 40743, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 40764, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 40784, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 40810, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 40840, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 40860, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 40884, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 40901, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 40918, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 40935, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 40958, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 40975, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 41000, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 41022, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 41048, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 41066, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 41092, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 41118, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 41148, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 41175, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 41200, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 41220, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 41244, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 41271, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 41298, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 41325, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 41351, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 41381, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 41403, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 41421, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 41461, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 41491, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 41519, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 41547, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 41575, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 41596, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 41615, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 41637, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 41656, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 41676, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 41706, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 41737, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 41762, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 41786, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 41806, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 41830, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 41850, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 41873, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 41897, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 41925, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 41955, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 41980, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 42014, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 42031, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 42049, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 42071, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 42089, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 42107, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 42126, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 42146, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 42165, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 42194, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 42211, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ + { 42233, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ + { 42263, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + { 42299, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 42340, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 42373, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 42411, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + { 42447, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 42485, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 42524, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 42569, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 42604, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 42649, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 42675, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 42705, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 42737, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 42767, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 42801, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 42817, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 42848, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 42883, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 42911, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 42943, 0x00000004 }, /* GL_TRIANGLES */ + { 42956, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ + { 42983, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 42999, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 43020, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 43038, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + { 43070, 0x00000001 }, /* GL_TRUE */ + { 43078, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 43097, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 43117, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 43140, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 43160, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 43181, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 43203, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 43225, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 43245, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 43266, 0x00009118 }, /* GL_UNSIGNALED */ + { 43280, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 43297, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 43324, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 43347, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 43363, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 43390, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 43421, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 43442, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 43467, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 43491, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 43516, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 43547, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 43582, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 43606, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 43634, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 43657, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 43675, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 43705, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 43739, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 43765, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 43795, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 43829, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 43855, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 43879, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 43907, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 43935, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 43962, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 43994, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 44025, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 44039, 0x00002A20 }, /* GL_V2F */ + { 44046, 0x00002A21 }, /* GL_V3F */ + { 44053, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 44072, 0x00001F00 }, /* GL_VENDOR */ + { 44082, 0x00001F02 }, /* GL_VERSION */ + { 44093, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 44109, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 44133, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 44163, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 44194, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 44229, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 44253, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 44274, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 44297, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 44318, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 44345, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 44373, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 44401, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 44429, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 44457, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 44485, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 44513, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 44540, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 44567, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 44594, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 44621, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 44648, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 44675, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 44702, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 44729, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 44756, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 44794, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 44836, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 44867, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 44902, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 44936, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 44974, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 45005, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 45040, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 45068, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 45100, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 45130, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 45164, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 45192, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 45224, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 45244, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 45266, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 45295, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 45316, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 45345, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 45378, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 45410, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 45437, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 45468, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 45498, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 45515, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 45536, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 45563, 0x00000BA2 }, /* GL_VIEWPORT */ + { 45575, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 45591, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 45609, 0x0000911D }, /* GL_WAIT_FAILED */ + { 45624, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 45644, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 45675, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 45710, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 45745, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 45765, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 45793, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 45821, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 45846, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 45871, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 45898, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 45925, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 45950, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 45975, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 45999, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 46018, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 46032, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 46050, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 46068, 0x00001506 }, /* GL_XOR */ + { 46075, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 46094, 0x00008757 }, /* GL_YCBCR_MESA */ + { 46108, 0x00000000 }, /* GL_ZERO */ + { 46116, 0x00000D16 }, /* GL_ZOOM_X */ + { 46126, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1402] = +static const unsigned reduced_enums[1423] = { 500, /* GL_FALSE */ - 753, /* GL_LINES */ - 755, /* GL_LINE_LOOP */ - 762, /* GL_LINE_STRIP */ - 1913, /* GL_TRIANGLES */ - 1916, /* GL_TRIANGLE_STRIP */ - 1914, /* GL_TRIANGLE_FAN */ - 1376, /* GL_QUADS */ - 1380, /* GL_QUAD_STRIP */ - 1257, /* GL_POLYGON */ - 1269, /* GL_POLYGON_STIPPLE_BIT */ - 1212, /* GL_PIXEL_MODE_BIT */ - 740, /* GL_LIGHTING_BIT */ + 760, /* GL_LINES */ + 763, /* GL_LINE_LOOP */ + 770, /* GL_LINE_STRIP */ + 1934, /* GL_TRIANGLES */ + 1938, /* GL_TRIANGLE_STRIP */ + 1936, /* GL_TRIANGLE_FAN */ + 1393, /* GL_QUADS */ + 1397, /* GL_QUAD_STRIP */ + 1273, /* GL_POLYGON */ + 761, /* GL_LINES_ADJACENCY_ARB */ + 771, /* GL_LINE_STRIP_ADJACENCY_ARB */ + 1935, /* GL_TRIANGLES_ADJACENCY_ARB */ + 1939, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + 1285, /* GL_POLYGON_STIPPLE_BIT */ + 1228, /* GL_PIXEL_MODE_BIT */ + 747, /* GL_LIGHTING_BIT */ 532, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 772, /* GL_LOAD */ - 1454, /* GL_RETURN */ - 1080, /* GL_MULT */ + 781, /* GL_LOAD */ + 1471, /* GL_RETURN */ + 1096, /* GL_MULT */ 23, /* GL_ADD */ - 1096, /* GL_NEVER */ - 730, /* GL_LESS */ + 1112, /* GL_NEVER */ + 737, /* GL_LESS */ 490, /* GL_EQUAL */ - 729, /* GL_LEQUAL */ - 642, /* GL_GREATER */ - 1113, /* GL_NOTEQUAL */ - 641, /* GL_GEQUAL */ + 736, /* GL_LEQUAL */ + 649, /* GL_GREATER */ + 1129, /* GL_NOTEQUAL */ + 648, /* GL_GEQUAL */ 47, /* GL_ALWAYS */ - 1605, /* GL_SRC_COLOR */ - 1145, /* GL_ONE_MINUS_SRC_COLOR */ - 1603, /* GL_SRC_ALPHA */ - 1144, /* GL_ONE_MINUS_SRC_ALPHA */ + 1622, /* GL_SRC_COLOR */ + 1161, /* GL_ONE_MINUS_SRC_COLOR */ + 1620, /* GL_SRC_ALPHA */ + 1160, /* GL_ONE_MINUS_SRC_ALPHA */ 469, /* GL_DST_ALPHA */ - 1142, /* GL_ONE_MINUS_DST_ALPHA */ + 1158, /* GL_ONE_MINUS_DST_ALPHA */ 470, /* GL_DST_COLOR */ - 1143, /* GL_ONE_MINUS_DST_COLOR */ - 1604, /* GL_SRC_ALPHA_SATURATE */ - 626, /* GL_FRONT_LEFT */ - 627, /* GL_FRONT_RIGHT */ + 1159, /* GL_ONE_MINUS_DST_COLOR */ + 1621, /* GL_SRC_ALPHA_SATURATE */ + 629, /* GL_FRONT_LEFT */ + 630, /* GL_FRONT_RIGHT */ 69, /* GL_BACK_LEFT */ 70, /* GL_BACK_RIGHT */ - 623, /* GL_FRONT */ + 626, /* GL_FRONT */ 68, /* GL_BACK */ - 728, /* GL_LEFT */ - 1502, /* GL_RIGHT */ - 624, /* GL_FRONT_AND_BACK */ + 735, /* GL_LEFT */ + 1519, /* GL_RIGHT */ + 627, /* GL_FRONT_AND_BACK */ 63, /* GL_AUX0 */ 64, /* GL_AUX1 */ 65, /* GL_AUX2 */ 66, /* GL_AUX3 */ - 716, /* GL_INVALID_ENUM */ - 721, /* GL_INVALID_VALUE */ - 720, /* GL_INVALID_OPERATION */ - 1610, /* GL_STACK_OVERFLOW */ - 1611, /* GL_STACK_UNDERFLOW */ - 1170, /* GL_OUT_OF_MEMORY */ - 717, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 723, /* GL_INVALID_ENUM */ + 728, /* GL_INVALID_VALUE */ + 727, /* GL_INVALID_OPERATION */ + 1627, /* GL_STACK_OVERFLOW */ + 1628, /* GL_STACK_UNDERFLOW */ + 1186, /* GL_OUT_OF_MEMORY */ + 724, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1190, /* GL_PASS_THROUGH_TOKEN */ - 1256, /* GL_POINT_TOKEN */ - 763, /* GL_LINE_TOKEN */ - 1270, /* GL_POLYGON_TOKEN */ + 1206, /* GL_PASS_THROUGH_TOKEN */ + 1272, /* GL_POINT_TOKEN */ + 772, /* GL_LINE_TOKEN */ + 1286, /* GL_POLYGON_TOKEN */ 75, /* GL_BITMAP_TOKEN */ 468, /* GL_DRAW_PIXEL_TOKEN */ 315, /* GL_COPY_PIXEL_TOKEN */ - 756, /* GL_LINE_RESET_TOKEN */ + 764, /* GL_LINE_RESET_TOKEN */ 493, /* GL_EXP */ 494, /* GL_EXP2 */ 352, /* GL_CW */ 137, /* GL_CCW */ 158, /* GL_COEFF */ - 1167, /* GL_ORDER */ + 1183, /* GL_ORDER */ 405, /* GL_DOMAIN */ 325, /* GL_CURRENT_COLOR */ 328, /* GL_CURRENT_INDEX */ @@ -4214,33 +4264,33 @@ static const unsigned reduced_enums[1402] = 343, /* GL_CURRENT_RASTER_POSITION */ 344, /* GL_CURRENT_RASTER_POSITION_VALID */ 341, /* GL_CURRENT_RASTER_DISTANCE */ - 1248, /* GL_POINT_SMOOTH */ - 1232, /* GL_POINT_SIZE */ - 1247, /* GL_POINT_SIZE_RANGE */ - 1238, /* GL_POINT_SIZE_GRANULARITY */ - 757, /* GL_LINE_SMOOTH */ - 764, /* GL_LINE_WIDTH */ - 766, /* GL_LINE_WIDTH_RANGE */ - 765, /* GL_LINE_WIDTH_GRANULARITY */ - 759, /* GL_LINE_STIPPLE */ - 760, /* GL_LINE_STIPPLE_PATTERN */ - 761, /* GL_LINE_STIPPLE_REPEAT */ - 771, /* GL_LIST_MODE */ - 949, /* GL_MAX_LIST_NESTING */ - 768, /* GL_LIST_BASE */ - 770, /* GL_LIST_INDEX */ - 1259, /* GL_POLYGON_MODE */ - 1266, /* GL_POLYGON_SMOOTH */ - 1268, /* GL_POLYGON_STIPPLE */ + 1264, /* GL_POINT_SMOOTH */ + 1248, /* GL_POINT_SIZE */ + 1263, /* GL_POINT_SIZE_RANGE */ + 1254, /* GL_POINT_SIZE_GRANULARITY */ + 765, /* GL_LINE_SMOOTH */ + 773, /* GL_LINE_WIDTH */ + 775, /* GL_LINE_WIDTH_RANGE */ + 774, /* GL_LINE_WIDTH_GRANULARITY */ + 767, /* GL_LINE_STIPPLE */ + 768, /* GL_LINE_STIPPLE_PATTERN */ + 769, /* GL_LINE_STIPPLE_REPEAT */ + 780, /* GL_LIST_MODE */ + 963, /* GL_MAX_LIST_NESTING */ + 777, /* GL_LIST_BASE */ + 779, /* GL_LIST_INDEX */ + 1275, /* GL_POLYGON_MODE */ + 1282, /* GL_POLYGON_SMOOTH */ + 1284, /* GL_POLYGON_STIPPLE */ 479, /* GL_EDGE_FLAG */ 318, /* GL_CULL_FACE */ 319, /* GL_CULL_FACE_MODE */ - 625, /* GL_FRONT_FACE */ - 739, /* GL_LIGHTING */ - 744, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 745, /* GL_LIGHT_MODEL_TWO_SIDE */ - 741, /* GL_LIGHT_MODEL_AMBIENT */ - 1552, /* GL_SHADE_MODEL */ + 628, /* GL_FRONT_FACE */ + 746, /* GL_LIGHTING */ + 751, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 752, /* GL_LIGHT_MODEL_TWO_SIDE */ + 748, /* GL_LIGHT_MODEL_AMBIENT */ + 1569, /* GL_SHADE_MODEL */ 206, /* GL_COLOR_MATERIAL_FACE */ 207, /* GL_COLOR_MATERIAL_PARAMETER */ 205, /* GL_COLOR_MATERIAL */ @@ -4257,24 +4307,24 @@ static const unsigned reduced_enums[1402] = 375, /* GL_DEPTH_CLEAR_VALUE */ 389, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1654, /* GL_STENCIL_TEST */ - 1635, /* GL_STENCIL_CLEAR_VALUE */ - 1637, /* GL_STENCIL_FUNC */ - 1656, /* GL_STENCIL_VALUE_MASK */ - 1636, /* GL_STENCIL_FAIL */ - 1651, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1652, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1653, /* GL_STENCIL_REF */ - 1657, /* GL_STENCIL_WRITEMASK */ - 913, /* GL_MATRIX_MODE */ - 1102, /* GL_NORMALIZE */ - 2014, /* GL_VIEWPORT */ - 1075, /* GL_MODELVIEW_STACK_DEPTH */ - 1353, /* GL_PROJECTION_STACK_DEPTH */ - 1879, /* GL_TEXTURE_STACK_DEPTH */ - 1072, /* GL_MODELVIEW_MATRIX */ - 1351, /* GL_PROJECTION_MATRIX */ - 1861, /* GL_TEXTURE_MATRIX */ + 1671, /* GL_STENCIL_TEST */ + 1652, /* GL_STENCIL_CLEAR_VALUE */ + 1654, /* GL_STENCIL_FUNC */ + 1673, /* GL_STENCIL_VALUE_MASK */ + 1653, /* GL_STENCIL_FAIL */ + 1668, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1669, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1670, /* GL_STENCIL_REF */ + 1674, /* GL_STENCIL_WRITEMASK */ + 922, /* GL_MATRIX_MODE */ + 1118, /* GL_NORMALIZE */ + 2037, /* GL_VIEWPORT */ + 1091, /* GL_MODELVIEW_STACK_DEPTH */ + 1370, /* GL_PROJECTION_STACK_DEPTH */ + 1896, /* GL_TEXTURE_STACK_DEPTH */ + 1088, /* GL_MODELVIEW_MATRIX */ + 1368, /* GL_PROJECTION_MATRIX */ + 1878, /* GL_TEXTURE_MATRIX */ 61, /* GL_ATTRIB_STACK_DEPTH */ 148, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 43, /* GL_ALPHA_TEST */ @@ -4284,451 +4334,451 @@ static const unsigned reduced_enums[1402] = 79, /* GL_BLEND_DST */ 93, /* GL_BLEND_SRC */ 76, /* GL_BLEND */ - 774, /* GL_LOGIC_OP_MODE */ - 688, /* GL_INDEX_LOGIC_OP */ + 783, /* GL_LOGIC_OP_MODE */ + 695, /* GL_INDEX_LOGIC_OP */ 204, /* GL_COLOR_LOGIC_OP */ 67, /* GL_AUX_BUFFERS */ 415, /* GL_DRAW_BUFFER */ - 1395, /* GL_READ_BUFFER */ - 1530, /* GL_SCISSOR_BOX */ - 1531, /* GL_SCISSOR_TEST */ - 687, /* GL_INDEX_CLEAR_VALUE */ - 692, /* GL_INDEX_WRITEMASK */ + 1412, /* GL_READ_BUFFER */ + 1547, /* GL_SCISSOR_BOX */ + 1548, /* GL_SCISSOR_TEST */ + 694, /* GL_INDEX_CLEAR_VALUE */ + 699, /* GL_INDEX_WRITEMASK */ 201, /* GL_COLOR_CLEAR_VALUE */ 243, /* GL_COLOR_WRITEMASK */ - 689, /* GL_INDEX_MODE */ - 1495, /* GL_RGBA_MODE */ + 696, /* GL_INDEX_MODE */ + 1512, /* GL_RGBA_MODE */ 414, /* GL_DOUBLEBUFFER */ - 1658, /* GL_STEREO */ - 1446, /* GL_RENDER_MODE */ - 1191, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1249, /* GL_POINT_SMOOTH_HINT */ - 758, /* GL_LINE_SMOOTH_HINT */ - 1267, /* GL_POLYGON_SMOOTH_HINT */ + 1675, /* GL_STEREO */ + 1463, /* GL_RENDER_MODE */ + 1207, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1265, /* GL_POINT_SMOOTH_HINT */ + 766, /* GL_LINE_SMOOTH_HINT */ + 1283, /* GL_POLYGON_SMOOTH_HINT */ 552, /* GL_FOG_HINT */ - 1841, /* GL_TEXTURE_GEN_S */ - 1843, /* GL_TEXTURE_GEN_T */ - 1840, /* GL_TEXTURE_GEN_R */ - 1839, /* GL_TEXTURE_GEN_Q */ - 1204, /* GL_PIXEL_MAP_I_TO_I */ - 1210, /* GL_PIXEL_MAP_S_TO_S */ - 1206, /* GL_PIXEL_MAP_I_TO_R */ - 1202, /* GL_PIXEL_MAP_I_TO_G */ - 1200, /* GL_PIXEL_MAP_I_TO_B */ - 1198, /* GL_PIXEL_MAP_I_TO_A */ - 1208, /* GL_PIXEL_MAP_R_TO_R */ - 1196, /* GL_PIXEL_MAP_G_TO_G */ - 1194, /* GL_PIXEL_MAP_B_TO_B */ - 1192, /* GL_PIXEL_MAP_A_TO_A */ - 1205, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1211, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1207, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1203, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1201, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1199, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1209, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1197, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1195, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1193, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1926, /* GL_UNPACK_SWAP_BYTES */ - 1921, /* GL_UNPACK_LSB_FIRST */ - 1922, /* GL_UNPACK_ROW_LENGTH */ - 1925, /* GL_UNPACK_SKIP_ROWS */ - 1924, /* GL_UNPACK_SKIP_PIXELS */ - 1919, /* GL_UNPACK_ALIGNMENT */ - 1179, /* GL_PACK_SWAP_BYTES */ - 1174, /* GL_PACK_LSB_FIRST */ - 1175, /* GL_PACK_ROW_LENGTH */ - 1178, /* GL_PACK_SKIP_ROWS */ - 1177, /* GL_PACK_SKIP_PIXELS */ - 1171, /* GL_PACK_ALIGNMENT */ - 854, /* GL_MAP_COLOR */ - 859, /* GL_MAP_STENCIL */ - 691, /* GL_INDEX_SHIFT */ - 690, /* GL_INDEX_OFFSET */ - 1409, /* GL_RED_SCALE */ - 1407, /* GL_RED_BIAS */ - 2040, /* GL_ZOOM_X */ - 2041, /* GL_ZOOM_Y */ - 646, /* GL_GREEN_SCALE */ - 644, /* GL_GREEN_BIAS */ + 1858, /* GL_TEXTURE_GEN_S */ + 1860, /* GL_TEXTURE_GEN_T */ + 1857, /* GL_TEXTURE_GEN_R */ + 1856, /* GL_TEXTURE_GEN_Q */ + 1220, /* GL_PIXEL_MAP_I_TO_I */ + 1226, /* GL_PIXEL_MAP_S_TO_S */ + 1222, /* GL_PIXEL_MAP_I_TO_R */ + 1218, /* GL_PIXEL_MAP_I_TO_G */ + 1216, /* GL_PIXEL_MAP_I_TO_B */ + 1214, /* GL_PIXEL_MAP_I_TO_A */ + 1224, /* GL_PIXEL_MAP_R_TO_R */ + 1212, /* GL_PIXEL_MAP_G_TO_G */ + 1210, /* GL_PIXEL_MAP_B_TO_B */ + 1208, /* GL_PIXEL_MAP_A_TO_A */ + 1221, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1227, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1223, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1219, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1217, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1215, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1225, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1213, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1211, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1209, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1949, /* GL_UNPACK_SWAP_BYTES */ + 1944, /* GL_UNPACK_LSB_FIRST */ + 1945, /* GL_UNPACK_ROW_LENGTH */ + 1948, /* GL_UNPACK_SKIP_ROWS */ + 1947, /* GL_UNPACK_SKIP_PIXELS */ + 1942, /* GL_UNPACK_ALIGNMENT */ + 1195, /* GL_PACK_SWAP_BYTES */ + 1190, /* GL_PACK_LSB_FIRST */ + 1191, /* GL_PACK_ROW_LENGTH */ + 1194, /* GL_PACK_SKIP_ROWS */ + 1193, /* GL_PACK_SKIP_PIXELS */ + 1187, /* GL_PACK_ALIGNMENT */ + 863, /* GL_MAP_COLOR */ + 868, /* GL_MAP_STENCIL */ + 698, /* GL_INDEX_SHIFT */ + 697, /* GL_INDEX_OFFSET */ + 1426, /* GL_RED_SCALE */ + 1424, /* GL_RED_BIAS */ + 2063, /* GL_ZOOM_X */ + 2064, /* GL_ZOOM_Y */ + 653, /* GL_GREEN_SCALE */ + 651, /* GL_GREEN_BIAS */ 101, /* GL_BLUE_SCALE */ 99, /* GL_BLUE_BIAS */ 42, /* GL_ALPHA_SCALE */ 40, /* GL_ALPHA_BIAS */ 391, /* GL_DEPTH_SCALE */ 368, /* GL_DEPTH_BIAS */ - 943, /* GL_MAX_EVAL_ORDER */ - 948, /* GL_MAX_LIGHTS */ - 924, /* GL_MAX_CLIP_PLANES */ - 999, /* GL_MAX_TEXTURE_SIZE */ - 955, /* GL_MAX_PIXEL_MAP_TABLE */ - 920, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 951, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 952, /* GL_MAX_NAME_STACK_DEPTH */ - 981, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 1000, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 1020, /* GL_MAX_VIEWPORT_DIMS */ - 921, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1668, /* GL_SUBPIXEL_BITS */ - 686, /* GL_INDEX_BITS */ - 1408, /* GL_RED_BITS */ - 645, /* GL_GREEN_BITS */ + 952, /* GL_MAX_EVAL_ORDER */ + 962, /* GL_MAX_LIGHTS */ + 933, /* GL_MAX_CLIP_PLANES */ + 1013, /* GL_MAX_TEXTURE_SIZE */ + 969, /* GL_MAX_PIXEL_MAP_TABLE */ + 929, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 965, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 966, /* GL_MAX_NAME_STACK_DEPTH */ + 995, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1014, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1036, /* GL_MAX_VIEWPORT_DIMS */ + 930, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1685, /* GL_SUBPIXEL_BITS */ + 693, /* GL_INDEX_BITS */ + 1425, /* GL_RED_BITS */ + 652, /* GL_GREEN_BITS */ 100, /* GL_BLUE_BITS */ 41, /* GL_ALPHA_BITS */ 369, /* GL_DEPTH_BITS */ - 1633, /* GL_STENCIL_BITS */ + 1650, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1089, /* GL_NAME_STACK_DEPTH */ + 1105, /* GL_NAME_STACK_DEPTH */ 62, /* GL_AUTO_NORMAL */ - 800, /* GL_MAP1_COLOR_4 */ - 803, /* GL_MAP1_INDEX */ - 804, /* GL_MAP1_NORMAL */ - 805, /* GL_MAP1_TEXTURE_COORD_1 */ - 806, /* GL_MAP1_TEXTURE_COORD_2 */ - 807, /* GL_MAP1_TEXTURE_COORD_3 */ - 808, /* GL_MAP1_TEXTURE_COORD_4 */ - 809, /* GL_MAP1_VERTEX_3 */ - 810, /* GL_MAP1_VERTEX_4 */ - 827, /* GL_MAP2_COLOR_4 */ - 830, /* GL_MAP2_INDEX */ - 831, /* GL_MAP2_NORMAL */ - 832, /* GL_MAP2_TEXTURE_COORD_1 */ - 833, /* GL_MAP2_TEXTURE_COORD_2 */ - 834, /* GL_MAP2_TEXTURE_COORD_3 */ - 835, /* GL_MAP2_TEXTURE_COORD_4 */ - 836, /* GL_MAP2_VERTEX_3 */ - 837, /* GL_MAP2_VERTEX_4 */ - 801, /* GL_MAP1_GRID_DOMAIN */ - 802, /* GL_MAP1_GRID_SEGMENTS */ - 828, /* GL_MAP2_GRID_DOMAIN */ - 829, /* GL_MAP2_GRID_SEGMENTS */ - 1751, /* GL_TEXTURE_1D */ - 1753, /* GL_TEXTURE_2D */ + 809, /* GL_MAP1_COLOR_4 */ + 812, /* GL_MAP1_INDEX */ + 813, /* GL_MAP1_NORMAL */ + 814, /* GL_MAP1_TEXTURE_COORD_1 */ + 815, /* GL_MAP1_TEXTURE_COORD_2 */ + 816, /* GL_MAP1_TEXTURE_COORD_3 */ + 817, /* GL_MAP1_TEXTURE_COORD_4 */ + 818, /* GL_MAP1_VERTEX_3 */ + 819, /* GL_MAP1_VERTEX_4 */ + 836, /* GL_MAP2_COLOR_4 */ + 839, /* GL_MAP2_INDEX */ + 840, /* GL_MAP2_NORMAL */ + 841, /* GL_MAP2_TEXTURE_COORD_1 */ + 842, /* GL_MAP2_TEXTURE_COORD_2 */ + 843, /* GL_MAP2_TEXTURE_COORD_3 */ + 844, /* GL_MAP2_TEXTURE_COORD_4 */ + 845, /* GL_MAP2_VERTEX_3 */ + 846, /* GL_MAP2_VERTEX_4 */ + 810, /* GL_MAP1_GRID_DOMAIN */ + 811, /* GL_MAP1_GRID_SEGMENTS */ + 837, /* GL_MAP2_GRID_DOMAIN */ + 838, /* GL_MAP2_GRID_SEGMENTS */ + 1768, /* GL_TEXTURE_1D */ + 1770, /* GL_TEXTURE_2D */ 503, /* GL_FEEDBACK_BUFFER_POINTER */ 504, /* GL_FEEDBACK_BUFFER_SIZE */ 505, /* GL_FEEDBACK_BUFFER_TYPE */ - 1540, /* GL_SELECTION_BUFFER_POINTER */ - 1541, /* GL_SELECTION_BUFFER_SIZE */ - 1885, /* GL_TEXTURE_WIDTH */ - 1847, /* GL_TEXTURE_HEIGHT */ - 1791, /* GL_TEXTURE_COMPONENTS */ - 1775, /* GL_TEXTURE_BORDER_COLOR */ - 1774, /* GL_TEXTURE_BORDER */ + 1557, /* GL_SELECTION_BUFFER_POINTER */ + 1558, /* GL_SELECTION_BUFFER_SIZE */ + 1902, /* GL_TEXTURE_WIDTH */ + 1864, /* GL_TEXTURE_HEIGHT */ + 1808, /* GL_TEXTURE_COMPONENTS */ + 1792, /* GL_TEXTURE_BORDER_COLOR */ + 1791, /* GL_TEXTURE_BORDER */ 406, /* GL_DONT_CARE */ 501, /* GL_FASTEST */ - 1097, /* GL_NICEST */ + 1113, /* GL_NICEST */ 48, /* GL_AMBIENT */ 403, /* GL_DIFFUSE */ - 1592, /* GL_SPECULAR */ - 1271, /* GL_POSITION */ - 1595, /* GL_SPOT_DIRECTION */ - 1596, /* GL_SPOT_EXPONENT */ - 1594, /* GL_SPOT_CUTOFF */ + 1609, /* GL_SPECULAR */ + 1287, /* GL_POSITION */ + 1612, /* GL_SPOT_DIRECTION */ + 1613, /* GL_SPOT_EXPONENT */ + 1611, /* GL_SPOT_CUTOFF */ 288, /* GL_CONSTANT_ATTENUATION */ - 748, /* GL_LINEAR_ATTENUATION */ - 1375, /* GL_QUADRATIC_ATTENUATION */ + 755, /* GL_LINEAR_ATTENUATION */ + 1392, /* GL_QUADRATIC_ATTENUATION */ 257, /* GL_COMPILE */ 258, /* GL_COMPILE_AND_EXECUTE */ 132, /* GL_BYTE */ - 1928, /* GL_UNSIGNED_BYTE */ - 1557, /* GL_SHORT */ - 1943, /* GL_UNSIGNED_SHORT */ - 694, /* GL_INT */ - 1931, /* GL_UNSIGNED_INT */ + 1951, /* GL_UNSIGNED_BYTE */ + 1574, /* GL_SHORT */ + 1966, /* GL_UNSIGNED_SHORT */ + 701, /* GL_INT */ + 1954, /* GL_UNSIGNED_INT */ 512, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ 413, /* GL_DOUBLE */ - 647, /* GL_HALF_FLOAT */ + 654, /* GL_HALF_FLOAT */ 509, /* GL_FIXED */ 144, /* GL_CLEAR */ 50, /* GL_AND */ 52, /* GL_AND_REVERSE */ 313, /* GL_COPY */ 51, /* GL_AND_INVERTED */ - 1100, /* GL_NOOP */ - 2036, /* GL_XOR */ - 1166, /* GL_OR */ - 1101, /* GL_NOR */ + 1116, /* GL_NOOP */ + 2059, /* GL_XOR */ + 1182, /* GL_OR */ + 1117, /* GL_NOR */ 491, /* GL_EQUIV */ - 724, /* GL_INVERT */ - 1169, /* GL_OR_REVERSE */ + 731, /* GL_INVERT */ + 1185, /* GL_OR_REVERSE */ 314, /* GL_COPY_INVERTED */ - 1168, /* GL_OR_INVERTED */ - 1090, /* GL_NAND */ - 1546, /* GL_SET */ + 1184, /* GL_OR_INVERTED */ + 1106, /* GL_NAND */ + 1563, /* GL_SET */ 488, /* GL_EMISSION */ - 1556, /* GL_SHININESS */ + 1573, /* GL_SHININESS */ 49, /* GL_AMBIENT_AND_DIFFUSE */ 203, /* GL_COLOR_INDEXES */ - 1039, /* GL_MODELVIEW */ - 1350, /* GL_PROJECTION */ - 1686, /* GL_TEXTURE */ + 1055, /* GL_MODELVIEW */ + 1367, /* GL_PROJECTION */ + 1703, /* GL_TEXTURE */ 159, /* GL_COLOR */ 361, /* GL_DEPTH */ - 1618, /* GL_STENCIL */ + 1635, /* GL_STENCIL */ 202, /* GL_COLOR_INDEX */ - 1638, /* GL_STENCIL_INDEX */ + 1655, /* GL_STENCIL_INDEX */ 376, /* GL_DEPTH_COMPONENT */ - 1404, /* GL_RED */ - 643, /* GL_GREEN */ + 1421, /* GL_RED */ + 650, /* GL_GREEN */ 98, /* GL_BLUE */ 31, /* GL_ALPHA */ - 1455, /* GL_RGB */ - 1478, /* GL_RGBA */ - 778, /* GL_LUMINANCE */ - 799, /* GL_LUMINANCE_ALPHA */ + 1472, /* GL_RGB */ + 1495, /* GL_RGBA */ + 787, /* GL_LUMINANCE */ + 808, /* GL_LUMINANCE_ALPHA */ 74, /* GL_BITMAP */ - 1221, /* GL_POINT */ - 746, /* GL_LINE */ + 1237, /* GL_POINT */ + 753, /* GL_LINE */ 506, /* GL_FILL */ - 1415, /* GL_RENDER */ + 1432, /* GL_RENDER */ 502, /* GL_FEEDBACK */ - 1539, /* GL_SELECT */ + 1556, /* GL_SELECT */ 511, /* GL_FLAT */ - 1567, /* GL_SMOOTH */ - 725, /* GL_KEEP */ - 1448, /* GL_REPLACE */ - 676, /* GL_INCR */ + 1584, /* GL_SMOOTH */ + 732, /* GL_KEEP */ + 1465, /* GL_REPLACE */ + 683, /* GL_INCR */ 357, /* GL_DECR */ - 1960, /* GL_VENDOR */ - 1445, /* GL_RENDERER */ - 1961, /* GL_VERSION */ + 1983, /* GL_VENDOR */ + 1462, /* GL_RENDERER */ + 1984, /* GL_VERSION */ 495, /* GL_EXTENSIONS */ - 1503, /* GL_S */ - 1677, /* GL_T */ - 1391, /* GL_R */ - 1374, /* GL_Q */ - 1076, /* GL_MODULATE */ + 1520, /* GL_S */ + 1694, /* GL_T */ + 1408, /* GL_R */ + 1391, /* GL_Q */ + 1092, /* GL_MODULATE */ 356, /* GL_DECAL */ - 1834, /* GL_TEXTURE_ENV_MODE */ - 1833, /* GL_TEXTURE_ENV_COLOR */ - 1832, /* GL_TEXTURE_ENV */ + 1851, /* GL_TEXTURE_ENV_MODE */ + 1850, /* GL_TEXTURE_ENV_COLOR */ + 1849, /* GL_TEXTURE_ENV */ 496, /* GL_EYE_LINEAR */ - 1127, /* GL_OBJECT_LINEAR */ - 1593, /* GL_SPHERE_MAP */ - 1837, /* GL_TEXTURE_GEN_MODE */ - 1129, /* GL_OBJECT_PLANE */ + 1143, /* GL_OBJECT_LINEAR */ + 1610, /* GL_SPHERE_MAP */ + 1854, /* GL_TEXTURE_GEN_MODE */ + 1145, /* GL_OBJECT_PLANE */ 497, /* GL_EYE_PLANE */ - 1091, /* GL_NEAREST */ - 747, /* GL_LINEAR */ - 1095, /* GL_NEAREST_MIPMAP_NEAREST */ - 752, /* GL_LINEAR_MIPMAP_NEAREST */ - 1094, /* GL_NEAREST_MIPMAP_LINEAR */ - 751, /* GL_LINEAR_MIPMAP_LINEAR */ - 1860, /* GL_TEXTURE_MAG_FILTER */ - 1869, /* GL_TEXTURE_MIN_FILTER */ - 1888, /* GL_TEXTURE_WRAP_S */ - 1889, /* GL_TEXTURE_WRAP_T */ + 1107, /* GL_NEAREST */ + 754, /* GL_LINEAR */ + 1111, /* GL_NEAREST_MIPMAP_NEAREST */ + 759, /* GL_LINEAR_MIPMAP_NEAREST */ + 1110, /* GL_NEAREST_MIPMAP_LINEAR */ + 758, /* GL_LINEAR_MIPMAP_LINEAR */ + 1877, /* GL_TEXTURE_MAG_FILTER */ + 1886, /* GL_TEXTURE_MIN_FILTER */ + 1905, /* GL_TEXTURE_WRAP_S */ + 1906, /* GL_TEXTURE_WRAP_T */ 138, /* GL_CLAMP */ - 1447, /* GL_REPEAT */ - 1265, /* GL_POLYGON_OFFSET_UNITS */ - 1264, /* GL_POLYGON_OFFSET_POINT */ - 1263, /* GL_POLYGON_OFFSET_LINE */ - 1392, /* GL_R3_G3_B2 */ - 1957, /* GL_V2F */ - 1958, /* GL_V3F */ + 1464, /* GL_REPEAT */ + 1281, /* GL_POLYGON_OFFSET_UNITS */ + 1280, /* GL_POLYGON_OFFSET_POINT */ + 1279, /* GL_POLYGON_OFFSET_LINE */ + 1409, /* GL_R3_G3_B2 */ + 1980, /* GL_V2F */ + 1981, /* GL_V3F */ 135, /* GL_C4UB_V2F */ 136, /* GL_C4UB_V3F */ 133, /* GL_C3F_V3F */ - 1088, /* GL_N3F_V3F */ + 1104, /* GL_N3F_V3F */ 134, /* GL_C4F_N3F_V3F */ - 1682, /* GL_T2F_V3F */ - 1684, /* GL_T4F_V4F */ - 1680, /* GL_T2F_C4UB_V3F */ - 1678, /* GL_T2F_C3F_V3F */ - 1681, /* GL_T2F_N3F_V3F */ - 1679, /* GL_T2F_C4F_N3F_V3F */ - 1683, /* GL_T4F_C4F_N3F_V4F */ + 1699, /* GL_T2F_V3F */ + 1701, /* GL_T4F_V4F */ + 1697, /* GL_T2F_C4UB_V3F */ + 1695, /* GL_T2F_C3F_V3F */ + 1698, /* GL_T2F_N3F_V3F */ + 1696, /* GL_T2F_C4F_N3F_V3F */ + 1700, /* GL_T4F_C4F_N3F_V4F */ 151, /* GL_CLIP_PLANE0 */ 152, /* GL_CLIP_PLANE1 */ 153, /* GL_CLIP_PLANE2 */ 154, /* GL_CLIP_PLANE3 */ 155, /* GL_CLIP_PLANE4 */ 156, /* GL_CLIP_PLANE5 */ - 731, /* GL_LIGHT0 */ - 732, /* GL_LIGHT1 */ - 733, /* GL_LIGHT2 */ - 734, /* GL_LIGHT3 */ - 735, /* GL_LIGHT4 */ - 736, /* GL_LIGHT5 */ - 737, /* GL_LIGHT6 */ - 738, /* GL_LIGHT7 */ - 651, /* GL_HINT_BIT */ + 738, /* GL_LIGHT0 */ + 739, /* GL_LIGHT1 */ + 740, /* GL_LIGHT2 */ + 741, /* GL_LIGHT3 */ + 742, /* GL_LIGHT4 */ + 743, /* GL_LIGHT5 */ + 744, /* GL_LIGHT6 */ + 745, /* GL_LIGHT7 */ + 658, /* GL_HINT_BIT */ 290, /* GL_CONSTANT_COLOR */ - 1140, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 1156, /* GL_ONE_MINUS_CONSTANT_COLOR */ 285, /* GL_CONSTANT_ALPHA */ - 1138, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 1154, /* GL_ONE_MINUS_CONSTANT_ALPHA */ 77, /* GL_BLEND_COLOR */ - 628, /* GL_FUNC_ADD */ - 1023, /* GL_MIN */ - 916, /* GL_MAX */ + 631, /* GL_FUNC_ADD */ + 1039, /* GL_MIN */ + 925, /* GL_MAX */ 84, /* GL_BLEND_EQUATION */ - 634, /* GL_FUNC_SUBTRACT */ - 631, /* GL_FUNC_REVERSE_SUBTRACT */ + 637, /* GL_FUNC_SUBTRACT */ + 634, /* GL_FUNC_REVERSE_SUBTRACT */ 293, /* GL_CONVOLUTION_1D */ 294, /* GL_CONVOLUTION_2D */ - 1542, /* GL_SEPARABLE_2D */ + 1559, /* GL_SEPARABLE_2D */ 297, /* GL_CONVOLUTION_BORDER_MODE */ 301, /* GL_CONVOLUTION_FILTER_SCALE */ 299, /* GL_CONVOLUTION_FILTER_BIAS */ - 1405, /* GL_REDUCE */ + 1422, /* GL_REDUCE */ 303, /* GL_CONVOLUTION_FORMAT */ 307, /* GL_CONVOLUTION_WIDTH */ 305, /* GL_CONVOLUTION_HEIGHT */ - 933, /* GL_MAX_CONVOLUTION_WIDTH */ - 931, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1304, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1300, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1295, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1291, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1302, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1298, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1293, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1289, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 652, /* GL_HISTOGRAM */ - 1357, /* GL_PROXY_HISTOGRAM */ - 668, /* GL_HISTOGRAM_WIDTH */ - 658, /* GL_HISTOGRAM_FORMAT */ - 664, /* GL_HISTOGRAM_RED_SIZE */ - 660, /* GL_HISTOGRAM_GREEN_SIZE */ - 655, /* GL_HISTOGRAM_BLUE_SIZE */ - 653, /* GL_HISTOGRAM_ALPHA_SIZE */ - 662, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 666, /* GL_HISTOGRAM_SINK */ - 1024, /* GL_MINMAX */ - 1026, /* GL_MINMAX_FORMAT */ - 1028, /* GL_MINMAX_SINK */ - 1685, /* GL_TABLE_TOO_LARGE_EXT */ - 1930, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1946, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1949, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1940, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1932, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1262, /* GL_POLYGON_OFFSET_FILL */ - 1261, /* GL_POLYGON_OFFSET_FACTOR */ - 1260, /* GL_POLYGON_OFFSET_BIAS */ - 1451, /* GL_RESCALE_NORMAL */ + 942, /* GL_MAX_CONVOLUTION_WIDTH */ + 940, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1320, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1316, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1311, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1307, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1318, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1314, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1309, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1305, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 659, /* GL_HISTOGRAM */ + 1374, /* GL_PROXY_HISTOGRAM */ + 675, /* GL_HISTOGRAM_WIDTH */ + 665, /* GL_HISTOGRAM_FORMAT */ + 671, /* GL_HISTOGRAM_RED_SIZE */ + 667, /* GL_HISTOGRAM_GREEN_SIZE */ + 662, /* GL_HISTOGRAM_BLUE_SIZE */ + 660, /* GL_HISTOGRAM_ALPHA_SIZE */ + 669, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 673, /* GL_HISTOGRAM_SINK */ + 1040, /* GL_MINMAX */ + 1042, /* GL_MINMAX_FORMAT */ + 1044, /* GL_MINMAX_SINK */ + 1702, /* GL_TABLE_TOO_LARGE_EXT */ + 1953, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1969, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1972, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1963, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1955, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1278, /* GL_POLYGON_OFFSET_FILL */ + 1277, /* GL_POLYGON_OFFSET_FACTOR */ + 1276, /* GL_POLYGON_OFFSET_BIAS */ + 1468, /* GL_RESCALE_NORMAL */ 36, /* GL_ALPHA4 */ 38, /* GL_ALPHA8 */ 32, /* GL_ALPHA12 */ 34, /* GL_ALPHA16 */ - 789, /* GL_LUMINANCE4 */ - 795, /* GL_LUMINANCE8 */ - 779, /* GL_LUMINANCE12 */ - 785, /* GL_LUMINANCE16 */ - 790, /* GL_LUMINANCE4_ALPHA4 */ - 793, /* GL_LUMINANCE6_ALPHA2 */ - 796, /* GL_LUMINANCE8_ALPHA8 */ - 782, /* GL_LUMINANCE12_ALPHA4 */ - 780, /* GL_LUMINANCE12_ALPHA12 */ - 786, /* GL_LUMINANCE16_ALPHA16 */ - 695, /* GL_INTENSITY */ - 700, /* GL_INTENSITY4 */ - 702, /* GL_INTENSITY8 */ - 696, /* GL_INTENSITY12 */ - 698, /* GL_INTENSITY16 */ - 1464, /* GL_RGB2_EXT */ - 1465, /* GL_RGB4 */ - 1468, /* GL_RGB5 */ - 1475, /* GL_RGB8 */ - 1456, /* GL_RGB10 */ - 1460, /* GL_RGB12 */ - 1462, /* GL_RGB16 */ - 1483, /* GL_RGBA2 */ - 1485, /* GL_RGBA4 */ - 1471, /* GL_RGB5_A1 */ - 1490, /* GL_RGBA8 */ - 1457, /* GL_RGB10_A2 */ - 1479, /* GL_RGBA12 */ - 1481, /* GL_RGBA16 */ - 1876, /* GL_TEXTURE_RED_SIZE */ - 1845, /* GL_TEXTURE_GREEN_SIZE */ - 1772, /* GL_TEXTURE_BLUE_SIZE */ - 1757, /* GL_TEXTURE_ALPHA_SIZE */ - 1858, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1849, /* GL_TEXTURE_INTENSITY_SIZE */ - 1449, /* GL_REPLACE_EXT */ - 1361, /* GL_PROXY_TEXTURE_1D */ - 1364, /* GL_PROXY_TEXTURE_2D */ - 1883, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1871, /* GL_TEXTURE_PRIORITY */ - 1878, /* GL_TEXTURE_RESIDENT */ - 1760, /* GL_TEXTURE_BINDING_1D */ - 1762, /* GL_TEXTURE_BINDING_2D */ - 1764, /* GL_TEXTURE_BINDING_3D */ - 1176, /* GL_PACK_SKIP_IMAGES */ - 1172, /* GL_PACK_IMAGE_HEIGHT */ - 1923, /* GL_UNPACK_SKIP_IMAGES */ - 1920, /* GL_UNPACK_IMAGE_HEIGHT */ - 1755, /* GL_TEXTURE_3D */ - 1367, /* GL_PROXY_TEXTURE_3D */ - 1829, /* GL_TEXTURE_DEPTH */ - 1886, /* GL_TEXTURE_WRAP_R */ - 917, /* GL_MAX_3D_TEXTURE_SIZE */ - 1962, /* GL_VERTEX_ARRAY */ - 1103, /* GL_NORMAL_ARRAY */ + 798, /* GL_LUMINANCE4 */ + 804, /* GL_LUMINANCE8 */ + 788, /* GL_LUMINANCE12 */ + 794, /* GL_LUMINANCE16 */ + 799, /* GL_LUMINANCE4_ALPHA4 */ + 802, /* GL_LUMINANCE6_ALPHA2 */ + 805, /* GL_LUMINANCE8_ALPHA8 */ + 791, /* GL_LUMINANCE12_ALPHA4 */ + 789, /* GL_LUMINANCE12_ALPHA12 */ + 795, /* GL_LUMINANCE16_ALPHA16 */ + 702, /* GL_INTENSITY */ + 707, /* GL_INTENSITY4 */ + 709, /* GL_INTENSITY8 */ + 703, /* GL_INTENSITY12 */ + 705, /* GL_INTENSITY16 */ + 1481, /* GL_RGB2_EXT */ + 1482, /* GL_RGB4 */ + 1485, /* GL_RGB5 */ + 1492, /* GL_RGB8 */ + 1473, /* GL_RGB10 */ + 1477, /* GL_RGB12 */ + 1479, /* GL_RGB16 */ + 1500, /* GL_RGBA2 */ + 1502, /* GL_RGBA4 */ + 1488, /* GL_RGB5_A1 */ + 1507, /* GL_RGBA8 */ + 1474, /* GL_RGB10_A2 */ + 1496, /* GL_RGBA12 */ + 1498, /* GL_RGBA16 */ + 1893, /* GL_TEXTURE_RED_SIZE */ + 1862, /* GL_TEXTURE_GREEN_SIZE */ + 1789, /* GL_TEXTURE_BLUE_SIZE */ + 1774, /* GL_TEXTURE_ALPHA_SIZE */ + 1875, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1866, /* GL_TEXTURE_INTENSITY_SIZE */ + 1466, /* GL_REPLACE_EXT */ + 1378, /* GL_PROXY_TEXTURE_1D */ + 1381, /* GL_PROXY_TEXTURE_2D */ + 1900, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1888, /* GL_TEXTURE_PRIORITY */ + 1895, /* GL_TEXTURE_RESIDENT */ + 1777, /* GL_TEXTURE_BINDING_1D */ + 1779, /* GL_TEXTURE_BINDING_2D */ + 1781, /* GL_TEXTURE_BINDING_3D */ + 1192, /* GL_PACK_SKIP_IMAGES */ + 1188, /* GL_PACK_IMAGE_HEIGHT */ + 1946, /* GL_UNPACK_SKIP_IMAGES */ + 1943, /* GL_UNPACK_IMAGE_HEIGHT */ + 1772, /* GL_TEXTURE_3D */ + 1384, /* GL_PROXY_TEXTURE_3D */ + 1846, /* GL_TEXTURE_DEPTH */ + 1903, /* GL_TEXTURE_WRAP_R */ + 926, /* GL_MAX_3D_TEXTURE_SIZE */ + 1985, /* GL_VERTEX_ARRAY */ + 1119, /* GL_NORMAL_ARRAY */ 160, /* GL_COLOR_ARRAY */ - 680, /* GL_INDEX_ARRAY */ - 1799, /* GL_TEXTURE_COORD_ARRAY */ + 687, /* GL_INDEX_ARRAY */ + 1816, /* GL_TEXTURE_COORD_ARRAY */ 480, /* GL_EDGE_FLAG_ARRAY */ - 1968, /* GL_VERTEX_ARRAY_SIZE */ - 1970, /* GL_VERTEX_ARRAY_TYPE */ - 1969, /* GL_VERTEX_ARRAY_STRIDE */ - 1108, /* GL_NORMAL_ARRAY_TYPE */ - 1107, /* GL_NORMAL_ARRAY_STRIDE */ + 1991, /* GL_VERTEX_ARRAY_SIZE */ + 1993, /* GL_VERTEX_ARRAY_TYPE */ + 1992, /* GL_VERTEX_ARRAY_STRIDE */ + 1124, /* GL_NORMAL_ARRAY_TYPE */ + 1123, /* GL_NORMAL_ARRAY_STRIDE */ 164, /* GL_COLOR_ARRAY_SIZE */ 166, /* GL_COLOR_ARRAY_TYPE */ 165, /* GL_COLOR_ARRAY_STRIDE */ - 685, /* GL_INDEX_ARRAY_TYPE */ - 684, /* GL_INDEX_ARRAY_STRIDE */ - 1803, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1805, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1804, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 692, /* GL_INDEX_ARRAY_TYPE */ + 691, /* GL_INDEX_ARRAY_STRIDE */ + 1820, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1822, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1821, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ 484, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1967, /* GL_VERTEX_ARRAY_POINTER */ - 1106, /* GL_NORMAL_ARRAY_POINTER */ + 1990, /* GL_VERTEX_ARRAY_POINTER */ + 1122, /* GL_NORMAL_ARRAY_POINTER */ 163, /* GL_COLOR_ARRAY_POINTER */ - 683, /* GL_INDEX_ARRAY_POINTER */ - 1802, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 690, /* GL_INDEX_ARRAY_POINTER */ + 1819, /* GL_TEXTURE_COORD_ARRAY_POINTER */ 483, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 1081, /* GL_MULTISAMPLE */ - 1516, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1518, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1523, /* GL_SAMPLE_COVERAGE */ - 1520, /* GL_SAMPLE_BUFFERS */ - 1511, /* GL_SAMPLES */ - 1527, /* GL_SAMPLE_COVERAGE_VALUE */ - 1525, /* GL_SAMPLE_COVERAGE_INVERT */ + 1097, /* GL_MULTISAMPLE */ + 1533, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1535, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1540, /* GL_SAMPLE_COVERAGE */ + 1537, /* GL_SAMPLE_BUFFERS */ + 1528, /* GL_SAMPLES */ + 1544, /* GL_SAMPLE_COVERAGE_VALUE */ + 1542, /* GL_SAMPLE_COVERAGE_INVERT */ 208, /* GL_COLOR_MATRIX */ 210, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 927, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1287, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1283, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1278, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1274, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1285, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1281, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1276, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1272, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1782, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1368, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1784, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 936, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1303, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1299, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1294, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1290, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1301, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1297, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1292, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1288, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1799, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1385, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1801, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ 82, /* GL_BLEND_DST_RGB */ 96, /* GL_BLEND_SRC_RGB */ 80, /* GL_BLEND_DST_ALPHA */ 94, /* GL_BLEND_SRC_ALPHA */ 214, /* GL_COLOR_TABLE */ - 1297, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1280, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1356, /* GL_PROXY_COLOR_TABLE */ - 1360, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1359, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 1313, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1296, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1373, /* GL_PROXY_COLOR_TABLE */ + 1377, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1376, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ 238, /* GL_COLOR_TABLE_SCALE */ 218, /* GL_COLOR_TABLE_BIAS */ 223, /* GL_COLOR_TABLE_FORMAT */ @@ -4741,98 +4791,98 @@ static const unsigned reduced_enums[1402] = 229, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 71, /* GL_BGR */ 72, /* GL_BGRA */ - 942, /* GL_MAX_ELEMENTS_VERTICES */ - 941, /* GL_MAX_ELEMENTS_INDICES */ - 1848, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 951, /* GL_MAX_ELEMENTS_VERTICES */ + 950, /* GL_MAX_ELEMENTS_INDICES */ + 1865, /* GL_TEXTURE_INDEX_SIZE_EXT */ 157, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1243, /* GL_POINT_SIZE_MIN */ - 1239, /* GL_POINT_SIZE_MAX */ - 1228, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1224, /* GL_POINT_DISTANCE_ATTENUATION */ + 1259, /* GL_POINT_SIZE_MIN */ + 1255, /* GL_POINT_SIZE_MAX */ + 1244, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1240, /* GL_POINT_DISTANCE_ATTENUATION */ 139, /* GL_CLAMP_TO_BORDER */ 142, /* GL_CLAMP_TO_EDGE */ - 1870, /* GL_TEXTURE_MIN_LOD */ - 1868, /* GL_TEXTURE_MAX_LOD */ - 1759, /* GL_TEXTURE_BASE_LEVEL */ - 1867, /* GL_TEXTURE_MAX_LEVEL */ - 671, /* GL_IGNORE_BORDER_HP */ + 1887, /* GL_TEXTURE_MIN_LOD */ + 1885, /* GL_TEXTURE_MAX_LOD */ + 1776, /* GL_TEXTURE_BASE_LEVEL */ + 1884, /* GL_TEXTURE_MAX_LEVEL */ + 678, /* GL_IGNORE_BORDER_HP */ 289, /* GL_CONSTANT_BORDER_HP */ - 1450, /* GL_REPLICATE_BORDER_HP */ + 1467, /* GL_REPLICATE_BORDER_HP */ 295, /* GL_CONVOLUTION_BORDER_COLOR */ - 1135, /* GL_OCCLUSION_TEST_HP */ - 1136, /* GL_OCCLUSION_TEST_RESULT_HP */ - 749, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1776, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1778, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1780, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1781, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1779, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1777, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 922, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 923, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1307, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1309, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1306, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1308, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1856, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1857, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1855, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 637, /* GL_GENERATE_MIPMAP */ - 638, /* GL_GENERATE_MIPMAP_HINT */ + 1151, /* GL_OCCLUSION_TEST_HP */ + 1152, /* GL_OCCLUSION_TEST_RESULT_HP */ + 756, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1793, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1795, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1797, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1798, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1796, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1794, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 931, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 932, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1323, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1325, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1322, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1324, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1873, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1874, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1872, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 640, /* GL_GENERATE_MIPMAP */ + 641, /* GL_GENERATE_MIPMAP_HINT */ 555, /* GL_FOG_OFFSET_SGIX */ 556, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1790, /* GL_TEXTURE_COMPARE_SGIX */ - 1789, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1852, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1844, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 1807, /* GL_TEXTURE_COMPARE_SGIX */ + 1806, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1869, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1861, /* GL_TEXTURE_GEQUAL_R_SGIX */ 377, /* GL_DEPTH_COMPONENT16 */ 381, /* GL_DEPTH_COMPONENT24 */ 385, /* GL_DEPTH_COMPONENT32 */ 320, /* GL_CULL_VERTEX_EXT */ 322, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 321, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 2032, /* GL_WRAP_BORDER_SUN */ - 1783, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 742, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1560, /* GL_SINGLE_COLOR */ - 1544, /* GL_SEPARATE_SPECULAR_COLOR */ - 1555, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 2055, /* GL_WRAP_BORDER_SUN */ + 1800, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 749, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1577, /* GL_SINGLE_COLOR */ + 1561, /* GL_SEPARATE_SPECULAR_COLOR */ + 1572, /* GL_SHARED_TEXTURE_PALETTE_EXT */ 567, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ 568, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ - 577, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ + 578, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ 570, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */ 566, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */ 565, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */ 569, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */ - 578, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ - 595, /* GL_FRAMEBUFFER_DEFAULT */ - 619, /* GL_FRAMEBUFFER_UNDEFINED */ + 579, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */ + 596, /* GL_FRAMEBUFFER_DEFAULT */ + 622, /* GL_FRAMEBUFFER_UNDEFINED */ 393, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 679, /* GL_INDEX */ - 1929, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1950, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1951, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1947, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1944, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1941, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1938, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1865, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1866, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1864, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 1031, /* GL_MIRRORED_REPEAT */ - 1498, /* GL_RGB_S3TC */ - 1467, /* GL_RGB4_S3TC */ - 1496, /* GL_RGBA_S3TC */ - 1489, /* GL_RGBA4_S3TC */ - 1494, /* GL_RGBA_DXT5_S3TC */ - 1486, /* GL_RGBA4_DXT5_S3TC */ + 686, /* GL_INDEX */ + 1952, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1973, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1974, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1970, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1967, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1964, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1961, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1882, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1883, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1881, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1047, /* GL_MIRRORED_REPEAT */ + 1515, /* GL_RGB_S3TC */ + 1484, /* GL_RGB4_S3TC */ + 1513, /* GL_RGBA_S3TC */ + 1506, /* GL_RGBA4_S3TC */ + 1511, /* GL_RGBA_DXT5_S3TC */ + 1503, /* GL_RGBA4_DXT5_S3TC */ 277, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ 272, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ 273, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ 274, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1093, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1092, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 750, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 1109, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1108, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 757, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ 542, /* GL_FOG_COORDINATE_SOURCE */ 534, /* GL_FOG_COORD */ 558, /* GL_FRAGMENT_DEPTH */ @@ -4843,279 +4893,279 @@ static const unsigned reduced_enums[1402] = 536, /* GL_FOG_COORDINATE_ARRAY */ 212, /* GL_COLOR_SUM */ 347, /* GL_CURRENT_SECONDARY_COLOR */ - 1536, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1538, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1537, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1535, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1532, /* GL_SECONDARY_COLOR_ARRAY */ + 1553, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1555, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1554, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1552, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1549, /* GL_SECONDARY_COLOR_ARRAY */ 345, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 28, /* GL_ALIASED_POINT_SIZE_RANGE */ 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1687, /* GL_TEXTURE0 */ - 1689, /* GL_TEXTURE1 */ - 1711, /* GL_TEXTURE2 */ - 1733, /* GL_TEXTURE3 */ - 1739, /* GL_TEXTURE4 */ - 1741, /* GL_TEXTURE5 */ - 1743, /* GL_TEXTURE6 */ - 1745, /* GL_TEXTURE7 */ - 1747, /* GL_TEXTURE8 */ - 1749, /* GL_TEXTURE9 */ - 1690, /* GL_TEXTURE10 */ - 1692, /* GL_TEXTURE11 */ - 1694, /* GL_TEXTURE12 */ - 1696, /* GL_TEXTURE13 */ - 1698, /* GL_TEXTURE14 */ - 1700, /* GL_TEXTURE15 */ - 1702, /* GL_TEXTURE16 */ - 1704, /* GL_TEXTURE17 */ - 1706, /* GL_TEXTURE18 */ - 1708, /* GL_TEXTURE19 */ - 1712, /* GL_TEXTURE20 */ - 1714, /* GL_TEXTURE21 */ - 1716, /* GL_TEXTURE22 */ - 1718, /* GL_TEXTURE23 */ - 1720, /* GL_TEXTURE24 */ - 1722, /* GL_TEXTURE25 */ - 1724, /* GL_TEXTURE26 */ - 1726, /* GL_TEXTURE27 */ - 1728, /* GL_TEXTURE28 */ - 1730, /* GL_TEXTURE29 */ - 1734, /* GL_TEXTURE30 */ - 1736, /* GL_TEXTURE31 */ + 1704, /* GL_TEXTURE0 */ + 1706, /* GL_TEXTURE1 */ + 1728, /* GL_TEXTURE2 */ + 1750, /* GL_TEXTURE3 */ + 1756, /* GL_TEXTURE4 */ + 1758, /* GL_TEXTURE5 */ + 1760, /* GL_TEXTURE6 */ + 1762, /* GL_TEXTURE7 */ + 1764, /* GL_TEXTURE8 */ + 1766, /* GL_TEXTURE9 */ + 1707, /* GL_TEXTURE10 */ + 1709, /* GL_TEXTURE11 */ + 1711, /* GL_TEXTURE12 */ + 1713, /* GL_TEXTURE13 */ + 1715, /* GL_TEXTURE14 */ + 1717, /* GL_TEXTURE15 */ + 1719, /* GL_TEXTURE16 */ + 1721, /* GL_TEXTURE17 */ + 1723, /* GL_TEXTURE18 */ + 1725, /* GL_TEXTURE19 */ + 1729, /* GL_TEXTURE20 */ + 1731, /* GL_TEXTURE21 */ + 1733, /* GL_TEXTURE22 */ + 1735, /* GL_TEXTURE23 */ + 1737, /* GL_TEXTURE24 */ + 1739, /* GL_TEXTURE25 */ + 1741, /* GL_TEXTURE26 */ + 1743, /* GL_TEXTURE27 */ + 1745, /* GL_TEXTURE28 */ + 1747, /* GL_TEXTURE29 */ + 1751, /* GL_TEXTURE30 */ + 1753, /* GL_TEXTURE31 */ 18, /* GL_ACTIVE_TEXTURE */ 145, /* GL_CLIENT_ACTIVE_TEXTURE */ - 1001, /* GL_MAX_TEXTURE_UNITS */ - 1906, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1909, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1911, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1903, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1669, /* GL_SUBTRACT */ - 984, /* GL_MAX_RENDERBUFFER_SIZE */ + 1015, /* GL_MAX_TEXTURE_UNITS */ + 1927, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1930, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1932, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1924, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1686, /* GL_SUBTRACT */ + 998, /* GL_MAX_RENDERBUFFER_SIZE */ 260, /* GL_COMPRESSED_ALPHA */ 264, /* GL_COMPRESSED_LUMINANCE */ 265, /* GL_COMPRESSED_LUMINANCE_ALPHA */ 262, /* GL_COMPRESSED_INTENSITY */ 268, /* GL_COMPRESSED_RGB */ 269, /* GL_COMPRESSED_RGBA */ - 1797, /* GL_TEXTURE_COMPRESSION_HINT */ - 1874, /* GL_TEXTURE_RECTANGLE_ARB */ - 1769, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1371, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 982, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 1814, /* GL_TEXTURE_COMPRESSION_HINT */ + 1891, /* GL_TEXTURE_RECTANGLE_ARB */ + 1786, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1388, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 996, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ 392, /* GL_DEPTH_STENCIL */ - 1934, /* GL_UNSIGNED_INT_24_8 */ - 996, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1863, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 998, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1835, /* GL_TEXTURE_FILTER_CONTROL */ - 1853, /* GL_TEXTURE_LOD_BIAS */ + 1957, /* GL_UNSIGNED_INT_24_8 */ + 1010, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1880, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 1012, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1852, /* GL_TEXTURE_FILTER_CONTROL */ + 1870, /* GL_TEXTURE_LOD_BIAS */ 245, /* GL_COMBINE4 */ - 990, /* GL_MAX_SHININESS_NV */ - 991, /* GL_MAX_SPOT_EXPONENT_NV */ - 677, /* GL_INCR_WRAP */ + 1004, /* GL_MAX_SHININESS_NV */ + 1005, /* GL_MAX_SPOT_EXPONENT_NV */ + 684, /* GL_INCR_WRAP */ 358, /* GL_DECR_WRAP */ - 1051, /* GL_MODELVIEW1_ARB */ - 1109, /* GL_NORMAL_MAP */ - 1410, /* GL_REFLECTION_MAP */ - 1807, /* GL_TEXTURE_CUBE_MAP */ - 1766, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1819, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1809, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1822, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1812, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1825, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1815, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1369, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 935, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 1087, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 1067, /* GL_MODELVIEW1_ARB */ + 1125, /* GL_NORMAL_MAP */ + 1427, /* GL_REFLECTION_MAP */ + 1824, /* GL_TEXTURE_CUBE_MAP */ + 1783, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1836, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1826, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1839, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1829, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1842, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1832, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1386, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 944, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1103, /* GL_MULTISAMPLE_FILTER_HINT_NV */ 550, /* GL_FOG_DISTANCE_MODE_NV */ 499, /* GL_EYE_RADIAL_NV */ 498, /* GL_EYE_PLANE_ABSOLUTE_NV */ 244, /* GL_COMBINE */ 251, /* GL_COMBINE_RGB */ 246, /* GL_COMBINE_ALPHA */ - 1499, /* GL_RGB_SCALE */ + 1516, /* GL_RGB_SCALE */ 24, /* GL_ADD_SIGNED */ - 706, /* GL_INTERPOLATE */ + 713, /* GL_INTERPOLATE */ 284, /* GL_CONSTANT */ - 1313, /* GL_PRIMARY_COLOR */ - 1310, /* GL_PREVIOUS */ - 1575, /* GL_SOURCE0_RGB */ - 1581, /* GL_SOURCE1_RGB */ - 1587, /* GL_SOURCE2_RGB */ - 1591, /* GL_SOURCE3_RGB_NV */ - 1572, /* GL_SOURCE0_ALPHA */ - 1578, /* GL_SOURCE1_ALPHA */ - 1584, /* GL_SOURCE2_ALPHA */ - 1590, /* GL_SOURCE3_ALPHA_NV */ - 1149, /* GL_OPERAND0_RGB */ - 1155, /* GL_OPERAND1_RGB */ - 1161, /* GL_OPERAND2_RGB */ - 1165, /* GL_OPERAND3_RGB_NV */ - 1146, /* GL_OPERAND0_ALPHA */ - 1152, /* GL_OPERAND1_ALPHA */ - 1158, /* GL_OPERAND2_ALPHA */ - 1164, /* GL_OPERAND3_ALPHA_NV */ + 1329, /* GL_PRIMARY_COLOR */ + 1326, /* GL_PREVIOUS */ + 1592, /* GL_SOURCE0_RGB */ + 1598, /* GL_SOURCE1_RGB */ + 1604, /* GL_SOURCE2_RGB */ + 1608, /* GL_SOURCE3_RGB_NV */ + 1589, /* GL_SOURCE0_ALPHA */ + 1595, /* GL_SOURCE1_ALPHA */ + 1601, /* GL_SOURCE2_ALPHA */ + 1607, /* GL_SOURCE3_ALPHA_NV */ + 1165, /* GL_OPERAND0_RGB */ + 1171, /* GL_OPERAND1_RGB */ + 1177, /* GL_OPERAND2_RGB */ + 1181, /* GL_OPERAND3_RGB_NV */ + 1162, /* GL_OPERAND0_ALPHA */ + 1168, /* GL_OPERAND1_ALPHA */ + 1174, /* GL_OPERAND2_ALPHA */ + 1180, /* GL_OPERAND3_ALPHA_NV */ 120, /* GL_BUFFER_OBJECT_APPLE */ - 1963, /* GL_VERTEX_ARRAY_BINDING */ - 1872, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 1873, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 2037, /* GL_YCBCR_422_APPLE */ - 1952, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1954, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1882, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1660, /* GL_STORAGE_PRIVATE_APPLE */ - 1659, /* GL_STORAGE_CACHED_APPLE */ - 1661, /* GL_STORAGE_SHARED_APPLE */ - 1562, /* GL_SLICE_ACCUM_SUN */ - 1379, /* GL_QUAD_MESH_SUN */ - 1915, /* GL_TRIANGLE_MESH_SUN */ - 2002, /* GL_VERTEX_PROGRAM_ARB */ - 2013, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1989, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 1995, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 1997, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 1999, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 1986, /* GL_VERTEX_ARRAY_BINDING */ + 1889, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 1890, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2060, /* GL_YCBCR_422_APPLE */ + 1975, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1977, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1899, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1677, /* GL_STORAGE_PRIVATE_APPLE */ + 1676, /* GL_STORAGE_CACHED_APPLE */ + 1678, /* GL_STORAGE_SHARED_APPLE */ + 1579, /* GL_SLICE_ACCUM_SUN */ + 1396, /* GL_QUAD_MESH_SUN */ + 1937, /* GL_TRIANGLE_MESH_SUN */ + 2025, /* GL_VERTEX_PROGRAM_ARB */ + 2036, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2012, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2018, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2020, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2022, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 349, /* GL_CURRENT_VERTEX_ATTRIB */ - 1329, /* GL_PROGRAM_LENGTH_ARB */ - 1343, /* GL_PROGRAM_STRING_ARB */ - 1074, /* GL_MODELVIEW_PROJECTION_NV */ - 670, /* GL_IDENTITY_NV */ - 722, /* GL_INVERSE_NV */ - 1908, /* GL_TRANSPOSE_NV */ - 723, /* GL_INVERSE_TRANSPOSE_NV */ - 968, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 967, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 863, /* GL_MATRIX0_NV */ - 875, /* GL_MATRIX1_NV */ - 887, /* GL_MATRIX2_NV */ - 891, /* GL_MATRIX3_NV */ - 893, /* GL_MATRIX4_NV */ - 895, /* GL_MATRIX5_NV */ - 897, /* GL_MATRIX6_NV */ - 899, /* GL_MATRIX7_NV */ + 1345, /* GL_PROGRAM_LENGTH_ARB */ + 1360, /* GL_PROGRAM_STRING_ARB */ + 1090, /* GL_MODELVIEW_PROJECTION_NV */ + 677, /* GL_IDENTITY_NV */ + 729, /* GL_INVERSE_NV */ + 1929, /* GL_TRANSPOSE_NV */ + 730, /* GL_INVERSE_TRANSPOSE_NV */ + 982, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 981, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 872, /* GL_MATRIX0_NV */ + 884, /* GL_MATRIX1_NV */ + 896, /* GL_MATRIX2_NV */ + 900, /* GL_MATRIX3_NV */ + 902, /* GL_MATRIX4_NV */ + 904, /* GL_MATRIX5_NV */ + 906, /* GL_MATRIX6_NV */ + 908, /* GL_MATRIX7_NV */ 332, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 329, /* GL_CURRENT_MATRIX_ARB */ - 2005, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 2008, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1341, /* GL_PROGRAM_PARAMETER_NV */ - 1993, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1345, /* GL_PROGRAM_TARGET_NV */ - 1342, /* GL_PROGRAM_RESIDENT_NV */ - 1892, /* GL_TRACK_MATRIX_NV */ - 1893, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 2003, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1323, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 2028, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 2031, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1357, /* GL_PROGRAM_PARAMETER_NV */ + 2016, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1362, /* GL_PROGRAM_TARGET_NV */ + 1359, /* GL_PROGRAM_RESIDENT_NV */ + 1909, /* GL_TRACK_MATRIX_NV */ + 1910, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2026, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1339, /* GL_PROGRAM_ERROR_POSITION_ARB */ 373, /* GL_DEPTH_CLAMP */ - 1971, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1978, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1979, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1980, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1981, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1982, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1983, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1984, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1985, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1986, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1972, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1973, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1974, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1975, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1976, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1977, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 811, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 818, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 819, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 820, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 821, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 822, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 823, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 824, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 825, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 826, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 812, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 813, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 814, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 815, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 816, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 817, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 838, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 845, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 846, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 847, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 848, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 849, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 850, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1322, /* GL_PROGRAM_BINDING_ARB */ - 852, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 853, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 839, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 840, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 841, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 842, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 843, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 844, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1795, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1792, /* GL_TEXTURE_COMPRESSED */ - 1115, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 1994, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 2001, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 2002, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 2003, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 2004, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 2005, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 2006, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 2007, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 2008, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 2009, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1995, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1996, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1997, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1998, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1999, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 2000, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 820, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 827, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 828, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 829, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 830, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 831, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 832, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 833, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 834, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 835, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 821, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 822, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 823, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 824, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 825, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 826, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 847, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 854, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 855, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 856, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 857, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 858, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 859, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1338, /* GL_PROGRAM_BINDING_ARB */ + 861, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 862, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 848, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 849, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 850, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 851, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 852, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 853, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1812, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1809, /* GL_TEXTURE_COMPRESSED */ + 1131, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ 282, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 1018, /* GL_MAX_VERTEX_UNITS_ARB */ + 1033, /* GL_MAX_VERTEX_UNITS_ARB */ 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 2031, /* GL_WEIGHT_SUM_UNITY_ARB */ - 2001, /* GL_VERTEX_BLEND_ARB */ + 2054, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2024, /* GL_VERTEX_BLEND_ARB */ 351, /* GL_CURRENT_WEIGHT_ARB */ - 2029, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 2027, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 2025, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 2023, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 2018, /* GL_WEIGHT_ARRAY_ARB */ + 2052, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2050, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2048, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2046, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2041, /* GL_WEIGHT_ARRAY_ARB */ 407, /* GL_DOT3_RGB */ 408, /* GL_DOT3_RGBA */ 276, /* GL_COMPRESSED_RGB_FXT1_3DFX */ 271, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 1082, /* GL_MULTISAMPLE_3DFX */ - 1521, /* GL_SAMPLE_BUFFERS_3DFX */ - 1512, /* GL_SAMPLES_3DFX */ - 1062, /* GL_MODELVIEW2_ARB */ - 1065, /* GL_MODELVIEW3_ARB */ - 1066, /* GL_MODELVIEW4_ARB */ - 1067, /* GL_MODELVIEW5_ARB */ - 1068, /* GL_MODELVIEW6_ARB */ - 1069, /* GL_MODELVIEW7_ARB */ - 1070, /* GL_MODELVIEW8_ARB */ - 1071, /* GL_MODELVIEW9_ARB */ - 1041, /* GL_MODELVIEW10_ARB */ - 1042, /* GL_MODELVIEW11_ARB */ - 1043, /* GL_MODELVIEW12_ARB */ - 1044, /* GL_MODELVIEW13_ARB */ - 1045, /* GL_MODELVIEW14_ARB */ - 1046, /* GL_MODELVIEW15_ARB */ - 1047, /* GL_MODELVIEW16_ARB */ - 1048, /* GL_MODELVIEW17_ARB */ - 1049, /* GL_MODELVIEW18_ARB */ - 1050, /* GL_MODELVIEW19_ARB */ - 1052, /* GL_MODELVIEW20_ARB */ - 1053, /* GL_MODELVIEW21_ARB */ - 1054, /* GL_MODELVIEW22_ARB */ - 1055, /* GL_MODELVIEW23_ARB */ - 1056, /* GL_MODELVIEW24_ARB */ - 1057, /* GL_MODELVIEW25_ARB */ - 1058, /* GL_MODELVIEW26_ARB */ - 1059, /* GL_MODELVIEW27_ARB */ - 1060, /* GL_MODELVIEW28_ARB */ - 1061, /* GL_MODELVIEW29_ARB */ - 1063, /* GL_MODELVIEW30_ARB */ - 1064, /* GL_MODELVIEW31_ARB */ + 1098, /* GL_MULTISAMPLE_3DFX */ + 1538, /* GL_SAMPLE_BUFFERS_3DFX */ + 1529, /* GL_SAMPLES_3DFX */ + 1078, /* GL_MODELVIEW2_ARB */ + 1081, /* GL_MODELVIEW3_ARB */ + 1082, /* GL_MODELVIEW4_ARB */ + 1083, /* GL_MODELVIEW5_ARB */ + 1084, /* GL_MODELVIEW6_ARB */ + 1085, /* GL_MODELVIEW7_ARB */ + 1086, /* GL_MODELVIEW8_ARB */ + 1087, /* GL_MODELVIEW9_ARB */ + 1057, /* GL_MODELVIEW10_ARB */ + 1058, /* GL_MODELVIEW11_ARB */ + 1059, /* GL_MODELVIEW12_ARB */ + 1060, /* GL_MODELVIEW13_ARB */ + 1061, /* GL_MODELVIEW14_ARB */ + 1062, /* GL_MODELVIEW15_ARB */ + 1063, /* GL_MODELVIEW16_ARB */ + 1064, /* GL_MODELVIEW17_ARB */ + 1065, /* GL_MODELVIEW18_ARB */ + 1066, /* GL_MODELVIEW19_ARB */ + 1068, /* GL_MODELVIEW20_ARB */ + 1069, /* GL_MODELVIEW21_ARB */ + 1070, /* GL_MODELVIEW22_ARB */ + 1071, /* GL_MODELVIEW23_ARB */ + 1072, /* GL_MODELVIEW24_ARB */ + 1073, /* GL_MODELVIEW25_ARB */ + 1074, /* GL_MODELVIEW26_ARB */ + 1075, /* GL_MODELVIEW27_ARB */ + 1076, /* GL_MODELVIEW28_ARB */ + 1077, /* GL_MODELVIEW29_ARB */ + 1079, /* GL_MODELVIEW30_ARB */ + 1080, /* GL_MODELVIEW31_ARB */ 412, /* GL_DOT3_RGB_EXT */ 410, /* GL_DOT3_RGBA_EXT */ - 1035, /* GL_MIRROR_CLAMP_EXT */ - 1038, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 1077, /* GL_MODULATE_ADD_ATI */ - 1078, /* GL_MODULATE_SIGNED_ADD_ATI */ - 1079, /* GL_MODULATE_SUBTRACT_ATI */ - 2038, /* GL_YCBCR_MESA */ - 1173, /* GL_PACK_INVERT_MESA */ + 1051, /* GL_MIRROR_CLAMP_EXT */ + 1054, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1093, /* GL_MODULATE_ADD_ATI */ + 1094, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1095, /* GL_MODULATE_SUBTRACT_ATI */ + 2061, /* GL_YCBCR_MESA */ + 1189, /* GL_PACK_INVERT_MESA */ 354, /* GL_DEBUG_OBJECT_MESA */ 355, /* GL_DEBUG_PRINT_MESA */ 353, /* GL_DEBUG_ASSERT_MESA */ @@ -5129,26 +5179,26 @@ static const unsigned reduced_enums[1402] = 471, /* GL_DU8DV8_ATI */ 126, /* GL_BUMP_ENVMAP_ATI */ 130, /* GL_BUMP_TARGET_ATI */ - 1117, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - 1320, /* GL_PROGRAM_BINARY_FORMATS_OES */ - 1624, /* GL_STENCIL_BACK_FUNC */ - 1622, /* GL_STENCIL_BACK_FAIL */ - 1626, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1628, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 1133, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + 1336, /* GL_PROGRAM_BINARY_FORMATS_OES */ + 1641, /* GL_STENCIL_BACK_FUNC */ + 1639, /* GL_STENCIL_BACK_FAIL */ + 1643, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1645, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ 559, /* GL_FRAGMENT_PROGRAM_ARB */ - 1318, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1348, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1347, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1332, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1338, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1337, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 957, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 980, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 979, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 970, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 976, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 975, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 938, /* GL_MAX_DRAW_BUFFERS */ + 1334, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1365, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1364, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1348, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1354, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1353, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 971, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 994, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 993, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 984, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 990, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 989, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 947, /* GL_MAX_DRAW_BUFFERS */ 416, /* GL_DRAW_BUFFER0 */ 419, /* GL_DRAW_BUFFER1 */ 440, /* GL_DRAW_BUFFER2 */ @@ -5166,172 +5216,172 @@ static const unsigned reduced_enums[1402] = 432, /* GL_DRAW_BUFFER14 */ 435, /* GL_DRAW_BUFFER15 */ 85, /* GL_BLEND_EQUATION_ALPHA */ - 914, /* GL_MATRIX_PALETTE_ARB */ - 950, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 953, /* GL_MAX_PALETTE_MATRICES_ARB */ + 923, /* GL_MATRIX_PALETTE_ARB */ + 964, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 967, /* GL_MAX_PALETTE_MATRICES_ARB */ 335, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 902, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 911, /* GL_MATRIX_INDEX_ARRAY_ARB */ 330, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 907, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 911, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 909, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 905, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1830, /* GL_TEXTURE_DEPTH_SIZE */ + 916, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 920, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 918, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 914, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1847, /* GL_TEXTURE_DEPTH_SIZE */ 400, /* GL_DEPTH_TEXTURE_MODE */ - 1787, /* GL_TEXTURE_COMPARE_MODE */ - 1785, /* GL_TEXTURE_COMPARE_FUNC */ + 1804, /* GL_TEXTURE_COMPARE_MODE */ + 1802, /* GL_TEXTURE_COMPARE_FUNC */ 255, /* GL_COMPARE_R_TO_TEXTURE */ - 1250, /* GL_POINT_SPRITE */ + 1266, /* GL_POINT_SPRITE */ 309, /* GL_COORD_REPLACE */ - 1255, /* GL_POINT_SPRITE_R_MODE_NV */ - 1383, /* GL_QUERY_COUNTER_BITS */ + 1271, /* GL_POINT_SPRITE_R_MODE_NV */ + 1400, /* GL_QUERY_COUNTER_BITS */ 338, /* GL_CURRENT_QUERY */ - 1386, /* GL_QUERY_RESULT */ - 1388, /* GL_QUERY_RESULT_AVAILABLE */ - 1011, /* GL_MAX_VERTEX_ATTRIBS */ - 1991, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 1403, /* GL_QUERY_RESULT */ + 1405, /* GL_QUERY_RESULT_AVAILABLE */ + 1026, /* GL_MAX_VERTEX_ATTRIBS */ + 2014, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ 398, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ 397, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 992, /* GL_MAX_TEXTURE_COORDS */ - 994, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1325, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1327, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1326, /* GL_PROGRAM_FORMAT_ARB */ - 1884, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 1006, /* GL_MAX_TEXTURE_COORDS */ + 1008, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1341, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1343, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1342, /* GL_PROGRAM_FORMAT_ARB */ + 1901, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ 371, /* GL_DEPTH_BOUNDS_TEST_EXT */ 370, /* GL_DEPTH_BOUNDS_EXT */ 53, /* GL_ARRAY_BUFFER */ 485, /* GL_ELEMENT_ARRAY_BUFFER */ 54, /* GL_ARRAY_BUFFER_BINDING */ 486, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1965, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1104, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 1988, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1120, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ 161, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 681, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1800, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 688, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1817, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ 481, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1533, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 1550, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ 537, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 2019, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1987, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1328, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 963, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1334, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 972, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1346, /* GL_PROGRAM_TEMPORARIES_ARB */ - 978, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1336, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 974, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1340, /* GL_PROGRAM_PARAMETERS_ARB */ - 977, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1335, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 973, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1319, /* GL_PROGRAM_ATTRIBS_ARB */ - 958, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1333, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 971, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1317, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 956, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1331, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 969, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 964, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 960, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1349, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1905, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1400, /* GL_READ_ONLY */ - 2033, /* GL_WRITE_ONLY */ - 1402, /* GL_READ_WRITE */ + 2042, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2010, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1344, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 977, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1350, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 986, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1363, /* GL_PROGRAM_TEMPORARIES_ARB */ + 992, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1352, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 988, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1356, /* GL_PROGRAM_PARAMETERS_ARB */ + 991, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1351, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 987, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1335, /* GL_PROGRAM_ATTRIBS_ARB */ + 972, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1349, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 985, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1333, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 970, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1347, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 983, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 978, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 974, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1366, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1926, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1417, /* GL_READ_ONLY */ + 2056, /* GL_WRITE_ONLY */ + 1419, /* GL_READ_WRITE */ 110, /* GL_BUFFER_ACCESS */ 114, /* GL_BUFFER_MAPPED */ 117, /* GL_BUFFER_MAP_POINTER */ - 1891, /* GL_TIME_ELAPSED_EXT */ - 862, /* GL_MATRIX0_ARB */ - 874, /* GL_MATRIX1_ARB */ - 886, /* GL_MATRIX2_ARB */ - 890, /* GL_MATRIX3_ARB */ - 892, /* GL_MATRIX4_ARB */ - 894, /* GL_MATRIX5_ARB */ - 896, /* GL_MATRIX6_ARB */ - 898, /* GL_MATRIX7_ARB */ - 900, /* GL_MATRIX8_ARB */ - 901, /* GL_MATRIX9_ARB */ - 864, /* GL_MATRIX10_ARB */ - 865, /* GL_MATRIX11_ARB */ - 866, /* GL_MATRIX12_ARB */ - 867, /* GL_MATRIX13_ARB */ - 868, /* GL_MATRIX14_ARB */ - 869, /* GL_MATRIX15_ARB */ - 870, /* GL_MATRIX16_ARB */ - 871, /* GL_MATRIX17_ARB */ - 872, /* GL_MATRIX18_ARB */ - 873, /* GL_MATRIX19_ARB */ - 876, /* GL_MATRIX20_ARB */ - 877, /* GL_MATRIX21_ARB */ - 878, /* GL_MATRIX22_ARB */ - 879, /* GL_MATRIX23_ARB */ - 880, /* GL_MATRIX24_ARB */ - 881, /* GL_MATRIX25_ARB */ - 882, /* GL_MATRIX26_ARB */ - 883, /* GL_MATRIX27_ARB */ - 884, /* GL_MATRIX28_ARB */ - 885, /* GL_MATRIX29_ARB */ - 888, /* GL_MATRIX30_ARB */ - 889, /* GL_MATRIX31_ARB */ - 1664, /* GL_STREAM_DRAW */ - 1666, /* GL_STREAM_READ */ - 1662, /* GL_STREAM_COPY */ - 1614, /* GL_STATIC_DRAW */ - 1616, /* GL_STATIC_READ */ - 1612, /* GL_STATIC_COPY */ + 1908, /* GL_TIME_ELAPSED_EXT */ + 871, /* GL_MATRIX0_ARB */ + 883, /* GL_MATRIX1_ARB */ + 895, /* GL_MATRIX2_ARB */ + 899, /* GL_MATRIX3_ARB */ + 901, /* GL_MATRIX4_ARB */ + 903, /* GL_MATRIX5_ARB */ + 905, /* GL_MATRIX6_ARB */ + 907, /* GL_MATRIX7_ARB */ + 909, /* GL_MATRIX8_ARB */ + 910, /* GL_MATRIX9_ARB */ + 873, /* GL_MATRIX10_ARB */ + 874, /* GL_MATRIX11_ARB */ + 875, /* GL_MATRIX12_ARB */ + 876, /* GL_MATRIX13_ARB */ + 877, /* GL_MATRIX14_ARB */ + 878, /* GL_MATRIX15_ARB */ + 879, /* GL_MATRIX16_ARB */ + 880, /* GL_MATRIX17_ARB */ + 881, /* GL_MATRIX18_ARB */ + 882, /* GL_MATRIX19_ARB */ + 885, /* GL_MATRIX20_ARB */ + 886, /* GL_MATRIX21_ARB */ + 887, /* GL_MATRIX22_ARB */ + 888, /* GL_MATRIX23_ARB */ + 889, /* GL_MATRIX24_ARB */ + 890, /* GL_MATRIX25_ARB */ + 891, /* GL_MATRIX26_ARB */ + 892, /* GL_MATRIX27_ARB */ + 893, /* GL_MATRIX28_ARB */ + 894, /* GL_MATRIX29_ARB */ + 897, /* GL_MATRIX30_ARB */ + 898, /* GL_MATRIX31_ARB */ + 1681, /* GL_STREAM_DRAW */ + 1683, /* GL_STREAM_READ */ + 1679, /* GL_STREAM_COPY */ + 1631, /* GL_STATIC_DRAW */ + 1633, /* GL_STATIC_READ */ + 1629, /* GL_STATIC_COPY */ 475, /* GL_DYNAMIC_DRAW */ 477, /* GL_DYNAMIC_READ */ 473, /* GL_DYNAMIC_COPY */ - 1213, /* GL_PIXEL_PACK_BUFFER */ - 1217, /* GL_PIXEL_UNPACK_BUFFER */ - 1214, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1218, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 1229, /* GL_PIXEL_PACK_BUFFER */ + 1233, /* GL_PIXEL_UNPACK_BUFFER */ + 1230, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1234, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ 362, /* GL_DEPTH24_STENCIL8 */ - 1880, /* GL_TEXTURE_STENCIL_SIZE */ - 1828, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 959, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 962, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 966, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 965, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 919, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1655, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 1897, /* GL_TEXTURE_STENCIL_SIZE */ + 1845, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 973, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 976, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 980, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 979, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 928, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1672, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 1036, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1514, /* GL_SAMPLES_PASSED */ - 1237, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - 1236, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - 1235, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - 1073, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1352, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1862, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1052, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1531, /* GL_SAMPLES_PASSED */ + 1253, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1252, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1251, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1089, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1369, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1879, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ 121, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 113, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 1414, /* GL_RELEASED_APPLE */ - 2016, /* GL_VOLATILE_APPLE */ - 1453, /* GL_RETAINED_APPLE */ - 1918, /* GL_UNDEFINED_APPLE */ - 1373, /* GL_PURGEABLE_APPLE */ + 1431, /* GL_RELEASED_APPLE */ + 2039, /* GL_VOLATILE_APPLE */ + 1470, /* GL_RETAINED_APPLE */ + 1941, /* GL_UNDEFINED_APPLE */ + 1390, /* GL_PURGEABLE_APPLE */ 560, /* GL_FRAGMENT_SHADER */ - 2011, /* GL_VERTEX_SHADER */ - 1339, /* GL_PROGRAM_OBJECT_ARB */ - 1549, /* GL_SHADER_OBJECT_ARB */ - 945, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 1015, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 1008, /* GL_MAX_VARYING_FLOATS */ - 1013, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 929, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1133, /* GL_OBJECT_TYPE_ARB */ - 1551, /* GL_SHADER_TYPE */ + 2034, /* GL_VERTEX_SHADER */ + 1355, /* GL_PROGRAM_OBJECT_ARB */ + 1566, /* GL_SHADER_OBJECT_ARB */ + 954, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1030, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1023, /* GL_MAX_VARYING_FLOATS */ + 1028, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 938, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1149, /* GL_OBJECT_TYPE_ARB */ + 1568, /* GL_SHADER_TYPE */ 525, /* GL_FLOAT_VEC2 */ 527, /* GL_FLOAT_VEC3 */ 529, /* GL_FLOAT_VEC4 */ - 710, /* GL_INT_VEC2 */ - 712, /* GL_INT_VEC3 */ - 714, /* GL_INT_VEC4 */ + 717, /* GL_INT_VEC2 */ + 719, /* GL_INT_VEC3 */ + 721, /* GL_INT_VEC4 */ 102, /* GL_BOOL */ 104, /* GL_BOOL_VEC2 */ 106, /* GL_BOOL_VEC3 */ @@ -5339,12 +5389,12 @@ static const unsigned reduced_enums[1402] = 513, /* GL_FLOAT_MAT2 */ 517, /* GL_FLOAT_MAT3 */ 521, /* GL_FLOAT_MAT4 */ - 1504, /* GL_SAMPLER_1D */ - 1506, /* GL_SAMPLER_2D */ - 1508, /* GL_SAMPLER_3D */ - 1510, /* GL_SAMPLER_CUBE */ - 1505, /* GL_SAMPLER_1D_SHADOW */ - 1507, /* GL_SAMPLER_2D_SHADOW */ + 1521, /* GL_SAMPLER_1D */ + 1523, /* GL_SAMPLER_2D */ + 1525, /* GL_SAMPLER_3D */ + 1527, /* GL_SAMPLER_CUBE */ + 1522, /* GL_SAMPLER_1D_SHADOW */ + 1524, /* GL_SAMPLER_2D_SHADOW */ 515, /* GL_FLOAT_MAT2x3 */ 516, /* GL_FLOAT_MAT2x4 */ 519, /* GL_FLOAT_MAT3x2 */ @@ -5353,96 +5403,97 @@ static const unsigned reduced_enums[1402] = 524, /* GL_FLOAT_MAT4x3 */ 360, /* GL_DELETE_STATUS */ 259, /* GL_COMPILE_STATUS */ - 767, /* GL_LINK_STATUS */ - 1959, /* GL_VALIDATE_STATUS */ - 693, /* GL_INFO_LOG_LENGTH */ + 776, /* GL_LINK_STATUS */ + 1982, /* GL_VALIDATE_STATUS */ + 700, /* GL_INFO_LOG_LENGTH */ 56, /* GL_ATTACHED_SHADERS */ 20, /* GL_ACTIVE_UNIFORMS */ 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1550, /* GL_SHADER_SOURCE_LENGTH */ + 1567, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ 562, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1553, /* GL_SHADING_LANGUAGE_VERSION */ + 1570, /* GL_SHADING_LANGUAGE_VERSION */ 337, /* GL_CURRENT_PROGRAM */ - 1182, /* GL_PALETTE4_RGB8_OES */ - 1184, /* GL_PALETTE4_RGBA8_OES */ - 1180, /* GL_PALETTE4_R5_G6_B5_OES */ - 1183, /* GL_PALETTE4_RGBA4_OES */ - 1181, /* GL_PALETTE4_RGB5_A1_OES */ - 1187, /* GL_PALETTE8_RGB8_OES */ - 1189, /* GL_PALETTE8_RGBA8_OES */ - 1185, /* GL_PALETTE8_R5_G6_B5_OES */ - 1188, /* GL_PALETTE8_RGBA4_OES */ - 1186, /* GL_PALETTE8_RGB5_A1_OES */ - 675, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 673, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1234, /* GL_POINT_SIZE_ARRAY_OES */ - 1806, /* GL_TEXTURE_CROP_RECT_OES */ - 903, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - 1233, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - 1942, /* GL_UNSIGNED_NORMALIZED */ - 1752, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1362, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1754, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1365, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1761, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1763, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 1606, /* GL_SRGB */ - 1607, /* GL_SRGB8 */ - 1609, /* GL_SRGB_ALPHA */ - 1608, /* GL_SRGB8_ALPHA8 */ - 1566, /* GL_SLUMINANCE_ALPHA */ - 1565, /* GL_SLUMINANCE8_ALPHA8 */ - 1563, /* GL_SLUMINANCE */ - 1564, /* GL_SLUMINANCE8 */ + 1198, /* GL_PALETTE4_RGB8_OES */ + 1200, /* GL_PALETTE4_RGBA8_OES */ + 1196, /* GL_PALETTE4_R5_G6_B5_OES */ + 1199, /* GL_PALETTE4_RGBA4_OES */ + 1197, /* GL_PALETTE4_RGB5_A1_OES */ + 1203, /* GL_PALETTE8_RGB8_OES */ + 1205, /* GL_PALETTE8_RGBA8_OES */ + 1201, /* GL_PALETTE8_R5_G6_B5_OES */ + 1204, /* GL_PALETTE8_RGBA4_OES */ + 1202, /* GL_PALETTE8_RGB5_A1_OES */ + 682, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 680, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 1250, /* GL_POINT_SIZE_ARRAY_OES */ + 1823, /* GL_TEXTURE_CROP_RECT_OES */ + 912, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1249, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 1965, /* GL_UNSIGNED_NORMALIZED */ + 1769, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1379, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1771, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1382, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1778, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1780, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 958, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + 1623, /* GL_SRGB */ + 1624, /* GL_SRGB8 */ + 1626, /* GL_SRGB_ALPHA */ + 1625, /* GL_SRGB8_ALPHA8 */ + 1583, /* GL_SLUMINANCE_ALPHA */ + 1582, /* GL_SLUMINANCE8_ALPHA8 */ + 1580, /* GL_SLUMINANCE */ + 1581, /* GL_SLUMINANCE8 */ 280, /* GL_COMPRESSED_SRGB */ 281, /* GL_COMPRESSED_SRGB_ALPHA */ 278, /* GL_COMPRESSED_SLUMINANCE */ 279, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1902, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - 1897, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - 1007, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - 1901, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - 1899, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - 1898, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - 1316, /* GL_PRIMITIVES_GENERATED_EXT */ - 1900, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - 1393, /* GL_RASTERIZER_DISCARD_EXT */ - 1005, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - 1006, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - 705, /* GL_INTERLEAVED_ATTRIBS_EXT */ - 1543, /* GL_SEPARATE_ATTRIBS_EXT */ - 1896, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - 1895, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - 1252, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 775, /* GL_LOWER_LEFT */ - 1956, /* GL_UPPER_LEFT */ - 1630, /* GL_STENCIL_BACK_REF */ - 1631, /* GL_STENCIL_BACK_VALUE_MASK */ - 1632, /* GL_STENCIL_BACK_WRITEMASK */ + 1923, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + 1917, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + 1021, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + 1922, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + 1920, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + 1919, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + 1332, /* GL_PRIMITIVES_GENERATED_EXT */ + 1921, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + 1410, /* GL_RASTERIZER_DISCARD_EXT */ + 1019, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + 1020, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + 712, /* GL_INTERLEAVED_ATTRIBS_EXT */ + 1560, /* GL_SEPARATE_ATTRIBS_EXT */ + 1916, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + 1915, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + 1268, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 784, /* GL_LOWER_LEFT */ + 1979, /* GL_UPPER_LEFT */ + 1647, /* GL_STENCIL_BACK_REF */ + 1648, /* GL_STENCIL_BACK_VALUE_MASK */ + 1649, /* GL_STENCIL_BACK_WRITEMASK */ 465, /* GL_DRAW_FRAMEBUFFER_BINDING */ - 1419, /* GL_RENDERBUFFER_BINDING */ - 1396, /* GL_READ_FRAMEBUFFER */ + 1436, /* GL_RENDERBUFFER_BINDING */ + 1413, /* GL_READ_FRAMEBUFFER */ 464, /* GL_DRAW_FRAMEBUFFER */ - 1397, /* GL_READ_FRAMEBUFFER_BINDING */ - 1438, /* GL_RENDERBUFFER_SAMPLES */ - 574, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ - 571, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ - 586, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ - 581, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ - 584, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ - 592, /* GL_FRAMEBUFFER_COMPLETE */ - 597, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ - 609, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ - 606, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 601, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 607, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 603, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ - 614, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ - 620, /* GL_FRAMEBUFFER_UNSUPPORTED */ - 618, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 925, /* GL_MAX_COLOR_ATTACHMENTS */ + 1414, /* GL_READ_FRAMEBUFFER_BINDING */ + 1455, /* GL_RENDERBUFFER_SAMPLES */ + 575, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ + 572, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ + 587, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ + 582, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */ + 585, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */ + 593, /* GL_FRAMEBUFFER_COMPLETE */ + 598, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */ + 612, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */ + 607, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 602, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 608, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 604, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */ + 617, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ + 623, /* GL_FRAMEBUFFER_UNSUPPORTED */ + 621, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 934, /* GL_MAX_COLOR_ATTACHMENTS */ 167, /* GL_COLOR_ATTACHMENT0 */ 170, /* GL_COLOR_ATTACHMENT1 */ 184, /* GL_COLOR_ATTACHMENT2 */ @@ -5460,75 +5511,91 @@ static const unsigned reduced_enums[1402] = 179, /* GL_COLOR_ATTACHMENT14 */ 181, /* GL_COLOR_ATTACHMENT15 */ 365, /* GL_DEPTH_ATTACHMENT */ - 1619, /* GL_STENCIL_ATTACHMENT */ + 1636, /* GL_STENCIL_ATTACHMENT */ 564, /* GL_FRAMEBUFFER */ - 1416, /* GL_RENDERBUFFER */ - 1442, /* GL_RENDERBUFFER_WIDTH */ - 1429, /* GL_RENDERBUFFER_HEIGHT */ - 1432, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1650, /* GL_STENCIL_INDEX_EXT */ - 1639, /* GL_STENCIL_INDEX1 */ - 1644, /* GL_STENCIL_INDEX4 */ - 1647, /* GL_STENCIL_INDEX8 */ - 1640, /* GL_STENCIL_INDEX16 */ - 1436, /* GL_RENDERBUFFER_RED_SIZE */ - 1427, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1422, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1417, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1424, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1440, /* GL_RENDERBUFFER_STENCIL_SIZE */ - 612, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 987, /* GL_MAX_SAMPLES */ - 1842, /* GL_TEXTURE_GEN_STR_OES */ - 648, /* GL_HALF_FLOAT_OES */ - 1470, /* GL_RGB565_OES */ - 776, /* GL_LOW_FLOAT */ - 1021, /* GL_MEDIUM_FLOAT */ - 649, /* GL_HIGH_FLOAT */ - 777, /* GL_LOW_INT */ - 1022, /* GL_MEDIUM_INT */ - 650, /* GL_HIGH_INT */ - 1933, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - 709, /* GL_INT_10_10_10_2_OES */ - 1547, /* GL_SHADER_BINARY_FORMATS */ - 1118, /* GL_NUM_SHADER_BINARY_FORMATS */ - 1548, /* GL_SHADER_COMPILER */ - 1017, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - 1010, /* GL_MAX_VARYING_VECTORS */ - 947, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - 1390, /* GL_QUERY_WAIT_NV */ - 1385, /* GL_QUERY_NO_WAIT_NV */ - 1382, /* GL_QUERY_BY_REGION_WAIT_NV */ - 1381, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - 1377, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 1433, /* GL_RENDERBUFFER */ + 1459, /* GL_RENDERBUFFER_WIDTH */ + 1446, /* GL_RENDERBUFFER_HEIGHT */ + 1449, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1667, /* GL_STENCIL_INDEX_EXT */ + 1656, /* GL_STENCIL_INDEX1 */ + 1661, /* GL_STENCIL_INDEX4 */ + 1664, /* GL_STENCIL_INDEX8 */ + 1657, /* GL_STENCIL_INDEX16 */ + 1453, /* GL_RENDERBUFFER_RED_SIZE */ + 1444, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1439, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1434, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1441, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1457, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 615, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ + 1001, /* GL_MAX_SAMPLES */ + 1859, /* GL_TEXTURE_GEN_STR_OES */ + 655, /* GL_HALF_FLOAT_OES */ + 1487, /* GL_RGB565_OES */ + 571, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */ + 611, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */ + 610, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ + 646, /* GL_GEOMETRY_SHADER_ARB */ + 647, /* GL_GEOMETRY_VERTICES_OUT_ARB */ + 644, /* GL_GEOMETRY_INPUT_TYPE_ARB */ + 645, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ + 961, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + 1035, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + 960, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + 957, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + 959, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + 785, /* GL_LOW_FLOAT */ + 1037, /* GL_MEDIUM_FLOAT */ + 656, /* GL_HIGH_FLOAT */ + 786, /* GL_LOW_INT */ + 1038, /* GL_MEDIUM_INT */ + 657, /* GL_HIGH_INT */ + 1956, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 716, /* GL_INT_10_10_10_2_OES */ + 1564, /* GL_SHADER_BINARY_FORMATS */ + 1134, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1565, /* GL_SHADER_COMPILER */ + 1032, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1025, /* GL_MAX_VARYING_VECTORS */ + 956, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1407, /* GL_QUERY_WAIT_NV */ + 1402, /* GL_QUERY_NO_WAIT_NV */ + 1399, /* GL_QUERY_BY_REGION_WAIT_NV */ + 1398, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + 1912, /* GL_TRANSFORM_FEEDBACK */ + 1918, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + 1914, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + 1913, /* GL_TRANSFORM_FEEDBACK_BINDING */ + 1394, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ 507, /* GL_FIRST_VERTEX_CONVENTION */ - 726, /* GL_LAST_VERTEX_CONVENTION */ - 1354, /* GL_PROVOKING_VERTEX */ + 733, /* GL_LAST_VERTEX_CONVENTION */ + 1371, /* GL_PROVOKING_VERTEX */ 316, /* GL_COPY_READ_BUFFER */ 317, /* GL_COPY_WRITE_BUFFER */ - 1497, /* GL_RGBA_SNORM */ - 1493, /* GL_RGBA8_SNORM */ - 1559, /* GL_SIGNED_NORMALIZED */ - 989, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1132, /* GL_OBJECT_TYPE */ - 1671, /* GL_SYNC_CONDITION */ - 1676, /* GL_SYNC_STATUS */ - 1673, /* GL_SYNC_FLAGS */ - 1672, /* GL_SYNC_FENCE */ - 1675, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 1927, /* GL_UNSIGNALED */ - 1558, /* GL_SIGNALED */ + 1514, /* GL_RGBA_SNORM */ + 1510, /* GL_RGBA8_SNORM */ + 1576, /* GL_SIGNED_NORMALIZED */ + 1003, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1148, /* GL_OBJECT_TYPE */ + 1688, /* GL_SYNC_CONDITION */ + 1693, /* GL_SYNC_STATUS */ + 1690, /* GL_SYNC_FLAGS */ + 1689, /* GL_SYNC_FENCE */ + 1692, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 1950, /* GL_UNSIGNALED */ + 1575, /* GL_SIGNALED */ 46, /* GL_ALREADY_SIGNALED */ - 1890, /* GL_TIMEOUT_EXPIRED */ + 1907, /* GL_TIMEOUT_EXPIRED */ 283, /* GL_CONDITION_SATISFIED */ - 2017, /* GL_WAIT_FAILED */ + 2040, /* GL_WAIT_FAILED */ 492, /* GL_EVAL_BIT */ - 1394, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 769, /* GL_LIST_BIT */ - 1771, /* GL_TEXTURE_BIT */ - 1529, /* GL_SCISSOR_BIT */ + 1411, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 778, /* GL_LIST_BIT */ + 1788, /* GL_TEXTURE_BIT */ + 1546, /* GL_SCISSOR_BIT */ 29, /* GL_ALL_ATTRIB_BITS */ - 1084, /* GL_MULTISAMPLE_BIT */ + 1100, /* GL_MULTISAMPLE_BIT */ 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; @@ -5581,7 +5648,7 @@ const char *_mesa_lookup_enum_by_nr( int nr ) } else { /* this is not re-entrant safe, no big deal here */ - _mesa_snprintf(token_tmp, sizeof(token_tmp), "0x%x", nr); + sprintf(token_tmp, "0x%x", nr); return token_tmp; } } diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 371ef3a3973..e12a5b3b535 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -55,6 +55,7 @@ static const struct { { OFF, "GL_ARB_fragment_program_shadow", F(ARB_fragment_program_shadow) }, { OFF, "GL_ARB_fragment_shader", F(ARB_fragment_shader) }, { OFF, "GL_ARB_framebuffer_object", F(ARB_framebuffer_object) }, + { OFF, "GL_ARB_geometry_shader4", F(ARB_geometry_shader4) }, { OFF, "GL_ARB_half_float_pixel", F(ARB_half_float_pixel) }, { OFF, "GL_ARB_half_float_vertex", F(ARB_half_float_vertex) }, { OFF, "GL_ARB_imaging", F(ARB_imaging) }, @@ -230,6 +231,9 @@ _mesa_enable_sw_extensions(GLcontext *ctx) #endif #if FEATURE_ARB_framebuffer_object ctx->Extensions.ARB_framebuffer_object = GL_TRUE; +#endif +#if FEATURE_ARB_geometry_shader4 + ctx->Extensions.ARB_geometry_shader4 = GL_TRUE; #endif ctx->Extensions.ARB_half_float_pixel = GL_TRUE; ctx->Extensions.ARB_half_float_vertex = GL_TRUE; diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 48b9904642a..8c86b392c7b 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2299,3 +2299,25 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, mask, filter); } #endif /* FEATURE_EXT_framebuffer_blit */ + +#if FEATURE_ARB_geometry_shader4 +void GLAPIENTRY +_mesa_FramebufferTextureARB(GLenum target, GLenum attachment, + GLuint texture, GLint level) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, + "glFramebufferTextureARB " + "not implemented!"); +} + +void GLAPIENTRY +_mesa_FramebufferTextureFaceARB(GLenum target, GLenum attachment, + GLuint texture, GLint level, GLenum face) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_error(ctx, GL_INVALID_OPERATION, + "glFramebufferTextureFaceARB " + "not implemented!"); +} +#endif /* FEATURE_ARB_geometry_shader4 */ diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h index 40a18f83412..ff946033a4d 100644 --- a/src/mesa/main/fbobject.h +++ b/src/mesa/main/fbobject.h @@ -149,5 +149,13 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +extern void GLAPIENTRY +_mesa_FramebufferTextureARB(GLenum target, GLenum attachment, + GLuint texture, GLint level); + +extern void GLAPIENTRY +_mesa_FramebufferTextureFaceARB(GLenum target, GLenum attachment, + GLuint texture, GLint level, GLenum face); + #endif /* FBOBJECT_H */ diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index c121957aead..632dadd1a5d 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -303,6 +303,7 @@ EXTRA_EXT2(ARB_fragment_program, NV_fragment_program); EXTRA_EXT2(ARB_vertex_program, NV_vertex_program); EXTRA_EXT2(ARB_vertex_program, ARB_fragment_program); EXTRA_EXT(ARB_vertex_buffer_object); +EXTRA_EXT(ARB_geometry_shader4); static const int extra_ARB_vertex_program_ARB_fragment_program_NV_vertex_program[] = { @@ -1220,6 +1221,26 @@ static const struct value_desc values[] = { { GL_TRANSFORM_FEEDBACK_BINDING, LOC_CUSTOM, TYPE_INT, 0, extra_ARB_transform_feedback2 }, + /* GL_ARB_geometry_shader4 */ + { GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxGeometryTextureImageUnits), + extra_ARB_geometry_shader4 }, + { GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxGeometryOutputVertices), + extra_ARB_geometry_shader4 }, + { GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxGeometryTotalOutputComponents), + extra_ARB_geometry_shader4 }, + { GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxGeometryUniformComponents), + extra_ARB_geometry_shader4 }, + { GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxGeometryVaryingComponents), + extra_ARB_geometry_shader4 }, + { GL_MAX_VERTEX_VARYING_COMPONENTS_ARB, + CONTEXT_INT(Const.GeometryProgram.MaxVertexVaryingComponents), + extra_ARB_geometry_shader4 }, + /* GL 3.0 */ { GL_NUM_EXTENSIONS, LOC_CUSTOM, TYPE_INT, 0, extra_version_30 }, { GL_MAJOR_VERSION, CONTEXT_INT(VersionMajor), extra_version_30 }, diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h index 6ed05da7ac8..4e838abe036 100644 --- a/src/mesa/main/mfeatures.h +++ b/src/mesa/main/mfeatures.h @@ -124,6 +124,7 @@ #define FEATURE_ARB_shader_objects (FEATURE_ARB_vertex_shader || FEATURE_ARB_fragment_shader) #define FEATURE_ARB_shading_language_100 FEATURE_ARB_shader_objects #define FEATURE_ARB_shading_language_120 FEATURE_ARB_shader_objects +#define FEATURE_ARB_geometry_shader4 FEATURE_ARB_shader_objects #define FEATURE_ARB_framebuffer_object (FEATURE_GL && FEATURE_EXT_framebuffer_object) #define FEATURE_ARB_map_buffer_range FEATURE_GL diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index c34d9bac4a0..5632b2ec931 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -42,6 +42,13 @@ #include "math/m_matrix.h" /* GLmatrix */ #include "main/simple_list.h" /* struct simple_node */ +/** + * Internal token + * Must be simply different than GL_VERTEX_PROGRAM + * and GL_FRAGMENT_PROGRAM_ARB + * FIXME: this will have to be a real GL extension + */ +#define MESA_GEOMETRY_PROGRAM 0x9999 /** * Color channel data type. @@ -238,6 +245,80 @@ typedef enum } gl_vert_result; +/*********************************************/ + +/** + * Indexes for geometry program attributes. + */ +typedef enum +{ + GEOM_ATTRIB_VERTICES = 0, /*gl_VerticesIn*/ + GEOM_ATTRIB_POSITION = 1, + GEOM_ATTRIB_COLOR0 = 2, + GEOM_ATTRIB_COLOR1 = 3, + GEOM_ATTRIB_SECONDARY_COLOR0 = 4, + GEOM_ATTRIB_SECONDARY_COLOR1 = 5, + GEOM_ATTRIB_FOG_FRAG_COORD = 6, + GEOM_ATTRIB_POINT_SIZE = 7, + GEOM_ATTRIB_CLIP_VERTEX = 8, + GEOM_ATTRIB_PRIMITIVE_ID = 9, + GEOM_ATTRIB_TEX_COORD = 10, + + GEOM_ATTRIB_VAR0 = 16, + GEOM_ATTRIB_MAX = (GEOM_ATTRIB_VAR0 + MAX_VARYING) +} gl_geom_attrib; + +/** + * Bitflags for geometry attributes. + * These are used in bitfields in many places. + */ +/*@{*/ +#define GEOM_BIT_VERTICES (1 << GEOM_ATTRIB_VERTICES) +#define GEOM_BIT_COLOR0 (1 << GEOM_ATTRIB_COLOR0) +#define GEOM_BIT_COLOR1 (1 << GEOM_ATTRIB_COLOR1) +#define GEOM_BIT_SCOLOR0 (1 << GEOM_ATTRIB_SECONDARY_COLOR0) +#define GEOM_BIT_SCOLOR1 (1 << GEOM_ATTRIB_SECONDARY_COLOR1) +#define GEOM_BIT_TEX_COORD (1 << GEOM_ATTRIB_TEX_COORD) +#define GEOM_BIT_FOG_COORD (1 << GEOM_ATTRIB_FOG_FRAG_COORD) +#define GEOM_BIT_POSITION (1 << GEOM_ATTRIB_POSITION) +#define GEOM_BIT_POINT_SIDE (1 << GEOM_ATTRIB_POINT_SIZE) +#define GEOM_BIT_CLIP_VERTEX (1 << GEOM_ATTRIB_CLIP_VERTEX) +#define GEOM_BIT_PRIM_ID (1 << GEOM_ATTRIB_PRIMITIVE_ID) +#define GEOM_BIT_VAR0 (1 << GEOM_ATTRIB_VAR0) + +#define GEOM_BIT_VAR(g) (1 << (GEOM_BIT_VAR0 + (g))) +/*@}*/ + + +/** + * Indexes for geometry program result attributes + */ +/*@{*/ +typedef enum { + GEOM_RESULT_POS = 0, + GEOM_RESULT_COL0 = 1, + GEOM_RESULT_COL1 = 2, + GEOM_RESULT_SCOL0 = 3, + GEOM_RESULT_SCOL1 = 4, + GEOM_RESULT_FOGC = 5, + GEOM_RESULT_TEX0 = 6, + GEOM_RESULT_TEX1 = 7, + GEOM_RESULT_TEX2 = 8, + GEOM_RESULT_TEX3 = 9, + GEOM_RESULT_TEX4 = 10, + GEOM_RESULT_TEX5 = 11, + GEOM_RESULT_TEX6 = 12, + GEOM_RESULT_TEX7 = 13, + GEOM_RESULT_PSIZ = 14, + GEOM_RESULT_CLPV = 15, + GEOM_RESULT_PRID = 16, + GEOM_RESULT_LAYR = 17, + GEOM_RESULT_VAR0 = 18, /**< shader varying, should really be 16 */ + /* ### we need to -2 because var0 is 18 instead 16 like in the others */ + GEOM_RESULT_MAX = (GEOM_RESULT_VAR0 + MAX_VARYING - 2) +} gl_geom_result; +/*@}*/ + /** * Indexes for fragment program input attributes. */ @@ -1763,6 +1844,17 @@ struct gl_vertex_program }; +/** Geometry program object */ +struct gl_geometry_program +{ + struct gl_program Base; /**< base class */ + + GLint VerticesOut; + GLint InputType; + GLint OutputType; +}; + + /** Fragment program object */ struct gl_fragment_program { @@ -1820,6 +1912,26 @@ struct gl_vertex_program_state }; +/** + * Context state for geometry programs. + */ +struct gl_geometry_program_state +{ + GLboolean Enabled; /**< GL_ARB_GEOMETRY_SHADER4 */ + GLboolean _Enabled; /**< Enabled and valid program? */ + struct gl_geometry_program *Current; /**< user-bound geometry program */ + + /** Currently enabled and valid program (including internal programs + * and compiled shader programs). + */ + struct gl_geometry_program *_Current; + + GLfloat Parameters[MAX_PROGRAM_ENV_PARAMS][4]; /**< Env params */ + + /** Cache of fixed-function programs */ + struct gl_program_cache *Cache; +}; + /** * Context state for fragment programs. */ @@ -1954,7 +2066,7 @@ struct gl_sl_pragmas */ struct gl_shader { - GLenum Type; /**< GL_FRAGMENT_SHADER || GL_VERTEX_SHADER (first field!) */ + GLenum Type; /**< GL_FRAGMENT_SHADER || GL_VERTEX_SHADER || GL_GEOMETRY_SHADER_ARB (first field!) */ GLuint Name; /**< AKA the handle */ GLint RefCount; /**< Reference count */ GLboolean DeletePending; @@ -1996,6 +2108,7 @@ struct gl_shader_program /* post-link info: */ struct gl_vertex_program *VertexProgram; /**< Linked vertex program */ struct gl_fragment_program *FragmentProgram; /**< Linked fragment prog */ + struct gl_geometry_program *GeometryProgram; /**< Linked geometry prog */ struct gl_uniform_list *Uniforms; struct gl_program_parameter_list *Varying; GLboolean LinkStatus; /**< GL_LINK_STATUS */ @@ -2109,7 +2222,7 @@ struct gl_shared_state struct gl_buffer_object *NullBufferObj; /** - * \name Vertex/fragment programs + * \name Vertex/geometry/fragment programs */ /*@{*/ struct _mesa_HashTable *Programs; /**< All vertex/fragment programs */ @@ -2118,6 +2231,9 @@ struct gl_shared_state #endif #if FEATURE_ARB_fragment_program struct gl_fragment_program *DefaultFragmentProgram; +#endif +#if FEATURE_ARB_geometry_shader4 + struct gl_geometry_program *DefaultGeometryProgram; #endif /*@}*/ @@ -2377,6 +2493,14 @@ struct gl_program_constants GLuint MaxNativeParameters; /* For shaders */ GLuint MaxUniformComponents; +#if FEATURE_ARB_geometry_shader4 + GLuint MaxGeometryTextureImageUnits; + GLuint MaxGeometryVaryingComponents; + GLuint MaxVertexVaryingComponents; + GLuint MaxGeometryUniformComponents; + GLuint MaxGeometryOutputVertices; + GLuint MaxGeometryTotalOutputComponents; +#endif }; @@ -2423,6 +2547,7 @@ struct gl_constants struct gl_program_constants VertexProgram; /**< GL_ARB_vertex_program */ struct gl_program_constants FragmentProgram; /**< GL_ARB_fragment_program */ + struct gl_program_constants GeometryProgram; /**< GL_ARB_geometry_shader4 */ GLuint MaxProgramMatrices; GLuint MaxProgramMatrixStackDepth; @@ -2478,6 +2603,7 @@ struct gl_extensions GLboolean ARB_fragment_program_shadow; GLboolean ARB_fragment_shader; GLboolean ARB_framebuffer_object; + GLboolean ARB_geometry_shader4; GLboolean ARB_half_float_pixel; GLboolean ARB_half_float_vertex; GLboolean ARB_imaging; @@ -3034,6 +3160,7 @@ struct __GLcontextRec struct gl_program_state Program; /**< general program state */ struct gl_vertex_program_state VertexProgram; struct gl_fragment_program_state FragmentProgram; + struct gl_geometry_program_state GeometryProgram; struct gl_ati_fragment_shader_state ATIFragmentShader; struct gl_shader_state Shader; /**< GLSL shader object state */ diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index 2df11a454df..631cc901588 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -446,9 +446,9 @@ static const char _mesa_function_pool[] = "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[2906]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[2906]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" - "glFragmentLightModelivSGIX\0" + "glDeleteTransformFeedbacks\0" "\0" /* _mesa_function_pool[2937]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" @@ -664,3757 +664,3801 @@ static const char _mesa_function_pool[] = "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[4480]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4480]: BindTransformFeedback (will be remapped) */ + "ii\0" + "glBindTransformFeedback\0" + "\0" + /* _mesa_function_pool[4508]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[4533]: Indexub (offset 315) */ + /* _mesa_function_pool[4561]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[4546]: TexEnvi (offset 186) */ + /* _mesa_function_pool[4574]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[4561]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[4589]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[4580]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[4608]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[4608]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[4636]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[4634]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[4662]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[4660]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[4688]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[4685]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[4713]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[4711]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[4739]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[4734]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4762]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[4753]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[4781]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[4782]: Scaled (offset 301) */ + /* _mesa_function_pool[4810]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[4796]: Scalef (offset 302) */ + /* _mesa_function_pool[4824]: ResumeTransformFeedback (will be remapped) */ + "\0" + "glResumeTransformFeedback\0" + "\0" + /* _mesa_function_pool[4852]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[4810]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[4866]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[4848]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[4904]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[4900]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[4956]: ColorMaskIndexedEXT (will be remapped) */ + "iiiii\0" + "glColorMaskIndexedEXT\0" + "\0" + /* _mesa_function_pool[4985]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[4930]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[5015]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[4946]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[5031]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[5001]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[5086]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[5015]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[5100]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[5032]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[5117]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[5090]: Rotated (offset 299) */ + /* _mesa_function_pool[5175]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[5106]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[5191]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[5130]: ReadPixels (offset 256) */ + /* _mesa_function_pool[5215]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[5152]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[5237]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[5167]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[5252]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[5196]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[5281]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[5220]: Color4iv (offset 32) */ + /* _mesa_function_pool[5305]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[5234]: TexParameterf (offset 178) */ + /* _mesa_function_pool[5319]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[5255]: TexParameteri (offset 180) */ + /* _mesa_function_pool[5340]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[5276]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[5361]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[5301]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[5386]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[5346]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[5431]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[5390]: DrawPixels (offset 257) */ + /* _mesa_function_pool[5475]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[5410]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5495]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5470]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[5555]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[5515]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[5600]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[5542]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[5627]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[5575]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[5660]: DrawTransformFeedback (will be remapped) */ + "ii\0" + "glDrawTransformFeedback\0" + "\0" + /* _mesa_function_pool[5688]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[5608]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[5721]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[5633]: WeightivARB (dynamic) */ + /* _mesa_function_pool[5746]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[5651]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[5764]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[5676]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[5789]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[5703]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[5816]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[5745]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[5858]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[5785]: GenLists (offset 5) */ + /* _mesa_function_pool[5898]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[5799]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[5912]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[5834]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[5947]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[5868]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[5981]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[5895]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[6008]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[5923]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[6036]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[5958]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[6071]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[5986]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[6099]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[6006]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[6119]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[6026]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[6139]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[6046]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6159]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[6072]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[6185]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[6100]: Scissor (offset 176) */ + /* _mesa_function_pool[6213]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[6116]: Fogf (offset 153) */ + /* _mesa_function_pool[6229]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[6127]: GetCombinerOutputParameterfvNV (will be remapped) */ - "iiip\0" - "glGetCombinerOutputParameterfvNV\0" + /* _mesa_function_pool[6240]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + "ppp\0" + "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[6166]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[6285]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[6210]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[6329]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[6251]: FenceSync (will be remapped) */ + /* _mesa_function_pool[6370]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[6267]: Color4usv (offset 40) */ + /* _mesa_function_pool[6386]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[6282]: Fogi (offset 155) */ + /* _mesa_function_pool[6401]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[6293]: DepthRange (offset 288) */ + /* _mesa_function_pool[6412]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[6310]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[6429]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[6328]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[6447]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[6357]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[6476]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[6374]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[6493]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[6392]: Color4ui (offset 37) */ + /* _mesa_function_pool[6511]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[6409]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[6528]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[6428]: Color3usv (offset 24) */ + /* _mesa_function_pool[6547]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[6443]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[6562]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[6463]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[6582]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[6480]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[6599]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6529]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[6648]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[6546]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[6665]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[6565]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[6684]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[6584]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[6703]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[6615]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[6734]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[6667]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[6786]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[6684]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[6803]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[6733]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[6852]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[6789]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[6908]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[6820]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[6939]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[6874]: Color4us (offset 39) */ + /* _mesa_function_pool[6993]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[6891]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[7010]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[6981]: Color3bv (offset 10) */ + /* _mesa_function_pool[7100]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[6995]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[7114]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[7050]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[7169]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[7096]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[7215]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[7126]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[7245]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[7163]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[7282]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[7192]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7311]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7234]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[7353]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[7287]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[7406]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[7302]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[7421]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[7324]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[7443]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[7354]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[7473]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[7401]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[7520]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[7445]: ColorTable (offset 339) */ + /* _mesa_function_pool[7564]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[7498]: IndexPointer (offset 314) */ + /* _mesa_function_pool[7617]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[7518]: Accum (offset 213) */ + /* _mesa_function_pool[7637]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[7530]: GetTexImage (offset 281) */ + /* _mesa_function_pool[7649]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[7551]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[7670]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[7583]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[7702]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[7639]: Finish (offset 216) */ + /* _mesa_function_pool[7758]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[7650]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[7769]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[7674]: ClearStencil (offset 207) */ + /* _mesa_function_pool[7793]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[7692]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[7811]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[7735]: HintPGI (dynamic) */ + /* _mesa_function_pool[7854]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[7749]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[7868]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[7807]: Color4s (offset 33) */ + /* _mesa_function_pool[7926]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[7823]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[7942]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[7848]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[7967]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[7866]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[7985]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[7883]: Vertex2d (offset 126) */ + /* _mesa_function_pool[8002]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[7898]: CullParameterdvEXT (will be remapped) */ + /* _mesa_function_pool[8017]: CullParameterdvEXT (will be remapped) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[7923]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[8042]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[7960]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8079]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7989]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[8108]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[8046]: Color4i (offset 31) */ + /* _mesa_function_pool[8165]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[8062]: Color4f (offset 29) */ + /* _mesa_function_pool[8181]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[8078]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[8197]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[8096]: Color4d (offset 27) */ + /* _mesa_function_pool[8215]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[8112]: ClearIndex (offset 205) */ + /* _mesa_function_pool[8231]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[8128]: Color4b (offset 25) */ + /* _mesa_function_pool[8247]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[8144]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[8263]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[8161]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[8280]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[8191]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[8310]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[8209]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[8328]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[8267]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[8386]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[8288]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[8407]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[8307]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[8426]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[8334]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[8453]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[8390]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[8509]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[8412]: WaitSync (will be remapped) */ + /* _mesa_function_pool[8531]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[8428]: EndList (offset 1) */ + /* _mesa_function_pool[8547]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[8440]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[8559]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[8464]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[8583]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[8494]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[8613]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[8528]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[8647]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[8546]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[8665]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[8597]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[8716]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[8616]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[8735]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[8631]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[8750]: GenTransformFeedbacks (will be remapped) */ + "ip\0" + "glGenTransformFeedbacks\0" + "\0" + /* _mesa_function_pool[8778]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[8659]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[8806]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[8715]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[8862]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[8743]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[8890]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[8761]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[8908]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[8809]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[8956]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[8848]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[8995]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[8866]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[9013]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[8918]: GetMinmax (offset 364) */ + /* _mesa_function_pool[9065]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[8952]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[9099]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[8980]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[9127]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[9026]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[9173]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[9052]: Normal3fv (offset 57) */ + /* _mesa_function_pool[9199]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[9067]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[9214]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[9094]: Color3us (offset 23) */ + /* _mesa_function_pool[9241]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[9110]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[9257]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[9145]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[9292]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[9188]: End (offset 43) */ + /* _mesa_function_pool[9335]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[9196]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[9343]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[9221]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[9368]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[9247]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[9394]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[9277]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[9424]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[9322]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[9469]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[9368]: Color3ub (offset 19) */ + /* _mesa_function_pool[9515]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[9384]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[9531]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[9416]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[9563]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[9441]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[9588]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[9476]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[9623]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[9499]: Color3ui (offset 21) */ + /* _mesa_function_pool[9646]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[9515]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[9662]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[9532]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[9679]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[9578]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[9725]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[9605]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[9752]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[9641]: TexGenfv (offset 191) */ + /* _mesa_function_pool[9788]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[9657]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[9804]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[9729]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[9876]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[9772]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[9919]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[9805]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[9952]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "\0" - /* _mesa_function_pool[9834]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[9981]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[9880]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[10027]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[9913]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[10060]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[9937]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[10084]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[9962]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[10109]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[10015]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[10162]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[10072]: BlendEquation (offset 337) */ + /* _mesa_function_pool[10219]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[10110]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[10257]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[10135]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[10282]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[10178]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10325]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10242]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[10389]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[10286]: GetError (offset 261) */ + /* _mesa_function_pool[10433]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[10299]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[10446]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[10318]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[10465]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[10335]: Indexdv (offset 45) */ + /* _mesa_function_pool[10482]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[10348]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[10495]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[10404]: Normal3s (offset 60) */ + /* _mesa_function_pool[10551]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[10420]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[10567]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[10454]: PushName (offset 201) */ + /* _mesa_function_pool[10601]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[10468]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[10615]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[10513]: CullParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[10660]: CullParameterfvEXT (will be remapped) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[10538]: Normal3i (offset 58) */ + /* _mesa_function_pool[10685]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[10554]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[10701]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[10589]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[10736]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[10646]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[10793]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[10689]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[10836]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[10718]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[10865]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[10768]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[10915]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[10802]: Normal3b (offset 52) */ + /* _mesa_function_pool[10949]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[10818]: Normal3d (offset 54) */ + /* _mesa_function_pool[10965]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[10834]: Normal3f (offset 56) */ + /* _mesa_function_pool[10981]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[10850]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[10997]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[10895]: Indexi (offset 48) */ + /* _mesa_function_pool[11042]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[10907]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[11054]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[10940]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[11087]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[10968]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[11115]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[10989]: DeformationMap3dSGIX (dynamic) */ - "iddiiddiiddiip\0" - "glDeformationMap3dSGIX\0" - "\0" - /* _mesa_function_pool[11028]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[11136]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[11074]: DepthMask (offset 211) */ + /* _mesa_function_pool[11182]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[11089]: IsShader (will be remapped) */ + /* _mesa_function_pool[11197]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[11103]: Indexf (offset 46) */ + /* _mesa_function_pool[11211]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[11115]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[11223]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[11153]: Indexd (offset 44) */ + /* _mesa_function_pool[11261]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[11165]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[11273]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[11186]: StencilOp (offset 244) */ + /* _mesa_function_pool[11294]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[11203]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[11311]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[11225]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[11333]: FramebufferTextureLayer (dynamic) */ + "iiiii\0" + "glFramebufferTextureLayerARB\0" + "\0" + /* _mesa_function_pool[11369]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[11270]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[11414]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[11286]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[11430]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[11332]: Indexs (offset 50) */ + /* _mesa_function_pool[11476]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[11344]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[11488]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[11364]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[11508]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[11386]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[11530]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[11424]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[11568]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[11456]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[11600]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[11483]: Vertex2i (offset 130) */ + /* _mesa_function_pool[11627]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[11498]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[11642]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[11515]: Vertex2f (offset 128) */ + /* _mesa_function_pool[11659]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[11530]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11674]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11583]: Color4bv (offset 26) */ + /* _mesa_function_pool[11727]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[11597]: VertexPointer (offset 321) */ + /* _mesa_function_pool[11741]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[11619]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[11763]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[11667]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[11811]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[11692]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[11836]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[11740]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[11884]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[11764]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[11908]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[11799]: DeleteLists (offset 4) */ + /* _mesa_function_pool[11943]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[11817]: LogicOp (offset 242) */ + /* _mesa_function_pool[11961]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[11830]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[11974]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[11854]: Vertex2s (offset 132) */ + /* _mesa_function_pool[11998]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[11869]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[12013]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[11945]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[12089]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[11962]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[12106]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[11982]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[12126]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[12009]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[12153]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[12054]: IsProgram (will be remapped) */ + /* _mesa_function_pool[12198]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[12069]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[12213]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[12101]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[12245]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[12129]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[12273]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[12153]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[12297]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[12214]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[12358]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[12238]: GenTextures (offset 328) */ + /* _mesa_function_pool[12382]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[12273]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[12417]: FramebufferTextureARB (will be remapped) */ + "iiii\0" + "glFramebufferTextureARB\0" + "\0" + /* _mesa_function_pool[12447]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[12290]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[12464]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[12346]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[12520]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[12385]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[12559]: MultiModeDrawArraysIBM (will be remapped) */ + "pppii\0" + "glMultiModeDrawArraysIBM\0" + "\0" + /* _mesa_function_pool[12591]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[12418]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[12624]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[12440]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[12646]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[12468]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[12674]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[12486]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[12692]: GetCombinerOutputParameterfvNV (will be remapped) */ + "iiip\0" + "glGetCombinerOutputParameterfvNV\0" + "\0" + /* _mesa_function_pool[12731]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[12504]: Color4ubv (offset 36) */ + /* _mesa_function_pool[12749]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[12519]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[12764]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[12535]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[12780]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[12552]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[12797]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[12576]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[12821]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[12593]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[12838]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[12648]: DepthFunc (offset 245) */ + /* _mesa_function_pool[12893]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[12663]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[12908]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[12682]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[12927]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[12711]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[12956]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[12754]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[12999]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[12798]: BlendFunc (offset 241) */ + /* _mesa_function_pool[13043]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[12814]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[13059]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[12865]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[13110]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[12899]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[13144]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[12928]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[13173]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[12973]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[13218]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[13029]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[13274]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[13050]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[13295]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[13080]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[13325]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[13115]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[13360]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[13134]: Flush (offset 217) */ + /* _mesa_function_pool[13379]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[13144]: Color4uiv (offset 38) */ + /* _mesa_function_pool[13389]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[13159]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[13404]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[13181]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[13426]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[13199]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[13444]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[13242]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[13487]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[13266]: PushAttrib (offset 219) */ + /* _mesa_function_pool[13511]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[13282]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[13527]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[13300]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[13545]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[13342]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[13587]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[13364]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[13609]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[13384]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[13629]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[13425]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[13670]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[13480]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[13725]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[13498]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[13743]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[13522]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[13767]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[13540]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[13785]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[13558]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[13803]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[13612]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[13857]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[13654]: Color4ub (offset 35) */ + /* _mesa_function_pool[13899]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[13671]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[13916]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[13691]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[13936]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[13720]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[13965]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[13738]: GetColorTable (offset 343) */ + /* _mesa_function_pool[13983]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[13798]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[14043]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[13817]: Indexiv (offset 49) */ + /* _mesa_function_pool[14062]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[13830]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[14075]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[13848]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[14093]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[13892]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[14137]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[13952]: Frustum (offset 289) */ + /* _mesa_function_pool[14197]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[13970]: GetString (offset 275) */ + /* _mesa_function_pool[14215]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[13985]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[14230]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[14011]: TexEnvf (offset 184) */ + /* _mesa_function_pool[14256]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[14026]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[14271]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[14044]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[14289]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[14074]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[14319]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[14092]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[14337]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[14137]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[14382]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[14181]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[14426]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[14224]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[14469]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[14265]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[14510]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[14293]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[14538]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[14328]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[14573]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[14346]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[14591]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[14377]: DrawArraysInstanced (will be remapped) */ + /* _mesa_function_pool[14622]: DrawArraysInstanced (will be remapped) */ "iiii\0" "glDrawArraysInstanced\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "\0" - /* _mesa_function_pool[14455]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[14700]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[14489]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[14734]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[14514]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[14759]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[14570]: ClearAccum (offset 204) */ + /* _mesa_function_pool[14815]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[14589]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[14834]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[14605]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[14850]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[14653]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[14898]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[14699]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[14944]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[14716]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[14961]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[14743]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[14988]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[14770]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[15015]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[14807]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[15052]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[14827]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[15072]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[14848]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[15093]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[14875]: Rectd (offset 86) */ + /* _mesa_function_pool[15120]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[14889]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[15134]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[14915]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[15160]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[14952]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[15197]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[14999]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[15244]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[15018]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[15263]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[15063]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[15308]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[15088]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[15333]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15118]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[15363]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[15165]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[15410]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[15213]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[15458]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[15271]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[15516]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[15305]: Lightfv (offset 160) */ + /* _mesa_function_pool[15550]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[15320]: ClearDepth (offset 208) */ + /* _mesa_function_pool[15565]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[15336]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[15581]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[15356]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[15601]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[15378]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[15623]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[15421]: Color4fv (offset 30) */ + /* _mesa_function_pool[15666]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[15435]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[15680]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[15480]: DrawElementsInstanced (will be remapped) */ + /* _mesa_function_pool[15725]: DrawElementsInstanced (will be remapped) */ "iiipi\0" "glDrawElementsInstanced\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "\0" - /* _mesa_function_pool[15565]: ColorPointer (offset 308) */ + /* _mesa_function_pool[15810]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[15586]: Rects (offset 92) */ + /* _mesa_function_pool[15831]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[15600]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[15845]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[15634]: Lightiv (offset 162) */ + /* _mesa_function_pool[15879]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[15649]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[15894]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[15693]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[15938]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[15741]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[15986]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[15766]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[16011]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[15790]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[16035]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[15835]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[16080]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[15878]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[16123]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[15904]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[16149]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[15930]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[16175]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[15948]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[16193]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[15991]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[16236]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[16045]: Rectdv (offset 87) */ + /* _mesa_function_pool[16290]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[16058]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[16303]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[16084]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[16329]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[16143]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[16388]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[16171]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[16416]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[16216]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[16461]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[16243]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[16488]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[16270]: Materialiv (offset 172) */ + /* _mesa_function_pool[16515]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[16288]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[16533]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[16310]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[16555]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[16345]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[16590]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[16391]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[16636]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[16444]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[16689]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[16490]: PolygonMode (offset 174) */ + /* _mesa_function_pool[16735]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[16508]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[16753]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[16572]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[16817]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[16599]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[16844]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[16626]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[16871]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[16654]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[16899]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[16692]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[16937]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[16710]: DisableClientState (offset 309) */ + /* _mesa_function_pool[16955]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[16734]: TexGeni (offset 192) */ + /* _mesa_function_pool[16979]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[16749]: TexGenf (offset 190) */ + /* _mesa_function_pool[16994]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[16764]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[17009]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[16797]: TexGend (offset 188) */ + /* _mesa_function_pool[17042]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[16812]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[17057]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[16839]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[17084]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[16862]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[17107]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[16881]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[17126]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[16909]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[17154]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[16963]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[17208]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[16987]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[17232]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "\0" - /* _mesa_function_pool[17011]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[17256]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[17053]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[17298]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[17082]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[17327]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[17106]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[17351]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[17153]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[17398]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[17203]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[17448]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[17224]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[17469]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[17251]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[17496]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[17285]: Color4sv (offset 34) */ + /* _mesa_function_pool[17530]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[17299]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[17544]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[17329]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[17574]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[17361]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[17606]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[17396]: PixelZoom (offset 246) */ + /* _mesa_function_pool[17641]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[17412]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[17657]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[17445]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[17690]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[17503]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[17748]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[17559]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[17804]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[17589]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[17834]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[17609]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[17854]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[17628]: Color3dv (offset 12) */ + /* _mesa_function_pool[17873]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[17642]: IsTexture (offset 330) */ + /* _mesa_function_pool[17887]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[17672]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[17917]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[17695]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[17940]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[17736]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[17981]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[17771]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[18016]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[17790]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[18035]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[17829]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[18074]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[17859]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[18104]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[17891]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[18136]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[17920]: GetMapdv (offset 266) */ + /* _mesa_function_pool[18165]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[17936]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[18181]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[17964]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[18209]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[18006]: PixelStoref (offset 249) */ + /* _mesa_function_pool[18251]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[18024]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[18269]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[18050]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[18295]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[18099]: PixelStorei (offset 250) */ + /* _mesa_function_pool[18344]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[18117]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[18362]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[18162]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[18407]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[18196]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[18441]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[18220]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[18465]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[18259]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[18504]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[18288]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[18533]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[18306]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[18551]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[18349]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[18594]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[18369]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[18614]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[18437]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[18682]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[18492]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[18737]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[18530]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[18775]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[18564]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[18809]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[18612]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[18857]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[18640]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[18885]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[18693]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[18938]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[18714]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[18959]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[18741]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[18986]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[18773]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[19018]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[18797]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[19042]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[18862]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[19107]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[18884]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[19129]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[18902]: TexImage1D (offset 182) */ + /* _mesa_function_pool[19147]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[18925]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[19170]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[18952]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[19197]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[19002]: Color3s (offset 17) */ + /* _mesa_function_pool[19247]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[19017]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[19262]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[19051]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[19296]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[19104]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[19349]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[19123]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[19368]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[19147]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[19392]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[19191]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[19436]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[19214]: Color3i (offset 15) */ + /* _mesa_function_pool[19459]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[19229]: FrontFace (offset 157) */ + /* _mesa_function_pool[19474]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[19244]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[19489]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[19262]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[19507]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[19310]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[19555]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[19328]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[19573]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[19371]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[19616]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[19421]: Color3b (offset 9) */ + /* _mesa_function_pool[19666]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[19436]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[19681]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[19480]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[19725]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[19504]: Color3f (offset 13) */ + /* _mesa_function_pool[19749]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[19519]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[19764]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[19539]: Color3d (offset 11) */ + /* _mesa_function_pool[19784]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[19554]: Normal3dv (offset 55) */ + /* _mesa_function_pool[19799]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[19569]: Lightf (offset 159) */ + /* _mesa_function_pool[19814]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[19583]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[19828]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[19609]: MatrixMode (offset 293) */ + /* _mesa_function_pool[19854]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[19625]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[19870]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[19646]: Lighti (offset 161) */ + /* _mesa_function_pool[19891]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[19660]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[19905]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[19691]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[19936]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[19728]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[19973]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "\0" - /* _mesa_function_pool[19757]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[20002]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[19842]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[20087]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[19877]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[20122]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[19922]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[20167]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[19957]: GetDoublev (offset 260) */ + /* _mesa_function_pool[20202]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[19974]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[20219]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[19991]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[20236]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[20008]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[20253]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[20051]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[20296]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[20082]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[20327]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[20137]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[20382]: VertexAttrib3sNV (will be remapped) */ + "iiii\0" + "glVertexAttrib3sNV\0" + "\0" + /* _mesa_function_pool[20407]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[20163]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[20433]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[20208]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[20478]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[20235]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[20505]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[20257]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[20527]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[20284]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[20554]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[20313]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[20583]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[20339]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[20609]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[20362]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[20632]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[20381]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[20651]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[20408]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[20678]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[20426]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[20696]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[20471]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[20741]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[20514]: ClearColor (offset 206) */ + /* _mesa_function_pool[20784]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[20533]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[20803]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[20552]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[20822]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[20601]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[20871]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[20628]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[20898]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "\0" - /* _mesa_function_pool[20654]: TexEnviv (offset 187) */ + /* _mesa_function_pool[20924]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[20670]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[20940]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[20718]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[20988]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[20738]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[21008]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[20786]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[21056]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[20810]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21080]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[20851]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[21121]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[20883]: CreateShader (will be remapped) */ + /* _mesa_function_pool[21153]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[20901]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[21171]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[20993]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[21263]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[21024]: Bitmap (offset 8) */ + /* _mesa_function_pool[21294]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[21042]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[21312]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[21087]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[21357]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[21118]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[21388]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[21154]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[21424]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[21197]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[21467]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[21229]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[21499]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[21244]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[21514]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[21262]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[21532]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[21302]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[21572]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[21329]: DetachShader (will be remapped) */ + /* _mesa_function_pool[21599]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[21348]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[21618]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[21396]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[21666]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[21431]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[21701]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[21458]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[21728]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[21482]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[21752]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[21516]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[21786]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[21568]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[21838]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[21587]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[21857]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[21618]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[21888]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[21656]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[21926]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[21699]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[21969]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[21719]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21989]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[21790]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[22060]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[21812]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[22082]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[21832]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[22102]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[21886]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[22156]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[21939]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ - "ppp\0" - "glReplacementCodeuiColor4ubVertex3fvSUN\0" + /* _mesa_function_pool[22209]: ProgramParameteriARB (will be remapped) */ + "iii\0" + "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[21984]: Map1d (offset 220) */ + /* _mesa_function_pool[22237]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[22000]: Map1f (offset 221) */ + /* _mesa_function_pool[22253]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[22016]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[22269]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[22075]: ArrayElement (offset 306) */ + /* _mesa_function_pool[22328]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[22111]: TexImage2D (offset 183) */ + /* _mesa_function_pool[22364]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[22135]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[22388]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[22156]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[22409]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[22187]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[22440]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[22226]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[22479]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[22248]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[22501]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[22302]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[22555]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[22323]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[22576]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[22369]: PushMatrix (offset 298) */ + /* _mesa_function_pool[22622]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[22384]: Fogiv (offset 156) */ + /* _mesa_function_pool[22637]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[22396]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[22649]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[22413]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[22666]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[22449]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[22702]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[22470]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[22723]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[22497]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[22750]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[22521]: Rotatef (offset 300) */ + /* _mesa_function_pool[22774]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[22537]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[22790]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[22579]: Vertex3i (offset 138) */ + /* _mesa_function_pool[22832]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[22595]: Vertex3f (offset 136) */ + /* _mesa_function_pool[22848]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[22611]: Clear (offset 203) */ + /* _mesa_function_pool[22864]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[22622]: Vertex3d (offset 134) */ + /* _mesa_function_pool[22875]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[22638]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[22891]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[22665]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[22918]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[22699]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[22952]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[22715]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[22968]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[22771]: Ortho (offset 296) */ + /* _mesa_function_pool[23024]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[22787]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[23040]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[22808]: ListBase (offset 6) */ + /* _mesa_function_pool[23061]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[22822]: Vertex3s (offset 140) */ + /* _mesa_function_pool[23075]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[22838]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[23091]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[22894]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[23147]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[22986]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[23239]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[23043]: ShadeModel (offset 177) */ + /* _mesa_function_pool[23296]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[23059]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[23312]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[23085]: Rectiv (offset 91) */ + /* _mesa_function_pool[23338]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[23098]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[23351]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[23136]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[23389]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[23163]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[23416]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "\0" - /* _mesa_function_pool[23190]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[23443]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[23213]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[23466]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[23232]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[23485]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[23251]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[23504]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[23271]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[23524]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[23317]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[23570]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[23332]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[23585]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[23377]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[23630]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[23422]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[23675]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[23468]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[23721]: FramebufferTextureFaceARB (will be remapped) */ + "iiiii\0" + "glFramebufferTextureFaceARB\0" + "\0" + /* _mesa_function_pool[23756]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[23483]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[23771]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[23531]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[23819]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[23566]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[23854]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[23609]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[23897]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[23626]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[23914]: PauseTransformFeedback (will be remapped) */ + "\0" + "glPauseTransformFeedback\0" + "\0" + /* _mesa_function_pool[23941]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[23669]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23984]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[23716]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[24031]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[23804]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[24119]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[23830]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[24145]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[23875]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[24190]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[23907]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[24222]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[23922]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[24237]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[23948]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[24263]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[23973]: LineWidth (offset 168) */ + /* _mesa_function_pool[24288]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[23988]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[24303]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[24019]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[24334]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[24057]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[24372]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[24077]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[24392]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[24098]: TexGendv (offset 189) */ + /* _mesa_function_pool[24413]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[24114]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[24429]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "\0" - /* _mesa_function_pool[24137]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[24452]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[24162]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[24477]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[24183]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[24498]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[24217]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[24532]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[24244]: EnableClientState (offset 313) */ + /* _mesa_function_pool[24559]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[24267]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[24582]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[24293]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[24608]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[24357]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[24672]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[24383]: MultiModeDrawArraysIBM (will be remapped) */ - "pppii\0" - "glMultiModeDrawArraysIBM\0" - "\0" - /* _mesa_function_pool[24415]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[24698]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[24459]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[24742]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[24490]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[24773]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[24527]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[24810]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[24548]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[24831]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[24570]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[24853]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[24591]: CallList (offset 2) */ + /* _mesa_function_pool[24874]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[24605]: Materialfv (offset 170) */ + /* _mesa_function_pool[24888]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[24623]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[24906]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[24640]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[24923]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[24672]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[24955]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[24717]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[25000]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[24765]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[25048]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[24810]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[25093]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[24828]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[25111]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[24881]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[25164]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[24912]: Color3iv (offset 16) */ + /* _mesa_function_pool[25195]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[24926]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[25209]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[24960]: DrawElements (offset 311) */ + /* _mesa_function_pool[25243]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[24981]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[25264]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[25007]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[25290]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[25044]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[25327]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[25104]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[25387]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[25147]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[25430]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[25202]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[25485]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[25225]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[25508]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[25298]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[25581]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[25321]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[25604]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[25352]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[25635]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[25389]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[25672]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[25406]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[25689]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[25422]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[25705]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[25442]: PopMatrix (offset 297) */ + /* _mesa_function_pool[25725]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[25456]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[25739]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[25475]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[25758]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[25495]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[25778]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[25544]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[25827]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[25590]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[25873]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[25609]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[25892]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[25635]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[25918]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[25678]: ColorMaskIndexedEXT (will be remapped) */ - "iiiii\0" - "glColorMaskIndexedEXT\0" + /* _mesa_function_pool[25961]: IsTransformFeedback (will be remapped) */ + "i\0" + "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[25707]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[25986]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[25752]: Map2d (offset 222) */ + /* _mesa_function_pool[26031]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[25772]: Map2f (offset 223) */ + /* _mesa_function_pool[26051]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[25792]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[26071]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[25817]: Vertex4s (offset 148) */ + /* _mesa_function_pool[26096]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[25834]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[26113]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[25863]: VertexAttrib3sNV (will be remapped) */ - "iiii\0" - "glVertexAttrib3sNV\0" + /* _mesa_function_pool[26142]: FragmentLightModelivSGIX (dynamic) */ + "ip\0" + "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[25888]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[26173]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[25911]: Vertex4f (offset 144) */ + /* _mesa_function_pool[26196]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[25928]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[26213]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[25945]: Vertex4d (offset 142) */ + /* _mesa_function_pool[26230]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[25962]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[26247]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[25980]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[26265]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[26006]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[26291]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[26062]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[26347]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[26081]: Vertex4i (offset 146) */ + /* _mesa_function_pool[26366]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[26098]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[26383]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[26129]: GetHistogram (offset 361) */ + /* _mesa_function_pool[26414]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[26169]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[26454]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[26195]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[26480]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[26226]: Materialf (offset 169) */ + /* _mesa_function_pool[26511]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[26243]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[26528]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[26288]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[26573]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[26313]: Materiali (offset 171) */ + /* _mesa_function_pool[26598]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[26330]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[26615]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[26356]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[26641]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[26391]: Indexsv (offset 51) */ + /* _mesa_function_pool[26676]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[26404]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[26689]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[26449]: LightModelfv (offset 164) */ + /* _mesa_function_pool[26734]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[26468]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[26753]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[26485]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[26770]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[26518]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[26803]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[26536]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[26821]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[26573]: Translated (offset 303) */ + /* _mesa_function_pool[26858]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[26591]: Translatef (offset 304) */ + /* _mesa_function_pool[26876]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[26609]: StencilMask (offset 209) */ + /* _mesa_function_pool[26894]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[26626]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[26911]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[26646]: GetLightiv (offset 265) */ + /* _mesa_function_pool[26931]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[26664]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[26949]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[26690]: IsList (offset 287) */ + /* _mesa_function_pool[26975]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[26702]: IsSync (will be remapped) */ + /* _mesa_function_pool[26987]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[26714]: RenderMode (offset 196) */ + /* _mesa_function_pool[26999]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[26730]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[27015]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[26763]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[27048]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "\0" - /* _mesa_function_pool[26815]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[27100]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[26852]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[27137]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[26880]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[27165]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[26922]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[27207]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[26965]: LoadName (offset 198) */ + /* _mesa_function_pool[27250]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[26979]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[27264]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[27006]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[27291]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[27024]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[27309]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[27058]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[27343]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[27109]: CullFace (offset 152) */ + /* _mesa_function_pool[27394]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[27123]: BindTexture (offset 307) */ + /* _mesa_function_pool[27408]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[27158]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[27443]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[27185]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[27470]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[27231]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[27516]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[27257]: StencilFunc (offset 243) */ + /* _mesa_function_pool[27542]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[27276]: CopyPixels (offset 255) */ + /* _mesa_function_pool[27561]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[27296]: Rectsv (offset 93) */ + /* _mesa_function_pool[27581]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[27309]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[27594]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[27336]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[27621]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[27394]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[27679]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[27420]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[27705]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[27483]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[27768]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[27538]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[27823]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[27565]: NormalPointer (offset 318) */ + /* _mesa_function_pool[27850]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[27586]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[27871]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[27608]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[27893]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[27636]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[27921]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[27660]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[27945]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[27705]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[27990]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[27724]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[28009]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[27751]: ClipPlane (offset 150) */ + /* _mesa_function_pool[28036]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[27767]: Recti (offset 90) */ + /* _mesa_function_pool[28052]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[27781]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[28066]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[27820]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[28105]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[27849]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[28134]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[27888]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[28173]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[27924]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[28209]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[27946]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[28231]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[27967]: Rectf (offset 88) */ + /* _mesa_function_pool[28252]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[27981]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[28266]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[28004]: Indexfv (offset 47) */ + /* _mesa_function_pool[28289]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[28017]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[28302]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[28063]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[28348]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[28115]: GetPointerv (offset 329) */ + /* _mesa_function_pool[28400]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[28150]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[28435]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[28170]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[28455]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[28197]: IndexMask (offset 212) */ + /* _mesa_function_pool[28482]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[28212]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[28497]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[28249]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[28534]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[28292]: GetFloatv (offset 262) */ + /* _mesa_function_pool[28577]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[28308]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[28593]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[28334]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[28619]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[28353]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[28638]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[28375]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[28660]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[28394]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[28679]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[28411]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[28696]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[28438]: PopAttrib (offset 218) */ + /* _mesa_function_pool[28723]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[28452]: Fogfv (offset 154) */ + /* _mesa_function_pool[28737]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[28464]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[28749]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[28498]: InitNames (offset 197) */ + /* _mesa_function_pool[28783]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[28512]: Normal3sv (offset 61) */ + /* _mesa_function_pool[28797]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[28527]: Minmax (offset 368) */ + /* _mesa_function_pool[28812]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[28553]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[28838]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[28572]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[28857]: DeformationMap3dSGIX (dynamic) */ + "iddiiddiiddiip\0" + "glDeformationMap3dSGIX\0" + "\0" + /* _mesa_function_pool[28896]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[28591]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[28915]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[28623]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[28947]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[28645]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[28969]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[28675]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[28999]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[28695]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[29019]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[28713]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[29037]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[28750]: Hint (offset 158) */ + /* _mesa_function_pool[29074]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[28761]: Color4dv (offset 28) */ + /* _mesa_function_pool[29085]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[28775]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[29099]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[28818]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[29142]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[28847]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[29171]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[28902]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[29226]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[28952]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[29276]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[28970]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[29294]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[29021]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[29345]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[29068]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[29392]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[29092]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[29416]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[29123]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[29447]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[29138]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[29462]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[29173]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[29497]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[29190]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[29514]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[29210]: Begin (offset 7) */ + /* _mesa_function_pool[29534]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[29221]: LightModeli (offset 165) */ + /* _mesa_function_pool[29545]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[29239]: Rectfv (offset 89) */ + /* _mesa_function_pool[29563]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[29252]: LightModelf (offset 163) */ + /* _mesa_function_pool[29576]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[29270]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[29594]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[29295]: GetLightfv (offset 264) */ + /* _mesa_function_pool[29619]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[29313]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[29637]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[29349]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[29673]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[29375]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[29699]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[29398]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[29722]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[29437]: Disable (offset 214) */ + /* _mesa_function_pool[29761]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[29450]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[29774]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[29495]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[29819]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[29561]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[29885]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[29589]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[29913]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[29616]: DrawArrays (offset 310) */ + /* _mesa_function_pool[29940]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[29650]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[29974]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[29669]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[29993]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[29711]: ColorMask (offset 210) */ + /* _mesa_function_pool[30035]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[29729]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[30053]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[29754]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[30078]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[29773]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[30097]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[29803]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[30127]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[29836]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[30160]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[29858]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[30182]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[29876]: Enable (offset 215) */ + /* _mesa_function_pool[30200]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[29888]: LineStipple (offset 167) */ + /* _mesa_function_pool[30212]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[29906]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[30230]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[29932]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[30256]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[29962]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[30286]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[29989]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[30313]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[30043]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[30367]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[30086]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[30410]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[30119]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[30443]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[30145]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[30469]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[30160]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[30484]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[30191]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[30515]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[30212]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[30536]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[30242]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[30566]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[30282]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[30606]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[30319]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[30643]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[30343]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[30667]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[30368]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[30692]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[30389]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[30713]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -4425,414 +4469,424 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { { 1461, AttachShader_remap_index }, - { 8848, CreateProgram_remap_index }, - { 20883, CreateShader_remap_index }, - { 23213, DeleteProgram_remap_index }, - { 16692, DeleteShader_remap_index }, - { 21329, DetachShader_remap_index }, - { 16216, GetAttachedShaders_remap_index }, + { 8995, CreateProgram_remap_index }, + { 21153, CreateShader_remap_index }, + { 23466, DeleteProgram_remap_index }, + { 16937, DeleteShader_remap_index }, + { 21599, DetachShader_remap_index }, + { 16461, GetAttachedShaders_remap_index }, { 4275, GetProgramInfoLog_remap_index }, { 361, GetProgramiv_remap_index }, - { 5608, GetShaderInfoLog_remap_index }, - { 28334, GetShaderiv_remap_index }, - { 12054, IsProgram_remap_index }, - { 11089, IsShader_remap_index }, - { 8952, StencilFuncSeparate_remap_index }, + { 5721, GetShaderInfoLog_remap_index }, + { 28619, GetShaderiv_remap_index }, + { 12198, IsProgram_remap_index }, + { 11197, IsShader_remap_index }, + { 9099, StencilFuncSeparate_remap_index }, { 3487, StencilMaskSeparate_remap_index }, - { 6684, StencilOpSeparate_remap_index }, - { 20208, UniformMatrix2x3fv_remap_index }, + { 6803, StencilOpSeparate_remap_index }, + { 20478, UniformMatrix2x3fv_remap_index }, { 2615, UniformMatrix2x4fv_remap_index }, - { 29962, UniformMatrix3x2fv_remap_index }, - { 27724, UniformMatrix3x4fv_remap_index }, - { 14716, UniformMatrix4x2fv_remap_index }, + { 30286, UniformMatrix3x2fv_remap_index }, + { 28009, UniformMatrix3x4fv_remap_index }, + { 14961, UniformMatrix4x2fv_remap_index }, { 2937, UniformMatrix4x3fv_remap_index }, - { 14377, DrawArraysInstanced_remap_index }, - { 15480, DrawElementsInstanced_remap_index }, - { 8866, LoadTransposeMatrixdARB_remap_index }, - { 28063, LoadTransposeMatrixfARB_remap_index }, - { 4848, MultTransposeMatrixdARB_remap_index }, - { 21516, MultTransposeMatrixfARB_remap_index }, + { 14622, DrawArraysInstanced_remap_index }, + { 15725, DrawElementsInstanced_remap_index }, + { 9013, LoadTransposeMatrixdARB_remap_index }, + { 28348, LoadTransposeMatrixfARB_remap_index }, + { 4904, MultTransposeMatrixdARB_remap_index }, + { 21786, MultTransposeMatrixfARB_remap_index }, { 172, SampleCoverageARB_remap_index }, - { 5032, CompressedTexImage1DARB_remap_index }, - { 22016, CompressedTexImage2DARB_remap_index }, + { 5117, CompressedTexImage1DARB_remap_index }, + { 22269, CompressedTexImage2DARB_remap_index }, { 3550, CompressedTexImage3DARB_remap_index }, - { 16508, CompressedTexSubImage1DARB_remap_index }, + { 16753, CompressedTexSubImage1DARB_remap_index }, { 1880, CompressedTexSubImage2DARB_remap_index }, - { 18369, CompressedTexSubImage3DARB_remap_index }, - { 26006, GetCompressedTexImageARB_remap_index }, + { 18614, CompressedTexSubImage3DARB_remap_index }, + { 26291, GetCompressedTexImageARB_remap_index }, { 3395, DisableVertexAttribArrayARB_remap_index }, - { 27336, EnableVertexAttribArrayARB_remap_index }, - { 29138, GetProgramEnvParameterdvARB_remap_index }, - { 21396, GetProgramEnvParameterfvARB_remap_index }, - { 25007, GetProgramLocalParameterdvARB_remap_index }, - { 7126, GetProgramLocalParameterfvARB_remap_index }, - { 16599, GetProgramStringARB_remap_index }, - { 25202, GetProgramivARB_remap_index }, - { 18564, GetVertexAttribdvARB_remap_index }, - { 14605, GetVertexAttribfvARB_remap_index }, - { 8761, GetVertexAttribivARB_remap_index }, - { 17445, ProgramEnvParameter4dARB_remap_index }, - { 22986, ProgramEnvParameter4dvARB_remap_index }, - { 15213, ProgramEnvParameter4fARB_remap_index }, - { 7989, ProgramEnvParameter4fvARB_remap_index }, + { 27621, EnableVertexAttribArrayARB_remap_index }, + { 29462, GetProgramEnvParameterdvARB_remap_index }, + { 21666, GetProgramEnvParameterfvARB_remap_index }, + { 25290, GetProgramLocalParameterdvARB_remap_index }, + { 7245, GetProgramLocalParameterfvARB_remap_index }, + { 16844, GetProgramStringARB_remap_index }, + { 25485, GetProgramivARB_remap_index }, + { 18809, GetVertexAttribdvARB_remap_index }, + { 14850, GetVertexAttribfvARB_remap_index }, + { 8908, GetVertexAttribivARB_remap_index }, + { 17690, ProgramEnvParameter4dARB_remap_index }, + { 23239, ProgramEnvParameter4dvARB_remap_index }, + { 15458, ProgramEnvParameter4fARB_remap_index }, + { 8108, ProgramEnvParameter4fvARB_remap_index }, { 3513, ProgramLocalParameter4dARB_remap_index }, - { 11764, ProgramLocalParameter4dvARB_remap_index }, - { 26815, ProgramLocalParameter4fARB_remap_index }, - { 23531, ProgramLocalParameter4fvARB_remap_index }, - { 25792, ProgramStringARB_remap_index }, - { 17695, VertexAttrib1dARB_remap_index }, - { 14181, VertexAttrib1dvARB_remap_index }, + { 11908, ProgramLocalParameter4dvARB_remap_index }, + { 27100, ProgramLocalParameter4fARB_remap_index }, + { 23819, ProgramLocalParameter4fvARB_remap_index }, + { 26071, ProgramStringARB_remap_index }, + { 17940, VertexAttrib1dARB_remap_index }, + { 14426, VertexAttrib1dvARB_remap_index }, { 3688, VertexAttrib1fARB_remap_index }, - { 30043, VertexAttrib1fvARB_remap_index }, - { 6210, VertexAttrib1sARB_remap_index }, + { 30367, VertexAttrib1fvARB_remap_index }, + { 6329, VertexAttrib1sARB_remap_index }, { 2054, VertexAttrib1svARB_remap_index }, - { 13612, VertexAttrib2dARB_remap_index }, - { 15835, VertexAttrib2dvARB_remap_index }, + { 13857, VertexAttrib2dARB_remap_index }, + { 16080, VertexAttrib2dvARB_remap_index }, { 1480, VertexAttrib2fARB_remap_index }, - { 15948, VertexAttrib2fvARB_remap_index }, - { 29669, VertexAttrib2sARB_remap_index }, - { 28775, VertexAttrib2svARB_remap_index }, - { 10135, VertexAttrib3dARB_remap_index }, - { 7692, VertexAttrib3dvARB_remap_index }, + { 16193, VertexAttrib2fvARB_remap_index }, + { 29993, VertexAttrib2sARB_remap_index }, + { 29099, VertexAttrib2svARB_remap_index }, + { 10282, VertexAttrib3dARB_remap_index }, + { 7811, VertexAttrib3dvARB_remap_index }, { 1567, VertexAttrib3fARB_remap_index }, - { 20471, VertexAttrib3fvARB_remap_index }, - { 25635, VertexAttrib3sARB_remap_index }, - { 18306, VertexAttrib3svARB_remap_index }, + { 20741, VertexAttrib3fvARB_remap_index }, + { 25918, VertexAttrib3sARB_remap_index }, + { 18551, VertexAttrib3svARB_remap_index }, { 4301, VertexAttrib4NbvARB_remap_index }, - { 16171, VertexAttrib4NivARB_remap_index }, - { 20426, VertexAttrib4NsvARB_remap_index }, - { 21348, VertexAttrib4NubARB_remap_index }, - { 29021, VertexAttrib4NubvARB_remap_index }, - { 17106, VertexAttrib4NuivARB_remap_index }, + { 16416, VertexAttrib4NivARB_remap_index }, + { 20696, VertexAttrib4NsvARB_remap_index }, + { 21618, VertexAttrib4NubARB_remap_index }, + { 29345, VertexAttrib4NubvARB_remap_index }, + { 17351, VertexAttrib4NuivARB_remap_index }, { 2810, VertexAttrib4NusvARB_remap_index }, - { 9729, VertexAttrib4bvARB_remap_index }, - { 24415, VertexAttrib4dARB_remap_index }, - { 19328, VertexAttrib4dvARB_remap_index }, - { 10242, VertexAttrib4fARB_remap_index }, - { 10646, VertexAttrib4fvARB_remap_index }, - { 9145, VertexAttrib4ivARB_remap_index }, - { 15649, VertexAttrib4sARB_remap_index }, - { 28249, VertexAttrib4svARB_remap_index }, - { 15018, VertexAttrib4ubvARB_remap_index }, - { 27660, VertexAttrib4uivARB_remap_index }, - { 18117, VertexAttrib4usvARB_remap_index }, - { 20082, VertexAttribPointerARB_remap_index }, - { 29803, BindBufferARB_remap_index }, - { 5923, BufferDataARB_remap_index }, + { 9876, VertexAttrib4bvARB_remap_index }, + { 24698, VertexAttrib4dARB_remap_index }, + { 19573, VertexAttrib4dvARB_remap_index }, + { 10389, VertexAttrib4fARB_remap_index }, + { 10793, VertexAttrib4fvARB_remap_index }, + { 9292, VertexAttrib4ivARB_remap_index }, + { 15894, VertexAttrib4sARB_remap_index }, + { 28534, VertexAttrib4svARB_remap_index }, + { 15263, VertexAttrib4ubvARB_remap_index }, + { 27945, VertexAttrib4uivARB_remap_index }, + { 18362, VertexAttrib4usvARB_remap_index }, + { 20327, VertexAttribPointerARB_remap_index }, + { 30127, BindBufferARB_remap_index }, + { 6036, BufferDataARB_remap_index }, { 1382, BufferSubDataARB_remap_index }, - { 27849, DeleteBuffersARB_remap_index }, - { 30086, GenBuffersARB_remap_index }, - { 15991, GetBufferParameterivARB_remap_index }, - { 15165, GetBufferPointervARB_remap_index }, + { 28134, DeleteBuffersARB_remap_index }, + { 30410, GenBuffersARB_remap_index }, + { 16236, GetBufferParameterivARB_remap_index }, + { 15410, GetBufferPointervARB_remap_index }, { 1335, GetBufferSubDataARB_remap_index }, - { 27608, IsBufferARB_remap_index }, - { 23988, MapBufferARB_remap_index }, - { 28464, UnmapBufferARB_remap_index }, + { 27893, IsBufferARB_remap_index }, + { 24303, MapBufferARB_remap_index }, + { 28749, UnmapBufferARB_remap_index }, { 268, BeginQueryARB_remap_index }, - { 17790, DeleteQueriesARB_remap_index }, - { 10940, EndQueryARB_remap_index }, - { 26485, GenQueriesARB_remap_index }, + { 18035, DeleteQueriesARB_remap_index }, + { 11087, EndQueryARB_remap_index }, + { 26770, GenQueriesARB_remap_index }, { 1772, GetQueryObjectivARB_remap_index }, - { 15693, GetQueryObjectuivARB_remap_index }, + { 15938, GetQueryObjectuivARB_remap_index }, { 1624, GetQueryivARB_remap_index }, - { 18024, IsQueryARB_remap_index }, - { 7302, AttachObjectARB_remap_index }, - { 16654, CompileShaderARB_remap_index }, + { 18269, IsQueryARB_remap_index }, + { 7421, AttachObjectARB_remap_index }, + { 16899, CompileShaderARB_remap_index }, { 2879, CreateProgramObjectARB_remap_index }, - { 5868, CreateShaderObjectARB_remap_index }, - { 13029, DeleteObjectARB_remap_index }, - { 21790, DetachObjectARB_remap_index }, - { 10718, GetActiveUniformARB_remap_index }, - { 8464, GetAttachedObjectsARB_remap_index }, - { 8743, GetHandleARB_remap_index }, - { 29836, GetInfoLogARB_remap_index }, - { 29092, GetObjectParameterfvARB_remap_index }, - { 24881, GetObjectParameterivARB_remap_index }, - { 26243, GetShaderSourceARB_remap_index }, - { 25495, GetUniformLocationARB_remap_index }, - { 21618, GetUniformfvARB_remap_index }, - { 11386, GetUniformivARB_remap_index }, - { 18162, LinkProgramARB_remap_index }, - { 18220, ShaderSourceARB_remap_index }, - { 6584, Uniform1fARB_remap_index }, - { 27024, Uniform1fvARB_remap_index }, - { 20051, Uniform1iARB_remap_index }, - { 19017, Uniform1ivARB_remap_index }, + { 5981, CreateShaderObjectARB_remap_index }, + { 13274, DeleteObjectARB_remap_index }, + { 22060, DetachObjectARB_remap_index }, + { 10865, GetActiveUniformARB_remap_index }, + { 8583, GetAttachedObjectsARB_remap_index }, + { 8890, GetHandleARB_remap_index }, + { 30160, GetInfoLogARB_remap_index }, + { 29416, GetObjectParameterfvARB_remap_index }, + { 25164, GetObjectParameterivARB_remap_index }, + { 26528, GetShaderSourceARB_remap_index }, + { 25778, GetUniformLocationARB_remap_index }, + { 21888, GetUniformfvARB_remap_index }, + { 11530, GetUniformivARB_remap_index }, + { 18407, LinkProgramARB_remap_index }, + { 18465, ShaderSourceARB_remap_index }, + { 6703, Uniform1fARB_remap_index }, + { 27309, Uniform1fvARB_remap_index }, + { 20296, Uniform1iARB_remap_index }, + { 19262, Uniform1ivARB_remap_index }, { 2003, Uniform2fARB_remap_index }, - { 12865, Uniform2fvARB_remap_index }, - { 23875, Uniform2iARB_remap_index }, + { 13110, Uniform2fvARB_remap_index }, + { 24190, Uniform2iARB_remap_index }, { 2123, Uniform2ivARB_remap_index }, - { 16764, Uniform3fARB_remap_index }, - { 8494, Uniform3fvARB_remap_index }, - { 5542, Uniform3iARB_remap_index }, - { 15271, Uniform3ivARB_remap_index }, - { 17251, Uniform4fARB_remap_index }, - { 21482, Uniform4fvARB_remap_index }, - { 22665, Uniform4iARB_remap_index }, - { 18530, Uniform4ivARB_remap_index }, - { 7354, UniformMatrix2fvARB_remap_index }, + { 17009, Uniform3fARB_remap_index }, + { 8613, Uniform3fvARB_remap_index }, + { 5627, Uniform3iARB_remap_index }, + { 15516, Uniform3ivARB_remap_index }, + { 17496, Uniform4fARB_remap_index }, + { 21752, Uniform4fvARB_remap_index }, + { 22918, Uniform4iARB_remap_index }, + { 18775, Uniform4ivARB_remap_index }, + { 7473, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, { 2475, UniformMatrix4fvARB_remap_index }, - { 23098, UseProgramObjectARB_remap_index }, - { 13300, ValidateProgramARB_remap_index }, - { 19371, BindAttribLocationARB_remap_index }, + { 23351, UseProgramObjectARB_remap_index }, + { 13545, ValidateProgramARB_remap_index }, + { 19616, BindAttribLocationARB_remap_index }, { 4346, GetActiveAttribARB_remap_index }, - { 14952, GetAttribLocationARB_remap_index }, - { 26763, DrawBuffersARB_remap_index }, - { 11869, RenderbufferStorageMultisample_remap_index }, - { 17299, FlushMappedBufferRange_remap_index }, - { 25298, MapBufferRange_remap_index }, - { 14827, BindVertexArray_remap_index }, - { 13159, GenVertexArrays_remap_index }, - { 27538, CopyBufferSubData_remap_index }, - { 28353, ClientWaitSync_remap_index }, + { 15197, GetAttribLocationARB_remap_index }, + { 27048, DrawBuffersARB_remap_index }, + { 12013, RenderbufferStorageMultisample_remap_index }, + { 12417, FramebufferTextureARB_remap_index }, + { 23721, FramebufferTextureFaceARB_remap_index }, + { 22209, ProgramParameteriARB_remap_index }, + { 17544, FlushMappedBufferRange_remap_index }, + { 25581, MapBufferRange_remap_index }, + { 15072, BindVertexArray_remap_index }, + { 13404, GenVertexArrays_remap_index }, + { 27823, CopyBufferSubData_remap_index }, + { 28638, ClientWaitSync_remap_index }, { 2394, DeleteSync_remap_index }, - { 6251, FenceSync_remap_index }, - { 13671, GetInteger64v_remap_index }, - { 20533, GetSynciv_remap_index }, - { 26702, IsSync_remap_index }, - { 8412, WaitSync_remap_index }, + { 6370, FenceSync_remap_index }, + { 13916, GetInteger64v_remap_index }, + { 20803, GetSynciv_remap_index }, + { 26987, IsSync_remap_index }, + { 8531, WaitSync_remap_index }, { 3363, DrawElementsBaseVertex_remap_index }, - { 27781, DrawRangeElementsBaseVertex_remap_index }, - { 24019, MultiDrawElementsBaseVertex_remap_index }, - { 4711, PolygonOffsetEXT_remap_index }, - { 21118, GetPixelTexGenParameterfvSGIS_remap_index }, + { 28066, DrawRangeElementsBaseVertex_remap_index }, + { 24334, MultiDrawElementsBaseVertex_remap_index }, + { 4480, BindTransformFeedback_remap_index }, + { 2906, DeleteTransformFeedbacks_remap_index }, + { 5660, DrawTransformFeedback_remap_index }, + { 8750, GenTransformFeedbacks_remap_index }, + { 25961, IsTransformFeedback_remap_index }, + { 23914, PauseTransformFeedback_remap_index }, + { 4824, ResumeTransformFeedback_remap_index }, + { 4739, PolygonOffsetEXT_remap_index }, + { 21388, GetPixelTexGenParameterfvSGIS_remap_index }, { 3895, GetPixelTexGenParameterivSGIS_remap_index }, - { 20851, PixelTexGenParameterfSGIS_remap_index }, + { 21121, PixelTexGenParameterfSGIS_remap_index }, { 580, PixelTexGenParameterfvSGIS_remap_index }, - { 11424, PixelTexGenParameteriSGIS_remap_index }, - { 12385, PixelTexGenParameterivSGIS_remap_index }, - { 14915, SampleMaskSGIS_remap_index }, - { 17964, SamplePatternSGIS_remap_index }, - { 23948, ColorPointerEXT_remap_index }, - { 15878, EdgeFlagPointerEXT_remap_index }, - { 5196, IndexPointerEXT_remap_index }, - { 5276, NormalPointerEXT_remap_index }, - { 14265, TexCoordPointerEXT_remap_index }, - { 6046, VertexPointerEXT_remap_index }, + { 11568, PixelTexGenParameteriSGIS_remap_index }, + { 12591, PixelTexGenParameterivSGIS_remap_index }, + { 15160, SampleMaskSGIS_remap_index }, + { 18209, SamplePatternSGIS_remap_index }, + { 24263, ColorPointerEXT_remap_index }, + { 16123, EdgeFlagPointerEXT_remap_index }, + { 5281, IndexPointerEXT_remap_index }, + { 5361, NormalPointerEXT_remap_index }, + { 14510, TexCoordPointerEXT_remap_index }, + { 6159, VertexPointerEXT_remap_index }, { 3165, PointParameterfEXT_remap_index }, - { 6891, PointParameterfvEXT_remap_index }, - { 29190, LockArraysEXT_remap_index }, - { 13364, UnlockArraysEXT_remap_index }, - { 7898, CullParameterdvEXT_remap_index }, - { 10513, CullParameterfvEXT_remap_index }, + { 7010, PointParameterfvEXT_remap_index }, + { 29514, LockArraysEXT_remap_index }, + { 13609, UnlockArraysEXT_remap_index }, + { 8017, CullParameterdvEXT_remap_index }, + { 10660, CullParameterfvEXT_remap_index }, { 1151, SecondaryColor3bEXT_remap_index }, - { 7050, SecondaryColor3bvEXT_remap_index }, - { 9322, SecondaryColor3dEXT_remap_index }, - { 23271, SecondaryColor3dvEXT_remap_index }, - { 25544, SecondaryColor3fEXT_remap_index }, - { 16444, SecondaryColor3fvEXT_remap_index }, + { 7169, SecondaryColor3bvEXT_remap_index }, + { 9469, SecondaryColor3dEXT_remap_index }, + { 23524, SecondaryColor3dvEXT_remap_index }, + { 25827, SecondaryColor3fEXT_remap_index }, + { 16689, SecondaryColor3fvEXT_remap_index }, { 426, SecondaryColor3iEXT_remap_index }, - { 14653, SecondaryColor3ivEXT_remap_index }, - { 8980, SecondaryColor3sEXT_remap_index }, - { 28017, SecondaryColor3svEXT_remap_index }, - { 24717, SecondaryColor3ubEXT_remap_index }, - { 19262, SecondaryColor3ubvEXT_remap_index }, - { 11619, SecondaryColor3uiEXT_remap_index }, - { 20738, SecondaryColor3uivEXT_remap_index }, - { 23483, SecondaryColor3usEXT_remap_index }, - { 11692, SecondaryColor3usvEXT_remap_index }, - { 10589, SecondaryColorPointerEXT_remap_index }, - { 23332, MultiDrawArraysEXT_remap_index }, - { 18952, MultiDrawElementsEXT_remap_index }, - { 19147, FogCoordPointerEXT_remap_index }, + { 14898, SecondaryColor3ivEXT_remap_index }, + { 9127, SecondaryColor3sEXT_remap_index }, + { 28302, SecondaryColor3svEXT_remap_index }, + { 25000, SecondaryColor3ubEXT_remap_index }, + { 19507, SecondaryColor3ubvEXT_remap_index }, + { 11763, SecondaryColor3uiEXT_remap_index }, + { 21008, SecondaryColor3uivEXT_remap_index }, + { 23771, SecondaryColor3usEXT_remap_index }, + { 11836, SecondaryColor3usvEXT_remap_index }, + { 10736, SecondaryColorPointerEXT_remap_index }, + { 23585, MultiDrawArraysEXT_remap_index }, + { 19197, MultiDrawElementsEXT_remap_index }, + { 19392, FogCoordPointerEXT_remap_index }, { 4044, FogCoorddEXT_remap_index }, - { 28591, FogCoorddvEXT_remap_index }, + { 28915, FogCoorddvEXT_remap_index }, { 4136, FogCoordfEXT_remap_index }, - { 24640, FogCoordfvEXT_remap_index }, - { 17203, PixelTexGenSGIX_remap_index }, - { 25225, BlendFuncSeparateEXT_remap_index }, - { 5958, FlushVertexArrayRangeNV_remap_index }, - { 4660, VertexArrayRangeNV_remap_index }, - { 25609, CombinerInputNV_remap_index }, + { 24923, FogCoordfvEXT_remap_index }, + { 17448, PixelTexGenSGIX_remap_index }, + { 25508, BlendFuncSeparateEXT_remap_index }, + { 6071, FlushVertexArrayRangeNV_remap_index }, + { 4688, VertexArrayRangeNV_remap_index }, + { 25892, CombinerInputNV_remap_index }, { 1946, CombinerOutputNV_remap_index }, - { 28170, CombinerParameterfNV_remap_index }, - { 4580, CombinerParameterfvNV_remap_index }, - { 20257, CombinerParameteriNV_remap_index }, - { 29561, CombinerParameterivNV_remap_index }, - { 6328, FinalCombinerInputNV_remap_index }, - { 8809, GetCombinerInputParameterfvNV_remap_index }, - { 29398, GetCombinerInputParameterivNV_remap_index }, - { 6127, GetCombinerOutputParameterfvNV_remap_index }, - { 12346, GetCombinerOutputParameterivNV_remap_index }, - { 5703, GetFinalCombinerInputParameterfvNV_remap_index }, - { 22537, GetFinalCombinerInputParameterivNV_remap_index }, - { 11364, ResizeBuffersMESA_remap_index }, - { 9962, WindowPos2dMESA_remap_index }, + { 28455, CombinerParameterfNV_remap_index }, + { 4608, CombinerParameterfvNV_remap_index }, + { 20527, CombinerParameteriNV_remap_index }, + { 29885, CombinerParameterivNV_remap_index }, + { 6447, FinalCombinerInputNV_remap_index }, + { 8956, GetCombinerInputParameterfvNV_remap_index }, + { 29722, GetCombinerInputParameterivNV_remap_index }, + { 12692, GetCombinerOutputParameterfvNV_remap_index }, + { 12520, GetCombinerOutputParameterivNV_remap_index }, + { 5816, GetFinalCombinerInputParameterfvNV_remap_index }, + { 22790, GetFinalCombinerInputParameterivNV_remap_index }, + { 11508, ResizeBuffersMESA_remap_index }, + { 10109, WindowPos2dMESA_remap_index }, { 944, WindowPos2dvMESA_remap_index }, - { 30389, WindowPos2fMESA_remap_index }, - { 6995, WindowPos2fvMESA_remap_index }, - { 16391, WindowPos2iMESA_remap_index }, - { 18437, WindowPos2ivMESA_remap_index }, - { 19051, WindowPos2sMESA_remap_index }, - { 4946, WindowPos2svMESA_remap_index }, - { 6820, WindowPos3dMESA_remap_index }, - { 12593, WindowPos3dvMESA_remap_index }, + { 30713, WindowPos2fMESA_remap_index }, + { 7114, WindowPos2fvMESA_remap_index }, + { 16636, WindowPos2iMESA_remap_index }, + { 18682, WindowPos2ivMESA_remap_index }, + { 19296, WindowPos2sMESA_remap_index }, + { 5031, WindowPos2svMESA_remap_index }, + { 6939, WindowPos3dMESA_remap_index }, + { 12838, WindowPos3dvMESA_remap_index }, { 472, WindowPos3fMESA_remap_index }, - { 13425, WindowPos3fvMESA_remap_index }, - { 21832, WindowPos3iMESA_remap_index }, - { 27483, WindowPos3ivMESA_remap_index }, - { 16909, WindowPos3sMESA_remap_index }, - { 28847, WindowPos3svMESA_remap_index }, - { 9913, WindowPos4dMESA_remap_index }, - { 15356, WindowPos4dvMESA_remap_index }, - { 12552, WindowPos4fMESA_remap_index }, - { 27924, WindowPos4fvMESA_remap_index }, - { 27636, WindowPos4iMESA_remap_index }, - { 11203, WindowPos4ivMESA_remap_index }, - { 17082, WindowPos4sMESA_remap_index }, + { 13670, WindowPos3fvMESA_remap_index }, + { 22102, WindowPos3iMESA_remap_index }, + { 27768, WindowPos3ivMESA_remap_index }, + { 17154, WindowPos3sMESA_remap_index }, + { 29171, WindowPos3svMESA_remap_index }, + { 10060, WindowPos4dMESA_remap_index }, + { 15601, WindowPos4dvMESA_remap_index }, + { 12797, WindowPos4fMESA_remap_index }, + { 28209, WindowPos4fvMESA_remap_index }, + { 27921, WindowPos4iMESA_remap_index }, + { 11311, WindowPos4ivMESA_remap_index }, + { 17327, WindowPos4sMESA_remap_index }, { 2857, WindowPos4svMESA_remap_index }, - { 24383, MultiModeDrawArraysIBM_remap_index }, - { 26356, MultiModeDrawElementsIBM_remap_index }, - { 10968, DeleteFencesNV_remap_index }, - { 25456, FinishFenceNV_remap_index }, + { 12559, MultiModeDrawArraysIBM_remap_index }, + { 26641, MultiModeDrawElementsIBM_remap_index }, + { 11115, DeleteFencesNV_remap_index }, + { 25739, FinishFenceNV_remap_index }, { 3287, GenFencesNV_remap_index }, - { 15336, GetFenceivNV_remap_index }, - { 7287, IsFenceNV_remap_index }, - { 12273, SetFenceNV_remap_index }, + { 15581, GetFenceivNV_remap_index }, + { 7406, IsFenceNV_remap_index }, + { 12447, SetFenceNV_remap_index }, { 3744, TestFenceNV_remap_index }, - { 28818, AreProgramsResidentNV_remap_index }, - { 28212, BindProgramNV_remap_index }, - { 23566, DeleteProgramsNV_remap_index }, - { 19480, ExecuteProgramNV_remap_index }, - { 30282, GenProgramsNV_remap_index }, - { 21197, GetProgramParameterdvNV_remap_index }, - { 9384, GetProgramParameterfvNV_remap_index }, - { 23922, GetProgramStringNV_remap_index }, - { 22226, GetProgramivNV_remap_index }, - { 21431, GetTrackMatrixivNV_remap_index }, - { 23716, GetVertexAttribPointervNV_remap_index }, - { 22470, GetVertexAttribdvNV_remap_index }, - { 8307, GetVertexAttribfvNV_remap_index }, - { 16572, GetVertexAttribivNV_remap_index }, - { 17329, IsProgramNV_remap_index }, - { 8390, LoadProgramNV_remap_index }, - { 25321, ProgramParameters4dvNV_remap_index }, - { 22156, ProgramParameters4fvNV_remap_index }, - { 18741, RequestResidentProgramsNV_remap_index }, - { 20235, TrackMatrixNV_remap_index }, - { 29375, VertexAttrib1dNV_remap_index }, - { 12214, VertexAttrib1dvNV_remap_index }, - { 25888, VertexAttrib1fNV_remap_index }, + { 29142, AreProgramsResidentNV_remap_index }, + { 28497, BindProgramNV_remap_index }, + { 23854, DeleteProgramsNV_remap_index }, + { 19725, ExecuteProgramNV_remap_index }, + { 30606, GenProgramsNV_remap_index }, + { 21467, GetProgramParameterdvNV_remap_index }, + { 9531, GetProgramParameterfvNV_remap_index }, + { 24237, GetProgramStringNV_remap_index }, + { 22479, GetProgramivNV_remap_index }, + { 21701, GetTrackMatrixivNV_remap_index }, + { 24031, GetVertexAttribPointervNV_remap_index }, + { 22723, GetVertexAttribdvNV_remap_index }, + { 8426, GetVertexAttribfvNV_remap_index }, + { 16817, GetVertexAttribivNV_remap_index }, + { 17574, IsProgramNV_remap_index }, + { 8509, LoadProgramNV_remap_index }, + { 25604, ProgramParameters4dvNV_remap_index }, + { 22409, ProgramParameters4fvNV_remap_index }, + { 18986, RequestResidentProgramsNV_remap_index }, + { 20505, TrackMatrixNV_remap_index }, + { 29699, VertexAttrib1dNV_remap_index }, + { 12358, VertexAttrib1dvNV_remap_index }, + { 26173, VertexAttrib1fNV_remap_index }, { 2245, VertexAttrib1fvNV_remap_index }, - { 27981, VertexAttrib1sNV_remap_index }, - { 13498, VertexAttrib1svNV_remap_index }, + { 28266, VertexAttrib1sNV_remap_index }, + { 13743, VertexAttrib1svNV_remap_index }, { 4251, VertexAttrib2dNV_remap_index }, - { 12129, VertexAttrib2dvNV_remap_index }, - { 18196, VertexAttrib2fNV_remap_index }, - { 11740, VertexAttrib2fvNV_remap_index }, - { 5106, VertexAttrib2sNV_remap_index }, - { 16963, VertexAttrib2svNV_remap_index }, - { 10110, VertexAttrib3dNV_remap_index }, - { 29068, VertexAttrib3dvNV_remap_index }, - { 9196, VertexAttrib3fNV_remap_index }, - { 22497, VertexAttrib3fvNV_remap_index }, - { 25863, VertexAttrib3sNV_remap_index }, - { 21458, VertexAttrib3svNV_remap_index }, - { 26330, VertexAttrib4dNV_remap_index }, - { 30319, VertexAttrib4dvNV_remap_index }, + { 12273, VertexAttrib2dvNV_remap_index }, + { 18441, VertexAttrib2fNV_remap_index }, + { 11884, VertexAttrib2fvNV_remap_index }, + { 5191, VertexAttrib2sNV_remap_index }, + { 17208, VertexAttrib2svNV_remap_index }, + { 10257, VertexAttrib3dNV_remap_index }, + { 29392, VertexAttrib3dvNV_remap_index }, + { 9343, VertexAttrib3fNV_remap_index }, + { 22750, VertexAttrib3fvNV_remap_index }, + { 20382, VertexAttrib3sNV_remap_index }, + { 21728, VertexAttrib3svNV_remap_index }, + { 26615, VertexAttrib4dNV_remap_index }, + { 30643, VertexAttrib4dvNV_remap_index }, { 3945, VertexAttrib4fNV_remap_index }, - { 8440, VertexAttrib4fvNV_remap_index }, - { 24267, VertexAttrib4sNV_remap_index }, + { 8559, VertexAttrib4fvNV_remap_index }, + { 24582, VertexAttrib4sNV_remap_index }, { 1293, VertexAttrib4svNV_remap_index }, { 4409, VertexAttrib4ubNV_remap_index }, { 734, VertexAttrib4ubvNV_remap_index }, - { 19660, VertexAttribPointerNV_remap_index }, + { 19905, VertexAttribPointerNV_remap_index }, { 2097, VertexAttribs1dvNV_remap_index }, - { 23804, VertexAttribs1fvNV_remap_index }, - { 30119, VertexAttribs1svNV_remap_index }, - { 9221, VertexAttribs2dvNV_remap_index }, - { 23059, VertexAttribs2fvNV_remap_index }, - { 15904, VertexAttribs2svNV_remap_index }, - { 4608, VertexAttribs3dvNV_remap_index }, + { 24119, VertexAttribs1fvNV_remap_index }, + { 30443, VertexAttribs1svNV_remap_index }, + { 9368, VertexAttribs2dvNV_remap_index }, + { 23312, VertexAttribs2fvNV_remap_index }, + { 16149, VertexAttribs2svNV_remap_index }, + { 4636, VertexAttribs3dvNV_remap_index }, { 1977, VertexAttribs3fvNV_remap_index }, - { 27231, VertexAttribs3svNV_remap_index }, - { 24357, VertexAttribs4dvNV_remap_index }, - { 4634, VertexAttribs4fvNV_remap_index }, - { 29906, VertexAttribs4svNV_remap_index }, - { 26979, VertexAttribs4ubvNV_remap_index }, - { 24459, GetTexBumpParameterfvATI_remap_index }, - { 30160, GetTexBumpParameterivATI_remap_index }, - { 16626, TexBumpParameterfvATI_remap_index }, - { 18612, TexBumpParameterivATI_remap_index }, - { 14044, AlphaFragmentOp1ATI_remap_index }, - { 9772, AlphaFragmentOp2ATI_remap_index }, - { 22413, AlphaFragmentOp3ATI_remap_index }, - { 27158, BeginFragmentShaderATI_remap_index }, - { 28411, BindFragmentShaderATI_remap_index }, - { 21587, ColorFragmentOp1ATI_remap_index }, + { 27516, VertexAttribs3svNV_remap_index }, + { 24672, VertexAttribs4dvNV_remap_index }, + { 4662, VertexAttribs4fvNV_remap_index }, + { 30230, VertexAttribs4svNV_remap_index }, + { 27264, VertexAttribs4ubvNV_remap_index }, + { 24742, GetTexBumpParameterfvATI_remap_index }, + { 30484, GetTexBumpParameterivATI_remap_index }, + { 16871, TexBumpParameterfvATI_remap_index }, + { 18857, TexBumpParameterivATI_remap_index }, + { 14289, AlphaFragmentOp1ATI_remap_index }, + { 9919, AlphaFragmentOp2ATI_remap_index }, + { 22666, AlphaFragmentOp3ATI_remap_index }, + { 27443, BeginFragmentShaderATI_remap_index }, + { 28696, BindFragmentShaderATI_remap_index }, + { 21857, ColorFragmentOp1ATI_remap_index }, { 3823, ColorFragmentOp2ATI_remap_index }, - { 28713, ColorFragmentOp3ATI_remap_index }, - { 4753, DeleteFragmentShaderATI_remap_index }, - { 30343, EndFragmentShaderATI_remap_index }, - { 29589, GenFragmentShadersATI_remap_index }, - { 23190, PassTexCoordATI_remap_index }, - { 6026, SampleMapATI_remap_index }, - { 5799, SetFragmentShaderConstantATI_remap_index }, + { 29037, ColorFragmentOp3ATI_remap_index }, + { 4781, DeleteFragmentShaderATI_remap_index }, + { 30667, EndFragmentShaderATI_remap_index }, + { 29913, GenFragmentShadersATI_remap_index }, + { 23443, PassTexCoordATI_remap_index }, + { 6139, SampleMapATI_remap_index }, + { 5912, SetFragmentShaderConstantATI_remap_index }, { 319, PointParameteriNV_remap_index }, - { 12754, PointParameterivNV_remap_index }, - { 26169, ActiveStencilFaceEXT_remap_index }, - { 24981, BindVertexArrayAPPLE_remap_index }, + { 12999, PointParameterivNV_remap_index }, + { 26454, ActiveStencilFaceEXT_remap_index }, + { 25264, BindVertexArrayAPPLE_remap_index }, { 2522, DeleteVertexArraysAPPLE_remap_index }, - { 16243, GenVertexArraysAPPLE_remap_index }, - { 21262, IsVertexArrayAPPLE_remap_index }, + { 16488, GenVertexArraysAPPLE_remap_index }, + { 21532, IsVertexArrayAPPLE_remap_index }, { 775, GetProgramNamedParameterdvNV_remap_index }, { 3128, GetProgramNamedParameterfvNV_remap_index }, - { 24490, ProgramNamedParameter4dNV_remap_index }, - { 13080, ProgramNamedParameter4dvNV_remap_index }, - { 7923, ProgramNamedParameter4fNV_remap_index }, - { 10554, ProgramNamedParameter4fvNV_remap_index }, - { 22135, DepthBoundsEXT_remap_index }, + { 24773, ProgramNamedParameter4dNV_remap_index }, + { 13325, ProgramNamedParameter4dvNV_remap_index }, + { 8042, ProgramNamedParameter4fNV_remap_index }, + { 10701, ProgramNamedParameter4fvNV_remap_index }, + { 22388, DepthBoundsEXT_remap_index }, { 1043, BlendEquationSeparateEXT_remap_index }, - { 13199, BindFramebufferEXT_remap_index }, - { 23377, BindRenderbufferEXT_remap_index }, - { 8659, CheckFramebufferStatusEXT_remap_index }, - { 20552, DeleteFramebuffersEXT_remap_index }, - { 28970, DeleteRenderbuffersEXT_remap_index }, - { 12153, FramebufferRenderbufferEXT_remap_index }, - { 12290, FramebufferTexture1DEXT_remap_index }, - { 10348, FramebufferTexture2DEXT_remap_index }, - { 10015, FramebufferTexture3DEXT_remap_index }, - { 21154, GenFramebuffersEXT_remap_index }, - { 15790, GenRenderbuffersEXT_remap_index }, - { 5745, GenerateMipmapEXT_remap_index }, - { 19757, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 29495, GetRenderbufferParameterivEXT_remap_index }, - { 18492, IsFramebufferEXT_remap_index }, - { 30242, IsRenderbufferEXT_remap_index }, - { 7234, RenderbufferStorageEXT_remap_index }, + { 13444, BindFramebufferEXT_remap_index }, + { 23630, BindRenderbufferEXT_remap_index }, + { 8806, CheckFramebufferStatusEXT_remap_index }, + { 20822, DeleteFramebuffersEXT_remap_index }, + { 29294, DeleteRenderbuffersEXT_remap_index }, + { 12297, FramebufferRenderbufferEXT_remap_index }, + { 12464, FramebufferTexture1DEXT_remap_index }, + { 10495, FramebufferTexture2DEXT_remap_index }, + { 10162, FramebufferTexture3DEXT_remap_index }, + { 21424, GenFramebuffersEXT_remap_index }, + { 16035, GenRenderbuffersEXT_remap_index }, + { 5858, GenerateMipmapEXT_remap_index }, + { 20002, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 29819, GetRenderbufferParameterivEXT_remap_index }, + { 18737, IsFramebufferEXT_remap_index }, + { 30566, IsRenderbufferEXT_remap_index }, + { 7353, RenderbufferStorageEXT_remap_index }, { 651, BlitFramebufferEXT_remap_index }, - { 12899, BufferParameteriAPPLE_remap_index }, - { 17361, FlushMappedBufferRangeAPPLE_remap_index }, + { 13144, BufferParameteriAPPLE_remap_index }, + { 17606, FlushMappedBufferRangeAPPLE_remap_index }, { 2701, FramebufferTextureLayerEXT_remap_index }, - { 25678, ColorMaskIndexedEXT_remap_index }, - { 16987, DisableIndexedEXT_remap_index }, - { 24114, EnableIndexedEXT_remap_index }, - { 19728, GetBooleanIndexedvEXT_remap_index }, - { 9805, GetIntegerIndexedvEXT_remap_index }, - { 20628, IsEnabledIndexedEXT_remap_index }, + { 4956, ColorMaskIndexedEXT_remap_index }, + { 17232, DisableIndexedEXT_remap_index }, + { 24429, EnableIndexedEXT_remap_index }, + { 19973, GetBooleanIndexedvEXT_remap_index }, + { 9952, GetIntegerIndexedvEXT_remap_index }, + { 20898, IsEnabledIndexedEXT_remap_index }, { 4074, BeginConditionalRenderNV_remap_index }, - { 23163, EndConditionalRenderNV_remap_index }, - { 8334, BeginTransformFeedbackEXT_remap_index }, - { 17011, BindBufferBaseEXT_remap_index }, - { 16881, BindBufferOffsetEXT_remap_index }, - { 11028, BindBufferRangeEXT_remap_index }, - { 12814, EndTransformFeedbackEXT_remap_index }, - { 9657, GetTransformFeedbackVaryingEXT_remap_index }, - { 18797, TransformFeedbackVaryingsEXT_remap_index }, - { 26880, ProvokingVertexEXT_remap_index }, - { 9605, GetTexParameterPointervAPPLE_remap_index }, + { 23416, EndConditionalRenderNV_remap_index }, + { 8453, BeginTransformFeedbackEXT_remap_index }, + { 17256, BindBufferBaseEXT_remap_index }, + { 17126, BindBufferOffsetEXT_remap_index }, + { 11136, BindBufferRangeEXT_remap_index }, + { 13059, EndTransformFeedbackEXT_remap_index }, + { 9804, GetTransformFeedbackVaryingEXT_remap_index }, + { 19042, TransformFeedbackVaryingsEXT_remap_index }, + { 27165, ProvokingVertexEXT_remap_index }, + { 9752, GetTexParameterPointervAPPLE_remap_index }, { 4436, TextureRangeAPPLE_remap_index }, - { 10420, GetObjectParameterivAPPLE_remap_index }, - { 17936, ObjectPurgeableAPPLE_remap_index }, - { 4900, ObjectUnpurgeableAPPLE_remap_index }, - { 26195, StencilFuncSeparateATI_remap_index }, - { 16310, ProgramEnvParameters4fvEXT_remap_index }, - { 19691, ProgramLocalParameters4fvEXT_remap_index }, - { 12682, GetQueryObjecti64vEXT_remap_index }, - { 9247, GetQueryObjectui64vEXT_remap_index }, - { 21656, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 10907, EGLImageTargetTexture2DOES_remap_index }, + { 10567, GetObjectParameterivAPPLE_remap_index }, + { 18181, ObjectPurgeableAPPLE_remap_index }, + { 4985, ObjectUnpurgeableAPPLE_remap_index }, + { 26480, StencilFuncSeparateATI_remap_index }, + { 16555, ProgramEnvParameters4fvEXT_remap_index }, + { 19936, ProgramLocalParameters4fvEXT_remap_index }, + { 12927, GetQueryObjecti64vEXT_remap_index }, + { 9394, GetQueryObjectui64vEXT_remap_index }, + { 21926, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 11054, EGLImageTargetTexture2DOES_remap_index }, { -1, -1 } }; @@ -4841,108 +4895,108 @@ static const struct gl_function_remap MESA_alt_functions[] = { /* from GL_EXT_blend_color */ { 2440, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 10072, _gloffset_BlendEquation }, + { 10219, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 15378, _gloffset_ColorSubTable }, - { 28902, _gloffset_CopyColorSubTable }, + { 15623, _gloffset_ColorSubTable }, + { 29226, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ { 213, _gloffset_ConvolutionFilter1D }, { 2284, _gloffset_CopyConvolutionFilter1D }, { 3624, _gloffset_GetConvolutionParameteriv }, - { 7583, _gloffset_ConvolutionFilter2D }, - { 7749, _gloffset_ConvolutionParameteriv }, - { 8209, _gloffset_ConvolutionParameterfv }, - { 18640, _gloffset_GetSeparableFilter }, - { 21886, _gloffset_SeparableFilter2D }, - { 22715, _gloffset_ConvolutionParameteri }, - { 22838, _gloffset_ConvolutionParameterf }, - { 24293, _gloffset_GetConvolutionParameterfv }, - { 25147, _gloffset_GetConvolutionFilter }, - { 27420, _gloffset_CopyConvolutionFilter2D }, + { 7702, _gloffset_ConvolutionFilter2D }, + { 7868, _gloffset_ConvolutionParameteriv }, + { 8328, _gloffset_ConvolutionParameterfv }, + { 18885, _gloffset_GetSeparableFilter }, + { 22156, _gloffset_SeparableFilter2D }, + { 22968, _gloffset_ConvolutionParameteri }, + { 23091, _gloffset_ConvolutionParameterf }, + { 24608, _gloffset_GetConvolutionParameterfv }, + { 25430, _gloffset_GetConvolutionFilter }, + { 27705, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 13558, _gloffset_CopyTexSubImage3D }, - { 15118, _gloffset_CopyTexImage2D }, - { 22323, _gloffset_CopyTexImage1D }, - { 24828, _gloffset_CopyTexSubImage2D }, - { 27058, _gloffset_CopyTexSubImage1D }, + { 13803, _gloffset_CopyTexSubImage3D }, + { 15363, _gloffset_CopyTexImage2D }, + { 22576, _gloffset_CopyTexImage1D }, + { 25111, _gloffset_CopyTexSubImage2D }, + { 27343, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 8546, _gloffset_DrawRangeElements }, + { 8665, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ { 812, _gloffset_Histogram }, { 3088, _gloffset_ResetHistogram }, - { 8918, _gloffset_GetMinmax }, - { 13892, _gloffset_GetHistogramParameterfv }, - { 22248, _gloffset_GetMinmaxParameteriv }, - { 24183, _gloffset_ResetMinmax }, - { 25044, _gloffset_GetHistogramParameteriv }, - { 26129, _gloffset_GetHistogram }, - { 28527, _gloffset_Minmax }, - { 29989, _gloffset_GetMinmaxParameterfv }, + { 9065, _gloffset_GetMinmax }, + { 14137, _gloffset_GetHistogramParameterfv }, + { 22501, _gloffset_GetMinmaxParameteriv }, + { 24498, _gloffset_ResetMinmax }, + { 25327, _gloffset_GetHistogramParameteriv }, + { 26414, _gloffset_GetHistogram }, + { 28812, _gloffset_Minmax }, + { 30313, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 7445, _gloffset_ColorTable }, - { 13738, _gloffset_GetColorTable }, - { 20901, _gloffset_GetColorTableParameterfv }, - { 22894, _gloffset_GetColorTableParameteriv }, + { 7564, _gloffset_ColorTable }, + { 13983, _gloffset_GetColorTable }, + { 21171, _gloffset_GetColorTableParameterfv }, + { 23147, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 6166, _gloffset_TexSubImage1D }, - { 9532, _gloffset_TexSubImage2D }, + { 6285, _gloffset_TexSubImage1D }, + { 9679, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ { 1658, _gloffset_TexImage3D }, - { 20670, _gloffset_TexSubImage3D }, + { 20940, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ { 2964, _gloffset_PrioritizeTextures }, - { 6615, _gloffset_AreTexturesResident }, - { 12238, _gloffset_GenTextures }, - { 14224, _gloffset_DeleteTextures }, - { 17642, _gloffset_IsTexture }, - { 27123, _gloffset_BindTexture }, + { 6734, _gloffset_AreTexturesResident }, + { 12382, _gloffset_GenTextures }, + { 14469, _gloffset_DeleteTextures }, + { 17887, _gloffset_IsTexture }, + { 27408, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 22075, _gloffset_ArrayElement }, - { 28115, _gloffset_GetPointerv }, - { 29616, _gloffset_DrawArrays }, + { 22328, _gloffset_ArrayElement }, + { 28400, _gloffset_GetPointerv }, + { 29940, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 6733, _gloffset_ColorTableParameteriv }, - { 7445, _gloffset_ColorTable }, - { 13738, _gloffset_GetColorTable }, - { 13848, _gloffset_CopyColorTable }, - { 17503, _gloffset_ColorTableParameterfv }, - { 20901, _gloffset_GetColorTableParameterfv }, - { 22894, _gloffset_GetColorTableParameteriv }, + { 6852, _gloffset_ColorTableParameteriv }, + { 7564, _gloffset_ColorTable }, + { 13983, _gloffset_GetColorTable }, + { 14093, _gloffset_CopyColorTable }, + { 17748, _gloffset_ColorTableParameterfv }, + { 21171, _gloffset_GetColorTableParameterfv }, + { 23147, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ { 381, _gloffset_MultiTexCoord3sARB }, { 613, _gloffset_ActiveTextureARB }, { 3761, _gloffset_MultiTexCoord1fvARB }, - { 5301, _gloffset_MultiTexCoord3dARB }, - { 5346, _gloffset_MultiTexCoord2iARB }, - { 5470, _gloffset_MultiTexCoord2svARB }, - { 7401, _gloffset_MultiTexCoord2fARB }, - { 9277, _gloffset_MultiTexCoord3fvARB }, - { 9834, _gloffset_MultiTexCoord4sARB }, - { 10468, _gloffset_MultiTexCoord2dvARB }, - { 10850, _gloffset_MultiTexCoord1svARB }, - { 11225, _gloffset_MultiTexCoord3svARB }, - { 11286, _gloffset_MultiTexCoord4iARB }, - { 12009, _gloffset_MultiTexCoord3iARB }, - { 12711, _gloffset_MultiTexCoord1dARB }, - { 12928, _gloffset_MultiTexCoord3dvARB }, - { 14092, _gloffset_MultiTexCoord3ivARB }, - { 14137, _gloffset_MultiTexCoord2sARB }, - { 15435, _gloffset_MultiTexCoord4ivARB }, - { 17153, _gloffset_ClientActiveTextureARB }, - { 19436, _gloffset_MultiTexCoord2dARB }, - { 19877, _gloffset_MultiTexCoord4dvARB }, - { 20163, _gloffset_MultiTexCoord4fvARB }, - { 21042, _gloffset_MultiTexCoord3fARB }, - { 23422, _gloffset_MultiTexCoord4dARB }, - { 23626, _gloffset_MultiTexCoord1sARB }, - { 23830, _gloffset_MultiTexCoord1dvARB }, - { 24672, _gloffset_MultiTexCoord1ivARB }, - { 24765, _gloffset_MultiTexCoord2ivARB }, - { 25104, _gloffset_MultiTexCoord1iARB }, - { 26404, _gloffset_MultiTexCoord4svARB }, - { 26922, _gloffset_MultiTexCoord1fARB }, - { 27185, _gloffset_MultiTexCoord4fARB }, - { 29450, _gloffset_MultiTexCoord2fvARB }, + { 5386, _gloffset_MultiTexCoord3dARB }, + { 5431, _gloffset_MultiTexCoord2iARB }, + { 5555, _gloffset_MultiTexCoord2svARB }, + { 7520, _gloffset_MultiTexCoord2fARB }, + { 9424, _gloffset_MultiTexCoord3fvARB }, + { 9981, _gloffset_MultiTexCoord4sARB }, + { 10615, _gloffset_MultiTexCoord2dvARB }, + { 10997, _gloffset_MultiTexCoord1svARB }, + { 11369, _gloffset_MultiTexCoord3svARB }, + { 11430, _gloffset_MultiTexCoord4iARB }, + { 12153, _gloffset_MultiTexCoord3iARB }, + { 12956, _gloffset_MultiTexCoord1dARB }, + { 13173, _gloffset_MultiTexCoord3dvARB }, + { 14337, _gloffset_MultiTexCoord3ivARB }, + { 14382, _gloffset_MultiTexCoord2sARB }, + { 15680, _gloffset_MultiTexCoord4ivARB }, + { 17398, _gloffset_ClientActiveTextureARB }, + { 19681, _gloffset_MultiTexCoord2dARB }, + { 20122, _gloffset_MultiTexCoord4dvARB }, + { 20433, _gloffset_MultiTexCoord4fvARB }, + { 21312, _gloffset_MultiTexCoord3fARB }, + { 23675, _gloffset_MultiTexCoord4dARB }, + { 23941, _gloffset_MultiTexCoord1sARB }, + { 24145, _gloffset_MultiTexCoord1dvARB }, + { 24955, _gloffset_MultiTexCoord1ivARB }, + { 25048, _gloffset_MultiTexCoord2ivARB }, + { 25387, _gloffset_MultiTexCoord1iARB }, + { 26689, _gloffset_MultiTexCoord4svARB }, + { 27207, _gloffset_MultiTexCoord1fARB }, + { 27470, _gloffset_MultiTexCoord4fARB }, + { 29774, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; @@ -4950,7 +5004,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[] = { - { 8267, -1 }, /* TbufferMask3DFX */ + { 8386, -1 }, /* TbufferMask3DFX */ { -1, -1 } }; #endif @@ -5018,6 +5072,14 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = { }; #endif +#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[] = { + { 11333, -1 }, /* FramebufferTextureLayer */ + { -1, -1 } +}; +#endif + #if defined(need_GL_ARB_map_buffer_range) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = { @@ -5028,10 +5090,10 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = { #if defined(need_GL_ARB_matrix_palette) static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = { { 3339, -1 }, /* MatrixIndexusvARB */ - { 11830, -1 }, /* MatrixIndexuivARB */ - { 13050, -1 }, /* MatrixIndexPointerARB */ - { 17891, -1 }, /* CurrentPaletteMatrixARB */ - { 20786, -1 }, /* MatrixIndexubvARB */ + { 11974, -1 }, /* MatrixIndexuivARB */ + { 13295, -1 }, /* MatrixIndexPointerARB */ + { 18136, -1 }, /* CurrentPaletteMatrixARB */ + { 21056, -1 }, /* MatrixIndexubvARB */ { -1, -1 } }; #endif @@ -5085,6 +5147,13 @@ static const struct gl_function_remap GL_ARB_texture_compression_functions[] = { }; #endif +#if defined(need_GL_ARB_transform_feedback2) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_ARB_transform_feedback2_functions[] = { + { -1, -1 } +}; +#endif + #if defined(need_GL_ARB_transpose_matrix) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_transpose_matrix_functions[] = { @@ -5102,15 +5171,15 @@ 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[] = { { 2226, -1 }, /* WeightubvARB */ - { 5633, -1 }, /* WeightivARB */ - { 9937, -1 }, /* WeightPointerARB */ - { 12468, -1 }, /* WeightfvARB */ - { 15930, -1 }, /* WeightbvARB */ - { 19104, -1 }, /* WeightusvARB */ - { 21812, -1 }, /* VertexBlendARB */ - { 27006, -1 }, /* WeightsvARB */ - { 28952, -1 }, /* WeightdvARB */ - { 29650, -1 }, /* WeightuivARB */ + { 5746, -1 }, /* WeightivARB */ + { 10084, -1 }, /* WeightPointerARB */ + { 12674, -1 }, /* WeightfvARB */ + { 16175, -1 }, /* WeightbvARB */ + { 19349, -1 }, /* WeightusvARB */ + { 22082, -1 }, /* VertexBlendARB */ + { 27291, -1 }, /* WeightsvARB */ + { 29276, -1 }, /* WeightdvARB */ + { 29974, -1 }, /* WeightuivARB */ { -1, -1 } }; #endif @@ -5201,15 +5270,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[] = { - { 10072, _gloffset_BlendEquation }, + { 10219, _gloffset_BlendEquation }, { -1, -1 } }; #endif #if defined(need_GL_EXT_color_subtable) static const struct gl_function_remap GL_EXT_color_subtable_functions[] = { - { 15378, _gloffset_ColorSubTable }, - { 28902, _gloffset_CopyColorSubTable }, + { 15623, _gloffset_ColorSubTable }, + { 29226, _gloffset_CopyColorSubTable }, { -1, -1 } }; #endif @@ -5226,55 +5295,55 @@ static const struct gl_function_remap GL_EXT_convolution_functions[] = { { 213, _gloffset_ConvolutionFilter1D }, { 2284, _gloffset_CopyConvolutionFilter1D }, { 3624, _gloffset_GetConvolutionParameteriv }, - { 7583, _gloffset_ConvolutionFilter2D }, - { 7749, _gloffset_ConvolutionParameteriv }, - { 8209, _gloffset_ConvolutionParameterfv }, - { 18640, _gloffset_GetSeparableFilter }, - { 21886, _gloffset_SeparableFilter2D }, - { 22715, _gloffset_ConvolutionParameteri }, - { 22838, _gloffset_ConvolutionParameterf }, - { 24293, _gloffset_GetConvolutionParameterfv }, - { 25147, _gloffset_GetConvolutionFilter }, - { 27420, _gloffset_CopyConvolutionFilter2D }, + { 7702, _gloffset_ConvolutionFilter2D }, + { 7868, _gloffset_ConvolutionParameteriv }, + { 8328, _gloffset_ConvolutionParameterfv }, + { 18885, _gloffset_GetSeparableFilter }, + { 22156, _gloffset_SeparableFilter2D }, + { 22968, _gloffset_ConvolutionParameteri }, + { 23091, _gloffset_ConvolutionParameterf }, + { 24608, _gloffset_GetConvolutionParameterfv }, + { 25430, _gloffset_GetConvolutionFilter }, + { 27705, _gloffset_CopyConvolutionFilter2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_coordinate_frame) static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = { - { 9416, -1 }, /* TangentPointerEXT */ - { 11344, -1 }, /* Binormal3ivEXT */ - { 11962, -1 }, /* Tangent3sEXT */ - { 13115, -1 }, /* Tangent3fvEXT */ - { 16862, -1 }, /* Tangent3dvEXT */ - { 17589, -1 }, /* Binormal3bvEXT */ - { 18693, -1 }, /* Binormal3dEXT */ - { 20718, -1 }, /* Tangent3fEXT */ - { 22787, -1 }, /* Binormal3sEXT */ - { 23232, -1 }, /* Tangent3ivEXT */ - { 23251, -1 }, /* Tangent3dEXT */ - { 24057, -1 }, /* Binormal3svEXT */ - { 24570, -1 }, /* Binormal3fEXT */ - { 25422, -1 }, /* Binormal3dvEXT */ - { 26626, -1 }, /* Tangent3iEXT */ - { 27705, -1 }, /* Tangent3bvEXT */ - { 28150, -1 }, /* Tangent3bEXT */ - { 28675, -1 }, /* Binormal3fvEXT */ - { 29349, -1 }, /* BinormalPointerEXT */ - { 29754, -1 }, /* Tangent3svEXT */ - { 30191, -1 }, /* Binormal3bEXT */ - { 30368, -1 }, /* Binormal3iEXT */ + { 9563, -1 }, /* TangentPointerEXT */ + { 11488, -1 }, /* Binormal3ivEXT */ + { 12106, -1 }, /* Tangent3sEXT */ + { 13360, -1 }, /* Tangent3fvEXT */ + { 17107, -1 }, /* Tangent3dvEXT */ + { 17834, -1 }, /* Binormal3bvEXT */ + { 18938, -1 }, /* Binormal3dEXT */ + { 20988, -1 }, /* Tangent3fEXT */ + { 23040, -1 }, /* Binormal3sEXT */ + { 23485, -1 }, /* Tangent3ivEXT */ + { 23504, -1 }, /* Tangent3dEXT */ + { 24372, -1 }, /* Binormal3svEXT */ + { 24853, -1 }, /* Binormal3fEXT */ + { 25705, -1 }, /* Binormal3dvEXT */ + { 26911, -1 }, /* Tangent3iEXT */ + { 27990, -1 }, /* Tangent3bvEXT */ + { 28435, -1 }, /* Tangent3bEXT */ + { 28999, -1 }, /* Binormal3fvEXT */ + { 29673, -1 }, /* BinormalPointerEXT */ + { 30078, -1 }, /* Tangent3svEXT */ + { 30515, -1 }, /* Binormal3bEXT */ + { 30692, -1 }, /* Binormal3iEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_copy_texture) static const struct gl_function_remap GL_EXT_copy_texture_functions[] = { - { 13558, _gloffset_CopyTexSubImage3D }, - { 15118, _gloffset_CopyTexImage2D }, - { 22323, _gloffset_CopyTexImage1D }, - { 24828, _gloffset_CopyTexSubImage2D }, - { 27058, _gloffset_CopyTexSubImage1D }, + { 13803, _gloffset_CopyTexSubImage3D }, + { 15363, _gloffset_CopyTexImage2D }, + { 22576, _gloffset_CopyTexImage1D }, + { 25111, _gloffset_CopyTexSubImage2D }, + { 27343, _gloffset_CopyTexSubImage1D }, { -1, -1 } }; #endif @@ -5309,7 +5378,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[] = { - { 8546, _gloffset_DrawRangeElements }, + { 8665, _gloffset_DrawRangeElements }, { -1, -1 } }; #endif @@ -5353,37 +5422,37 @@ static const struct gl_function_remap GL_EXT_gpu_program_parameters_functions[] static const struct gl_function_remap GL_EXT_histogram_functions[] = { { 812, _gloffset_Histogram }, { 3088, _gloffset_ResetHistogram }, - { 8918, _gloffset_GetMinmax }, - { 13892, _gloffset_GetHistogramParameterfv }, - { 22248, _gloffset_GetMinmaxParameteriv }, - { 24183, _gloffset_ResetMinmax }, - { 25044, _gloffset_GetHistogramParameteriv }, - { 26129, _gloffset_GetHistogram }, - { 28527, _gloffset_Minmax }, - { 29989, _gloffset_GetMinmaxParameterfv }, + { 9065, _gloffset_GetMinmax }, + { 14137, _gloffset_GetHistogramParameterfv }, + { 22501, _gloffset_GetMinmaxParameteriv }, + { 24498, _gloffset_ResetMinmax }, + { 25327, _gloffset_GetHistogramParameteriv }, + { 26414, _gloffset_GetHistogram }, + { 28812, _gloffset_Minmax }, + { 30313, _gloffset_GetMinmaxParameterfv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_index_func) static const struct gl_function_remap GL_EXT_index_func_functions[] = { - { 10299, -1 }, /* IndexFuncEXT */ + { 10446, -1 }, /* IndexFuncEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_index_material) static const struct gl_function_remap GL_EXT_index_material_functions[] = { - { 19191, -1 }, /* IndexMaterialEXT */ + { 19436, -1 }, /* IndexMaterialEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_light_texture) static const struct gl_function_remap GL_EXT_light_texture_functions[] = { - { 24077, -1 }, /* ApplyTextureEXT */ - { 24137, -1 }, /* TextureMaterialEXT */ - { 24162, -1 }, /* TextureLightEXT */ + { 24392, -1 }, /* ApplyTextureEXT */ + { 24452, -1 }, /* TextureMaterialEXT */ + { 24477, -1 }, /* TextureLightEXT */ { -1, -1 } }; #endif @@ -5404,20 +5473,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[] = { - { 7445, _gloffset_ColorTable }, - { 13738, _gloffset_GetColorTable }, - { 20901, _gloffset_GetColorTableParameterfv }, - { 22894, _gloffset_GetColorTableParameteriv }, + { 7564, _gloffset_ColorTable }, + { 13983, _gloffset_GetColorTable }, + { 21171, _gloffset_GetColorTableParameterfv }, + { 23147, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_pixel_transform) static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = { - { 19842, -1 }, /* PixelTransformParameterfEXT */ - { 19922, -1 }, /* PixelTransformParameteriEXT */ - { 27888, -1 }, /* PixelTransformParameterfvEXT */ - { 29313, -1 }, /* PixelTransformParameterivEXT */ + { 20087, -1 }, /* PixelTransformParameterfEXT */ + { 20167, -1 }, /* PixelTransformParameteriEXT */ + { 28173, -1 }, /* PixelTransformParameterfvEXT */ + { 29637, -1 }, /* PixelTransformParameterivEXT */ { -1, -1 } }; #endif @@ -5459,8 +5528,8 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = { #if defined(need_GL_EXT_subtexture) static const struct gl_function_remap GL_EXT_subtexture_functions[] = { - { 6166, _gloffset_TexSubImage1D }, - { 9532, _gloffset_TexSubImage2D }, + { 6285, _gloffset_TexSubImage1D }, + { 9679, _gloffset_TexSubImage2D }, { -1, -1 } }; #endif @@ -5468,7 +5537,7 @@ static const struct gl_function_remap GL_EXT_subtexture_functions[] = { #if defined(need_GL_EXT_texture3D) static const struct gl_function_remap GL_EXT_texture3D_functions[] = { { 1658, _gloffset_TexImage3D }, - { 20670, _gloffset_TexSubImage3D }, + { 20940, _gloffset_TexSubImage3D }, { -1, -1 } }; #endif @@ -5483,18 +5552,18 @@ static const struct gl_function_remap GL_EXT_texture_array_functions[] = { #if defined(need_GL_EXT_texture_object) static const struct gl_function_remap GL_EXT_texture_object_functions[] = { { 2964, _gloffset_PrioritizeTextures }, - { 6615, _gloffset_AreTexturesResident }, - { 12238, _gloffset_GenTextures }, - { 14224, _gloffset_DeleteTextures }, - { 17642, _gloffset_IsTexture }, - { 27123, _gloffset_BindTexture }, + { 6734, _gloffset_AreTexturesResident }, + { 12382, _gloffset_GenTextures }, + { 14469, _gloffset_DeleteTextures }, + { 17887, _gloffset_IsTexture }, + { 27408, _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[] = { - { 12418, -1 }, /* TextureNormalEXT */ + { 12624, -1 }, /* TextureNormalEXT */ { -1, -1 } }; #endif @@ -5516,18 +5585,18 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = { #if defined(need_GL_EXT_vertex_array) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_EXT_vertex_array_functions[] = { - { 22075, _gloffset_ArrayElement }, - { 28115, _gloffset_GetPointerv }, - { 29616, _gloffset_DrawArrays }, + { 22328, _gloffset_ArrayElement }, + { 28400, _gloffset_GetPointerv }, + { 29940, _gloffset_DrawArrays }, { -1, -1 } }; #endif #if defined(need_GL_EXT_vertex_weighting) static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { - { 17672, -1 }, /* VertexWeightfvEXT */ - { 24548, -1 }, /* VertexWeightfEXT */ - { 26098, -1 }, /* VertexWeightPointerEXT */ + { 17917, -1 }, /* VertexWeightfvEXT */ + { 24831, -1 }, /* VertexWeightfEXT */ + { 26383, -1 }, /* VertexWeightPointerEXT */ { -1, -1 } }; #endif @@ -5536,10 +5605,10 @@ static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { static const struct gl_function_remap GL_HP_image_transform_functions[] = { { 2157, -1 }, /* GetImageTransformParameterfvHP */ { 3305, -1 }, /* ImageTransformParameterfHP */ - { 9110, -1 }, /* ImageTransformParameterfvHP */ - { 10768, -1 }, /* ImageTransformParameteriHP */ - { 11115, -1 }, /* GetImageTransformParameterivHP */ - { 17736, -1 }, /* ImageTransformParameterivHP */ + { 9257, -1 }, /* ImageTransformParameterfvHP */ + { 10915, -1 }, /* ImageTransformParameteriHP */ + { 11223, -1 }, /* GetImageTransformParameterivHP */ + { 17981, -1 }, /* ImageTransformParameterivHP */ { -1, -1 } }; #endif @@ -5554,13 +5623,13 @@ 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[] = { { 3857, -1 }, /* SecondaryColorPointerListIBM */ - { 5167, -1 }, /* NormalPointerListIBM */ - { 6789, -1 }, /* FogCoordPointerListIBM */ - { 7096, -1 }, /* VertexPointerListIBM */ - { 10689, -1 }, /* ColorPointerListIBM */ - { 12069, -1 }, /* TexCoordPointerListIBM */ - { 12440, -1 }, /* IndexPointerListIBM */ - { 29932, -1 }, /* EdgeFlagPointerListIBM */ + { 5252, -1 }, /* NormalPointerListIBM */ + { 6908, -1 }, /* FogCoordPointerListIBM */ + { 7215, -1 }, /* VertexPointerListIBM */ + { 10836, -1 }, /* ColorPointerListIBM */ + { 12213, -1 }, /* TexCoordPointerListIBM */ + { 12646, -1 }, /* IndexPointerListIBM */ + { 30256, -1 }, /* EdgeFlagPointerListIBM */ { -1, -1 } }; #endif @@ -5574,10 +5643,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[] = { - { 11456, -1 }, /* VertexPointervINTEL */ - { 13985, -1 }, /* ColorPointervINTEL */ - { 27394, -1 }, /* NormalPointervINTEL */ - { 27820, -1 }, /* TexCoordPointervINTEL */ + { 11600, -1 }, /* VertexPointervINTEL */ + { 14230, -1 }, /* ColorPointervINTEL */ + { 27679, -1 }, /* NormalPointervINTEL */ + { 28105, -1 }, /* TexCoordPointervINTEL */ { -1, -1 } }; #endif @@ -5594,7 +5663,7 @@ static const struct gl_function_remap GL_MESA_shader_debug_functions[] = { { 1522, -1 }, /* GetDebugLogLengthMESA */ { 3063, -1 }, /* ClearDebugLogMESA */ { 4018, -1 }, /* GetDebugLogMESA */ - { 28308, -1 }, /* CreateDebugObjectMESA */ + { 28593, -1 }, /* CreateDebugObjectMESA */ { -1, -1 } }; #endif @@ -5615,15 +5684,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[] = { - { 5834, -1 }, /* GetMapAttribParameterivNV */ - { 7551, -1 }, /* MapControlPointsNV */ - { 7650, -1 }, /* MapParameterfvNV */ - { 9515, -1 }, /* EvalMapsNV */ - { 15600, -1 }, /* GetMapAttribParameterfvNV */ - { 15766, -1 }, /* MapParameterivNV */ - { 22638, -1 }, /* GetMapParameterivNV */ - { 23136, -1 }, /* GetMapParameterfvNV */ - { 26730, -1 }, /* GetMapControlPointsNV */ + { 5947, -1 }, /* GetMapAttribParameterivNV */ + { 7670, -1 }, /* MapControlPointsNV */ + { 7769, -1 }, /* MapParameterfvNV */ + { 9662, -1 }, /* EvalMapsNV */ + { 15845, -1 }, /* GetMapAttribParameterfvNV */ + { 16011, -1 }, /* MapParameterivNV */ + { 22891, -1 }, /* GetMapParameterivNV */ + { 23389, -1 }, /* GetMapParameterfvNV */ + { 27015, -1 }, /* GetMapControlPointsNV */ { -1, -1 } }; #endif @@ -5658,8 +5727,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[] = { - { 14455, -1 }, /* CombinerStageParameterfvNV */ - { 14770, -1 }, /* GetCombinerStageParameterfvNV */ + { 14700, -1 }, /* CombinerStageParameterfvNV */ + { 15015, -1 }, /* GetCombinerStageParameterfvNV */ { -1, -1 } }; #endif @@ -5687,23 +5756,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[] = { - { 7735, -1 }, /* HintPGI */ + { 7854, -1 }, /* HintPGI */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_detail_texture) static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = { - { 14743, -1 }, /* GetDetailTexFuncSGIS */ - { 15063, -1 }, /* DetailTexFuncSGIS */ + { 14988, -1 }, /* GetDetailTexFuncSGIS */ + { 15308, -1 }, /* DetailTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_fog_function) static const struct gl_function_remap GL_SGIS_fog_function_functions[] = { - { 24810, -1 }, /* FogFuncSGIS */ - { 25475, -1 }, /* GetFogFuncSGIS */ + { 25093, -1 }, /* FogFuncSGIS */ + { 25758, -1 }, /* GetFogFuncSGIS */ { -1, -1 } }; #endif @@ -5731,8 +5800,8 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = { #if defined(need_GL_SGIS_sharpen_texture) static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { - { 5895, -1 }, /* GetSharpenTexFuncSGIS */ - { 20137, -1 }, /* SharpenTexFuncSGIS */ + { 6008, -1 }, /* GetSharpenTexFuncSGIS */ + { 20407, -1 }, /* SharpenTexFuncSGIS */ { -1, -1 } }; #endif @@ -5740,22 +5809,22 @@ static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { #if defined(need_GL_SGIS_texture4D) static const struct gl_function_remap GL_SGIS_texture4D_functions[] = { { 894, -1 }, /* TexImage4DSGIS */ - { 14293, -1 }, /* TexSubImage4DSGIS */ + { 14538, -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[] = { - { 13691, -1 }, /* TextureColorMaskSGIS */ + { 13936, -1 }, /* TextureColorMaskSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_filter4) static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { - { 6072, -1 }, /* GetTexFilterFuncSGIS */ - { 14889, -1 }, /* TexFilterFuncSGIS */ + { 6185, -1 }, /* GetTexFilterFuncSGIS */ + { 15134, -1 }, /* TexFilterFuncSGIS */ { -1, -1 } }; #endif @@ -5764,17 +5833,17 @@ static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { static const struct gl_function_remap GL_SGIX_async_functions[] = { { 3014, -1 }, /* AsyncMarkerSGIX */ { 3997, -1 }, /* FinishAsyncSGIX */ - { 4734, -1 }, /* PollAsyncSGIX */ - { 20284, -1 }, /* DeleteAsyncMarkersSGIX */ - { 20339, -1 }, /* IsAsyncMarkerSGIX */ - { 29729, -1 }, /* GenAsyncMarkersSGIX */ + { 4762, -1 }, /* PollAsyncSGIX */ + { 20554, -1 }, /* DeleteAsyncMarkersSGIX */ + { 20609, -1 }, /* IsAsyncMarkerSGIX */ + { 30053, -1 }, /* GenAsyncMarkersSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_flush_raster) static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { - { 6443, -1 }, /* FlushRasterSGIX */ + { 6562, -1 }, /* FlushRasterSGIX */ { -1, -1 } }; #endif @@ -5782,37 +5851,37 @@ static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { #if defined(need_GL_SGIX_fragment_lighting) static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = { { 2410, -1 }, /* FragmentMaterialfvSGIX */ - { 2906, -1 }, /* FragmentLightModelivSGIX */ - { 4685, -1 }, /* FragmentLightiSGIX */ - { 5575, -1 }, /* GetFragmentMaterialfvSGIX */ - { 7163, -1 }, /* FragmentMaterialfSGIX */ - { 7324, -1 }, /* GetFragmentLightivSGIX */ - { 8161, -1 }, /* FragmentLightModeliSGIX */ - { 9578, -1 }, /* FragmentLightivSGIX */ - { 9880, -1 }, /* GetFragmentMaterialivSGIX */ - { 17559, -1 }, /* FragmentLightModelfSGIX */ - { 17859, -1 }, /* FragmentColorMaterialSGIX */ - { 18259, -1 }, /* FragmentMaterialiSGIX */ - { 19519, -1 }, /* LightEnviSGIX */ - { 20993, -1 }, /* FragmentLightModelfvSGIX */ - { 21302, -1 }, /* FragmentLightfvSGIX */ - { 25980, -1 }, /* FragmentLightfSGIX */ - { 28645, -1 }, /* GetFragmentLightfvSGIX */ - { 30212, -1 }, /* FragmentMaterialivSGIX */ + { 4713, -1 }, /* FragmentLightiSGIX */ + { 5688, -1 }, /* GetFragmentMaterialfvSGIX */ + { 7282, -1 }, /* FragmentMaterialfSGIX */ + { 7443, -1 }, /* GetFragmentLightivSGIX */ + { 8280, -1 }, /* FragmentLightModeliSGIX */ + { 9725, -1 }, /* FragmentLightivSGIX */ + { 10027, -1 }, /* GetFragmentMaterialivSGIX */ + { 17804, -1 }, /* FragmentLightModelfSGIX */ + { 18104, -1 }, /* FragmentColorMaterialSGIX */ + { 18504, -1 }, /* FragmentMaterialiSGIX */ + { 19764, -1 }, /* LightEnviSGIX */ + { 21263, -1 }, /* FragmentLightModelfvSGIX */ + { 21572, -1 }, /* FragmentLightfvSGIX */ + { 26142, -1 }, /* FragmentLightModelivSGIX */ + { 26265, -1 }, /* FragmentLightfSGIX */ + { 28969, -1 }, /* GetFragmentLightfvSGIX */ + { 30536, -1 }, /* FragmentMaterialivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_framezoom) static const struct gl_function_remap GL_SGIX_framezoom_functions[] = { - { 20362, -1 }, /* FrameZoomSGIX */ + { 20632, -1 }, /* FrameZoomSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_igloo_interface) static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { - { 26288, -1 }, /* IglooInterfaceSGIX */ + { 26573, -1 }, /* IglooInterfaceSGIX */ { -1, -1 } }; #endif @@ -5820,11 +5889,11 @@ static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { #if defined(need_GL_SGIX_instruments) static const struct gl_function_remap GL_SGIX_instruments_functions[] = { { 2573, -1 }, /* ReadInstrumentsSGIX */ - { 5651, -1 }, /* PollInstrumentsSGIX */ - { 9476, -1 }, /* GetInstrumentsSGIX */ - { 11667, -1 }, /* StartInstrumentsSGIX */ - { 14489, -1 }, /* StopInstrumentsSGIX */ - { 16143, -1 }, /* InstrumentsBufferSGIX */ + { 5764, -1 }, /* PollInstrumentsSGIX */ + { 9623, -1 }, /* GetInstrumentsSGIX */ + { 11811, -1 }, /* StartInstrumentsSGIX */ + { 14734, -1 }, /* StopInstrumentsSGIX */ + { 16388, -1 }, /* InstrumentsBufferSGIX */ { -1, -1 } }; #endif @@ -5833,10 +5902,10 @@ static const struct gl_function_remap GL_SGIX_instruments_functions[] = { static const struct gl_function_remap GL_SGIX_list_priority_functions[] = { { 1125, -1 }, /* ListParameterfSGIX */ { 2763, -1 }, /* GetListParameterfvSGIX */ - { 16058, -1 }, /* ListParameteriSGIX */ - { 16812, -1 }, /* ListParameterfvSGIX */ - { 18925, -1 }, /* ListParameterivSGIX */ - { 29773, -1 }, /* GetListParameterivSGIX */ + { 16303, -1 }, /* ListParameteriSGIX */ + { 17057, -1 }, /* ListParameterfvSGIX */ + { 19170, -1 }, /* ListParameterivSGIX */ + { 30097, -1 }, /* GetListParameterivSGIX */ { -1, -1 } }; #endif @@ -5851,53 +5920,53 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = { #if defined(need_GL_SGIX_polynomial_ffd) static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = { { 3251, -1 }, /* LoadIdentityDeformationMapSGIX */ - { 10989, -1 }, /* DeformationMap3dSGIX */ - { 14589, -1 }, /* DeformSGIX */ - { 22187, -1 }, /* DeformationMap3fSGIX */ + { 14834, -1 }, /* DeformSGIX */ + { 22440, -1 }, /* DeformationMap3fSGIX */ + { 28857, -1 }, /* DeformationMap3dSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_reference_plane) static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = { - { 13242, -1 }, /* ReferencePlaneSGIX */ + { 13487, -1 }, /* ReferencePlaneSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_sprite) static const struct gl_function_remap GL_SGIX_sprite_functions[] = { - { 8631, -1 }, /* SpriteParameterfvSGIX */ - { 18714, -1 }, /* SpriteParameteriSGIX */ - { 24217, -1 }, /* SpriteParameterfSGIX */ - { 26852, -1 }, /* SpriteParameterivSGIX */ + { 8778, -1 }, /* SpriteParameterfvSGIX */ + { 18959, -1 }, /* SpriteParameteriSGIX */ + { 24532, -1 }, /* SpriteParameterfSGIX */ + { 27137, -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[] = { - { 18773, -1 }, /* TagSampleBufferSGIX */ + { 19018, -1 }, /* TagSampleBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGI_color_table) static const struct gl_function_remap GL_SGI_color_table_functions[] = { - { 6733, _gloffset_ColorTableParameteriv }, - { 7445, _gloffset_ColorTable }, - { 13738, _gloffset_GetColorTable }, - { 13848, _gloffset_CopyColorTable }, - { 17503, _gloffset_ColorTableParameterfv }, - { 20901, _gloffset_GetColorTableParameterfv }, - { 22894, _gloffset_GetColorTableParameteriv }, + { 6852, _gloffset_ColorTableParameteriv }, + { 7564, _gloffset_ColorTable }, + { 13983, _gloffset_GetColorTable }, + { 14093, _gloffset_CopyColorTable }, + { 17748, _gloffset_ColorTableParameterfv }, + { 21171, _gloffset_GetColorTableParameterfv }, + { 23147, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_SUNX_constant_data) static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { - { 28623, -1 }, /* FinishTextureSUNX */ + { 28947, -1 }, /* FinishTextureSUNX */ { -1, -1 } }; #endif @@ -5906,19 +5975,19 @@ static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { static const struct gl_function_remap GL_SUN_global_alpha_functions[] = { { 3035, -1 }, /* GlobalAlphaFactorubSUN */ { 4224, -1 }, /* GlobalAlphaFactoriSUN */ - { 5676, -1 }, /* GlobalAlphaFactordSUN */ - { 8715, -1 }, /* GlobalAlphaFactoruiSUN */ - { 9067, -1 }, /* GlobalAlphaFactorbSUN */ - { 11982, -1 }, /* GlobalAlphaFactorfSUN */ - { 12101, -1 }, /* GlobalAlphaFactorusSUN */ - { 20601, -1 }, /* GlobalAlphaFactorsSUN */ + { 5789, -1 }, /* GlobalAlphaFactordSUN */ + { 8862, -1 }, /* GlobalAlphaFactoruiSUN */ + { 9214, -1 }, /* GlobalAlphaFactorbSUN */ + { 12126, -1 }, /* GlobalAlphaFactorfSUN */ + { 12245, -1 }, /* GlobalAlphaFactorusSUN */ + { 20871, -1 }, /* GlobalAlphaFactorsSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_mesh_array) static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { - { 26664, -1 }, /* DrawMeshArraysSUN */ + { 26949, -1 }, /* DrawMeshArraysSUN */ { -1, -1 } }; #endif @@ -5926,12 +5995,12 @@ static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { #if defined(need_GL_SUN_triangle_list) static const struct gl_function_remap GL_SUN_triangle_list_functions[] = { { 3971, -1 }, /* ReplacementCodeubSUN */ - { 5515, -1 }, /* ReplacementCodeubvSUN */ - { 17224, -1 }, /* ReplacementCodeusvSUN */ - { 17412, -1 }, /* ReplacementCodePointerSUN */ - { 19583, -1 }, /* ReplacementCodeuiSUN */ - { 20313, -1 }, /* ReplacementCodeusSUN */ - { 27309, -1 }, /* ReplacementCodeuivSUN */ + { 5600, -1 }, /* ReplacementCodeubvSUN */ + { 17469, -1 }, /* ReplacementCodeusvSUN */ + { 17657, -1 }, /* ReplacementCodePointerSUN */ + { 19828, -1 }, /* ReplacementCodeuiSUN */ + { 20583, -1 }, /* ReplacementCodeusSUN */ + { 27594, -1 }, /* ReplacementCodeuivSUN */ { -1, -1 } }; #endif @@ -5947,37 +6016,37 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = { { 2642, -1 }, /* Color4ubVertex3fvSUN */ { 4105, -1 }, /* Color4ubVertex3fSUN */ { 4181, -1 }, /* TexCoord2fVertex3fSUN */ - { 4480, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ - { 4810, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ - { 5410, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ - { 6480, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ - { 7192, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ - { 7960, -1 }, /* Color3fVertex3fSUN */ - { 9026, -1 }, /* Color3fVertex3fvSUN */ - { 9441, -1 }, /* Color4fNormal3fVertex3fvSUN */ - { 10178, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ - { 11530, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ - { 12973, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ - { 13384, -1 }, /* TexCoord2fColor3fVertex3fSUN */ - { 14514, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ - { 14848, -1 }, /* Color4ubVertex2fvSUN */ - { 15088, -1 }, /* Normal3fVertex3fSUN */ - { 16084, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ - { 16345, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ - { 17053, -1 }, /* TexCoord2fVertex3fvSUN */ - { 17829, -1 }, /* Color4ubVertex2fSUN */ - { 18050, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ - { 20008, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ - { 20381, -1 }, /* Normal3fVertex3fvSUN */ - { 20810, -1 }, /* Color4fNormal3fVertex3fSUN */ - { 21719, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ - { 21939, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ - { 23669, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ - { 24926, -1 }, /* TexCoord4fVertex4fSUN */ - { 25352, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ - { 25707, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ - { 25834, -1 }, /* TexCoord4fVertex4fvSUN */ - { 26536, -1 }, /* ReplacementCodeuiVertex3fSUN */ + { 4508, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ + { 4866, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ + { 5495, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ + { 6240, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ + { 6599, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ + { 7311, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ + { 8079, -1 }, /* Color3fVertex3fSUN */ + { 9173, -1 }, /* Color3fVertex3fvSUN */ + { 9588, -1 }, /* Color4fNormal3fVertex3fvSUN */ + { 10325, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ + { 11674, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ + { 13218, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ + { 13629, -1 }, /* TexCoord2fColor3fVertex3fSUN */ + { 14759, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ + { 15093, -1 }, /* Color4ubVertex2fvSUN */ + { 15333, -1 }, /* Normal3fVertex3fSUN */ + { 16329, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ + { 16590, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ + { 17298, -1 }, /* TexCoord2fVertex3fvSUN */ + { 18074, -1 }, /* Color4ubVertex2fSUN */ + { 18295, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ + { 20253, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ + { 20651, -1 }, /* Normal3fVertex3fvSUN */ + { 21080, -1 }, /* Color4fNormal3fVertex3fSUN */ + { 21989, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ + { 23984, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ + { 25209, -1 }, /* TexCoord4fVertex4fSUN */ + { 25635, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ + { 25986, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ + { 26113, -1 }, /* TexCoord4fVertex4fvSUN */ + { 26821, -1 }, /* ReplacementCodeuiVertex3fSUN */ { -1, -1 } }; #endif @@ -5988,37 +6057,37 @@ static const struct gl_function_remap GL_VERSION_1_3_functions[] = { { 381, _gloffset_MultiTexCoord3sARB }, { 613, _gloffset_ActiveTextureARB }, { 3761, _gloffset_MultiTexCoord1fvARB }, - { 5301, _gloffset_MultiTexCoord3dARB }, - { 5346, _gloffset_MultiTexCoord2iARB }, - { 5470, _gloffset_MultiTexCoord2svARB }, - { 7401, _gloffset_MultiTexCoord2fARB }, - { 9277, _gloffset_MultiTexCoord3fvARB }, - { 9834, _gloffset_MultiTexCoord4sARB }, - { 10468, _gloffset_MultiTexCoord2dvARB }, - { 10850, _gloffset_MultiTexCoord1svARB }, - { 11225, _gloffset_MultiTexCoord3svARB }, - { 11286, _gloffset_MultiTexCoord4iARB }, - { 12009, _gloffset_MultiTexCoord3iARB }, - { 12711, _gloffset_MultiTexCoord1dARB }, - { 12928, _gloffset_MultiTexCoord3dvARB }, - { 14092, _gloffset_MultiTexCoord3ivARB }, - { 14137, _gloffset_MultiTexCoord2sARB }, - { 15435, _gloffset_MultiTexCoord4ivARB }, - { 17153, _gloffset_ClientActiveTextureARB }, - { 19436, _gloffset_MultiTexCoord2dARB }, - { 19877, _gloffset_MultiTexCoord4dvARB }, - { 20163, _gloffset_MultiTexCoord4fvARB }, - { 21042, _gloffset_MultiTexCoord3fARB }, - { 23422, _gloffset_MultiTexCoord4dARB }, - { 23626, _gloffset_MultiTexCoord1sARB }, - { 23830, _gloffset_MultiTexCoord1dvARB }, - { 24672, _gloffset_MultiTexCoord1ivARB }, - { 24765, _gloffset_MultiTexCoord2ivARB }, - { 25104, _gloffset_MultiTexCoord1iARB }, - { 26404, _gloffset_MultiTexCoord4svARB }, - { 26922, _gloffset_MultiTexCoord1fARB }, - { 27185, _gloffset_MultiTexCoord4fARB }, - { 29450, _gloffset_MultiTexCoord2fvARB }, + { 5386, _gloffset_MultiTexCoord3dARB }, + { 5431, _gloffset_MultiTexCoord2iARB }, + { 5555, _gloffset_MultiTexCoord2svARB }, + { 7520, _gloffset_MultiTexCoord2fARB }, + { 9424, _gloffset_MultiTexCoord3fvARB }, + { 9981, _gloffset_MultiTexCoord4sARB }, + { 10615, _gloffset_MultiTexCoord2dvARB }, + { 10997, _gloffset_MultiTexCoord1svARB }, + { 11369, _gloffset_MultiTexCoord3svARB }, + { 11430, _gloffset_MultiTexCoord4iARB }, + { 12153, _gloffset_MultiTexCoord3iARB }, + { 12956, _gloffset_MultiTexCoord1dARB }, + { 13173, _gloffset_MultiTexCoord3dvARB }, + { 14337, _gloffset_MultiTexCoord3ivARB }, + { 14382, _gloffset_MultiTexCoord2sARB }, + { 15680, _gloffset_MultiTexCoord4ivARB }, + { 17398, _gloffset_ClientActiveTextureARB }, + { 19681, _gloffset_MultiTexCoord2dARB }, + { 20122, _gloffset_MultiTexCoord4dvARB }, + { 20433, _gloffset_MultiTexCoord4fvARB }, + { 21312, _gloffset_MultiTexCoord3fARB }, + { 23675, _gloffset_MultiTexCoord4dARB }, + { 23941, _gloffset_MultiTexCoord1sARB }, + { 24145, _gloffset_MultiTexCoord1dvARB }, + { 24955, _gloffset_MultiTexCoord1ivARB }, + { 25048, _gloffset_MultiTexCoord2ivARB }, + { 25387, _gloffset_MultiTexCoord1iARB }, + { 26689, _gloffset_MultiTexCoord4svARB }, + { 27207, _gloffset_MultiTexCoord1fARB }, + { 27470, _gloffset_MultiTexCoord4fARB }, + { 29774, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; #endif diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 0bd44154f26..01b72446a2c 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -379,6 +379,7 @@ create_shader(GLcontext *ctx, GLenum type) switch (type) { case GL_FRAGMENT_SHADER: case GL_VERTEX_SHADER: + case GL_GEOMETRY_SHADER_ARB: sh = ctx->Driver.NewShader(ctx, name, type); break; default: @@ -1503,6 +1504,77 @@ _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, #endif /* FEATURE_ES2 */ +#if FEATURE_ARB_geometry_shader4 + +static struct gl_geometry_program * +_mesa_geometry_from_shader(GLuint program) +{ + GET_CURRENT_CONTEXT(ctx); + struct gl_shader_program *shProg = NULL; + struct gl_shader *sh = NULL; + GLuint i; + + shProg = _mesa_lookup_shader_program(ctx, program); + + if (!ctx->Extensions.ARB_geometry_shader4) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glProgramParameteriARB"); + return NULL; + } + + if (!shProg) { + _mesa_error(ctx, GL_INVALID_ENUM, "glProgramParameteriARB"); + return NULL; + } + for (i = 0; i < shProg->NumShaders; ++i) { + if (shProg->Shaders[i]->Type == GL_GEOMETRY_SHADER_ARB) { + sh = shProg->Shaders[i]; + } + } + if (!sh || !sh->Program) { + _mesa_error(ctx, GL_INVALID_ENUM, "glProgramParameteriARB"); + return NULL; + } + return (struct gl_geometry_program *) sh->Program; +} + +static void +_mesa_program_parameteri(GLcontext *ctx, GLuint program, + GLenum pname, GLint value) +{ + struct gl_geometry_program *gprog; + ASSERT_OUTSIDE_BEGIN_END(ctx); + + switch (pname) { + case GL_GEOMETRY_VERTICES_OUT_ARB: + gprog = _mesa_geometry_from_shader(program); + if (gprog) + gprog->VerticesOut = value; + break; + case GL_GEOMETRY_INPUT_TYPE_ARB: + gprog = _mesa_geometry_from_shader(program); + if (gprog) + gprog->InputType = value; + break; + case GL_GEOMETRY_OUTPUT_TYPE_ARB: + gprog = _mesa_geometry_from_shader(program); + if (gprog) + gprog->OutputType = value; + break; + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glProgramParameteriARB"); + break; + } +} + +void GLAPIENTRY +_mesa_ProgramParameteriARB(GLuint program, GLenum pname, + GLint value) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_program_parameteri(ctx, program, pname, value); +} + +#endif /** * Plug in shader-related functions into API dispatch table. @@ -1548,5 +1620,9 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec) SET_GetActiveAttribARB(exec, _mesa_GetActiveAttribARB); SET_GetAttribLocationARB(exec, _mesa_GetAttribLocationARB); #endif + +#if FEATURE_ARB_geometry_shader4 + SET_ProgramParameteriARB(exec, _mesa_ProgramParameteriARB); +#endif } diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h index ec0c09a0e38..16e22530de5 100644 --- a/src/mesa/main/shaderapi.h +++ b/src/mesa/main/shaderapi.h @@ -162,5 +162,8 @@ extern void GLAPIENTRY _mesa_ShaderBinary(GLint n, const GLuint *shaders, GLenum binaryformat, const void* binary, GLint length); +extern void GLAPIENTRY +_mesa_ProgramParameteriARB(GLuint program, GLenum pname, + GLint value); #endif /* SHADERAPI_H */ diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index b6ccc031d05..00bc510ee81 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -96,7 +96,8 @@ static struct gl_shader * _mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type) { struct gl_shader *shader; - assert(type == GL_FRAGMENT_SHADER || type == GL_VERTEX_SHADER); + assert(type == GL_FRAGMENT_SHADER || type == GL_VERTEX_SHADER || + type == GL_GEOMETRY_SHADER_ARB); shader = CALLOC_STRUCT(gl_shader); if (shader) { shader->Type = type; @@ -254,6 +255,7 @@ _mesa_clear_shader_program_data(GLcontext *ctx, { _mesa_reference_vertprog(ctx, &shProg->VertexProgram, NULL); _mesa_reference_fragprog(ctx, &shProg->FragmentProgram, NULL); + _mesa_reference_geomprog(ctx, &shProg->GeometryProgram, NULL); if (shProg->Uniforms) { _mesa_free_uniform_list(shProg->Uniforms); diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 2239ea4a85b..583dee53f24 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -250,6 +250,7 @@ update_program(GLcontext *ctx) const struct gl_shader_program *shProg = ctx->Shader.CurrentProgram; const struct gl_vertex_program *prevVP = ctx->VertexProgram._Current; const struct gl_fragment_program *prevFP = ctx->FragmentProgram._Current; + const struct gl_geometry_program *prevGP = ctx->GeometryProgram._Current; GLbitfield new_state = 0x0; /* @@ -291,6 +292,15 @@ update_program(GLcontext *ctx) _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL); } + if (shProg && shProg->LinkStatus && shProg->GeometryProgram) { + /* Use shader programs */ + _mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current, + shProg->GeometryProgram); + } else { + /* no fragment program */ + _mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current, NULL); + } + /* Examine vertex program after fragment program as * _mesa_get_fixed_func_vertex_program() needs to know active * fragprog inputs. @@ -327,7 +337,15 @@ update_program(GLcontext *ctx) (struct gl_program *) ctx->FragmentProgram._Current); } } - + + if (ctx->GeometryProgram._Current != prevGP) { + new_state |= _NEW_PROGRAM; + if (ctx->Driver.BindProgram) { + ctx->Driver.BindProgram(ctx, MESA_GEOMETRY_PROGRAM, + (struct gl_program *) ctx->GeometryProgram._Current); + } + } + if (ctx->VertexProgram._Current != prevVP) { new_state |= _NEW_PROGRAM; if (ctx->Driver.BindProgram) { @@ -356,6 +374,16 @@ update_program_constants(GLcontext *ctx) } } + if (ctx->GeometryProgram._Current) { + const struct gl_program_parameter_list *params = + ctx->GeometryProgram._Current->Base.Parameters; + /*FIXME: StateFlags is always 0 because we have unnamed constant + * not state changes */ + if (params /*&& params->StateFlags & ctx->NewState*/) { + new_state |= _NEW_PROGRAM_CONSTANTS; + } + } + if (ctx->VertexProgram._Current) { const struct gl_program_parameter_list *params = ctx->VertexProgram._Current->Base.Parameters; diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index aac4177f408..cabdb0bdb6b 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -172,6 +172,11 @@ _mesa_get_active_uniform(GLcontext *ctx, GLuint program, GLuint index, 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; + } } } diff --git a/src/mesa/program/prog_instruction.c b/src/mesa/program/prog_instruction.c index 81099cb99c5..5d6cb476c1d 100644 --- a/src/mesa/program/prog_instruction.c +++ b/src/mesa/program/prog_instruction.c @@ -177,7 +177,9 @@ static const struct instruction_info InstInfo[MAX_OPCODE] = { { OPCODE_DPH, "DPH", 2, 1 }, { OPCODE_DST, "DST", 2, 1 }, { OPCODE_ELSE, "ELSE", 0, 0 }, + { OPCODE_EMIT_VERTEX, "EMIT_VERTEX", 0, 0 }, { OPCODE_END, "END", 0, 0 }, + { OPCODE_END_PRIMITIVE, "END_PRIMITIVE", 0, 0 }, { OPCODE_ENDIF, "ENDIF", 0, 0 }, { OPCODE_ENDLOOP,"ENDLOOP", 0, 0 }, { OPCODE_ENDSUB, "ENDSUB", 0, 0 }, diff --git a/src/mesa/program/prog_instruction.h b/src/mesa/program/prog_instruction.h index 28c797a4ba8..5cdc321a316 100644 --- a/src/mesa/program/prog_instruction.h +++ b/src/mesa/program/prog_instruction.h @@ -170,7 +170,9 @@ typedef enum prog_opcode { OPCODE_DPH, /* X X 1.1 */ OPCODE_DST, /* X X X X */ OPCODE_ELSE, /* X */ + OPCODE_EMIT_VERTEX, /* X */ OPCODE_END, /* X X X X opt */ + OPCODE_END_PRIMITIVE,/* X */ OPCODE_ENDIF, /* opt */ OPCODE_ENDLOOP, /* opt */ OPCODE_ENDSUB, /* opt */ diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c index 05aae83f0c1..00810bd10b3 100644 --- a/src/mesa/program/prog_print.c +++ b/src/mesa/program/prog_print.c @@ -773,6 +773,12 @@ _mesa_fprint_instruction_opt(FILE *f, fprintf(f, "# %s\n", inst->Comment); } break; + case OPCODE_EMIT_VERTEX: + fprintf(f, "EMIT_VERTEX\n"); + break; + case OPCODE_END_PRIMITIVE: + fprintf(f, "END_PRIMITIVE\n"); + break; /* XXX may need other special-case instructions */ default: if (inst->Opcode < MAX_OPCODE) { @@ -842,6 +848,8 @@ _mesa_fprint_program_opt(FILE *f, else fprintf(f, "# Fragment Program/Shader %u\n", prog->Id); break; + case MESA_GEOMETRY_PROGRAM: + fprintf(f, "# Geometry Shader\n"); } for (i = 0; i < prog->NumInstructions; i++) { @@ -996,8 +1004,10 @@ _mesa_write_shader_to_file(const struct gl_shader *shader) if (shader->Type == GL_FRAGMENT_SHADER) type = "frag"; - else + else if (shader->Type == GL_VERTEX_SHADER) type = "vert"; + else + type = "geom"; _mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type); f = fopen(filename, "w"); diff --git a/src/mesa/program/prog_uniform.h b/src/mesa/program/prog_uniform.h index 22a2bfd9701..a671d30bfe8 100644 --- a/src/mesa/program/prog_uniform.h +++ b/src/mesa/program/prog_uniform.h @@ -50,6 +50,7 @@ struct gl_uniform const char *Name; /**< Null-terminated string */ GLint VertPos; GLint FragPos; + GLint GeomPos; GLboolean Initialized; /**< For debug. Has this uniform been set? */ #if 0 GLenum DataType; /**< GL_FLOAT, GL_FLOAT_VEC2, etc */ diff --git a/src/mesa/program/program.c b/src/mesa/program/program.c index a6ada8a048b..cf46095ce84 100644 --- a/src/mesa/program/program.c +++ b/src/mesa/program/program.c @@ -98,6 +98,13 @@ _mesa_init_program(GLcontext *ctx) ctx->FragmentProgram.Cache = _mesa_new_program_cache(); #endif +#if FEATURE_ARB_geometry_shader4 + ctx->GeometryProgram.Enabled = GL_FALSE; + /* right now by default we don't have a geometry program */ + _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, + NULL); + ctx->GeometryProgram.Cache = _mesa_new_program_cache(); +#endif /* XXX probably move this stuff */ #if FEATURE_ATI_fragment_shader @@ -122,6 +129,10 @@ _mesa_free_program_data(GLcontext *ctx) #if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program _mesa_reference_fragprog(ctx, &ctx->FragmentProgram.Current, NULL); _mesa_delete_program_cache(ctx, ctx->FragmentProgram.Cache); +#endif +#if FEATURE_ARB_geometry_shader4 + _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, NULL); + _mesa_delete_program_cache(ctx, ctx->GeometryProgram.Cache); #endif /* XXX probably move this stuff */ #if FEATURE_ATI_fragment_shader @@ -158,6 +169,12 @@ _mesa_update_default_objects_program(GLcontext *ctx) assert(ctx->FragmentProgram.Current); #endif +#if FEATURE_ARB_geometry_shader4 + _mesa_reference_geomprog(ctx, &ctx->GeometryProgram.Current, + (struct gl_geometry_program *) + ctx->Shared->DefaultGeometryProgram); +#endif + /* XXX probably move this stuff */ #if FEATURE_ATI_fragment_shader if (ctx->ATIFragmentShader.Current) { @@ -285,6 +302,20 @@ _mesa_init_vertex_program( GLcontext *ctx, struct gl_vertex_program *prog, } +/** + * Initialize a new geometry program object. + */ +struct gl_program * +_mesa_init_geometry_program( GLcontext *ctx, struct gl_geometry_program *prog, + GLenum target, GLuint id) +{ + if (prog) + return _mesa_init_program_struct( ctx, &prog->Base, target, id ); + else + return NULL; +} + + /** * Allocate and initialize a new fragment/vertex program object but * don't put it into the program hash table. Called via @@ -313,6 +344,11 @@ _mesa_new_program(GLcontext *ctx, GLenum target, GLuint id) CALLOC_STRUCT(gl_fragment_program), target, id ); break; + case MESA_GEOMETRY_PROGRAM: + prog = _mesa_init_geometry_program(ctx, + CALLOC_STRUCT(gl_geometry_program), + target, id); + break; default: _mesa_problem(ctx, "bad target in _mesa_new_program"); prog = NULL; @@ -387,6 +423,8 @@ _mesa_reference_program(GLcontext *ctx, else if ((*ptr)->Target == GL_FRAGMENT_PROGRAM_ARB) ASSERT(prog->Target == GL_FRAGMENT_PROGRAM_ARB || prog->Target == GL_FRAGMENT_PROGRAM_NV); + else if ((*ptr)->Target == MESA_GEOMETRY_PROGRAM) + ASSERT(prog->Target == MESA_GEOMETRY_PROGRAM); } if (*ptr == prog) { return; /* no change */ @@ -398,7 +436,8 @@ _mesa_reference_program(GLcontext *ctx, #if 0 printf("Program %p ID=%u Target=%s Refcount-- to %d\n", *ptr, (*ptr)->Id, - ((*ptr)->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : "FP"), + ((*ptr)->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : + ((*ptr)->Target == MESA_GEOMETRY_PROGRAM ? "GP" : "FP")), (*ptr)->RefCount - 1); #endif ASSERT((*ptr)->RefCount > 0); @@ -422,7 +461,8 @@ _mesa_reference_program(GLcontext *ctx, #if 0 printf("Program %p ID=%u Target=%s Refcount++ to %d\n", prog, prog->Id, - (prog->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : "FP"), + (prog->Target == GL_VERTEX_PROGRAM_ARB ? "VP" : + (prog->Target == MESA_GEOMETRY_PROGRAM ? "GP" : "FP")), prog->RefCount); #endif /*_glthread_UNLOCK_MUTEX(prog->Mutex);*/ @@ -510,6 +550,16 @@ _mesa_clone_program(GLcontext *ctx, const struct gl_program *prog) fpc->PixelCenterInteger = fp->PixelCenterInteger; } break; + case MESA_GEOMETRY_PROGRAM: + { + const struct gl_geometry_program *gp + = (const struct gl_geometry_program *) prog; + struct gl_geometry_program *gpc = (struct gl_geometry_program *) clone; + gpc->VerticesOut = gp->VerticesOut; + gpc->InputType = gp->InputType; + gpc->OutputType = gp->OutputType; + } + break; default: _mesa_problem(NULL, "Unexpected target in _mesa_clone_program"); } diff --git a/src/mesa/program/program.h b/src/mesa/program/program.h index af9f4170d1b..286573de1fb 100644 --- a/src/mesa/program/program.h +++ b/src/mesa/program/program.h @@ -73,6 +73,11 @@ _mesa_init_fragment_program(GLcontext *ctx, struct gl_fragment_program *prog, GLenum target, GLuint id); +extern struct gl_program * +_mesa_init_geometry_program(GLcontext *ctx, + struct gl_geometry_program *prog, + GLenum target, GLuint id); + extern struct gl_program * _mesa_new_program(GLcontext *ctx, GLenum target, GLuint id); @@ -105,6 +110,15 @@ _mesa_reference_fragprog(GLcontext *ctx, (struct gl_program *) prog); } +static INLINE void +_mesa_reference_geomprog(GLcontext *ctx, + struct gl_geometry_program **ptr, + struct gl_geometry_program *prog) +{ + _mesa_reference_program(ctx, (struct gl_program **) ptr, + (struct gl_program *) prog); +} + extern struct gl_program * _mesa_clone_program(GLcontext *ctx, const struct gl_program *prog); @@ -115,6 +129,12 @@ _mesa_clone_vertex_program(GLcontext *ctx, return (struct gl_vertex_program *) _mesa_clone_program(ctx, &prog->Base); } +static INLINE struct gl_geometry_program * +_mesa_clone_geometry_program(GLcontext *ctx, + const struct gl_geometry_program *prog) +{ + return (struct gl_geometry_program *) _mesa_clone_program(ctx, &prog->Base); +} static INLINE struct gl_fragment_program * _mesa_clone_fragment_program(GLcontext *ctx, diff --git a/src/mesa/slang/library/Makefile b/src/mesa/slang/library/Makefile index 5a767742081..f546a039072 100644 --- a/src/mesa/slang/library/Makefile +++ b/src/mesa/slang/library/Makefile @@ -23,7 +23,7 @@ builtin: builtin_110 builtin_120 # builtin library sources # -builtin_110: slang_common_builtin_gc.h slang_core_gc.h slang_fragment_builtin_gc.h slang_vertex_builtin_gc.h +builtin_110: slang_common_builtin_gc.h slang_core_gc.h slang_fragment_builtin_gc.h slang_vertex_builtin_gc.h slang_geometry_builtin_gc.h builtin_120: slang_120_core_gc.h slang_builtin_120_common_gc.h slang_builtin_120_fragment_gc.h @@ -49,3 +49,6 @@ slang_fragment_builtin_gc.h: slang_fragment_builtin.gc slang_vertex_builtin_gc.h: slang_vertex_builtin.gc $(GLSL_CL) vertex slang_vertex_builtin.gc slang_vertex_builtin_gc.h +slang_geometry_builtin_gc.h: slang_geometry_builtin.gc + $(GLSL_CL) geometry slang_geometry_builtin.gc slang_geometry_builtin_gc.h + diff --git a/src/mesa/slang/library/SConscript b/src/mesa/slang/library/SConscript index 792a7953d34..5112cefb3eb 100644 --- a/src/mesa/slang/library/SConscript +++ b/src/mesa/slang/library/SConscript @@ -10,21 +10,28 @@ env = env.Clone() def glsl_compile_emitter(target, source, env): env.Depends(target, glsl_compile) return (target, source) - + bld_frag = Builder( action = Action(glsl_compile[0].abspath + ' fragment $SOURCE $TARGET', '$CODEGENCODESTR'), emitter = glsl_compile_emitter, suffix = '.gc', src_suffix = '_gc.h') - + bld_vert = Builder( action = Action(glsl_compile[0].abspath + ' vertex $SOURCE $TARGET', '$CODEGENCODESTR'), emitter = glsl_compile_emitter, suffix = '.gc', src_suffix = '_gc.h') +bld_geom = Builder( + action = Action(glsl_compile[0].abspath + ' geometry $SOURCE $TARGET', '$CODEGENCODESTR'), + emitter = glsl_compile_emitter, + suffix = '.gc', + src_suffix = '_gc.h') + env['BUILDERS']['bld_frag'] = bld_frag env['BUILDERS']['bld_vert'] = bld_vert +env['BUILDERS']['bld_geom'] = bld_geom # Generate GLSL builtin library binaries env.bld_frag( @@ -39,6 +46,9 @@ env.bld_frag( env.bld_vert( '#src/mesa/slang/library/slang_vertex_builtin_gc.h', '#src/mesa/slang/library/slang_vertex_builtin.gc') +env.bld_geom( + '#src/mesa/slang/library/slang_geometry_builtin_gc.h', + '#src/mesa/slang/library/slang_geometry_builtin.gc') # Generate GLSL 1.20 builtin library binaries env.bld_frag( diff --git a/src/mesa/slang/library/slang_geometry_builtin.gc b/src/mesa/slang/library/slang_geometry_builtin.gc new file mode 100644 index 00000000000..c349a6acc04 --- /dev/null +++ b/src/mesa/slang/library/slang_geometry_builtin.gc @@ -0,0 +1,56 @@ +/* + * Mesa 3-D graphics library + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +const int _mesa_VerticesInMax = 6; + +__fixed_input int gl_VerticesIn; +__fixed_input int gl_PrimitiveIDIn; +__fixed_output int gl_PrimitiveID; +__fixed_output int gl_Layer; + + +varying in vec4 gl_FrontColorIn[_mesa_VerticesInMax]; +varying in vec4 gl_BackColorIn[_mesa_VerticesInMax]; +varying in vec4 gl_FrontSecondaryColorIn[_mesa_VerticesInMax]; +varying in vec4 gl_BackSecondaryColorIn[_mesa_VerticesInMax]; +/*varying in vec4 gl_TexCoordIn[_mesa_VerticesInMax][gl_MaxTextureCoords];*/ +varying in float gl_FogFragCoordIn[_mesa_VerticesInMax]; +varying in vec4 gl_PositionIn[_mesa_VerticesInMax]; +varying in float gl_PointSizeIn[_mesa_VerticesInMax]; +varying in vec4 gl_ClipVertexIn[_mesa_VerticesInMax]; + +varying out vec4 gl_Position; +varying out vec4 gl_FrontColor; +varying out vec4 gl_BackColor; +varying out vec4 gl_FrontSecondaryColor; +varying out vec4 gl_BackSecondaryColor; +varying out vec4 gl_TexCoord[gl_MaxTextureCoords]; +varying out float gl_FogFragCoord; + +void EmitVertex() +{ + __asm emit_vertex; +} + +void EndPrimitive() +{ + __asm end_primitive; +} diff --git a/src/mesa/slang/slang_builtin.c b/src/mesa/slang/slang_builtin.c index 610e793c1d9..95f07efca56 100644 --- a/src/mesa/slang/slang_builtin.c +++ b/src/mesa/slang/slang_builtin.c @@ -746,6 +746,21 @@ static const struct input_info vertInputs[] = { { NULL, 0, GL_NONE, SWIZZLE_NOOP } }; +static const struct input_info geomInputs[] = { + { "gl_VerticesIn", GEOM_ATTRIB_VERTICES, GL_FLOAT, SWIZZLE_NOOP }, + { "gl_PrimitiveIDIn", GEOM_ATTRIB_PRIMITIVE_ID, GL_FLOAT, SWIZZLE_NOOP }, + { "gl_FrontColorIn", GEOM_ATTRIB_COLOR0, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_BackColorIn", GEOM_ATTRIB_COLOR1, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_FrontSecondaryColorIn", GEOM_ATTRIB_SECONDARY_COLOR0, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_BackSecondaryColorIn", GEOM_ATTRIB_SECONDARY_COLOR1, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_TexCoordIn", GEOM_ATTRIB_TEX_COORD, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_FogFragCoordIn", GEOM_ATTRIB_FOG_FRAG_COORD, GL_FLOAT, SWIZZLE_NOOP }, + { "gl_PositionIn", GEOM_ATTRIB_POSITION, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_ClipVertexIn", GEOM_ATTRIB_CLIP_VERTEX, GL_FLOAT_VEC4, SWIZZLE_NOOP }, + { "gl_PointSizeIn", GEOM_ATTRIB_POINT_SIZE, GL_FLOAT, SWIZZLE_NOOP }, + { NULL, 0, GL_NONE, SWIZZLE_NOOP } +}; + /** Predefined fragment shader inputs */ static const struct input_info fragInputs[] = { { "gl_FragCoord", FRAG_ATTRIB_WPOS, GL_FLOAT_VEC4, SWIZZLE_NOOP }, @@ -778,7 +793,9 @@ _slang_input_index(const char *name, GLenum target, GLuint *swizzleOut) case GL_FRAGMENT_PROGRAM_ARB: inputs = fragInputs; break; - /* XXX geom program */ + case MESA_GEOMETRY_PROGRAM: + inputs = geomInputs; + break; default: _mesa_problem(NULL, "bad target in _slang_input_index"); return -1; @@ -854,6 +871,22 @@ static const struct output_info vertOutputs[] = { { NULL, 0, GL_NONE } }; +/** Predefined geometry shader outputs */ +static const struct output_info geomOutputs[] = { + { "gl_Position", GEOM_RESULT_POS, GL_FLOAT_VEC4 }, + { "gl_FrontColor", GEOM_RESULT_COL0, GL_FLOAT_VEC4 }, + { "gl_BackColor", GEOM_RESULT_COL1, GL_FLOAT_VEC4 }, + { "gl_FrontSecondaryColor", GEOM_RESULT_SCOL0, GL_FLOAT_VEC4 }, + { "gl_BackSecondaryColor", GEOM_RESULT_SCOL1, GL_FLOAT_VEC4 }, + { "gl_TexCoord", GEOM_RESULT_TEX0, GL_FLOAT_VEC4 }, + { "gl_FogFragCoord", GEOM_RESULT_FOGC, GL_FLOAT }, + { "gl_ClipVertex", GEOM_RESULT_CLPV, GL_FLOAT_VEC4 }, + { "gl_PointSize", GEOM_RESULT_PSIZ, GL_FLOAT }, + { "gl_PrimitiveID", GEOM_RESULT_PRID, GL_FLOAT }, + { "gl_Layer", GEOM_RESULT_LAYR, GL_FLOAT }, + { NULL, 0, GL_NONE } +}; + /** Predefined fragment shader outputs */ static const struct output_info fragOutputs[] = { { "gl_FragColor", FRAG_RESULT_COLOR, GL_FLOAT_VEC4 }, @@ -864,7 +897,7 @@ static const struct output_info fragOutputs[] = { /** - * Return the VERT_RESULT_* or FRAG_RESULT_* value that corresponds to + * Return the VERT_RESULT_*, GEOM_RESULT_* or FRAG_RESULT_* value that corresponds to * a vertex or fragment program output variable. Return -1 for an invalid * output name. */ @@ -881,7 +914,9 @@ _slang_output_index(const char *name, GLenum target) case GL_FRAGMENT_PROGRAM_ARB: outputs = fragOutputs; break; - /* XXX geom program */ + case MESA_GEOMETRY_PROGRAM: + outputs = geomOutputs; + break; default: _mesa_problem(NULL, "bad target in _slang_output_index"); return -1; @@ -910,6 +945,19 @@ _slang_vertex_output_name(gl_vert_result index) } +/** + * Given a GEOM_RESULT_x index, return the corresponding string name. + */ +const char * +_slang_geometry_output_name(gl_geom_result index) +{ + if (index < Elements(geomOutputs)) + return geomOutputs[index].Name; + else + return NULL; +} + + /** * Given a FRAG_RESULT_x index, return the corresponding string name. */ diff --git a/src/mesa/slang/slang_builtin.h b/src/mesa/slang/slang_builtin.h index b04b584041b..cef18afdd55 100644 --- a/src/mesa/slang/slang_builtin.h +++ b/src/mesa/slang/slang_builtin.h @@ -57,6 +57,9 @@ _slang_vertex_output_name(gl_vert_result index); const char * _slang_fragment_output_name(gl_frag_result index); +const char * +_slang_geometry_output_name(gl_geom_result index); + GLenum _slang_vertex_output_type(gl_vert_result index); diff --git a/src/mesa/slang/slang_codegen.c b/src/mesa/slang/slang_codegen.c index 18a0932e4fc..494901dc1c8 100644 --- a/src/mesa/slang/slang_codegen.c +++ b/src/mesa/slang/slang_codegen.c @@ -503,6 +503,9 @@ static slang_asm_info AsmInfo[] = { { "float_noise3", IR_NOISE3, 1, 1}, { "float_noise4", IR_NOISE4, 1, 1}, + { "emit_vertex", IR_EMIT_VERTEX, 0, 0}, + { "end_primitive", IR_END_PRIMITIVE, 0, 0}, + { NULL, IR_NOP, 0, 0 } }; @@ -4239,7 +4242,8 @@ is_store_writable(const slang_assemble_ctx *A, const slang_ir_storage *store) if (!(store->File == PROGRAM_OUTPUT || store->File == PROGRAM_TEMPORARY || (store->File == PROGRAM_VARYING && - A->program->Target == GL_VERTEX_PROGRAM_ARB))) { + (A->program->Target == GL_VERTEX_PROGRAM_ARB || + A->program->Target == MESA_GEOMETRY_PROGRAM)))) { return GL_FALSE; } else { @@ -5148,8 +5152,7 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var, assert(index < FRAG_ATTRIB_MAX); store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle); - } - else { + } else if (type == SLANG_UNIT_VERTEX_BUILTIN) { /* vertex program output */ GLint index = _slang_output_index(varName, GL_VERTEX_PROGRAM_ARB); GLuint swizzle = _slang_var_swizzle(size, 0); @@ -5158,6 +5161,27 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var, assert(type == SLANG_UNIT_VERTEX_BUILTIN); store = _slang_new_ir_storage_swz(PROGRAM_OUTPUT, index, size, swizzle); + } else { + /* geometry program input */ + GLuint swizzle; + GLint index = _slang_input_index(varName, MESA_GEOMETRY_PROGRAM, + &swizzle); + if (index < 0) { + /* geometry program output */ + index = _slang_output_index(varName, MESA_GEOMETRY_PROGRAM); + swizzle = _slang_var_swizzle(size, 0); + + assert(index >= 0); + assert(index < GEOM_RESULT_MAX); + + store = _slang_new_ir_storage_swz(PROGRAM_OUTPUT, index, + size, swizzle); + } else { + assert(index >= 0); + /* assert(index < GEOM_ATTRIB_MAX); */ + store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, + size, swizzle); + } } if (dbg) printf("V/F "); } @@ -5193,21 +5217,31 @@ _slang_codegen_global_variable(slang_assemble_ctx *A, slang_variable *var, } else if (var->type.qualifier == SLANG_QUAL_FIXEDINPUT) { GLuint swizzle = SWIZZLE_XYZW; /* silence compiler warning */ - GLint index = _slang_input_index(varName, GL_FRAGMENT_PROGRAM_ARB, - &swizzle); - store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle); + if (type == SLANG_UNIT_FRAGMENT_BUILTIN) { + GLint index = _slang_input_index(varName, GL_FRAGMENT_PROGRAM_ARB, + &swizzle); + store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle); + } else if (type == SLANG_UNIT_GEOMETRY_BUILTIN) { + GLint index = _slang_input_index(varName, MESA_GEOMETRY_PROGRAM, + &swizzle); + store = _slang_new_ir_storage_swz(PROGRAM_INPUT, index, size, swizzle); + } if (dbg) printf("INPUT "); } else if (var->type.qualifier == SLANG_QUAL_FIXEDOUTPUT) { if (type == SLANG_UNIT_VERTEX_BUILTIN) { GLint index = _slang_output_index(varName, GL_VERTEX_PROGRAM_ARB); store = _slang_new_ir_storage(PROGRAM_OUTPUT, index, size); - } - else { + } else if (type == SLANG_UNIT_FRAGMENT_BUILTIN) { GLint index = _slang_output_index(varName, GL_FRAGMENT_PROGRAM_ARB); GLint specialSize = 4; /* treat all fragment outputs as float[4] */ assert(type == SLANG_UNIT_FRAGMENT_BUILTIN); store = _slang_new_ir_storage(PROGRAM_OUTPUT, index, specialSize); + } else { + GLint index = _slang_output_index(varName, MESA_GEOMETRY_PROGRAM); + GLint specialSize = 4; /* treat all fragment outputs as float[4] */ + assert(type == SLANG_UNIT_GEOMETRY_BUILTIN); + store = _slang_new_ir_storage(PROGRAM_OUTPUT, index, specialSize); } if (dbg) printf("OUTPUT "); } diff --git a/src/mesa/slang/slang_compile.c b/src/mesa/slang/slang_compile.c index af672599ed9..12ab4666aed 100644 --- a/src/mesa/slang/slang_compile.c +++ b/src/mesa/slang/slang_compile.c @@ -952,6 +952,40 @@ parse_type_precision(slang_parse_ctx *C, } } + +/* parameter qualifier */ +#define PARAM_QUALIFIER_IN 0 +#define PARAM_QUALIFIER_OUT 1 +#define PARAM_QUALIFIER_INOUT 2 +#define PARAM_QUALIFIER_NONE 3 +static int +parse_varying_qualifier(slang_parse_ctx * C, slang_fully_specified_type *type) +{ + int param_qual = *C->I++; + + if (type->qualifier != SLANG_QUAL_VARYING && + param_qual != PARAM_QUALIFIER_NONE) { + slang_info_log_error(C->L, "Invalid type qualifier."); + RETURN0; + } + switch (param_qual) { + case PARAM_QUALIFIER_IN: + case PARAM_QUALIFIER_NONE: + type->varying_kind = SLANG_VARYING_IN; + break; + case PARAM_QUALIFIER_OUT: + type->varying_kind = SLANG_VARYING_OUT; + break; + case PARAM_QUALIFIER_INOUT: + slang_info_log_error(C->L, "Invalid type qualifier."); + RETURN0; + break; + default: + RETURN0; + } + return 1; +} + static int parse_fully_specified_type(slang_parse_ctx * C, slang_output_ctx * O, slang_fully_specified_type * type) @@ -968,6 +1002,9 @@ parse_fully_specified_type(slang_parse_ctx * C, slang_output_ctx * O, if (!parse_type_qualifier(C, &type->qualifier)) RETURN0; + if (!parse_varying_qualifier(C, type)) + RETURN0; + if (!parse_type_precision(C, &type->precision)) RETURN0; @@ -1684,11 +1721,6 @@ parse_expression(slang_parse_ctx * C, slang_output_ctx * O, return 1; } -/* parameter qualifier */ -#define PARAM_QUALIFIER_IN 0 -#define PARAM_QUALIFIER_OUT 1 -#define PARAM_QUALIFIER_INOUT 2 - /* function parameter array presence */ #define PARAMETER_ARRAY_NOT_PRESENT 0 #define PARAMETER_ARRAY_PRESENT 1 @@ -1730,6 +1762,9 @@ parse_parameter_declaration(slang_parse_ctx * C, slang_output_ctx * O, RETURN0; } break; + case PARAM_QUALIFIER_NONE: + /* like IN but doesn't throw error */ + break; default: RETURN0; } @@ -2154,6 +2189,7 @@ parse_init_declarator(slang_parse_ctx * C, slang_output_ctx * O, var->type.variant = type->variant; var->type.layout = type->layout; var->type.array_len = type->array_len; + var->type.varying_kind = type->varying_kind; var->a_name = a_name; if (var->a_name == SLANG_ATOM_NULL) RETURN0; @@ -2499,7 +2535,7 @@ init_default_precision(slang_output_ctx *O, slang_unit_type type) #endif } - if (type == SLANG_UNIT_VERTEX_SHADER) { + if (type == SLANG_UNIT_VERTEX_SHADER || type == SLANG_UNIT_GEOMETRY_SHADER) { O->default_precision[TYPE_SPECIFIER_FLOAT] = PRECISION_HIGH; O->default_precision[TYPE_SPECIFIER_INT] = PRECISION_HIGH; } @@ -2547,10 +2583,13 @@ parse_code_unit(slang_parse_ctx * C, slang_code_unit * unit, unit->type == SLANG_UNIT_FRAGMENT_SHADER) { maxRegs = ctx->Const.FragmentProgram.MaxTemps; } - else { - assert(unit->type == SLANG_UNIT_VERTEX_BUILTIN || - unit->type == SLANG_UNIT_VERTEX_SHADER); + else if (unit->type == SLANG_UNIT_VERTEX_BUILTIN || + unit->type == SLANG_UNIT_VERTEX_SHADER) { maxRegs = ctx->Const.VertexProgram.MaxTemps; + } else { + assert(unit->type == SLANG_UNIT_GEOMETRY_BUILTIN || + unit->type == SLANG_UNIT_GEOMETRY_SHADER); + maxRegs = ctx->Const.GeometryProgram.MaxTemps; } /* setup output context */ @@ -2829,6 +2868,10 @@ static const unsigned char slang_vertex_builtin_gc[] = { #include "library/slang_vertex_builtin_gc.h" }; +static const unsigned char slang_geometry_builtin_gc[] = { +#include "library/slang_geometry_builtin_gc.h" +}; + static GLboolean compile_object(const char *source, slang_code_object *object, @@ -2853,7 +2896,8 @@ compile_object(const char *source, parsing_builtin = 1; /* if parsing user-specified shader, load built-in library */ - if (type == SLANG_UNIT_FRAGMENT_SHADER || type == SLANG_UNIT_VERTEX_SHADER) { + if (type == SLANG_UNIT_FRAGMENT_SHADER || type == SLANG_UNIT_VERTEX_SHADER || + type == SLANG_UNIT_GEOMETRY_SHADER) { /* compile core functionality first */ if (!compile_binary(slang_core_gc, &object->builtin[SLANG_BUILTIN_CORE], @@ -2913,6 +2957,16 @@ compile_object(const char *source, &object->builtin[SLANG_BUILTIN_COMMON], NULL)) return GL_FALSE; } +#if FEATURE_ARB_geometry_shader4 + else if (type == SLANG_UNIT_GEOMETRY_SHADER) { + if (!compile_binary(slang_geometry_builtin_gc, + &object->builtin[SLANG_BUILTIN_TARGET], + base_version, + SLANG_UNIT_GEOMETRY_BUILTIN, infolog, NULL, + &object->builtin[SLANG_BUILTIN_COMMON], NULL)) + return GL_FALSE; + } +#endif /* disable language extensions */ parsing_builtin = 0; @@ -2945,9 +2999,11 @@ _slang_compile(GLcontext *ctx, struct gl_shader *shader) if (shader->Type == GL_VERTEX_SHADER) { type = SLANG_UNIT_VERTEX_SHADER; } - else { - assert(shader->Type == GL_FRAGMENT_SHADER); + else if (shader->Type == GL_FRAGMENT_SHADER) { type = SLANG_UNIT_FRAGMENT_SHADER; + } else { + assert(shader->Type == GL_GEOMETRY_SHADER_ARB); + type = SLANG_UNIT_GEOMETRY_SHADER; } if (!shader->Source) @@ -2963,8 +3019,10 @@ _slang_compile(GLcontext *ctx, struct gl_shader *shader) /* allocate new GPU program, parameter lists, etc. */ if (shader->Type == GL_VERTEX_SHADER) progTarget = GL_VERTEX_PROGRAM_ARB; - else + else if (shader->Type == GL_FRAGMENT_SHADER) progTarget = GL_FRAGMENT_PROGRAM_ARB; + else + progTarget = MESA_GEOMETRY_PROGRAM; shader->Program = ctx->Driver.NewProgram(ctx, progTarget, 1); shader->Program->Parameters = _mesa_new_parameter_list(); shader->Program->Varying = _mesa_new_parameter_list(); diff --git a/src/mesa/slang/slang_compile.h b/src/mesa/slang/slang_compile.h index 7fb549d33d2..71fcaa39931 100644 --- a/src/mesa/slang/slang_compile.h +++ b/src/mesa/slang/slang_compile.h @@ -48,8 +48,10 @@ typedef enum slang_unit_type_ { SLANG_UNIT_FRAGMENT_SHADER, SLANG_UNIT_VERTEX_SHADER, + SLANG_UNIT_GEOMETRY_SHADER, SLANG_UNIT_FRAGMENT_BUILTIN, - SLANG_UNIT_VERTEX_BUILTIN + SLANG_UNIT_VERTEX_BUILTIN, + SLANG_UNIT_GEOMETRY_BUILTIN } slang_unit_type; diff --git a/src/mesa/slang/slang_emit.c b/src/mesa/slang/slang_emit.c index 9997d5b0a07..aa9d6624d5b 100644 --- a/src/mesa/slang/slang_emit.c +++ b/src/mesa/slang/slang_emit.c @@ -2506,6 +2506,11 @@ emit(slang_emit_info *emitInfo, slang_ir_node *n) case IR_NOP: return NULL; + case IR_EMIT_VERTEX: + return new_instruction(emitInfo, OPCODE_EMIT_VERTEX); + case IR_END_PRIMITIVE: + return new_instruction(emitInfo, OPCODE_END_PRIMITIVE); + default: _mesa_problem(NULL, "Unexpected IR opcode in emit()\n"); } @@ -2630,9 +2635,11 @@ _slang_emit_code(slang_ir_node *n, slang_var_table *vt, if (prog->Target == GL_FRAGMENT_PROGRAM_ARB) { maxUniforms = ctx->Const.FragmentProgram.MaxUniformComponents / 4; } - else { - assert(prog->Target == GL_VERTEX_PROGRAM_ARB); + else if (prog->Target == GL_VERTEX_PROGRAM_ARB) { maxUniforms = ctx->Const.VertexProgram.MaxUniformComponents / 4; + } else { + assert(prog->Target == MESA_GEOMETRY_PROGRAM); + maxUniforms = ctx->Const.GeometryProgram.MaxUniformComponents / 4; } if (prog->Parameters->NumParameters > maxUniforms) { slang_info_log_error(log, "Constant/uniform register limit exceeded " diff --git a/src/mesa/slang/slang_ir.c b/src/mesa/slang/slang_ir.c index e9aef9878ef..d78ba52505a 100644 --- a/src/mesa/slang/slang_ir.c +++ b/src/mesa/slang/slang_ir.c @@ -103,6 +103,8 @@ static const slang_ir_info IrInfo[] = { { IR_ELEMENT, "IR_ELEMENT", OPCODE_NOP, 0, 0 }, { IR_SWIZZLE, "IR_SWIZZLE", OPCODE_NOP, 0, 0 }, { IR_NOP, "IR_NOP", OPCODE_NOP, 0, 0 }, + { IR_EMIT_VERTEX, "IR_EMIT_VERTEX", OPCODE_EMIT_VERTEX, 0, 0 }, + { IR_END_PRIMITIVE, "IR_END_PRIMITIVE", OPCODE_END_PRIMITIVE, 0, 0 }, { 0, NULL, 0, 0, 0 } }; diff --git a/src/mesa/slang/slang_ir.h b/src/mesa/slang/slang_ir.h index 166b4e80436..e9af079a1e3 100644 --- a/src/mesa/slang/slang_ir.h +++ b/src/mesa/slang/slang_ir.h @@ -140,7 +140,10 @@ typedef enum IR_I_TO_F, /* int[4] to float[4] conversion */ IR_F_TO_I, /* float[4] to int[4] conversion */ - IR_KILL /* fragment kill/discard */ + IR_KILL, /* fragment kill/discard */ + + IR_EMIT_VERTEX, /* geometry shader: emit vertex */ + IR_END_PRIMITIVE /* geometry shader: end primitive */ } slang_ir_opcode; diff --git a/src/mesa/slang/slang_link.c b/src/mesa/slang/slang_link.c index 2f47cba1ce3..d4656ed493c 100644 --- a/src/mesa/slang/slang_link.c +++ b/src/mesa/slang/slang_link.c @@ -62,6 +62,12 @@ fragment_program(struct gl_program *prog) return (struct gl_fragment_program *) prog; } +static struct gl_geometry_program * +geometry_program(struct gl_program *prog) +{ + assert(prog->Target == MESA_GEOMETRY_PROGRAM); + return (struct gl_geometry_program *)prog; +} /** * Record a linking error. @@ -109,6 +115,18 @@ update_varying_var_list(GLcontext *ctx, struct gl_shader_program *shProg) } } } + if (shProg->GeometryProgram) { + GLbitfield64 written = shProg->GeometryProgram->Base.OutputsWritten; + GLuint i; + for (i = 0; written && i < GEOM_RESULT_MAX; i++) { + if (written & BITFIELD64_BIT(i)) { + const char *name = _slang_geometry_output_name(i); + if (name) + _mesa_add_varying(shProg->Varying, name, 1, GL_FLOAT_VEC4, 0x0); + written &= ~BITFIELD64_BIT(i); + } + } + } } @@ -203,7 +221,7 @@ static GLboolean link_varying_vars(GLcontext *ctx, struct gl_shader_program *shProg, struct gl_program *prog) { - GLuint *map, i, firstVarying, newFile; + GLuint *map, i, firstSrcVarying, firstDstVarying, newSrcFile, newDstFile; GLbitfield *inOutFlags; map = (GLuint *) malloc(prog->Varying->NumParameters * sizeof(GLuint)); @@ -216,14 +234,20 @@ link_varying_vars(GLcontext *ctx, * Also, replace File=PROGRAM_VARYING with File=PROGRAM_INPUT/OUTPUT. */ if (prog->Target == GL_VERTEX_PROGRAM_ARB) { - firstVarying = VERT_RESULT_VAR0; - newFile = PROGRAM_OUTPUT; + firstSrcVarying = firstDstVarying = VERT_RESULT_VAR0; + newSrcFile = newDstFile = PROGRAM_OUTPUT; inOutFlags = prog->OutputFlags; } + else if (prog->Target == MESA_GEOMETRY_PROGRAM) { + firstSrcVarying = GEOM_ATTRIB_VAR0; + newSrcFile = PROGRAM_INPUT; + firstDstVarying = GEOM_RESULT_VAR0; + newDstFile = PROGRAM_OUTPUT; + } else { assert(prog->Target == GL_FRAGMENT_PROGRAM_ARB); - firstVarying = FRAG_ATTRIB_VAR0; - newFile = PROGRAM_INPUT; + firstSrcVarying = firstDstVarying = FRAG_ATTRIB_VAR0; + newSrcFile = newDstFile = PROGRAM_INPUT; inOutFlags = prog->InputFlags; } @@ -275,7 +299,7 @@ link_varying_vars(GLcontext *ctx, { GLint sz = var->Size; while (sz > 0) { - inOutFlags[firstVarying + j] = var->Flags; + inOutFlags[firstDstVarying + j] = var->Flags; /*printf("Link varying from %d to %d\n", i, j);*/ map[i++] = j++; sz -= 4; @@ -293,14 +317,14 @@ link_varying_vars(GLcontext *ctx, GLuint j; if (inst->DstReg.File == PROGRAM_VARYING) { - inst->DstReg.File = newFile; - inst->DstReg.Index = map[ inst->DstReg.Index ] + firstVarying; + inst->DstReg.File = newDstFile; + inst->DstReg.Index = map[ inst->DstReg.Index ] + firstDstVarying; } for (j = 0; j < 3; j++) { if (inst->SrcReg[j].File == PROGRAM_VARYING) { - inst->SrcReg[j].File = newFile; - inst->SrcReg[j].Index = map[ inst->SrcReg[j].Index ] + firstVarying; + inst->SrcReg[j].File = newSrcFile; + inst->SrcReg[j].Index = map[ inst->SrcReg[j].Index ] + firstSrcVarying; } } } @@ -634,6 +658,16 @@ get_inputs_read_mask(GLenum target, GLuint index, GLboolean relAddr) ; /* a non-array input attribute */ } } + else if (target == MESA_GEOMETRY_PROGRAM) { + switch (index) { + case GEOM_ATTRIB_VAR0: + mask = ((1U << (GEOM_ATTRIB_VAR0 + MAX_VARYING)) - 1) + - ((1U << GEOM_ATTRIB_VAR0) - 1); + break; + default: + ; /* a non-array input attribute */ + } + } else { assert(0 && "bad program target"); } @@ -685,6 +719,21 @@ get_outputs_written_mask(GLenum target, GLuint index, GLboolean relAddr) ; /* a non-array output attribute */ } } + else if (target == MESA_GEOMETRY_PROGRAM) { + switch (index) { + case GEOM_RESULT_TEX0: + mask = BITFIELD64_RANGE(GEOM_RESULT_TEX0, + (GEOM_RESULT_TEX0 + + MAX_TEXTURE_COORD_UNITS - 1)); + break; + case GEOM_RESULT_VAR0: + mask = BITFIELD64_RANGE(GEOM_RESULT_VAR0, + (GEOM_RESULT_VAR0 + MAX_VARYING - 1)); + break; + default: + ; /* a non-array output attribute */ + } + } else { assert(0 && "bad program target"); } @@ -902,7 +951,8 @@ _slang_link(GLcontext *ctx, { const struct gl_vertex_program *vertProg = NULL; const struct gl_fragment_program *fragProg = NULL; - GLboolean vertNotify = GL_TRUE, fragNotify = GL_TRUE; + const struct gl_geometry_program *geomProg = NULL; + GLboolean vertNotify = GL_TRUE, fragNotify = GL_TRUE, geomNotify = GL_TRUE; GLuint numSamplers = 0; GLuint i; @@ -926,11 +976,15 @@ _slang_link(GLcontext *ctx, * Find the vertex and fragment shaders which define main() */ { - struct gl_shader *vertShader, *fragShader; + struct gl_shader *vertShader, *fragShader, *geomShader; vertShader = get_main_shader(ctx, shProg, GL_VERTEX_SHADER); + geomShader = get_main_shader(ctx, shProg, GL_GEOMETRY_SHADER_ARB); fragShader = get_main_shader(ctx, shProg, GL_FRAGMENT_SHADER); + if (vertShader) vertProg = vertex_program(vertShader->Program); + if (geomShader) + geomProg = geometry_program(geomShader->Program); if (fragShader) fragProg = fragment_program(fragShader->Program); if (!shProg->LinkStatus) @@ -964,7 +1018,14 @@ _slang_link(GLcontext *ctx, shProg->VertexProgram->Base.Id = shProg->Name; ASSERT(shProg->VertexProgram->Base.RefCount == 1); } - + _mesa_reference_geomprog(ctx, &shProg->GeometryProgram, NULL); + if (geomProg) { + struct gl_geometry_program *linked_gprog = + _mesa_clone_geometry_program(ctx, geomProg); + shProg->GeometryProgram = linked_gprog; /* refcount OK */ + shProg->GeometryProgram->Base.Id = shProg->Name; + ASSERT(shProg->GeometryProgram->Base.RefCount == 1); + } _mesa_reference_fragprog(ctx, &shProg->FragmentProgram, NULL); if (fragProg) { struct gl_fragment_program *linked_fprog = @@ -980,6 +1041,10 @@ _slang_link(GLcontext *ctx, if (!link_varying_vars(ctx, shProg, &shProg->VertexProgram->Base)) return; } + if (shProg->GeometryProgram) { + if (!link_varying_vars(ctx, shProg, &shProg->GeometryProgram->Base)) + return; + } if (shProg->FragmentProgram) { if (!link_varying_vars(ctx, shProg, &shProg->FragmentProgram->Base)) return; @@ -992,6 +1057,12 @@ _slang_link(GLcontext *ctx, return; } } + if (shProg->GeometryProgram) { + if (!link_uniform_vars(ctx, shProg, &shProg->GeometryProgram->Base, + &numSamplers)) { + return; + } + } if (shProg->FragmentProgram) { if (!link_uniform_vars(ctx, shProg, &shProg->FragmentProgram->Base, &numSamplers)) { @@ -1019,6 +1090,21 @@ _slang_link(GLcontext *ctx, return; } } + if (shProg->GeometryProgram) { + if (!shProg->VertexProgram) { + link_error(shProg, + "Geometry shader without a vertex shader is illegal!\n"); + return; + } + if (shProg->GeometryProgram->VerticesOut == 0) { + link_error(shProg, + "GEOMETRY_VERTICES_OUT is zero\n"); + return; + } + + _slang_count_temporaries(&shProg->GeometryProgram->Base); + _slang_update_inputs_outputs(&shProg->GeometryProgram->Base); + } if (shProg->FragmentProgram) { _slang_count_temporaries(&shProg->FragmentProgram->Base); _slang_update_inputs_outputs(&shProg->FragmentProgram->Base); @@ -1076,6 +1162,24 @@ _slang_link(GLcontext *ctx, } } + if (geomProg && shProg->GeometryProgram) { + /* Compute initial program's TexturesUsed info */ + _mesa_update_shader_textures_used(&shProg->GeometryProgram->Base); + + /* notify driver that a new fragment program has been compiled/linked */ + geomNotify = ctx->Driver.ProgramStringNotify(ctx, MESA_GEOMETRY_PROGRAM, + &shProg->GeometryProgram->Base); + if (ctx->Shader.Flags & GLSL_DUMP) { + printf("Mesa pre-link geometry program:\n"); + _mesa_print_program(&geomProg->Base); + _mesa_print_program_parameters(ctx, &geomProg->Base); + + printf("Mesa post-link geometry program:\n"); + _mesa_print_program(&shProg->GeometryProgram->Base); + _mesa_print_program_parameters(ctx, &shProg->GeometryProgram->Base); + } + } + if (vertProg && shProg->VertexProgram) { /* Compute initial program's TexturesUsed info */ _mesa_update_shader_textures_used(&shProg->VertexProgram->Base); @@ -1110,11 +1214,11 @@ _slang_link(GLcontext *ctx, } } - if (!vertNotify || !fragNotify) { + if (!vertNotify || !fragNotify || !geomNotify) { /* driver rejected one/both of the vertex/fragment programs */ if (!shProg->InfoLog) { link_error(shProg, - "Vertex and/or fragment program rejected by driver\n"); + "Vertex, geometry and/or fragment program rejected by driver\n"); } } else { diff --git a/src/mesa/slang/slang_typeinfo.h b/src/mesa/slang/slang_typeinfo.h index 9a6407a31bf..2251b063253 100644 --- a/src/mesa/slang/slang_typeinfo.h +++ b/src/mesa/slang/slang_typeinfo.h @@ -93,6 +93,11 @@ typedef enum slang_type_qualifier_ SLANG_QUAL_FIXEDINPUT /* internal */ } slang_type_qualifier; +typedef enum slang_varying_kind_ +{ + SLANG_VARYING_IN, + SLANG_VARYING_OUT, +} slang_varying_kind; typedef enum slang_type_precision_ { @@ -199,6 +204,7 @@ typedef struct slang_fully_specified_type_ slang_type_centroid centroid; slang_layout_qualifier layout; GLint array_len; /**< -1 if not an array type */ + slang_varying_kind varying_kind; } slang_fully_specified_type; extern int diff --git a/src/mesa/state_tracker/st_atom.c b/src/mesa/state_tracker/st_atom.c index 6f293128d3a..e389e57346b 100644 --- a/src/mesa/state_tracker/st_atom.c +++ b/src/mesa/state_tracker/st_atom.c @@ -47,6 +47,7 @@ static const struct st_tracked_state *atoms[] = &st_finalize_textures, &st_update_fp, + &st_update_gp, &st_update_vp, &st_update_rasterizer, @@ -59,6 +60,7 @@ static const struct st_tracked_state *atoms[] = &st_update_framebuffer, &st_update_msaa, &st_update_vs_constants, + &st_update_gs_constants, &st_update_fs_constants, &st_update_pixel_transfer }; @@ -115,6 +117,8 @@ static void check_program_state( struct st_context *st ) if (ctx->FragmentProgram._Current != &st->fp->Base) st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; + if (ctx->GeometryProgram._Current != &st->gp->Base) + st->dirty.st |= ST_NEW_GEOMETRY_PROGRAM; } diff --git a/src/mesa/state_tracker/st_atom.h b/src/mesa/state_tracker/st_atom.h index 0c25269e0a4..1f0fef63df5 100644 --- a/src/mesa/state_tracker/st_atom.h +++ b/src/mesa/state_tracker/st_atom.h @@ -48,6 +48,7 @@ extern const struct st_tracked_state st_update_framebuffer; extern const struct st_tracked_state st_update_clip; extern const struct st_tracked_state st_update_depth_stencil_alpha; extern const struct st_tracked_state st_update_fp; +extern const struct st_tracked_state st_update_gp; extern const struct st_tracked_state st_update_vp; extern const struct st_tracked_state st_update_rasterizer; extern const struct st_tracked_state st_update_polygon_stipple; @@ -59,6 +60,7 @@ extern const struct st_tracked_state st_update_sampler; extern const struct st_tracked_state st_update_texture; extern const struct st_tracked_state st_finalize_textures; extern const struct st_tracked_state st_update_fs_constants; +extern const struct st_tracked_state st_update_gs_constants; extern const struct st_tracked_state st_update_vs_constants; extern const struct st_tracked_state st_update_pixel_transfer; diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c index 38fadb20163..6f9d71e845b 100644 --- a/src/mesa/state_tracker/st_atom_constbuf.c +++ b/src/mesa/state_tracker/st_atom_constbuf.c @@ -59,7 +59,8 @@ void st_upload_constants( struct st_context *st, struct pipe_resource **cbuf = &st->state.constants[shader_type]; assert(shader_type == PIPE_SHADER_VERTEX || - shader_type == PIPE_SHADER_FRAGMENT); + shader_type == PIPE_SHADER_FRAGMENT || + shader_type == PIPE_SHADER_GEOMETRY); /* update constants */ if (params && params->NumParameters) { @@ -139,3 +140,24 @@ const struct st_tracked_state st_update_fs_constants = { update_fs_constants /* update */ }; +/* Geometry shader: + */ +static void update_gs_constants(struct st_context *st ) +{ + struct st_geometry_program *gp = st->gp; + struct gl_program_parameter_list *params; + + if (gp) { + params = gp->Base.Base.Parameters; + st_upload_constants( st, params, PIPE_SHADER_GEOMETRY ); + } +} + +const struct st_tracked_state st_update_gs_constants = { + "st_update_gs_constants", /* name */ + { /* dirty */ + (_NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS), /* mesa */ + ST_NEW_GEOMETRY_PROGRAM, /* st */ + }, + update_gs_constants /* update */ +}; diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index dcaad83a3c3..cebaad5f000 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -66,7 +66,19 @@ translate_fp(struct st_context *st, } } +/* + * Translate geometry program if needed. + */ +static void +translate_gp(struct st_context *st, + struct st_geometry_program *stgp) +{ + if (!stgp->tgsi.tokens) { + assert(stgp->Base.Base.NumInstructions > 1); + st_translate_geometry_program(st, stgp); + } +} /** * Find a translated vertex program that corresponds to stvp and @@ -222,3 +234,33 @@ const struct st_tracked_state st_update_vp = { }, update_vp /* update */ }; + +static void +update_gp( struct st_context *st ) +{ + + struct st_geometry_program *stgp; + + if (!st->ctx->GeometryProgram._Current) { + cso_set_geometry_shader_handle(st->cso_context, NULL); + return; + } + + stgp = st_geometry_program(st->ctx->GeometryProgram._Current); + assert(stgp->Base.Base.Target == MESA_GEOMETRY_PROGRAM); + + translate_gp(st, stgp); + + st_reference_geomprog(st, &st->gp, stgp); + + cso_set_geometry_shader_handle(st->cso_context, stgp->driver_shader); +} + +const struct st_tracked_state st_update_gp = { + "st_update_gp", /* name */ + { /* dirty */ + 0, /* mesa */ + ST_NEW_GEOMETRY_PROGRAM /* st */ + }, + update_gp /* update */ +}; diff --git a/src/mesa/state_tracker/st_cb_program.c b/src/mesa/state_tracker/st_cb_program.c index c8e4b9d56dd..6aa7e79af95 100644 --- a/src/mesa/state_tracker/st_cb_program.c +++ b/src/mesa/state_tracker/st_cb_program.c @@ -66,6 +66,9 @@ static void st_bind_program( GLcontext *ctx, case GL_FRAGMENT_PROGRAM_ARB: st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; break; + case MESA_GEOMETRY_PROGRAM: + st->dirty.st |= ST_NEW_GEOMETRY_PROGRAM; + break; } } @@ -80,6 +83,7 @@ static void st_use_program( GLcontext *ctx, struct gl_shader_program *shProg) st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; st->dirty.st |= ST_NEW_VERTEX_PROGRAM; + st->dirty.st |= ST_NEW_GEOMETRY_PROGRAM; } @@ -116,6 +120,17 @@ static struct gl_program *st_new_program( GLcontext *ctx, id ); } + case MESA_GEOMETRY_PROGRAM: { + struct st_geometry_program *prog = ST_CALLOC_STRUCT(st_geometry_program); + + prog->serialNo = SerialNo++; + + return _mesa_init_geometry_program( ctx, + &prog->Base, + target, + id ); + } + default: assert(0); return NULL; @@ -135,6 +150,21 @@ st_delete_program(GLcontext *ctx, struct gl_program *prog) st_vp_release_varients( st, stvp ); } break; + case MESA_GEOMETRY_PROGRAM: + { + struct st_geometry_program *stgp = (struct st_geometry_program *) prog; + + if (stgp->driver_shader) { + cso_delete_geometry_shader(st->cso_context, stgp->driver_shader); + stgp->driver_shader = NULL; + } + + if (stgp->tgsi.tokens) { + st_free_tokens((void *) stgp->tgsi.tokens); + stgp->tgsi.tokens = NULL; + } + } + break; case GL_FRAGMENT_PROGRAM_ARB: { struct st_fragment_program *stfp = (struct st_fragment_program *) prog; @@ -197,6 +227,24 @@ static GLboolean st_program_string_notify( GLcontext *ctx, if (st->fp == stfp) st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM; } + else if (target == MESA_GEOMETRY_PROGRAM) { + struct st_geometry_program *stgp = (struct st_geometry_program *) prog; + + stgp->serialNo++; + + if (stgp->driver_shader) { + cso_delete_geometry_shader(st->cso_context, stgp->driver_shader); + stgp->driver_shader = NULL; + } + + if (stgp->tgsi.tokens) { + st_free_tokens((void *) stgp->tgsi.tokens); + stgp->tgsi.tokens = NULL; + } + + if (st->gp == stgp) + st->dirty.st |= ST_NEW_GEOMETRY_PROGRAM; + } else if (target == GL_VERTEX_PROGRAM_ARB) { struct st_vertex_program *stvp = (struct st_vertex_program *) prog; diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index 4edfb2ae856..7f7088e2fd2 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -51,6 +51,7 @@ struct bitmap_cache; #define ST_NEW_VERTEX_PROGRAM 0x4 #define ST_NEW_FRAMEBUFFER 0x8 #define ST_NEW_EDGEFLAGS_DATA 0x10 +#define ST_NEW_GEOMETRY_PROGRAM 0x20 struct st_state_flags { @@ -95,7 +96,7 @@ struct st_context struct pipe_sampler_state samplers[PIPE_MAX_SAMPLERS]; struct pipe_sampler_state *sampler_list[PIPE_MAX_SAMPLERS]; struct pipe_clip_state clip; - struct pipe_resource *constants[2]; + struct pipe_resource *constants[PIPE_SHADER_TYPES]; struct pipe_framebuffer_state framebuffer; struct pipe_sampler_view *sampler_views[PIPE_MAX_SAMPLERS]; struct pipe_scissor_state scissor; @@ -130,6 +131,7 @@ struct st_context struct st_vertex_program *vp; /**< Currently bound vertex program */ struct st_fragment_program *fp; /**< Currently bound fragment program */ + struct st_geometry_program *gp; /**< Currently bound geometry program */ struct st_vp_varient *vp_varient; diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index d0ea89f4f4f..c5326fe0db0 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -392,4 +392,8 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_draw_buffers_blend = GL_TRUE; } #endif + + if (screen->get_param(screen, PIPE_CAP_GEOMETRY_SHADER4)) { + ctx->Extensions.ARB_geometry_shader4 = GL_TRUE; + } } diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c index 49b7b5d1c10..f5c9c4d5c1a 100644 --- a/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -522,6 +522,10 @@ translate_opcode( unsigned op ) return TGSI_OPCODE_DST; case OPCODE_ELSE: return TGSI_OPCODE_ELSE; + case OPCODE_EMIT_VERTEX: + return TGSI_OPCODE_EMIT; + case OPCODE_END_PRIMITIVE: + return TGSI_OPCODE_ENDPRIM; case OPCODE_ENDIF: return TGSI_OPCODE_ENDIF; case OPCODE_ENDLOOP: @@ -985,6 +989,20 @@ st_translate_mesa_program( } } } + else if (procType == TGSI_PROCESSOR_GEOMETRY) { + for (i = 0; i < numInputs; i++) { + t->inputs[i] = ureg_DECL_gs_input(ureg, + i, + inputSemanticName[i], + inputSemanticIndex[i]); + } + + for (i = 0; i < numOutputs; i++) { + t->outputs[i] = ureg_DECL_output( ureg, + outputSemanticName[i], + outputSemanticIndex[i] ); + } + } else { for (i = 0; i < numInputs; i++) { t->inputs[i] = ureg_DECL_vs_input(ureg, i); diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 3ea325bb42a..1b8612d570b 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -459,6 +459,252 @@ st_translate_fragment_program(struct st_context *st, } } +void +st_translate_geometry_program(struct st_context *st, + struct st_geometry_program *stgp) +{ + GLuint inputMapping[GEOM_ATTRIB_MAX]; + GLuint outputMapping[GEOM_RESULT_MAX]; + struct pipe_context *pipe = st->pipe; + enum pipe_error error; + GLuint attr; + const GLbitfield inputsRead = stgp->Base.Base.InputsRead; + GLuint vslot = 0; + GLuint num_generic = 0; + + uint gs_num_inputs = 0; + uint gs_builtin_inputs = 0; + uint gs_array_offset = 0; + + ubyte gs_output_semantic_name[PIPE_MAX_SHADER_OUTPUTS]; + ubyte gs_output_semantic_index[PIPE_MAX_SHADER_OUTPUTS]; + uint gs_num_outputs = 0; + + GLint i; + GLuint maxSlot = 0; + struct ureg_program *ureg; + + ureg = ureg_create( TGSI_PROCESSOR_GEOMETRY ); + if (ureg == NULL) { + return; + } + + assert(0); + /* which vertex output goes to the first geometry input */ + if (inputsRead & GEOM_BIT_VERTICES) + vslot = 0; + else + vslot = 1; + + /* + * Convert Mesa program inputs to TGSI input register semantics. + */ + for (attr = 0; attr < GEOM_ATTRIB_MAX; attr++) { + if (inputsRead & (1 << attr)) { + const GLuint slot = gs_num_inputs; + + gs_num_inputs++; + + inputMapping[attr] = slot; + + stgp->input_map[slot + gs_array_offset] = vslot - gs_builtin_inputs; + stgp->input_to_index[attr] = vslot; + stgp->index_to_input[vslot] = attr; + ++vslot; + + if (attr != GEOM_ATTRIB_VERTICES && + attr != GEOM_ATTRIB_PRIMITIVE_ID) { + gs_array_offset += 2; + } else + ++gs_builtin_inputs; + +#if 1 + debug_printf("input map at %d = %d\n", + slot + gs_array_offset, stgp->input_map[slot + gs_array_offset]); +#endif + + switch (attr) { + case GEOM_ATTRIB_VERTICES: + debug_assert(0); + break; + case GEOM_ATTRIB_PRIMITIVE_ID: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_PRIMID; + stgp->input_semantic_index[slot] = 0; + break; + case GEOM_ATTRIB_POSITION: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_POSITION; + stgp->input_semantic_index[slot] = 0; + break; + case GEOM_ATTRIB_COLOR0: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_COLOR; + stgp->input_semantic_index[slot] = 0; + break; + case GEOM_ATTRIB_COLOR1: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_COLOR; + stgp->input_semantic_index[slot] = 1; + break; + case GEOM_ATTRIB_FOG_FRAG_COORD: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_FOG; + stgp->input_semantic_index[slot] = 0; + break; + case GEOM_ATTRIB_TEX_COORD: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_GENERIC; + stgp->input_semantic_index[slot] = num_generic++; + break; + case GEOM_ATTRIB_VAR0: + /* fall-through */ + default: + stgp->input_semantic_name[slot] = TGSI_SEMANTIC_GENERIC; + stgp->input_semantic_index[slot] = num_generic++; + } + } + } + + /* initialize output semantics to defaults */ + for (i = 0; i < PIPE_MAX_SHADER_OUTPUTS; i++) { + gs_output_semantic_name[i] = TGSI_SEMANTIC_GENERIC; + gs_output_semantic_index[i] = 0; + } + + num_generic = 0; + /* + * Determine number of outputs, the (default) output register + * mapping and the semantic information for each output. + */ + for (attr = 0; attr < GEOM_RESULT_MAX; attr++) { + if (stgp->Base.Base.OutputsWritten & (1 << attr)) { + GLuint slot; + + slot = gs_num_outputs; + gs_num_outputs++; + outputMapping[attr] = slot; + + switch (attr) { + case GEOM_RESULT_POS: + assert(slot == 0); + gs_output_semantic_name[slot] = TGSI_SEMANTIC_POSITION; + gs_output_semantic_index[slot] = 0; + break; + case GEOM_RESULT_COL0: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_COLOR; + gs_output_semantic_index[slot] = 0; + break; + case GEOM_RESULT_COL1: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_COLOR; + gs_output_semantic_index[slot] = 1; + break; + case GEOM_RESULT_SCOL0: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_BCOLOR; + gs_output_semantic_index[slot] = 0; + break; + case GEOM_RESULT_SCOL1: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_BCOLOR; + gs_output_semantic_index[slot] = 1; + break; + case GEOM_RESULT_FOGC: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_FOG; + gs_output_semantic_index[slot] = 0; + break; + case GEOM_RESULT_PSIZ: + gs_output_semantic_name[slot] = TGSI_SEMANTIC_PSIZE; + gs_output_semantic_index[slot] = 0; + break; + case GEOM_RESULT_TEX0: + case GEOM_RESULT_TEX1: + case GEOM_RESULT_TEX2: + case GEOM_RESULT_TEX3: + case GEOM_RESULT_TEX4: + case GEOM_RESULT_TEX5: + case GEOM_RESULT_TEX6: + case GEOM_RESULT_TEX7: + /* fall-through */ + case GEOM_RESULT_VAR0: + /* fall-through */ + default: + assert(slot < Elements(gs_output_semantic_name)); + /* use default semantic info */ + gs_output_semantic_name[slot] = TGSI_SEMANTIC_GENERIC; + gs_output_semantic_index[slot] = num_generic++; + } + } + } + + assert(gs_output_semantic_name[0] == TGSI_SEMANTIC_POSITION); + + /* find max output slot referenced to compute gs_num_outputs */ + for (attr = 0; attr < GEOM_RESULT_MAX; attr++) { + if (outputMapping[attr] != ~0 && outputMapping[attr] > maxSlot) + maxSlot = outputMapping[attr]; + } + gs_num_outputs = maxSlot + 1; + +#if 0 /* debug */ + { + GLuint i; + printf("outputMapping? %d\n", outputMapping ? 1 : 0); + if (outputMapping) { + printf("attr -> slot\n"); + for (i = 0; i < 16; i++) { + printf(" %2d %3d\n", i, outputMapping[i]); + } + } + printf("slot sem_name sem_index\n"); + for (i = 0; i < gs_num_outputs; i++) { + printf(" %2d %d %d\n", + i, + gs_output_semantic_name[i], + gs_output_semantic_index[i]); + } + } +#endif + + /* free old shader state, if any */ + if (stgp->tgsi.tokens) { + st_free_tokens(stgp->tgsi.tokens); + stgp->tgsi.tokens = NULL; + } + if (stgp->driver_shader) { + cso_delete_geometry_shader(st->cso_context, stgp->driver_shader); + stgp->driver_shader = NULL; + } + + ureg_property_gs_input_prim(ureg, stgp->Base.InputType); + ureg_property_gs_output_prim(ureg, stgp->Base.OutputType); + ureg_property_gs_max_vertices(ureg, stgp->Base.VerticesOut); + + error = st_translate_mesa_program(st->ctx, + TGSI_PROCESSOR_GEOMETRY, + ureg, + &stgp->Base.Base, + /* inputs */ + gs_num_inputs, + inputMapping, + stgp->input_semantic_name, + stgp->input_semantic_index, + NULL, + /* outputs */ + gs_num_outputs, + outputMapping, + gs_output_semantic_name, + gs_output_semantic_index, + FALSE); + + + stgp->num_inputs = gs_num_inputs; + stgp->tgsi.tokens = ureg_get_tokens( ureg, NULL ); + ureg_destroy( ureg ); + stgp->driver_shader = pipe->create_gs_state(pipe, &stgp->tgsi); + + if ((ST_DEBUG & DEBUG_TGSI) && (ST_DEBUG & DEBUG_MESA)) { + _mesa_print_program(&stgp->Base.Base); + debug_printf("\n"); + } + + if (ST_DEBUG & DEBUG_TGSI) { + tgsi_dump(stgp->tgsi.tokens, 0); + debug_printf("\n"); + } +} /** * Debug- print current shader text diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h index d4b7151e929..d779d5a6dde 100644 --- a/src/mesa/state_tracker/st_program.h +++ b/src/mesa/state_tracker/st_program.h @@ -41,7 +41,6 @@ struct cso_fragment_shader; struct cso_vertex_shader; -struct translated_vertex_program; /** @@ -99,8 +98,6 @@ struct st_vp_varient }; - - /** * Derived from Mesa gl_fragment_program: */ @@ -126,6 +123,33 @@ struct st_vertex_program struct st_vp_varient *varients; }; +/** + * Derived from Mesa gl_geometry_program: + */ +struct st_geometry_program +{ + struct gl_geometry_program Base; /**< The Mesa geometry program */ + GLuint serialNo; + + /** map GP input back to VP output */ + GLuint input_map[PIPE_MAX_SHADER_INPUTS]; + + /** maps a Mesa GEOM_ATTRIB_x to a packed TGSI input index */ + GLuint input_to_index[GEOM_ATTRIB_MAX]; + /** maps a TGSI input index back to a Mesa GEOM_ATTRIB_x */ + GLuint index_to_input[PIPE_MAX_SHADER_INPUTS]; + + GLuint num_inputs; + + GLuint input_to_slot[GEOM_ATTRIB_MAX]; /**< Maps GEOM_ATTRIB_x to slot */ + GLuint num_input_slots; + + ubyte input_semantic_name[PIPE_MAX_SHADER_INPUTS]; + ubyte input_semantic_index[PIPE_MAX_SHADER_INPUTS]; + + struct pipe_shader_state tgsi; + void *driver_shader; +}; static INLINE struct st_fragment_program * st_fragment_program( struct gl_fragment_program *fp ) @@ -140,6 +164,11 @@ st_vertex_program( struct gl_vertex_program *vp ) return (struct st_vertex_program *)vp; } +static INLINE struct st_geometry_program * +st_geometry_program( struct gl_geometry_program *vp ) +{ + return (struct st_geometry_program *)vp; +} static INLINE void st_reference_vertprog(struct st_context *st, @@ -151,6 +180,16 @@ st_reference_vertprog(struct st_context *st, (struct gl_program *) prog); } +static INLINE void +st_reference_geomprog(struct st_context *st, + struct st_geometry_program **ptr, + struct st_geometry_program *prog) +{ + _mesa_reference_program(st->ctx, + (struct gl_program **) ptr, + (struct gl_program *) prog); +} + static INLINE void st_reference_fragprog(struct st_context *st, struct st_fragment_program **ptr, @@ -166,6 +205,9 @@ extern void st_translate_fragment_program(struct st_context *st, struct st_fragment_program *fp); +extern void +st_translate_geometry_program(struct st_context *st, + struct st_geometry_program *stgp); /* Called after program string change, discard all previous * compilation results. -- cgit v1.2.3 From 982aba97c581bab0ff55dc9cae4164ab30dfbeae Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 23 Jun 2010 16:14:49 +0800 Subject: st_api: Remove st_context::is_visual_supported. The callback is used by st/vega to check if a visual specifies the depth/stencil format. It forces st/vega to be loaded by st/egl to perform the check. As noted in EGL spec, the depth/stencil format of a visual should not affect OpenVG. It should be better to ignore the field and always allocate the depth/stencil texture. --- src/gallium/include/state_tracker/st_api.h | 6 ----- src/gallium/state_trackers/egl/common/egl_g3d.c | 10 +-------- src/gallium/state_trackers/vega/vg_context.c | 30 +++++++++++++++++++++++++ src/gallium/state_trackers/vega/vg_context.h | 1 + src/gallium/state_trackers/vega/vg_manager.c | 14 ++---------- src/mesa/state_tracker/st_manager.c | 8 ------- 6 files changed, 34 insertions(+), 35 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 621bdae5c85..11424611881 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -368,12 +368,6 @@ struct st_api */ st_proc_t (*get_proc_address)(struct st_api *stapi, const char *procname); - /** - * Return true if the visual is supported by the state tracker. - */ - boolean (*is_visual_supported)(struct st_api *stapi, - const struct st_visual *visual); - /** * Create a rendering context. */ diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index 8c7d2cb33e7..b4ca861efee 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -272,7 +272,6 @@ egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy, struct egl_g3d_config *gconf = egl_g3d_config(conf); EGLint buffer_mask, api_mask; EGLBoolean valid; - EGLint i; buffer_mask = 0x0; if (nconf->buffer_mask & (1 << NATIVE_ATTACHMENT_FRONT_LEFT)) @@ -293,14 +292,7 @@ egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy, gconf->stvis.render_buffer = (buffer_mask & ST_ATTACHMENT_BACK_LEFT_MASK) ? ST_ATTACHMENT_BACK_LEFT : ST_ATTACHMENT_FRONT_LEFT; - api_mask = 0; - for (i = 0; i < ST_API_COUNT; i++) { - struct st_api *stapi = gdrv->stapis[i]; - if (stapi) { - if (stapi->is_visual_supported(stapi, &gconf->stvis)) - api_mask |= egl_g3d_st_api_bit(i); - } - } + api_mask = gdrv->api_mask;; /* this is required by EGL, not by OpenGL ES */ if (nconf->window_bit && gconf->stvis.render_buffer != ST_ATTACHMENT_BACK_LEFT) diff --git a/src/gallium/state_trackers/vega/vg_context.c b/src/gallium/state_trackers/vega/vg_context.c index f02db8949df..b45e0086b4a 100644 --- a/src/gallium/state_trackers/vega/vg_context.c +++ b/src/gallium/state_trackers/vega/vg_context.c @@ -65,6 +65,32 @@ static void init_clear(struct vg_context *st) st->clear.fs = util_make_fragment_passthrough_shader(pipe); } + +/** + * A depth/stencil rb will be needed regardless of what the visual says. + */ +static boolean +choose_depth_stencil_format(struct vg_context *ctx) +{ + struct pipe_screen *screen = ctx->pipe->screen; + enum pipe_format formats[] = { + PIPE_FORMAT_Z24_UNORM_S8_USCALED, + PIPE_FORMAT_S8_USCALED_Z24_UNORM, + PIPE_FORMAT_NONE + }; + enum pipe_format *fmt; + + for (fmt = formats; *fmt != PIPE_FORMAT_NONE; fmt++) { + if (screen->is_format_supported(screen, *fmt, + PIPE_TEXTURE_2D, 0, PIPE_BIND_DEPTH_STENCIL, 0)) + break; + } + + ctx->ds_format = *fmt; + + return (ctx->ds_format != PIPE_FORMAT_NONE); +} + void vg_set_current_context(struct vg_context *ctx) { _vg_context = ctx; @@ -81,6 +107,10 @@ struct vg_context * vg_create_context(struct pipe_context *pipe, ctx = CALLOC_STRUCT(vg_context); ctx->pipe = pipe; + if (!choose_depth_stencil_format(ctx)) { + FREE(ctx); + return NULL; + } ctx->dispatch = api_create_dispatch(); diff --git a/src/gallium/state_trackers/vega/vg_context.h b/src/gallium/state_trackers/vega/vg_context.h index 7b59ad512a0..80a6c07c693 100644 --- a/src/gallium/state_trackers/vega/vg_context.h +++ b/src/gallium/state_trackers/vega/vg_context.h @@ -94,6 +94,7 @@ struct vg_context struct mapi_table *dispatch; struct pipe_context *pipe; + enum pipe_format ds_format; struct { struct vg_state vg; diff --git a/src/gallium/state_trackers/vega/vg_manager.c b/src/gallium/state_trackers/vega/vg_manager.c index 3b04816df04..bd6b59ba66e 100644 --- a/src/gallium/state_trackers/vega/vg_manager.c +++ b/src/gallium/state_trackers/vega/vg_manager.c @@ -448,8 +448,7 @@ vg_context_bind_framebuffers(struct st_context_iface *stctxi, /* free the existing fb */ if (!stdrawi || stfb->strb_att != strb_att || - stfb->strb->format != stdrawi->visual->color_format || - stfb->dsrb->format != stdrawi->visual->depth_stencil_format) { + stfb->strb->format != stdrawi->visual->color_format) { destroy_renderbuffer(stfb->strb); destroy_renderbuffer(stfb->dsrb); free(stfb); @@ -476,7 +475,7 @@ vg_context_bind_framebuffers(struct st_context_iface *stctxi, return FALSE; } - stfb->dsrb = create_renderbuffer(stdrawi->visual->depth_stencil_format); + stfb->dsrb = create_renderbuffer(ctx->ds_format); if (!stfb->dsrb) { free(stfb->strb); free(stfb); @@ -517,14 +516,6 @@ vg_api_get_current(struct st_api *stapi) return (ctx) ? &ctx->iface : NULL; } -static boolean -vg_api_is_visual_supported(struct st_api *stapi, - const struct st_visual *visual) -{ - /* the impl requires a depth/stencil buffer */ - return util_format_is_depth_and_stencil(visual->depth_stencil_format); -} - static st_proc_t vg_api_get_proc_address(struct st_api *stapi, const char *procname) { @@ -539,7 +530,6 @@ vg_api_destroy(struct st_api *stapi) static const struct st_api vg_api = { vg_api_destroy, vg_api_get_proc_address, - vg_api_is_visual_supported, vg_api_create_context, vg_api_make_current, vg_api_get_current, diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index ccfb1f4a520..f1d98dbd20b 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -707,13 +707,6 @@ st_api_get_current(struct st_api *stapi) return (st) ? &st->iface : NULL; } -static boolean -st_api_is_visual_supported(struct st_api *stapi, - const struct st_visual *visual) -{ - return TRUE; -} - static st_proc_t st_api_get_proc_address(struct st_api *stapi, const char *procname) { @@ -822,7 +815,6 @@ st_manager_add_color_renderbuffer(struct st_context *st, GLframebuffer *fb, struct st_api st_gl_api = { st_api_destroy, st_api_get_proc_address, - st_api_is_visual_supported, st_api_create_context, st_api_make_current, st_api_get_current, -- cgit v1.2.3 From b273928140479f089d45cd2dbc30708306b97ee0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 8 Jul 2010 11:03:44 -0600 Subject: gallium: bump PIPE_MAX_SHADER_INPUTS/OUTPUTS to 32 --- src/gallium/include/pipe/p_state.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 6231f06ec71..197b64e8f13 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -61,8 +61,8 @@ extern "C" { #define PIPE_MAX_SAMPLERS 16 #define PIPE_MAX_VERTEX_SAMPLERS 16 #define PIPE_MAX_GEOMETRY_SAMPLERS 16 -#define PIPE_MAX_SHADER_INPUTS 16 -#define PIPE_MAX_SHADER_OUTPUTS 16 +#define PIPE_MAX_SHADER_INPUTS 32 +#define PIPE_MAX_SHADER_OUTPUTS 32 #define PIPE_MAX_TEXTURE_LEVELS 16 #define PIPE_MAX_SO_BUFFERS 4 -- cgit v1.2.3 From 5e2437a232b566702194bf379911d2680d24b642 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 14 Jul 2010 12:23:16 +0100 Subject: gallium: Add a new PIPE_ARCH_SSSE3 define for SSSE3 compiler support. --- src/gallium/include/pipe/p_config.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index c6ea198dbb4..74a1fa29781 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -92,6 +92,11 @@ #else #define PIPE_ARCH_SSE #endif +#if defined(PIPE_CC_GCC) && !defined(__SSSE3__) +/* #warning SSE3 support requires -msse3 compiler options */ +#else +#define PIPE_ARCH_SSSE3 +#endif #endif #if defined(__PPC__) -- cgit v1.2.3 From c6c62164c369eefe1cac06190a87050977c376c1 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 14 Jul 2010 14:00:20 +0100 Subject: gallium: Add a macro for memory barriers. --- src/gallium/include/pipe/p_compiler.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index a14486a5fb5..619a62f8f14 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -184,6 +184,25 @@ typedef unsigned char boolean; #endif + +#if defined(__GNUC__) + +#define PIPE_READ_WRITE_BARRIER() __asm__("":::"memory") + +#elif defined(_MSC_VER) + +void _ReadWriteBarrier(void); +#pragma intrinsic(_ReadWriteBarrier) +#define PIPE_READ_WRITE_BARRIER() _ReadWriteBarrier() + +#else + +#warning "Unsupported compiler" +#define PIPE_READ_WRITE_BARRIER() /* */ + +#endif + + /* You should use these macros to mark if blocks where the if condition * is either likely to be true, or unlikely to be true. * -- cgit v1.2.3 From 467928c6e01d66ea83d90df9903c2a8f0e675240 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Wed, 14 Jul 2010 16:15:56 +0100 Subject: gallium: Ensure prototypes are wrapped in extern "C". Fixes MSVC build failure due to inconsistent _ReadWriteBarrier prototype. --- src/gallium/include/pipe/p_compiler.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 619a62f8f14..0358c14e24b 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -60,6 +60,11 @@ #include +#ifdef __cplusplus +extern "C" { +#endif + + #if !defined(__HAIKU__) && !defined(__USE_MISC) typedef unsigned int uint; typedef unsigned short ushort; @@ -243,4 +248,10 @@ void _ReadWriteBarrier(void); #define unlikely(x) !!(x) #endif + +#if defined(__cplusplus) +} +#endif + + #endif /* P_COMPILER_H */ -- cgit v1.2.3 From d350695a6b86caaee6b2bd1d64b48a26159a8e95 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Wed, 21 Jul 2010 15:39:09 +0100 Subject: gallium: remove pointless bitfield restrction in pipe_vertex_element This used to be a somewhat packed struct, but no longer. Remove the last remaining bitfield tag. --- src/gallium/include/pipe/p_state.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 197b64e8f13..44ffa26be74 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -419,7 +419,7 @@ struct pipe_vertex_element /** Which vertex_buffer (as given to pipe->set_vertex_buffer()) does * this attribute live in? */ - unsigned vertex_buffer_index:8; + unsigned vertex_buffer_index; enum pipe_format src_format; }; -- cgit v1.2.3 From f47c9b088056e25a0a007b16045631df70001c8f Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 21 Jul 2010 09:13:53 +0200 Subject: gallium: add depth clamp to the interface --- src/gallium/include/pipe/p_defines.h | 3 ++- src/gallium/include/pipe/p_state.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index aa39fdec0d7..00aa2076ed5 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -491,7 +491,8 @@ enum pipe_cap { PIPE_CAP_MAX_VS_ADDRS, PIPE_CAP_MAX_VS_PREDS, - PIPE_CAP_GEOMETRY_SHADER4 + PIPE_CAP_GEOMETRY_SHADER4, + PIPE_CAP_DEPTH_CLAMP }; diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 44ffa26be74..301fe2b74f0 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -155,6 +155,7 @@ struct pipe_clip_state { float ucp[PIPE_MAX_CLIP_PLANES][4]; unsigned nr; + unsigned depth_clamp:1; }; -- cgit v1.2.3 From c5e9d3114a80d6d35a2f4e65783cdc75fcc2deac Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 16 Jul 2010 04:02:55 +0800 Subject: gallium: Add pipe_context::draw_vbo and pipe_context::set_index_buffer. This commit adds a new unified draw_vbo method to pipe_context. Unlike other draw methods, draw_vbo treats the index buffer as a state which is set with set_index_buffer. --- src/gallium/include/pipe/p_context.h | 6 ++++++ src/gallium/include/pipe/p_state.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 7ec3d63a3fd..3314b1e0e0f 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -102,6 +102,9 @@ struct pipe_context { unsigned start, unsigned count); + void (*draw_vbo)( struct pipe_context *pipe, + const struct pipe_draw_info *info ); + /** * Draw the stream output buffer at index 0 */ @@ -249,6 +252,9 @@ struct pipe_context { unsigned num_buffers, const struct pipe_vertex_buffer * ); + void (*set_index_buffer)( struct pipe_context *pipe, + const struct pipe_index_buffer * ); + void (*set_stream_output_buffers)(struct pipe_context *, struct pipe_resource **buffers, int *offsets, /*array of offsets diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 301fe2b74f0..0f1a44cde42 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -426,6 +426,41 @@ struct pipe_vertex_element }; +/** + * An index buffer. When an index buffer is bound, all indices to vertices + * will be looked up in the buffer. + */ +struct pipe_index_buffer +{ + unsigned index_size; /**< size of an index, in bytes */ + unsigned offset; /**< offset to start of data in buffer, in bytes */ + struct pipe_resource *buffer; /**< the actual buffer */ +}; + + +/** + * Information to describe a draw_vbo call. + */ +struct pipe_draw_info +{ + boolean indexed; /**< use index buffer */ + + unsigned mode; /**< the mode of the primitive */ + unsigned start; /**< the index of the first vertex */ + unsigned count; /**< number of vertices */ + + unsigned start_instance; /**< first instance id */ + unsigned instance_count; /**< number of instances */ + + /** + * For indexed drawing, these fields apply after index lookup. + */ + int index_bias; /**< a bias to be added to each index */ + unsigned min_index; /**< the min index */ + unsigned max_index; /**< the max index */ +}; + + #ifdef __cplusplus } #endif -- cgit v1.2.3 From a57f84251926045a3358822d0fd92ca95a4f0fde Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sat, 17 Jul 2010 01:10:46 +0800 Subject: gallium: Keep only pipe_context::draw_vbo. That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements. --- src/gallium/drivers/cell/ppu/cell_draw_arrays.c | 63 --------- src/gallium/drivers/failover/fo_context.c | 44 ------- src/gallium/drivers/galahad/glhd_context.c | 68 ---------- src/gallium/drivers/i915/i915_context.c | 62 --------- src/gallium/drivers/i965/brw_draw.c | 64 --------- src/gallium/drivers/identity/id_context.c | 68 ---------- src/gallium/drivers/llvmpipe/lp_draw_arrays.c | 151 ---------------------- src/gallium/drivers/nv50/nv50_context.c | 4 - src/gallium/drivers/nv50/nv50_context.h | 18 --- src/gallium/drivers/nv50/nv50_vbo.c | 21 +-- src/gallium/drivers/nvfx/nvfx_context.c | 2 - src/gallium/drivers/nvfx/nvfx_context.h | 7 - src/gallium/drivers/nvfx/nvfx_vbo.c | 4 +- src/gallium/drivers/r300/r300_render.c | 69 ---------- src/gallium/drivers/r300/r300_render_stencilref.c | 55 +------- src/gallium/drivers/r600/r600_context.c | 3 - src/gallium/drivers/r600/r600_context.h | 11 -- src/gallium/drivers/r600/r600_draw.c | 50 ------- src/gallium/drivers/rbug/rbug_context.c | 86 ------------ src/gallium/drivers/softpipe/sp_context.c | 5 - src/gallium/drivers/softpipe/sp_draw_arrays.c | 150 --------------------- src/gallium/drivers/softpipe/sp_state.h | 35 ----- src/gallium/drivers/svga/svga_pipe_draw.c | 25 ---- src/gallium/drivers/trace/tr_context.c | 88 ------------- src/gallium/include/pipe/p_context.h | 41 ------ 25 files changed, 6 insertions(+), 1188 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/drivers/cell/ppu/cell_draw_arrays.c b/src/gallium/drivers/cell/ppu/cell_draw_arrays.c index e06226fbfe3..4adef5b8c07 100644 --- a/src/gallium/drivers/cell/ppu/cell_draw_arrays.c +++ b/src/gallium/drivers/cell/ppu/cell_draw_arrays.c @@ -34,7 +34,6 @@ #include "pipe/p_defines.h" #include "pipe/p_context.h" #include "util/u_inlines.h" -#include "util/u_draw_quad.h" #include "cell_context.h" #include "cell_draw_arrays.h" @@ -113,71 +112,9 @@ cell_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) } -static void -cell_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned min_index, - unsigned max_index, - unsigned mode, unsigned start, unsigned count) -{ - struct cell_context *cell = cell_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = mode; - info.start = start; - info.count = count; - info.index_bias = indexBias; - info.min_index = min_index; - info.max_index = max_index; - - if (indexBuffer) { - info.indexed = TRUE; - saved_ib = cell->index_buffer; - - ib.buffer = indexBuffer; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - cell_draw_vbo(pipe, &info); - - if (indexBuffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - - -static void -cell_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, unsigned count) -{ - cell_draw_range_elements( pipe, indexBuffer, - indexSize, indexBias, - 0, 0xffffffff, - mode, start, count ); -} - - -static void -cell_draw_arrays(struct pipe_context *pipe, unsigned mode, - unsigned start, unsigned count) -{ - cell_draw_elements(pipe, NULL, 0, 0, mode, start, count); -} - - void cell_init_draw_functions(struct cell_context *cell) { - cell->pipe.draw_arrays = cell_draw_arrays; - cell->pipe.draw_elements = cell_draw_elements; - cell->pipe.draw_range_elements = cell_draw_range_elements; cell->pipe.draw_vbo = cell_draw_vbo; } diff --git a/src/gallium/drivers/failover/fo_context.c b/src/gallium/drivers/failover/fo_context.c index 1048d58313d..761a0fce721 100644 --- a/src/gallium/drivers/failover/fo_context.c +++ b/src/gallium/drivers/failover/fo_context.c @@ -28,7 +28,6 @@ #include "pipe/p_defines.h" #include "util/u_memory.h" -#include "util/u_draw_quad.h" #include "pipe/p_context.h" #include "fo_context.h" @@ -88,47 +87,6 @@ static void failover_draw_vbo( struct pipe_context *pipe, } } - -static void failover_draw_elements( struct pipe_context *pipe, - struct pipe_resource *indexResource, - unsigned indexSize, - int indexBias, - unsigned prim, - unsigned start, - unsigned count) -{ - struct failover_context *failover = failover_context( pipe ); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = prim; - info.start = start; - info.count = count; - - if (indexResource) { - info.indexed = TRUE; - saved_ib = failover->index_buffer; - - ib.buffer = indexResource; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - failover_draw_vbo(pipe, &info); - - if (indexResource) - pipe->set_index_buffer(pipe, &saved_ib); -} - - -static void failover_draw_arrays( struct pipe_context *pipe, - unsigned prim, unsigned start, unsigned count) -{ - failover_draw_elements(pipe, NULL, 0, 0, prim, start, count); -} - static unsigned int failover_is_resource_referenced( struct pipe_context *_pipe, struct pipe_resource *resource, @@ -161,8 +119,6 @@ struct pipe_context *failover_create( struct pipe_context *hw, failover->pipe.get_paramf = hw->get_paramf; #endif - failover->pipe.draw_arrays = failover_draw_arrays; - failover->pipe.draw_elements = failover_draw_elements; failover->pipe.draw_vbo = failover_draw_vbo; failover->pipe.clear = hw->clear; failover->pipe.clear_render_target = hw->clear_render_target; diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c index 6473f2d499b..fe14a287efb 100644 --- a/src/gallium/drivers/galahad/glhd_context.c +++ b/src/gallium/drivers/galahad/glhd_context.c @@ -47,71 +47,6 @@ galahad_destroy(struct pipe_context *_pipe) FREE(glhd_pipe); } -static void -galahad_draw_arrays(struct pipe_context *_pipe, - unsigned prim, - unsigned start, - unsigned count) -{ - struct galahad_context *glhd_pipe = galahad_context(_pipe); - struct pipe_context *pipe = glhd_pipe->pipe; - - pipe->draw_arrays(pipe, - prim, - start, - count); -} - -static void -galahad_draw_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned prim, - unsigned start, - unsigned count) -{ - struct galahad_context *glhd_pipe = galahad_context(_pipe); - struct galahad_resource *glhd_resource = galahad_resource(_indexResource); - struct pipe_context *pipe = glhd_pipe->pipe; - struct pipe_resource *indexResource = glhd_resource->resource; - - pipe->draw_elements(pipe, - indexResource, - indexSize, - indexBias, - prim, - start, - count); -} - -static void -galahad_draw_range_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count) -{ - struct galahad_context *glhd_pipe = galahad_context(_pipe); - struct galahad_resource *glhd_resource = galahad_resource(_indexResource); - struct pipe_context *pipe = glhd_pipe->pipe; - struct pipe_resource *indexResource = glhd_resource->resource; - - pipe->draw_range_elements(pipe, - indexResource, - indexSize, - indexBias, - minIndex, - maxIndex, - mode, - start, - count); -} - static void galahad_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info) @@ -979,9 +914,6 @@ galahad_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) glhd_pipe->base.draw = NULL; glhd_pipe->base.destroy = galahad_destroy; - glhd_pipe->base.draw_arrays = galahad_draw_arrays; - glhd_pipe->base.draw_elements = galahad_draw_elements; - glhd_pipe->base.draw_range_elements = galahad_draw_range_elements; glhd_pipe->base.draw_vbo = galahad_draw_vbo; glhd_pipe->base.create_query = galahad_create_query; glhd_pipe->base.destroy_query = galahad_destroy_query; diff --git a/src/gallium/drivers/i915/i915_context.c b/src/gallium/drivers/i915/i915_context.c index ca07b3e2351..496efc99da4 100644 --- a/src/gallium/drivers/i915/i915_context.c +++ b/src/gallium/drivers/i915/i915_context.c @@ -36,7 +36,6 @@ #include "pipe/p_defines.h" #include "util/u_inlines.h" #include "util/u_memory.h" -#include "util/u_draw_quad.h" #include "pipe/p_screen.h" @@ -102,64 +101,6 @@ i915_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) } } -static void -i915_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned min_index, - unsigned max_index, - unsigned prim, unsigned start, unsigned count) -{ - struct i915_context *i915 = i915_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = prim; - info.start = start; - info.count = count; - info.index_bias = indexBias; - info.min_index = min_index; - info.max_index = max_index; - - if (indexBuffer) { - info.indexed = TRUE; - saved_ib = i915->index_buffer; - - ib.buffer = indexBuffer; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - i915_draw_vbo(pipe, &info); - - if (indexBuffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - -static void -i915_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned prim, unsigned start, unsigned count) -{ - i915_draw_range_elements(pipe, indexBuffer, - indexSize, indexBias, - 0, 0xffffffff, - prim, start, count); -} - -static void -i915_draw_arrays(struct pipe_context *pipe, - unsigned prim, unsigned start, unsigned count) -{ - i915_draw_elements(pipe, NULL, 0, 0, prim, start, count); -} - - - /* * Generic context functions @@ -203,9 +144,6 @@ i915_create_context(struct pipe_screen *screen, void *priv) i915->base.clear = i915_clear; - i915->base.draw_arrays = i915_draw_arrays; - i915->base.draw_elements = i915_draw_elements; - i915->base.draw_range_elements = i915_draw_range_elements; i915->base.draw_vbo = i915_draw_vbo; /* diff --git a/src/gallium/drivers/i965/brw_draw.c b/src/gallium/drivers/i965/brw_draw.c index fa7d047e0bd..3ab9024c31e 100644 --- a/src/gallium/drivers/i965/brw_draw.c +++ b/src/gallium/drivers/i965/brw_draw.c @@ -29,7 +29,6 @@ #include "util/u_inlines.h" #include "util/u_prim.h" #include "util/u_upload_mgr.h" -#include "util/u_draw_quad.h" #include "brw_draw.h" #include "brw_defines.h" @@ -220,74 +219,11 @@ brw_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) } } -static void -brw_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, - unsigned min_index, - unsigned max_index, - unsigned mode, unsigned start, unsigned count) -{ - struct brw_context *brw = brw_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = mode; - info.start = start; - info.count = count; - info.index_bias = index_bias; - info.min_index = min_index; - info.max_index = max_index; - - if (index_buffer) { - info.indexed = TRUE; - saved_ib.buffer = brw->curr.index_buffer; - saved_ib.offset = brw->curr.index_offset; - saved_ib.index_size = brw->curr.index_size; - - ib.buffer = index_buffer; - ib.offset = 0; - ib.index_size = index_size; - pipe->set_index_buffer(pipe, &ib); - } - - brw_draw_vbo(pipe, &info); - - if (index_buffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - -static void -brw_draw_elements(struct pipe_context *pipe, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, - unsigned mode, - unsigned start, unsigned count) -{ - brw_draw_range_elements( pipe, index_buffer, - index_size, index_bias, - 0, 0xffffffff, - mode, - start, count ); -} - -static void -brw_draw_arrays(struct pipe_context *pipe, unsigned mode, - unsigned start, unsigned count) -{ - brw_draw_elements(pipe, NULL, 0, 0, mode, start, count); -} - - boolean brw_draw_init( struct brw_context *brw ) { /* Register our drawing function: */ - brw->base.draw_arrays = brw_draw_arrays; - brw->base.draw_elements = brw_draw_elements; - brw->base.draw_range_elements = brw_draw_range_elements; brw->base.draw_vbo = brw_draw_vbo; /* Create helpers for uploading data in user buffers: diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c index e10d3a14130..de83c249057 100644 --- a/src/gallium/drivers/identity/id_context.c +++ b/src/gallium/drivers/identity/id_context.c @@ -45,71 +45,6 @@ identity_destroy(struct pipe_context *_pipe) FREE(id_pipe); } -static void -identity_draw_arrays(struct pipe_context *_pipe, - unsigned prim, - unsigned start, - unsigned count) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct pipe_context *pipe = id_pipe->pipe; - - pipe->draw_arrays(pipe, - prim, - start, - count); -} - -static void -identity_draw_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned prim, - unsigned start, - unsigned count) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct identity_resource *id_resource = identity_resource(_indexResource); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_resource *indexResource = id_resource->resource; - - pipe->draw_elements(pipe, - indexResource, - indexSize, - indexBias, - prim, - start, - count); -} - -static void -identity_draw_range_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count) -{ - struct identity_context *id_pipe = identity_context(_pipe); - struct identity_resource *id_resource = identity_resource(_indexResource); - struct pipe_context *pipe = id_pipe->pipe; - struct pipe_resource *indexResource = id_resource->resource; - - pipe->draw_range_elements(pipe, - indexResource, - indexSize, - indexBias, - minIndex, - maxIndex, - mode, - start, - count); -} - static void identity_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info) @@ -917,9 +852,6 @@ identity_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) id_pipe->base.draw = NULL; id_pipe->base.destroy = identity_destroy; - id_pipe->base.draw_arrays = identity_draw_arrays; - id_pipe->base.draw_elements = identity_draw_elements; - id_pipe->base.draw_range_elements = identity_draw_range_elements; id_pipe->base.draw_vbo = identity_draw_vbo; id_pipe->base.create_query = identity_create_query; id_pipe->base.destroy_query = identity_destroy_query; diff --git a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c index b6dbb9d288e..22c2836e225 100644 --- a/src/gallium/drivers/llvmpipe/lp_draw_arrays.c +++ b/src/gallium/drivers/llvmpipe/lp_draw_arrays.c @@ -34,7 +34,6 @@ #include "pipe/p_defines.h" #include "pipe/p_context.h" #include "util/u_prim.h" -#include "util/u_draw_quad.h" #include "lp_context.h" #include "lp_state.h" @@ -109,158 +108,8 @@ llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) } -static void -llvmpipe_draw_range_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - struct llvmpipe_context *lp = llvmpipe_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = mode; - info.start = start; - info.count = count; - info.start_instance = startInstance; - info.instance_count = instanceCount; - - info.index_bias = indexBias; - info.min_index = minIndex; - info.max_index = maxIndex; - - if (indexBuffer) { - info.indexed = TRUE; - saved_ib = lp->index_buffer; - - ib.buffer = indexBuffer; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - llvmpipe_draw_vbo(pipe, &info); - - if (indexBuffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - -static void -llvmpipe_draw_arrays_instanced(struct pipe_context *pipe, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - llvmpipe_draw_range_elements_instanced(pipe, - NULL, /* no indexBuffer */ - 0, 0, /* indexSize, indexBias */ - 0, ~0, /* minIndex, maxIndex */ - mode, - start, - count, - startInstance, - instanceCount); -} - - -static void -llvmpipe_draw_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - llvmpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, indexBias, - 0, ~0, /* minIndex, maxIndex */ - mode, - start, - count, - startInstance, - instanceCount); -} - - -static void -llvmpipe_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, - unsigned start, - unsigned count) -{ - llvmpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, indexBias, - 0, 0xffffffff, /* min, maxIndex */ - mode, start, count, - 0, /* startInstance */ - 1); /* instanceCount */ -} - - -static void -llvmpipe_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned min_index, - unsigned max_index, - unsigned mode, - unsigned start, - unsigned count) -{ - llvmpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, indexBias, - min_index, max_index, - mode, start, count, - 0, /* startInstance */ - 1); /* instanceCount */ -} - - -static void -llvmpipe_draw_arrays(struct pipe_context *pipe, - unsigned mode, - unsigned start, - unsigned count) -{ - llvmpipe_draw_range_elements_instanced(pipe, - NULL, /* indexBuffer */ - 0, /* indexSize */ - 0, /* indexBias */ - 0, ~0, /* min, maxIndex */ - mode, start, count, - 0, /* startInstance */ - 1); /* instanceCount */ -} - - void llvmpipe_init_draw_funcs(struct llvmpipe_context *llvmpipe) { - llvmpipe->pipe.draw_arrays = llvmpipe_draw_arrays; - llvmpipe->pipe.draw_elements = llvmpipe_draw_elements; - llvmpipe->pipe.draw_range_elements = llvmpipe_draw_range_elements; - llvmpipe->pipe.draw_arrays_instanced = llvmpipe_draw_arrays_instanced; - llvmpipe->pipe.draw_elements_instanced = llvmpipe_draw_elements_instanced; - llvmpipe->pipe.draw_vbo = llvmpipe_draw_vbo; } diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c index 3fc39c11372..0874cb5e4ea 100644 --- a/src/gallium/drivers/nv50/nv50_context.c +++ b/src/gallium/drivers/nv50/nv50_context.c @@ -82,10 +82,6 @@ nv50_create(struct pipe_screen *pscreen, void *priv) nv50->pipe.destroy = nv50_destroy; - nv50->pipe.draw_arrays = nv50_draw_arrays; - nv50->pipe.draw_arrays_instanced = nv50_draw_arrays_instanced; - nv50->pipe.draw_elements = nv50_draw_elements; - nv50->pipe.draw_elements_instanced = nv50_draw_elements_instanced; nv50->pipe.draw_vbo = nv50_draw_vbo; nv50->pipe.clear = nv50_clear; diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h index a7c2b5d4874..d24d6c50ea8 100644 --- a/src/gallium/drivers/nv50/nv50_context.h +++ b/src/gallium/drivers/nv50/nv50_context.h @@ -180,24 +180,6 @@ nv50_surface_do_copy(struct nv50_screen *screen, struct pipe_surface *dst, extern struct draw_stage *nv50_draw_render_stage(struct nv50_context *nv50); /* nv50_vbo.c */ -extern void nv50_draw_arrays(struct pipe_context *, unsigned mode, - unsigned start, unsigned count); -extern void nv50_draw_arrays_instanced(struct pipe_context *, unsigned mode, - unsigned start, unsigned count, - unsigned startInstance, - unsigned instanceCount); -extern void nv50_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, - unsigned count); -extern void nv50_draw_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount); extern void nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info); extern void nv50_vtxelt_construct(struct nv50_vtxelt_stateobj *cso); diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index 11ffc182c2d..e7f8fe33edf 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -173,7 +173,7 @@ instance_step(struct nv50_context *nv50, struct instance *a) } } -void +static void nv50_draw_arrays_instanced(struct pipe_context *pipe, unsigned mode, unsigned start, unsigned count, unsigned startInstance, unsigned instanceCount) @@ -220,13 +220,6 @@ nv50_draw_arrays_instanced(struct pipe_context *pipe, } } -void -nv50_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, - unsigned count) -{ - nv50_draw_arrays_instanced(pipe, mode, start, count, 0, 1); -} - struct inline_ctx { struct nv50_context *nv50; void *map; @@ -384,7 +377,7 @@ nv50_draw_elements_inline(struct pipe_context *pipe, pipe_buffer_unmap(pipe, indexBuffer, transfer); } -void +static void nv50_draw_elements_instanced(struct pipe_context *pipe, struct pipe_resource *indexBuffer, unsigned indexSize, int indexBias, @@ -463,16 +456,6 @@ nv50_draw_elements_instanced(struct pipe_context *pipe, } } -void -nv50_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, unsigned count) -{ - nv50_draw_elements_instanced(pipe, indexBuffer, indexSize, indexBias, - mode, start, count, 0, 1); -} - void nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) { diff --git a/src/gallium/drivers/nvfx/nvfx_context.c b/src/gallium/drivers/nvfx/nvfx_context.c index f30795f69af..7218abff22d 100644 --- a/src/gallium/drivers/nvfx/nvfx_context.c +++ b/src/gallium/drivers/nvfx/nvfx_context.c @@ -55,8 +55,6 @@ nvfx_create(struct pipe_screen *pscreen, void *priv) nvfx->pipe.screen = pscreen; nvfx->pipe.priv = priv; nvfx->pipe.destroy = nvfx_destroy; - nvfx->pipe.draw_arrays = nvfx_draw_arrays; - nvfx->pipe.draw_elements = nvfx_draw_elements; nvfx->pipe.draw_vbo = nvfx_draw_vbo; nvfx->pipe.clear = nvfx_clear; nvfx->pipe.flush = nvfx_flush; diff --git a/src/gallium/drivers/nvfx/nvfx_context.h b/src/gallium/drivers/nvfx/nvfx_context.h index d6cd272eed5..89f94c10bd1 100644 --- a/src/gallium/drivers/nvfx/nvfx_context.h +++ b/src/gallium/drivers/nvfx/nvfx_context.h @@ -236,13 +236,6 @@ extern void nvfx_init_transfer_functions(struct nvfx_context *nvfx); /* nvfx_vbo.c */ extern boolean nvfx_vbo_validate(struct nvfx_context *nvfx); extern void nvfx_vbo_relocate(struct nvfx_context *nvfx); -extern void nvfx_draw_arrays(struct pipe_context *, unsigned mode, - unsigned start, unsigned count); -extern void nvfx_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, - unsigned count); extern void nvfx_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info); diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c index 23a59b589b9..4aa37938425 100644 --- a/src/gallium/drivers/nvfx/nvfx_vbo.c +++ b/src/gallium/drivers/nvfx/nvfx_vbo.c @@ -158,7 +158,7 @@ nvfx_vbo_static_attrib(struct nvfx_context *nvfx, pipe_buffer_unmap(&nvfx->pipe, vb->buffer, transfer); } -void +static void nvfx_draw_arrays(struct pipe_context *pipe, unsigned mode, unsigned start, unsigned count) { @@ -463,7 +463,7 @@ nvfx_draw_elements_vbo(struct pipe_context *pipe, } } -void +static void nvfx_draw_elements(struct pipe_context *pipe, struct pipe_resource *indexBuffer, unsigned indexSize, int indexBias, diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index da96098cc44..c179b07e86a 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -33,7 +33,6 @@ #include "util/u_memory.h" #include "util/u_upload_mgr.h" #include "util/u_prim.h" -#include "util/u_draw_quad.h" #include "r300_cs.h" #include "r300_context.h" @@ -567,19 +566,6 @@ static void r300_draw_range_elements(struct pipe_context* pipe, } } -/* Simple helpers for context setup. Should probably be moved to util. */ -static void r300_draw_elements(struct pipe_context* pipe, - struct pipe_resource* indexBuffer, - unsigned indexSize, int indexBias, unsigned mode, - unsigned start, unsigned count) -{ - struct r300_context *r300 = r300_context(pipe); - - pipe->draw_range_elements(pipe, indexBuffer, indexSize, indexBias, - 0, r300->vertex_buffer_max_index, - mode, start, count); -} - static void r300_draw_arrays(struct pipe_context* pipe, unsigned mode, unsigned start, unsigned count) { @@ -735,54 +721,6 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe, } } -/* SW TCL elements, using Draw. */ -static void r300_swtcl_draw_range_elements(struct pipe_context* pipe, - struct pipe_resource* indexBuffer, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count) -{ - struct r300_context* r300 = r300_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = mode; - info.start = start; - info.count = count; - info.index_bias = indexBias; - info.min_index = minIndex; - info.max_index = maxIndex; - - if (indexBuffer) { - info.indexed = TRUE; - - saved_ib = r300->index_buffer; - ib.buffer = indexBuffer; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - r300_swtcl_draw_vbo(pipe, &info); - - if (indexBuffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - -static void r300_swtcl_draw_arrays(struct pipe_context* pipe, - unsigned mode, - unsigned start, - unsigned count) -{ - r300_swtcl_draw_range_elements(pipe, NULL, 0, 0, - start, start + count -1, mode, start, count); -} - /* Object for rendering using Draw. */ struct r300_render { /* Parent class */ @@ -1179,17 +1117,10 @@ static void r300_resource_resolve(struct pipe_context* pipe, void r300_init_render_functions(struct r300_context *r300) { - /* Set generic functions. */ - r300->context.draw_elements = r300_draw_elements; - /* Set draw functions based on presence of HW TCL. */ if (r300->screen->caps.has_tcl) { - r300->context.draw_arrays = r300_draw_arrays; - r300->context.draw_range_elements = r300_draw_range_elements; r300->context.draw_vbo = r300_draw_vbo; } else { - r300->context.draw_arrays = r300_swtcl_draw_arrays; - r300->context.draw_range_elements = r300_swtcl_draw_range_elements; r300->context.draw_vbo = r300_swtcl_draw_vbo; } diff --git a/src/gallium/drivers/r300/r300_render_stencilref.c b/src/gallium/drivers/r300/r300_render_stencilref.c index 6d801cf1594..1f035d64a28 100644 --- a/src/gallium/drivers/r300/r300_render_stencilref.c +++ b/src/gallium/drivers/r300/r300_render_stencilref.c @@ -34,14 +34,6 @@ #include "r300_reg.h" struct r300_stencilref_context { - void (*draw_arrays)(struct pipe_context *pipe, - unsigned mode, unsigned start, unsigned count); - - void (*draw_range_elements)( - struct pipe_context *pipe, struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, unsigned minIndex, unsigned maxIndex, - unsigned mode, unsigned start, unsigned count); - void (*draw_vbo)(struct pipe_context *pipe, const struct pipe_draw_info *info); @@ -108,45 +100,6 @@ static void r300_stencilref_end(struct r300_context *r300) r300->dsa_state.dirty = TRUE; } -static void r300_stencilref_draw_arrays(struct pipe_context *pipe, unsigned mode, - unsigned start, unsigned count) -{ - struct r300_context *r300 = r300_context(pipe); - struct r300_stencilref_context *sr = r300->stencilref_fallback; - - if (!r300_stencilref_needed(r300)) { - sr->draw_arrays(pipe, mode, start, count); - } else { - r300_stencilref_begin(r300); - sr->draw_arrays(pipe, mode, start, count); - r300_stencilref_switch_side(r300); - sr->draw_arrays(pipe, mode, start, count); - r300_stencilref_end(r300); - } -} - -static void r300_stencilref_draw_range_elements( - struct pipe_context *pipe, struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, unsigned minIndex, unsigned maxIndex, - unsigned mode, unsigned start, unsigned count) -{ - struct r300_context *r300 = r300_context(pipe); - struct r300_stencilref_context *sr = r300->stencilref_fallback; - - if (!r300_stencilref_needed(r300)) { - sr->draw_range_elements(pipe, indexBuffer, indexSize, indexBias, - minIndex, maxIndex, mode, start, count); - } else { - r300_stencilref_begin(r300); - sr->draw_range_elements(pipe, indexBuffer, indexSize, indexBias, - minIndex, maxIndex, mode, start, count); - r300_stencilref_switch_side(r300); - sr->draw_range_elements(pipe, indexBuffer, indexSize, indexBias, - minIndex, maxIndex, mode, start, count); - r300_stencilref_end(r300); - } -} - static void r300_stencilref_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) { @@ -168,13 +121,9 @@ void r300_plug_in_stencil_ref_fallback(struct r300_context *r300) { r300->stencilref_fallback = CALLOC_STRUCT(r300_stencilref_context); - /* Save original draw functions. */ - r300->stencilref_fallback->draw_arrays = r300->context.draw_arrays; - r300->stencilref_fallback->draw_range_elements = r300->context.draw_range_elements; + /* Save original draw function. */ r300->stencilref_fallback->draw_vbo = r300->context.draw_vbo; - /* Override the draw functions. */ - r300->context.draw_arrays = r300_stencilref_draw_arrays; - r300->context.draw_range_elements = r300_stencilref_draw_range_elements; + /* Override the draw function. */ r300->context.draw_vbo = r300_stencilref_draw_vbo; } diff --git a/src/gallium/drivers/r600/r600_context.c b/src/gallium/drivers/r600/r600_context.c index 2c2bd4672be..fc8aa1b866d 100644 --- a/src/gallium/drivers/r600/r600_context.c +++ b/src/gallium/drivers/r600/r600_context.c @@ -313,9 +313,6 @@ struct pipe_context *r600_create_context(struct pipe_screen *screen, void *priv) rctx->context.screen = screen; rctx->context.priv = priv; rctx->context.destroy = r600_destroy_context; - rctx->context.draw_arrays = r600_draw_arrays; - rctx->context.draw_elements = r600_draw_elements; - rctx->context.draw_range_elements = r600_draw_range_elements; rctx->context.draw_vbo = r600_draw_vbo; rctx->context.flush = r600_flush; diff --git a/src/gallium/drivers/r600/r600_context.h b/src/gallium/drivers/r600/r600_context.h index 9427c19d059..97c8a46bb05 100644 --- a/src/gallium/drivers/r600/r600_context.h +++ b/src/gallium/drivers/r600/r600_context.h @@ -191,17 +191,6 @@ struct r600_context_state *r600_context_state_decref(struct r600_context_state * int r600_context_hw_states(struct r600_context *rctx); -void r600_draw_arrays(struct pipe_context *ctx, unsigned mode, - unsigned start, unsigned count); -void r600_draw_elements(struct pipe_context *ctx, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, unsigned mode, - unsigned start, unsigned count); -void r600_draw_range_elements(struct pipe_context *ctx, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, unsigned min_index, - unsigned max_index, unsigned mode, - unsigned start, unsigned count); void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info); diff --git a/src/gallium/drivers/r600/r600_draw.c b/src/gallium/drivers/r600/r600_draw.c index eeaa677edbd..c52dfd3fb3f 100644 --- a/src/gallium/drivers/r600/r600_draw.c +++ b/src/gallium/drivers/r600/r600_draw.c @@ -176,56 +176,6 @@ static int r600_draw_common(struct r600_draw *draw) return 0; } -void r600_draw_range_elements(struct pipe_context *ctx, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, unsigned min_index, - unsigned max_index, unsigned mode, - unsigned start, unsigned count) -{ - struct r600_draw draw; - assert(index_bias == 0); - - draw.ctx = ctx; - draw.mode = mode; - draw.start = start; - draw.count = count; - draw.index_size = index_size; - draw.index_buffer = index_buffer; -printf("index_size %d min %d max %d start %d count %d\n", index_size, min_index, max_index, start, count); - r600_draw_common(&draw); -} - -void r600_draw_elements(struct pipe_context *ctx, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, unsigned mode, - unsigned start, unsigned count) -{ - struct r600_draw draw; - assert(index_bias == 0); - - draw.ctx = ctx; - draw.mode = mode; - draw.start = start; - draw.count = count; - draw.index_size = index_size; - draw.index_buffer = index_buffer; - r600_draw_common(&draw); -} - -void r600_draw_arrays(struct pipe_context *ctx, unsigned mode, - unsigned start, unsigned count) -{ - struct r600_draw draw; - - draw.ctx = ctx; - draw.mode = mode; - draw.start = start; - draw.count = count; - draw.index_size = 0; - draw.index_buffer = NULL; - r600_draw_common(&draw); -} - void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) { struct r600_context *rctx = r600_context(ctx); diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index c748073b2a2..3ffda87520f 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -102,89 +102,6 @@ rbug_draw_block_locked(struct rbug_context *rb_pipe, int flag) } -static void -rbug_draw_arrays(struct pipe_context *_pipe, - unsigned prim, - unsigned start, - unsigned count) -{ - struct rbug_context *rb_pipe = rbug_context(_pipe); - struct pipe_context *pipe = rb_pipe->pipe; - - pipe_mutex_lock(rb_pipe->draw_mutex); - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_BEFORE); - - pipe->draw_arrays(pipe, - prim, - start, - count); - - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_AFTER); - pipe_mutex_unlock(rb_pipe->draw_mutex); -} - -static void -rbug_draw_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned prim, - unsigned start, - unsigned count) -{ - struct rbug_context *rb_pipe = rbug_context(_pipe); - struct rbug_resource *rb_resource = rbug_resource(_indexResource); - struct pipe_context *pipe = rb_pipe->pipe; - struct pipe_resource *indexResource = rb_resource->resource; - - pipe_mutex_lock(rb_pipe->draw_mutex); - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_BEFORE); - - pipe->draw_elements(pipe, - indexResource, - indexSize, - indexBias, - prim, - start, - count); - - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_AFTER); - pipe_mutex_unlock(rb_pipe->draw_mutex); -} - -static void -rbug_draw_range_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexResource, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count) -{ - struct rbug_context *rb_pipe = rbug_context(_pipe); - struct rbug_resource *rb_resource = rbug_resource(_indexResource); - struct pipe_context *pipe = rb_pipe->pipe; - struct pipe_resource *indexResource = rb_resource->resource; - - pipe_mutex_lock(rb_pipe->draw_mutex); - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_BEFORE); - - pipe->draw_range_elements(pipe, - indexResource, - indexSize, - indexBias, - minIndex, - maxIndex, - mode, - start, - count); - - rbug_draw_block_locked(rb_pipe, RBUG_BLOCK_AFTER); - pipe_mutex_unlock(rb_pipe->draw_mutex); -} - static void rbug_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info) { @@ -1072,9 +989,6 @@ rbug_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) rb_pipe->base.draw = NULL; rb_pipe->base.destroy = rbug_destroy; - rb_pipe->base.draw_arrays = rbug_draw_arrays; - rb_pipe->base.draw_elements = rbug_draw_elements; - rb_pipe->base.draw_range_elements = rbug_draw_range_elements; rb_pipe->base.draw_vbo = rbug_draw_vbo; rb_pipe->base.create_query = rbug_create_query; rb_pipe->base.destroy_query = rbug_destroy_query; diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c index fa1fae6f006..a7c9959b3e1 100644 --- a/src/gallium/drivers/softpipe/sp_context.c +++ b/src/gallium/drivers/softpipe/sp_context.c @@ -284,11 +284,6 @@ softpipe_create_context( struct pipe_screen *screen, softpipe->pipe.set_vertex_buffers = softpipe_set_vertex_buffers; softpipe->pipe.set_index_buffer = softpipe_set_index_buffer; - softpipe->pipe.draw_arrays = softpipe_draw_arrays; - softpipe->pipe.draw_elements = softpipe_draw_elements; - softpipe->pipe.draw_range_elements = softpipe_draw_range_elements; - softpipe->pipe.draw_arrays_instanced = softpipe_draw_arrays_instanced; - softpipe->pipe.draw_elements_instanced = softpipe_draw_elements_instanced; softpipe->pipe.draw_vbo = softpipe_draw_vbo; softpipe->pipe.draw_stream_output = softpipe_draw_stream_output; diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c index 2855f55a0e1..3a33cdef962 100644 --- a/src/gallium/drivers/softpipe/sp_draw_arrays.c +++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c @@ -35,7 +35,6 @@ #include "pipe/p_context.h" #include "util/u_inlines.h" #include "util/u_prim.h" -#include "util/u_draw_quad.h" #include "sp_context.h" #include "sp_query.h" @@ -173,152 +172,3 @@ softpipe_draw_vbo(struct pipe_context *pipe, /* Note: leave drawing surfaces mapped */ sp->dirty_render_cache = TRUE; } - -static void -softpipe_draw_range_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - struct softpipe_context *sp = softpipe_context(pipe); - struct pipe_draw_info info; - struct pipe_index_buffer saved_ib, ib; - - util_draw_init_info(&info); - info.mode = mode; - info.start = start; - info.count = count; - info.start_instance = startInstance; - info.instance_count = instanceCount; - info.index_bias = indexBias; - info.min_index = minIndex; - info.max_index = maxIndex; - - if (indexBuffer) { - info.indexed = TRUE; - - saved_ib = sp->index_buffer; - ib.buffer = indexBuffer; - ib.offset = 0; - ib.index_size = indexSize; - pipe->set_index_buffer(pipe, &ib); - } - - softpipe_draw_vbo(pipe, &info); - - if (indexBuffer) - pipe->set_index_buffer(pipe, &saved_ib); -} - - -void -softpipe_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned min_index, - unsigned max_index, - unsigned mode, unsigned start, unsigned count) -{ - softpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, - indexBias, - min_index, - max_index, - mode, - start, - count, - 0, - 1); -} - - -void -softpipe_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, unsigned count) -{ - softpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, - indexBias, - 0, - 0xffffffff, - mode, - start, - count, - 0, - 1); -} - -void -softpipe_draw_arrays_instanced(struct pipe_context *pipe, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - softpipe_draw_range_elements_instanced(pipe, - NULL, - 0, - 0, - 0, - 0xffffffff, - mode, - start, - count, - startInstance, - instanceCount); -} - -void -softpipe_draw_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount) -{ - softpipe_draw_range_elements_instanced(pipe, - indexBuffer, - indexSize, - indexBias, - 0, - 0xffffffff, - mode, - start, - count, - startInstance, - instanceCount); -} - -void -softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, - unsigned start, unsigned count) -{ - softpipe_draw_range_elements_instanced(pipe, - NULL, - 0, - 0, - 0, - 0xffffffff, - mode, - start, - count, - 0, - 1); -} - diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h index f04b0a5d31e..39d204de8a9 100644 --- a/src/gallium/drivers/softpipe/sp_state.h +++ b/src/gallium/drivers/softpipe/sp_state.h @@ -228,41 +228,6 @@ void softpipe_set_index_buffer(struct pipe_context *, void softpipe_update_derived( struct softpipe_context *softpipe ); -void softpipe_draw_arrays(struct pipe_context *pipe, unsigned mode, - unsigned start, unsigned count); - -void softpipe_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, unsigned count); -void -softpipe_draw_range_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned min_index, - unsigned max_index, - unsigned mode, unsigned start, unsigned count); - -void -softpipe_draw_arrays_instanced(struct pipe_context *pipe, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount); - -void -softpipe_draw_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount); - void softpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info); diff --git a/src/gallium/drivers/svga/svga_pipe_draw.c b/src/gallium/drivers/svga/svga_pipe_draw.c index fceaa83d701..de08bc5e562 100644 --- a/src/gallium/drivers/svga/svga_pipe_draw.c +++ b/src/gallium/drivers/svga/svga_pipe_draw.c @@ -226,28 +226,6 @@ svga_draw_range_elements( struct pipe_context *pipe, } -static void -svga_draw_elements( struct pipe_context *pipe, - struct pipe_resource *index_buffer, - unsigned index_size, int index_bias, - unsigned prim, unsigned start, unsigned count) -{ - svga_draw_range_elements( pipe, index_buffer, - index_size, index_bias, - 0, 0xffffffff, - prim, start, count ); -} - -static void -svga_draw_arrays( struct pipe_context *pipe, - unsigned prim, unsigned start, unsigned count) -{ - svga_draw_range_elements(pipe, NULL, 0, 0, - start, start + count - 1, - prim, - start, count); -} - static void svga_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) { @@ -274,8 +252,5 @@ svga_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) void svga_init_draw_functions( struct svga_context *svga ) { - svga->pipe.draw_arrays = svga_draw_arrays; - svga->pipe.draw_elements = svga_draw_elements; - svga->pipe.draw_range_elements = svga_draw_range_elements; svga->pipe.draw_vbo = svga_draw_vbo; } diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 91c9bf09999..84e5a6a8242 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -82,91 +82,6 @@ trace_surface_unwrap(struct trace_context *tr_ctx, } -static INLINE void -trace_context_draw_arrays(struct pipe_context *_pipe, - unsigned mode, unsigned start, unsigned count) -{ - struct trace_context *tr_ctx = trace_context(_pipe); - struct pipe_context *pipe = tr_ctx->pipe; - - trace_dump_call_begin("pipe_context", "draw_arrays"); - - trace_dump_arg(ptr, pipe); - trace_dump_arg(uint, mode); - trace_dump_arg(uint, start); - trace_dump_arg(uint, count); - - pipe->draw_arrays(pipe, mode, start, count); - - trace_dump_call_end(); -} - - -static INLINE void -trace_context_draw_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexBuffer, - unsigned indexSize, int indexBias, - unsigned mode, unsigned start, unsigned count) -{ - struct trace_context *tr_ctx = trace_context(_pipe); - struct trace_resource *tr_buf = trace_resource(_indexBuffer); - struct pipe_context *pipe = tr_ctx->pipe; - struct pipe_resource *indexBuffer = tr_buf->resource; - - trace_dump_call_begin("pipe_context", "draw_elements"); - - trace_dump_arg(ptr, pipe); - trace_dump_arg(ptr, indexBuffer); - trace_dump_arg(uint, indexSize); - trace_dump_arg(int, indexBias); - trace_dump_arg(uint, mode); - trace_dump_arg(uint, start); - trace_dump_arg(uint, count); - - pipe->draw_elements(pipe, indexBuffer, indexSize, indexBias, - mode, start, count); - - trace_dump_call_end(); -} - - -static INLINE void -trace_context_draw_range_elements(struct pipe_context *_pipe, - struct pipe_resource *_indexBuffer, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count) -{ - struct trace_context *tr_ctx = trace_context(_pipe); - struct trace_resource *tr_buf = trace_resource(_indexBuffer); - struct pipe_context *pipe = tr_ctx->pipe; - struct pipe_resource *indexBuffer = tr_buf->resource; - - trace_dump_call_begin("pipe_context", "draw_range_elements"); - - trace_dump_arg(ptr, pipe); - trace_dump_arg(ptr, indexBuffer); - trace_dump_arg(uint, indexSize); - trace_dump_arg(int, indexBias); - trace_dump_arg(uint, minIndex); - trace_dump_arg(uint, maxIndex); - trace_dump_arg(uint, mode); - trace_dump_arg(uint, start); - trace_dump_arg(uint, count); - - pipe->draw_range_elements(pipe, - indexBuffer, indexSize, indexBias, - minIndex, maxIndex, - mode, start, count); - - trace_dump_call_end(); -} - - static INLINE void trace_context_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info) @@ -1483,9 +1398,6 @@ trace_context_create(struct trace_screen *tr_scr, tr_ctx->base.screen = &tr_scr->base; tr_ctx->base.destroy = trace_context_destroy; - tr_ctx->base.draw_arrays = trace_context_draw_arrays; - tr_ctx->base.draw_elements = trace_context_draw_elements; - tr_ctx->base.draw_range_elements = trace_context_draw_range_elements; tr_ctx->base.draw_vbo = trace_context_draw_vbo; tr_ctx->base.create_query = trace_context_create_query; tr_ctx->base.destroy_query = trace_context_destroy_query; diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 3314b1e0e0f..0579962ec69 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -61,47 +61,6 @@ struct pipe_context { * VBO drawing */ /*@{*/ - void (*draw_arrays)( struct pipe_context *pipe, - unsigned mode, unsigned start, unsigned count); - - void (*draw_elements)( struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, unsigned start, unsigned count); - - void (*draw_arrays_instanced)(struct pipe_context *pipe, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount); - - void (*draw_elements_instanced)(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned mode, - unsigned start, - unsigned count, - unsigned startInstance, - unsigned instanceCount); - - /* XXX: this is (probably) a temporary entrypoint, as the range - * information should be available from the vertex_buffer state. - * Using this to quickly evaluate a specialized path in the draw - * module. - */ - void (*draw_range_elements)( struct pipe_context *pipe, - struct pipe_resource *indexBuffer, - unsigned indexSize, - int indexBias, - unsigned minIndex, - unsigned maxIndex, - unsigned mode, - unsigned start, - unsigned count); - void (*draw_vbo)( struct pipe_context *pipe, const struct pipe_draw_info *info ); -- cgit v1.2.3 From 6f3c4819ecf397cf9efee0213e628e15c1bc704d Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Tue, 10 Aug 2010 10:26:14 +0200 Subject: gallium: add ALWAYS_INLINE Used when we want to be sure the compiler inlines a large function into an inner loop. --- src/gallium/include/pipe/p_compiler.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 0358c14e24b..1fa3ec8300a 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -102,6 +102,16 @@ typedef unsigned char boolean; # endif #endif +/* Forced function inlining */ +#ifndef ALWAYS_INLINE +# ifdef __GNUC__ +# define ALWAYS_INLINE inline __attribute__((always_inline)) +# elif defined(_MSC_VER) +# define ALWAYS_INLINE __forceinline +# else +# define ALWAYS_INLINE INLINE +# endif +#endif /* Function visibility */ #ifndef PUBLIC -- cgit v1.2.3 From 72b3e3fee37413fefe205fa03a111a0180ed19c1 Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Thu, 15 Apr 2010 09:02:29 +0200 Subject: gallium: add PIPE_TEXTURE_RECT target This allows to properly support OpenGL rectangle textures in a well defined way, especially on drivers that don't expose PIPE_CAP_NPOT_TEXTURES. --- src/gallium/docs/source/index.rst | 1 + src/gallium/docs/source/resources.rst | 41 +++++++++++++++++++++++++++++++++++ src/gallium/include/pipe/p_defines.h | 4 +++- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src/gallium/docs/source/resources.rst (limited to 'src/gallium/include') diff --git a/src/gallium/docs/source/index.rst b/src/gallium/docs/source/index.rst index 6c19842dac4..2a73e3ab59d 100644 --- a/src/gallium/docs/source/index.rst +++ b/src/gallium/docs/source/index.rst @@ -15,6 +15,7 @@ Contents: debugging tgsi screen + resources context cso distro diff --git a/src/gallium/docs/source/resources.rst b/src/gallium/docs/source/resources.rst new file mode 100644 index 00000000000..a380e5080c8 --- /dev/null +++ b/src/gallium/docs/source/resources.rst @@ -0,0 +1,41 @@ +Resources +========= + +Resources represent objects that hold data: textures and buffers. + +They are mostly modelled after the resources in Direct3D 10/11, but with a +different transfer/update mechanism, and more features for OpenGL support. + +Resource targets +---------------- + +Resource targets determine the type of a resource. + +Note that drivers may not actually have the restrictions listed regarding +coordinate normalization and wrap modes, and in fact efficient OpenCL +support will probably require drivers that don't have any of them, which +will probably be advertised with an appropriate cap. + +TODO: document all targets. Note that both 3D and cube have restrictions +that depend on the hardware generation. + +TODO: can buffers have a non-R8 format? + +PIPE_TEXTURE_RECT +^^^^^^^^^^^^^^^^^ +2D surface with OpenGL GL_TEXTURE_RECTANGLE semantics. + +depth must be 1 +- last_level must be 0 +- Must use unnormalized coordinates +- Must use a clamp wrap mode + +PIPE_TEXTURE_2D +^^^^^^^^^^^^^^^ +2D surface accessed with normalized coordinates. + +- If PIPE_CAP_NPOT_TEXTURES is not supported, + width and height must be powers of two +- Mipmaps can be used +- Must use normalized coordinates +- No special restrictions on wrap modes diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 00aa2076ed5..35eccf1c907 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -135,13 +135,15 @@ enum pipe_error { #define PIPE_STENCIL_OP_DECR_WRAP 6 #define PIPE_STENCIL_OP_INVERT 7 -/** Texture types */ +/** Texture types. + * See the documentation for info on PIPE_TEXTURE_RECT vs PIPE_TEXTURE_2D */ enum pipe_texture_target { PIPE_BUFFER = 0, PIPE_TEXTURE_1D = 1, PIPE_TEXTURE_2D = 2, PIPE_TEXTURE_3D = 3, PIPE_TEXTURE_CUBE = 4, + PIPE_TEXTURE_RECT = 5, PIPE_MAX_TEXTURE_TYPES }; -- cgit v1.2.3 From 9960200d5eef97e38d5565cfc1775e3d8f7800a2 Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Sat, 21 Aug 2010 00:39:31 +0200 Subject: p_compiler: add replacement va_copy This might technically not always be correct, because va_copy might be a function, or a system might not have va_copy, and not work with assignment. Hopefully this is never the case. Without configure tests, it doesn't seem possible to do better. --- src/gallium/include/pipe/p_compiler.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 1fa3ec8300a..0a5be43f6bf 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -79,6 +79,14 @@ typedef unsigned char boolean; #define FALSE false #endif +#ifndef va_copy +#ifdef __va_copy +#define va_copy(dest, src) __va_copy((dest), (src)) +#else +#define va_copy(dest, src) (dest) = (src) +#endif +#endif + /* Function inlining */ #ifndef INLINE # ifdef __cplusplus -- cgit v1.2.3 From f0eb02af800ea1c4be6847ead0096d368d9276ff Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Thu, 26 Aug 2010 06:44:02 +0100 Subject: graw: Dynamically load graw libraries. This allows to build multiple graws libs simultaneously and avoid unnecessary rebuilds of the tests. Also remove graw_util.c from inside the graw implementation -- it was only being provided by one implementation, and graw tests were linking against gallium anyway. --- src/gallium/include/state_tracker/graw_dl.h | 152 ++++++++++++++++++++++++++++ src/gallium/targets/graw-xlib/SConscript | 1 - src/gallium/targets/graw-xlib/graw_util.c | 49 --------- src/gallium/tests/graw/SConscript | 9 +- src/gallium/tests/graw/clear.c | 2 +- src/gallium/tests/graw/fs-test.c | 2 +- src/gallium/tests/graw/gs-test.c | 2 +- src/gallium/tests/graw/quad-tex.c | 2 +- src/gallium/tests/graw/tri-gs.c | 2 +- src/gallium/tests/graw/tri-instanced.c | 2 +- src/gallium/tests/graw/tri.c | 2 +- src/gallium/tests/graw/vs-test.c | 2 +- 12 files changed, 161 insertions(+), 66 deletions(-) create mode 100644 src/gallium/include/state_tracker/graw_dl.h delete mode 100644 src/gallium/targets/graw-xlib/graw_util.c (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw_dl.h b/src/gallium/include/state_tracker/graw_dl.h new file mode 100644 index 00000000000..0b326ca9f1d --- /dev/null +++ b/src/gallium/include/state_tracker/graw_dl.h @@ -0,0 +1,152 @@ +#ifndef GALLIUM_RAW_DL_H +#define GALLIUM_RAW_DL_H + +/* This is an API for exercising gallium functionality in a + * platform-neutral fashion. Whatever platform integration is + * necessary to implement this interface is orchestrated by the + * individual target building this entity. + * + * For instance, the graw-xlib target includes code to implent these + * interfaces on top of the X window system. + * + * Programs using this interface may additionally benefit from some of + * the utilities currently in the libgallium.a library, especially + * those for parsing text representations of TGSI shaders. + */ + +#include "pipe/p_compiler.h" +#include "pipe/p_format.h" +#include "pipe/p_context.h" +#include "util/u_dl.h" +#include "tgsi/tgsi_text.h" +#include + + +struct pipe_screen; +struct pipe_context; + + +typedef void * +(*pfn_graw_create_window_and_screen_t)( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle ); + +typedef void +(*pfn_graw_set_display_func_t)( void (*func)( void ) ); + +typedef void +(*pfn_graw_main_loop_t)( void ); + + +static pfn_graw_create_window_and_screen_t +pfn_graw_create_window_and_screen = NULL; + +static pfn_graw_set_display_func_t +pfn_graw_set_display_func = NULL; + +static pfn_graw_main_loop_t +pfn_graw_main_loop = NULL; + + +static INLINE void * +graw_create_window_and_screen( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle ) +{ + static struct util_dl_library *lib; + lib = util_dl_open(UTIL_DL_PREFIX "graw" UTIL_DL_EXT); + if (!lib) + goto error; + pfn_graw_create_window_and_screen = (pfn_graw_create_window_and_screen_t) + util_dl_get_proc_address(lib, "graw_create_window_and_screen"); + if (!pfn_graw_create_window_and_screen) + goto error; + pfn_graw_set_display_func = (pfn_graw_set_display_func_t) + util_dl_get_proc_address(lib, "graw_set_display_func"); + if (!pfn_graw_set_display_func) + goto error; + pfn_graw_main_loop = (pfn_graw_main_loop_t) + util_dl_get_proc_address(lib, "graw_main_loop"); + if (!pfn_graw_main_loop) + goto error; + return pfn_graw_create_window_and_screen(x, y, width, height, format, handle ); +error: + fprintf(stderr, "failed to open " UTIL_DL_PREFIX "graw" UTIL_DL_EXT "\n"); + return NULL; +} + +static INLINE void +graw_set_display_func( void (*func)( void ) ) +{ + if (!pfn_graw_set_display_func) + return; + pfn_graw_set_display_func(func); +} + +static INLINE void +graw_main_loop( void ) +{ + if (!pfn_graw_main_loop) + return; + pfn_graw_main_loop(); +} + + +/* + * Helper functions. These are the same for all graw implementations. + * + * XXX: These aren't graw related. If they are useful then should go somwhere + * inside auxiliary/util. + */ + +#define GRAW_MAX_NUM_TOKENS 1024 + +static INLINE void * +graw_parse_geometry_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) + return NULL; + + state.tokens = tokens; + return pipe->create_gs_state(pipe, &state); +} + +static INLINE void * +graw_parse_vertex_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) + return NULL; + + state.tokens = tokens; + return pipe->create_vs_state(pipe, &state); +} + +static INLINE void * +graw_parse_fragment_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) + return NULL; + + state.tokens = tokens; + return pipe->create_fs_state(pipe, &state); +} + +#endif diff --git a/src/gallium/targets/graw-xlib/SConscript b/src/gallium/targets/graw-xlib/SConscript index 21fce948f43..32b98cdef3b 100644 --- a/src/gallium/targets/graw-xlib/SConscript +++ b/src/gallium/targets/graw-xlib/SConscript @@ -26,7 +26,6 @@ env.Append(CPPPATH = [ sources = [ 'graw_xlib.c', - 'graw_util.c', ] env.Tool('x11') diff --git a/src/gallium/targets/graw-xlib/graw_util.c b/src/gallium/targets/graw-xlib/graw_util.c deleted file mode 100644 index 47aca4464db..00000000000 --- a/src/gallium/targets/graw-xlib/graw_util.c +++ /dev/null @@ -1,49 +0,0 @@ - -#include "pipe/p_compiler.h" -#include "pipe/p_context.h" -#include "tgsi/tgsi_text.h" -#include "util/u_memory.h" -#include "state_tracker/graw.h" - - -/* Helper functions. These are the same for all graw implementations. - */ -void *graw_parse_geometry_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_gs_state(pipe, &state); -} - -void *graw_parse_vertex_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_vs_state(pipe, &state); -} - -void *graw_parse_fragment_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_fs_state(pipe, &state); -} - diff --git a/src/gallium/tests/graw/SConscript b/src/gallium/tests/graw/SConscript index 860a17e13e7..5ef395e0336 100644 --- a/src/gallium/tests/graw/SConscript +++ b/src/gallium/tests/graw/SConscript @@ -1,15 +1,8 @@ Import('*') -try: - graw -except NameError: - print 'warning: graw library not avaiable: skipping build of graw test' - Return() - env = env.Clone() -env.Prepend(LIBPATH = [graw.dir]) -env.Prepend(LIBS = ['graw'] + gallium) +env.Prepend(LIBS = gallium) if platform in ('freebsd8', 'sunos5'): env.Append(LIBS = ['m']) diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index ce52a93aa1b..c9a7b76188c 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c index 53fbb744d86..c0ed6e06e46 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c index 62714900bd9..0f029e70c2e 100644 --- a/src/gallium/tests/graw/gs-test.c +++ b/src/gallium/tests/graw/gs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/quad-tex.c b/src/gallium/tests/graw/quad-tex.c index c50ef12ab5a..e7379e8c456 100644 --- a/src/gallium/tests/graw/quad-tex.c +++ b/src/gallium/tests/graw/quad-tex.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c index 152ae408eb0..75466ce889c 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index 8859f745fdb..67b40f78f78 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -5,7 +5,7 @@ #include #include -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/tri.c b/src/gallium/tests/graw/tri.c index 4dbd2c062a5..e8f925d2f43 100644 --- a/src/gallium/tests/graw/tri.c +++ b/src/gallium/tests/graw/tri.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c index e1cd814bf72..e6930225264 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw.h" +#include "state_tracker/graw_dl.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" -- cgit v1.2.3 From 2badf0f6422208fd004ae62a58d2b5cdb2c2a174 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 26 Aug 2010 01:14:28 -0700 Subject: graw: Include missing header in graw_dl.h. Include p_state.h for pipe_shader_state symbol. --- src/gallium/include/state_tracker/graw_dl.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw_dl.h b/src/gallium/include/state_tracker/graw_dl.h index 0b326ca9f1d..3c5c3d86473 100644 --- a/src/gallium/include/state_tracker/graw_dl.h +++ b/src/gallium/include/state_tracker/graw_dl.h @@ -14,12 +14,13 @@ * those for parsing text representations of TGSI shaders. */ +#include #include "pipe/p_compiler.h" -#include "pipe/p_format.h" #include "pipe/p_context.h" +#include "pipe/p_format.h" +#include "pipe/p_state.h" #include "util/u_dl.h" #include "tgsi/tgsi_text.h" -#include struct pipe_screen; -- cgit v1.2.3 From 81ac08f89d9f52d14aada43f4d00302cd9b32c68 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 26 Aug 2010 01:21:10 -0700 Subject: gallium: Clean up header file inclusion in p_context.h. Remove p_state.h. Include p_compiler.h for boolean symbol. Add needed forward declarations after removing p_state.h. --- src/gallium/include/pipe/p_context.h | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 0579962ec69..0e53aef6d2e 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -28,19 +28,37 @@ #ifndef PIPE_CONTEXT_H #define PIPE_CONTEXT_H -#include "p_state.h" - +#include "p_compiler.h" #ifdef __cplusplus extern "C" { #endif - -struct pipe_screen; + +struct pipe_blend_color; +struct pipe_blend_state; +struct pipe_box; +struct pipe_clip_state; +struct pipe_depth_stencil_alpha_state; +struct pipe_draw_info; struct pipe_fence_handle; -struct pipe_state_cache; +struct pipe_framebuffer_state; +struct pipe_index_buffer; struct pipe_query; -struct pipe_winsys; +struct pipe_poly_stipple; +struct pipe_rasterizer_state; +struct pipe_resource; +struct pipe_sampler_state; +struct pipe_sampler_view; +struct pipe_scissor_state; +struct pipe_shader_state; +struct pipe_stencil_ref; +struct pipe_stream_output_state; +struct pipe_subresource; +struct pipe_surface; +struct pipe_vertex_buffer; +struct pipe_vertex_element; +struct pipe_viewport_state; /** * Gallium rendering context. Basically: -- cgit v1.2.3 From 121b6d68c212bba93d0c89df0fa38cc1dc7c09f2 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Thu, 26 Aug 2010 01:30:07 -0700 Subject: gallium: Clean up header file inclusion in p_defines.h. Remove p_format.h. Include p_compiler.h for boolean and uint64_t symbols. --- src/gallium/include/pipe/p_defines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 35eccf1c907..627b5ae5380 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -28,7 +28,7 @@ #ifndef PIPE_DEFINES_H #define PIPE_DEFINES_H -#include "p_format.h" +#include "p_compiler.h" #ifdef __cplusplus extern "C" { -- cgit v1.2.3 From 90437330e2886fcd351dd11ee0e5aa3e8b523fdc Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Thu, 26 Aug 2010 11:37:42 +0100 Subject: graw: Undo late loading of graw drivers. Keith prefers a clean separation between graw applications and implementations, where apps do not link libgallium.a but instead get all functionality they need via graw interface. Although this is not incompatible with late loading of graw drivers, it it would make it very hard to maintain, as wrappers for every utility symbol exposed in graw would have to be written or generated somehow. --- SConstruct | 3 +- src/gallium/include/state_tracker/graw_dl.h | 153 ---------------------------- src/gallium/targets/SConscript | 5 + src/gallium/targets/graw-null/SConscript | 58 +++++++++++ src/gallium/targets/graw-null/graw_null.c | 95 +++++++++++++++++ src/gallium/targets/graw-xlib/SConscript | 1 + src/gallium/targets/graw-xlib/graw_util.c | 50 +++++++++ src/gallium/tests/graw/SConscript | 9 +- src/gallium/tests/graw/clear.c | 2 +- src/gallium/tests/graw/fs-test.c | 2 +- src/gallium/tests/graw/gs-test.c | 2 +- src/gallium/tests/graw/quad-tex.c | 2 +- src/gallium/tests/graw/tri-gs.c | 2 +- src/gallium/tests/graw/tri-instanced.c | 2 +- src/gallium/tests/graw/tri.c | 2 +- src/gallium/tests/graw/vs-test.c | 2 +- 16 files changed, 227 insertions(+), 163 deletions(-) delete mode 100644 src/gallium/include/state_tracker/graw_dl.h create mode 100644 src/gallium/targets/graw-null/SConscript create mode 100644 src/gallium/targets/graw-null/graw_null.c create mode 100644 src/gallium/targets/graw-xlib/graw_util.c (limited to 'src/gallium/include') diff --git a/SConstruct b/SConstruct index 14663727f52..bb03e5055ea 100644 --- a/SConstruct +++ b/SConstruct @@ -31,7 +31,7 @@ import common # Configuration options default_statetrackers = 'mesa' -default_targets = 'none' +default_targets = 'graw-null' if common.default_platform in ('linux', 'freebsd', 'darwin'): default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe' @@ -69,6 +69,7 @@ opts.Add(ListVariable('targets', 'driver targets to build', default_targets, 'egl-swrast', 'egl-vmwgfx', 'graw-xlib', + 'graw-null', 'libgl-gdi', 'libgl-xlib', 'xorg-i915', diff --git a/src/gallium/include/state_tracker/graw_dl.h b/src/gallium/include/state_tracker/graw_dl.h deleted file mode 100644 index 3c5c3d86473..00000000000 --- a/src/gallium/include/state_tracker/graw_dl.h +++ /dev/null @@ -1,153 +0,0 @@ -#ifndef GALLIUM_RAW_DL_H -#define GALLIUM_RAW_DL_H - -/* This is an API for exercising gallium functionality in a - * platform-neutral fashion. Whatever platform integration is - * necessary to implement this interface is orchestrated by the - * individual target building this entity. - * - * For instance, the graw-xlib target includes code to implent these - * interfaces on top of the X window system. - * - * Programs using this interface may additionally benefit from some of - * the utilities currently in the libgallium.a library, especially - * those for parsing text representations of TGSI shaders. - */ - -#include -#include "pipe/p_compiler.h" -#include "pipe/p_context.h" -#include "pipe/p_format.h" -#include "pipe/p_state.h" -#include "util/u_dl.h" -#include "tgsi/tgsi_text.h" - - -struct pipe_screen; -struct pipe_context; - - -typedef void * -(*pfn_graw_create_window_and_screen_t)( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format, - void **handle ); - -typedef void -(*pfn_graw_set_display_func_t)( void (*func)( void ) ); - -typedef void -(*pfn_graw_main_loop_t)( void ); - - -static pfn_graw_create_window_and_screen_t -pfn_graw_create_window_and_screen = NULL; - -static pfn_graw_set_display_func_t -pfn_graw_set_display_func = NULL; - -static pfn_graw_main_loop_t -pfn_graw_main_loop = NULL; - - -static INLINE void * -graw_create_window_and_screen( int x, - int y, - unsigned width, - unsigned height, - enum pipe_format format, - void **handle ) -{ - static struct util_dl_library *lib; - lib = util_dl_open(UTIL_DL_PREFIX "graw" UTIL_DL_EXT); - if (!lib) - goto error; - pfn_graw_create_window_and_screen = (pfn_graw_create_window_and_screen_t) - util_dl_get_proc_address(lib, "graw_create_window_and_screen"); - if (!pfn_graw_create_window_and_screen) - goto error; - pfn_graw_set_display_func = (pfn_graw_set_display_func_t) - util_dl_get_proc_address(lib, "graw_set_display_func"); - if (!pfn_graw_set_display_func) - goto error; - pfn_graw_main_loop = (pfn_graw_main_loop_t) - util_dl_get_proc_address(lib, "graw_main_loop"); - if (!pfn_graw_main_loop) - goto error; - return pfn_graw_create_window_and_screen(x, y, width, height, format, handle ); -error: - fprintf(stderr, "failed to open " UTIL_DL_PREFIX "graw" UTIL_DL_EXT "\n"); - return NULL; -} - -static INLINE void -graw_set_display_func( void (*func)( void ) ) -{ - if (!pfn_graw_set_display_func) - return; - pfn_graw_set_display_func(func); -} - -static INLINE void -graw_main_loop( void ) -{ - if (!pfn_graw_main_loop) - return; - pfn_graw_main_loop(); -} - - -/* - * Helper functions. These are the same for all graw implementations. - * - * XXX: These aren't graw related. If they are useful then should go somwhere - * inside auxiliary/util. - */ - -#define GRAW_MAX_NUM_TOKENS 1024 - -static INLINE void * -graw_parse_geometry_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) - return NULL; - - state.tokens = tokens; - return pipe->create_gs_state(pipe, &state); -} - -static INLINE void * -graw_parse_vertex_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) - return NULL; - - state.tokens = tokens; - return pipe->create_vs_state(pipe, &state); -} - -static INLINE void * -graw_parse_fragment_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[GRAW_MAX_NUM_TOKENS]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, GRAW_MAX_NUM_TOKENS)) - return NULL; - - state.tokens = tokens; - return pipe->create_fs_state(pipe, &state); -} - -#endif diff --git a/src/gallium/targets/SConscript b/src/gallium/targets/SConscript index 7eecdb24c79..e447d093610 100644 --- a/src/gallium/targets/SConscript +++ b/src/gallium/targets/SConscript @@ -9,6 +9,11 @@ if 'mesa' in env['statetrackers']: if 'gdi' in env['winsys'] and 'libgl-gdi' not in env['targets']: env['targets'].append('libgl-gdi') +if not 'graw-xlib' in env['targets'] and not 'graw-null' in env['targets'] and not env['msvc']: + # XXX: disable until MSVC can link correctly + SConscript('graw-null/SConscript') + + if env['dri']: SConscript([ 'SConscript.dri' diff --git a/src/gallium/targets/graw-null/SConscript b/src/gallium/targets/graw-null/SConscript new file mode 100644 index 00000000000..3416989d8eb --- /dev/null +++ b/src/gallium/targets/graw-null/SConscript @@ -0,0 +1,58 @@ +####################################################################### +# SConscript for xlib winsys + +Import('*') + +env = env.Clone() + +env.Prepend(LIBS = [ + ws_null, + trace, + rbug, + identity, +# gallium, +]) + +env.Append(CPPPATH = [ + '#src/gallium/drivers', +]) + +if env['platform'] == 'windows': + # For trace + env.Append(LIBS = [ + 'ws2_32', + ]) + +sources = [ + 'graw_null.c', + '../graw-xlib/graw_util.c', +] + +if True: + env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') + env.Prepend(LIBS = [softpipe]) + +if env['llvm']: + env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') + env.Tool('udis86') + env.Prepend(LIBS = [llvmpipe]) + +# Need this for trace, identity drivers referenced by +# gallium_wrap_screen(). +# +env.Prepend(LIBS = [gallium]) + +# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions +graw = env.SharedLibrary( + target ='graw', + source = sources, +) + +env.InstallSharedLibrary(graw, version=(1, 0)) + +if env['platform'] == 'windows': + graw = env.FindIxes(graw, 'LIBPREFIX', 'LIBSUFFIX') +else: + graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX') + +Export('graw') diff --git a/src/gallium/targets/graw-null/graw_null.c b/src/gallium/targets/graw-null/graw_null.c new file mode 100644 index 00000000000..5939a5acd3c --- /dev/null +++ b/src/gallium/targets/graw-null/graw_null.c @@ -0,0 +1,95 @@ +#include "pipe/p_compiler.h" +#include "util/u_debug.h" +#include "util/u_memory.h" +#include "target-helpers/wrap_screen.h" +#include "sw/null/null_sw_winsys.h" +#include "os/os_time.h" +#include "state_tracker/graw.h" + +#ifdef GALLIUM_SOFTPIPE +#include "softpipe/sp_public.h" +#endif + +#ifdef GALLIUM_LLVMPIPE +#include "llvmpipe/lp_public.h" +#endif + +/* Haven't figured out a decent way to build the helper code yet - + * #include it here temporarily. + */ +#include "sw/sw_public.h" +#include "sw/sw.c" + +#include + + +static struct { + void (*draw)(void); +} graw; + + + +struct pipe_screen * +graw_create_window_and_screen( int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle) +{ + const char *default_driver; + const char *driver; + struct pipe_screen *screen = NULL; + struct sw_winsys *winsys = NULL; + static int dummy; + + + /* Create the underlying winsys, which performs presents to Xlib + * drawables: + */ + winsys = null_sw_create(); + if (winsys == NULL) + return NULL; + +#if defined(GALLIUM_LLVMPIPE) + default_driver = "llvmpipe"; +#elif defined(GALLIUM_SOFTPIPE) + default_driver = "softpipe"; +#else + default_driver = ""; +#endif + + driver = debug_get_option("GALLIUM_DRIVER", default_driver); + +#if defined(GALLIUM_LLVMPIPE) + if (screen == NULL && strcmp(driver, "llvmpipe") == 0) + screen = llvmpipe_create_screen( winsys ); +#endif + +#if defined(GALLIUM_SOFTPIPE) + if (screen == NULL) + screen = softpipe_create_screen( winsys ); +#endif + + *handle = &dummy; + + /* Inject any wrapping layers we want to here: + */ + return gallium_wrap_screen( screen ); +} + + + +void +graw_set_display_func( void (*draw)( void ) ) +{ + graw.draw = draw; +} + + +void +graw_main_loop( void ) +{ + graw.draw(); + os_time_sleep(100000); +} diff --git a/src/gallium/targets/graw-xlib/SConscript b/src/gallium/targets/graw-xlib/SConscript index 32b98cdef3b..21fce948f43 100644 --- a/src/gallium/targets/graw-xlib/SConscript +++ b/src/gallium/targets/graw-xlib/SConscript @@ -26,6 +26,7 @@ env.Append(CPPPATH = [ sources = [ 'graw_xlib.c', + 'graw_util.c', ] env.Tool('x11') diff --git a/src/gallium/targets/graw-xlib/graw_util.c b/src/gallium/targets/graw-xlib/graw_util.c new file mode 100644 index 00000000000..fc7c9ae6f92 --- /dev/null +++ b/src/gallium/targets/graw-xlib/graw_util.c @@ -0,0 +1,50 @@ + +#include "pipe/p_compiler.h" +#include "pipe/p_context.h" +#include "pipe/p_state.h" +#include "tgsi/tgsi_text.h" +#include "util/u_memory.h" +#include "state_tracker/graw.h" + + +/* Helper functions. These are the same for all graw implementations. + */ +void *graw_parse_geometry_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_gs_state(pipe, &state); +} + +void *graw_parse_vertex_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_vs_state(pipe, &state); +} + +void *graw_parse_fragment_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_fs_state(pipe, &state); +} + diff --git a/src/gallium/tests/graw/SConscript b/src/gallium/tests/graw/SConscript index 5ef395e0336..860a17e13e7 100644 --- a/src/gallium/tests/graw/SConscript +++ b/src/gallium/tests/graw/SConscript @@ -1,8 +1,15 @@ Import('*') +try: + graw +except NameError: + print 'warning: graw library not avaiable: skipping build of graw test' + Return() + env = env.Clone() -env.Prepend(LIBS = gallium) +env.Prepend(LIBPATH = [graw.dir]) +env.Prepend(LIBS = ['graw'] + gallium) if platform in ('freebsd8', 'sunos5'): env.Append(LIBS = ['m']) diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index c9a7b76188c..ce52a93aa1b 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c index c0ed6e06e46..53fbb744d86 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c index 0f029e70c2e..62714900bd9 100644 --- a/src/gallium/tests/graw/gs-test.c +++ b/src/gallium/tests/graw/gs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/quad-tex.c b/src/gallium/tests/graw/quad-tex.c index e7379e8c456..c50ef12ab5a 100644 --- a/src/gallium/tests/graw/quad-tex.c +++ b/src/gallium/tests/graw/quad-tex.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c index 75466ce889c..152ae408eb0 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index 67b40f78f78..8859f745fdb 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -5,7 +5,7 @@ #include #include -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/tri.c b/src/gallium/tests/graw/tri.c index e8f925d2f43..4dbd2c062a5 100644 --- a/src/gallium/tests/graw/tri.c +++ b/src/gallium/tests/graw/tri.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_state.h" diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c index e6930225264..e1cd814bf72 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -2,7 +2,7 @@ * any utility code, just the graw interface and gallium. */ -#include "state_tracker/graw_dl.h" +#include "state_tracker/graw.h" #include "pipe/p_screen.h" #include "pipe/p_context.h" #include "pipe/p_shader_tokens.h" -- cgit v1.2.3 From 98ccee9ea6bd5841784d006fb7cdbbc34895f18b Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Thu, 26 Aug 2010 06:52:12 +0100 Subject: graw: Add copyright headers to the interfaces. --- src/gallium/include/state_tracker/graw.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index 59b0e337c92..5eaa3230857 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -1,3 +1,30 @@ +/************************************************************************** + * + * Copyright 2010 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + **************************************************************************/ + #ifndef GALLIUM_RAW_H #define GALLIUM_RAW_H -- cgit v1.2.3 From 1b83ede8cc68c01eaade6ceffab00cef5a1fb2df Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Fri, 27 Aug 2010 00:07:38 -0700 Subject: graw: Include missing header in graw.h. Include p_compiler.h for PUBLIC symbol. --- src/gallium/include/state_tracker/graw.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index 5eaa3230857..6a99b234aa5 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -41,6 +41,7 @@ * those for parsing text representations of TGSI shaders. */ +#include "pipe/p_compiler.h" #include "pipe/p_format.h" struct pipe_screen; -- cgit v1.2.3 From 43ed82bdb2feddd38884514dc00c348d7f1ec0f9 Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Fri, 27 Aug 2010 00:15:04 -0700 Subject: gallium: Remove unnecessary header from p_format.h. Remove p_compiler.h. --- src/gallium/include/pipe/p_format.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_format.h b/src/gallium/include/pipe/p_format.h index 436c3f627a8..06412f4894c 100644 --- a/src/gallium/include/pipe/p_format.h +++ b/src/gallium/include/pipe/p_format.h @@ -29,8 +29,6 @@ #ifndef PIPE_FORMAT_H #define PIPE_FORMAT_H -#include "p_compiler.h" - #ifdef __cplusplus extern "C" { #endif -- cgit v1.2.3 From af8f037db2cea78e6c5a1ed5fb63fcb90cebdd9b Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Fri, 27 Aug 2010 00:40:42 -0700 Subject: gallium: Remove unnecessary header from p_shader_tokens.h. Remove p_compiler.h. --- src/gallium/include/pipe/p_shader_tokens.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 9df20ea8581..c4bd17e92bb 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -33,8 +33,6 @@ extern "C" { #endif -#include "p_compiler.h" - struct tgsi_header { -- cgit v1.2.3 From 182d6350609408fa167d4a76ad02cdb93f10dcdd Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Sat, 28 Aug 2010 22:15:37 -0700 Subject: gallium: Remove unnecessary header from p_state.h. Remove p_screen.h. --- src/gallium/include/pipe/p_state.h | 1 - 1 file changed, 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index 0f1a44cde42..9a2b31da50d 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -43,7 +43,6 @@ #include "p_compiler.h" #include "p_defines.h" #include "p_format.h" -#include "p_screen.h" #ifdef __cplusplus -- cgit v1.2.3 From 98e277111bd6f6e5bcbbcd663e42e18ce449b533 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Tue, 7 Sep 2010 01:29:22 -0700 Subject: Replace reference to tgsi-instruction-set.txt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That file has been replaced by tgsi.rst. Signed-off-by: José Fonseca --- src/gallium/include/pipe/p_shader_tokens.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index c4bd17e92bb..74488de17eb 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -199,7 +199,7 @@ struct tgsi_property_data { * * For more information on semantics of opcodes and * which APIs are known to use which opcodes, see - * auxiliary/tgsi/tgsi-instruction-set.txt + * gallium/docs/source/tgsi.rst */ #define TGSI_OPCODE_ARL 0 #define TGSI_OPCODE_MOV 1 -- cgit v1.2.3 From 4531356817ec8383ac35932903773de67af92e37 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 10 Sep 2010 10:31:06 +0800 Subject: gallium: Add context profile support to st_api. Add struct st_context_attribs to describe context profiles and attributes. Modify st_api::create_context to take the new struct instead of an st_visual. st_context_attribs can be used to support GLX_ARB_create_context_profile and GLX_EXT_create_context_es2_profile in the future. But the motivation for doing it now is to be able to replace ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2 by profiles. Having 3 st_api's to provide OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is not a sane abstraction, since all of them share glapi for current context/dispatch management. --- src/gallium/include/state_tracker/st_api.h | 63 +++++++++++++++++- .../state_trackers/dri/common/dri_context.c | 10 ++- .../state_trackers/egl/common/egl_g3d_api.c | 24 ++++++- src/gallium/state_trackers/glx/xlib/xm_api.c | 7 +- src/gallium/state_trackers/vega/vg_manager.c | 11 +++- src/gallium/state_trackers/wgl/stw_context.c | 7 +- src/mesa/main/version.c | 6 +- src/mesa/state_tracker/st_manager.c | 75 ++++++++++++++++------ 8 files changed, 171 insertions(+), 32 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 11424611881..9e87c8e0d40 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -54,6 +54,23 @@ enum st_api_type { ST_API_COUNT }; +/** + * The profile of a context. + */ +enum st_profile_type +{ + ST_PROFILE_DEFAULT, + ST_PROFILE_OPENGL_CORE, + ST_PROFILE_OPENGL_ES1, + ST_PROFILE_OPENGL_ES2 +}; + +/* for profile_mask in st_api */ +#define ST_PROFILE_DEFAULT_MASK (1 << ST_PROFILE_DEFAULT) +#define ST_PROFILE_OPENGL_CORE_MASK (1 << ST_PROFILE_OPENGL_CORE) +#define ST_PROFILE_OPENGL_ES1_MASK (1 << ST_PROFILE_OPENGL_ES1) +#define ST_PROFILE_OPENGL_ES2_MASK (1 << ST_PROFILE_OPENGL_ES2) + /** * Used in st_context_iface->teximage. */ @@ -179,6 +196,37 @@ struct st_visual enum st_attachment_type render_buffer; }; +/** + * Represent the attributes of a context. + */ +struct st_context_attribs +{ + /** + * The profile and minimal version to support. + * + * The valid profiles and versions are rendering API dependent. The latest + * version satisfying the request should be returned, unless + * forward_compatiible is true. + */ + enum st_profile_type profile; + int major, minor; + + /** + * Enable debugging. + */ + boolean debug; + + /** + * Return the exact version and disallow the use of deprecated features. + */ + boolean forward_compatible; + + /** + * The visual of the framebuffers the context will be bound to. + */ + struct st_visual visual; +}; + /** * Represent a windowing system drawable. * @@ -356,6 +404,16 @@ struct st_manager */ struct st_api { + /** + * The supported rendering API. + */ + enum st_api_type api; + + /** + * The supported profiles. Tested with ST_PROFILE_*_MASK. + */ + unsigned profile_mask; + /** * Destroy the API. */ @@ -373,13 +431,14 @@ struct st_api */ struct st_context_iface *(*create_context)(struct st_api *stapi, struct st_manager *smapi, - const struct st_visual *visual, + const struct st_context_attribs *attribs, struct st_context_iface *stsharei); /** * Bind the context to the calling thread with draw and read as drawables. * - * The framebuffers might have different visuals than the context does. + * The framebuffers might be NULL, or might have different visuals than the + * context does. */ boolean (*make_current)(struct st_api *stapi, struct st_context_iface *stctxi, diff --git a/src/gallium/state_trackers/dri/common/dri_context.c b/src/gallium/state_trackers/dri/common/dri_context.c index f9ebe1edcce..8948cfc2ccb 100644 --- a/src/gallium/state_trackers/dri/common/dri_context.c +++ b/src/gallium/state_trackers/dri/common/dri_context.c @@ -57,17 +57,21 @@ dri_create_context(gl_api api, const __GLcontextModes * visual, struct st_api *stapi; struct dri_context *ctx = NULL; struct st_context_iface *st_share = NULL; - struct st_visual stvis; + struct st_context_attribs attribs; + memset(&attribs, 0, sizeof(attribs)); switch (api) { case API_OPENGL: stapi = screen->st_api[ST_API_OPENGL]; + attribs.profile = ST_PROFILE_DEFAULT; break; case API_OPENGLES: stapi = screen->st_api[ST_API_OPENGL_ES1]; + attribs.profile = ST_PROFILE_OPENGL_ES1; break; case API_OPENGLES2: stapi = screen->st_api[ST_API_OPENGL_ES2]; + attribs.profile = ST_PROFILE_OPENGL_ES2; break; default: stapi = NULL; @@ -92,8 +96,8 @@ dri_create_context(gl_api api, const __GLcontextModes * visual, driParseConfigFiles(&ctx->optionCache, &screen->optionCache, sPriv->myNum, "dri"); - dri_fill_st_visual(&stvis, screen, visual); - ctx->st = stapi->create_context(stapi, &screen->base, &stvis, st_share); + dri_fill_st_visual(&attribs.visual, screen, visual); + ctx->st = stapi->create_context(stapi, &screen->base, &attribs, st_share); if (ctx->st == NULL) goto fail; ctx->st->st_manager_private = (void *) ctx; diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index 3ec53653f44..cda46b8c301 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -43,7 +43,8 @@ * Return the state tracker for the given context. */ static struct st_api * -egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx) +egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx, + enum st_profile_type *profile) { struct egl_g3d_driver *gdrv = egl_g3d_driver(drv); EGLint idx = -1; @@ -74,6 +75,18 @@ egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx) break; } + switch (idx) { + case ST_API_OPENGL_ES1: + *profile = ST_PROFILE_OPENGL_ES1; + break; + case ST_API_OPENGL_ES2: + *profile = ST_PROFILE_OPENGL_ES2; + break; + default: + *profile = ST_PROFILE_DEFAULT; + break; + } + return (idx >= 0) ? gdrv->loader->get_st_api(idx) : NULL; } @@ -85,6 +98,7 @@ egl_g3d_create_context(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, struct egl_g3d_context *gshare = egl_g3d_context(share); struct egl_g3d_config *gconf = egl_g3d_config(conf); struct egl_g3d_context *gctx; + struct st_context_attribs stattribs; gctx = CALLOC_STRUCT(egl_g3d_context); if (!gctx) { @@ -97,14 +111,18 @@ egl_g3d_create_context(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, return NULL; } - gctx->stapi = egl_g3d_choose_st(drv, &gctx->base); + memset(&stattribs, 0, sizeof(stattribs)); + if (gconf) + stattribs.visual = gconf->stvis; + + gctx->stapi = egl_g3d_choose_st(drv, &gctx->base, &stattribs.profile); if (!gctx->stapi) { FREE(gctx); return NULL; } gctx->stctxi = gctx->stapi->create_context(gctx->stapi, gdpy->smapi, - (gconf) ? &gconf->stvis : NULL, (gshare) ? gshare->stctxi : NULL); + &stattribs, (gshare) ? gshare->stctxi : NULL); if (!gctx->stctxi) { FREE(gctx); return NULL; diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c index eb4ce742669..36d63c30d6c 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -849,6 +849,7 @@ PUBLIC XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) { XMesaDisplay xmdpy = xmesa_init_display(v->display); + struct st_context_attribs attribs; XMesaContext c; if (!xmdpy) @@ -863,8 +864,12 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list ) c->xm_buffer = NULL; /* set later by XMesaMakeCurrent */ c->xm_read_buffer = NULL; + memset(&attribs, 0, sizeof(attribs)); + attribs.profile = ST_PROFILE_DEFAULT; + attribs.visual = v->stvis; + c->st = stapi->create_context(stapi, xmdpy->smapi, - &v->stvis, (share_list) ? share_list->st : NULL); + &attribs, (share_list) ? share_list->st : NULL); if (c->st == NULL) goto fail; diff --git a/src/gallium/state_trackers/vega/vg_manager.c b/src/gallium/state_trackers/vega/vg_manager.c index c2aa98b231c..e7996741d14 100644 --- a/src/gallium/state_trackers/vega/vg_manager.c +++ b/src/gallium/state_trackers/vega/vg_manager.c @@ -341,13 +341,20 @@ vg_context_destroy(struct st_context_iface *stctxi) static struct st_context_iface * vg_api_create_context(struct st_api *stapi, struct st_manager *smapi, - const struct st_visual *visual, + const struct st_context_attribs *attribs, struct st_context_iface *shared_stctxi) { struct vg_context *shared_ctx = (struct vg_context *) shared_stctxi; struct vg_context *ctx; struct pipe_context *pipe; + if (!(stapi->profile_mask & (1 << attribs->profile))) + return NULL; + + /* only 1.0 is supported */ + if (attribs->major != 1 || attribs->minor > 0) + return NULL; + pipe = smapi->screen->context_create(smapi->screen, NULL); if (!pipe) return NULL; @@ -528,6 +535,8 @@ vg_api_destroy(struct st_api *stapi) } static const struct st_api vg_api = { + ST_API_OPENVG, + ST_PROFILE_DEFAULT_MASK, vg_api_destroy, vg_api_get_proc_address, vg_api_create_context, diff --git a/src/gallium/state_trackers/wgl/stw_context.c b/src/gallium/state_trackers/wgl/stw_context.c index a0e14b96016..85878b46730 100644 --- a/src/gallium/state_trackers/wgl/stw_context.c +++ b/src/gallium/state_trackers/wgl/stw_context.c @@ -129,6 +129,7 @@ DrvCreateLayerContext( { int iPixelFormat; const struct stw_pixelformat_info *pfi; + struct st_context_attribs attribs; struct stw_context *ctx = NULL; if(!stw_dev) @@ -150,8 +151,12 @@ DrvCreateLayerContext( ctx->hdc = hdc; ctx->iPixelFormat = iPixelFormat; + memset(&attribs, 0, sizeof(attribs)); + attribs.profile = ST_PROFILE_DEFAULT; + attribs.visual = pfi->stvis; + ctx->st = stw_dev->stapi->create_context(stw_dev->stapi, - stw_dev->smapi, &pfi->stvis, NULL); + stw_dev->smapi, &attribs, NULL); if (ctx->st == NULL) goto no_st_ctx; diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c index d833a160e9e..9e1f5f2a4fe 100644 --- a/src/mesa/main/version.c +++ b/src/mesa/main/version.c @@ -260,11 +260,15 @@ compute_version_es2(GLcontext *ctx) /** * Set the context's VersionMajor, VersionMinor, VersionString fields. - * This should only be called once as part of context initialization. + * This should only be called once as part of context initialization + * or to perform version check for GLX_ARB_create_context_profile. */ void _mesa_compute_version(GLcontext *ctx) { + if (ctx->VersionMajor) + return; + switch (ctx->API) { case API_OPENGL: compute_version(ctx); diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index ccce574c364..8acd0938bb8 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -44,6 +44,7 @@ #include "main/framebuffer.h" #include "main/fbobject.h" #include "main/renderbuffer.h" +#include "main/version.h" #include "st_texture.h" #include "st_context.h" @@ -303,10 +304,6 @@ st_visual_to_context_mode(const struct st_visual *visual, { memset(mode, 0, sizeof(*mode)); - /* FBO-only context */ - if (!visual) - return; - if (st_visual_have_buffers(visual, ST_ATTACHMENT_BACK_LEFT_MASK)) mode->doubleBufferMode = GL_TRUE; if (st_visual_have_buffers(visual, @@ -612,26 +609,57 @@ st_context_destroy(struct st_context_iface *stctxi) } static struct st_context_iface * -create_context(gl_api api, struct st_manager *smapi, - const struct st_visual *visual, - struct st_context_iface *shared_stctxi) +st_api_create_context(struct st_api *stapi, struct st_manager *smapi, + const struct st_context_attribs *attribs, + struct st_context_iface *shared_stctxi) { struct st_context *shared_ctx = (struct st_context *) shared_stctxi; struct st_context *st; struct pipe_context *pipe; __GLcontextModes mode; + gl_api api; + + if (!(stapi->profile_mask & (1 << attribs->profile))) + return NULL; + + switch (attribs->profile) { + case ST_PROFILE_DEFAULT: + api = API_OPENGL; + break; + case ST_PROFILE_OPENGL_ES1: + api = API_OPENGLES; + break; + case ST_PROFILE_OPENGL_ES2: + api = API_OPENGLES2; + break; + case ST_PROFILE_OPENGL_CORE: + default: + return NULL; + break; + } pipe = smapi->screen->context_create(smapi->screen, NULL); if (!pipe) return NULL; - st_visual_to_context_mode(visual, &mode); + st_visual_to_context_mode(&attribs->visual, &mode); st = st_create_context(api, pipe, &mode, shared_ctx); if (!st) { pipe->destroy(pipe); return NULL; } + /* need to perform version check */ + if (attribs->major > 1 || attribs->minor > 0) { + _mesa_compute_version(st->ctx); + + if (st->ctx->VersionMajor < attribs->major || + st->ctx->VersionMajor < attribs->minor) { + st_destroy_context(st); + return NULL; + } + } + st->invalidate_on_gl_viewport = smapi->get_param(smapi, ST_MANAGER_BROKEN_INVALIDATE); @@ -646,28 +674,20 @@ create_context(gl_api api, struct st_manager *smapi, return &st->iface; } -static struct st_context_iface * -st_api_create_context(struct st_api *stapi, struct st_manager *smapi, - const struct st_visual *visual, - struct st_context_iface *shared_stctxi) -{ - return create_context(API_OPENGL, smapi, visual, shared_stctxi); -} - static struct st_context_iface * st_api_create_context_es1(struct st_api *stapi, struct st_manager *smapi, - const struct st_visual *visual, + const struct st_context_attribs *attribs, struct st_context_iface *shared_stctxi) { - return create_context(API_OPENGLES, smapi, visual, shared_stctxi); + return st_api_create_context(stapi, smapi, attribs, shared_stctxi); } static struct st_context_iface * st_api_create_context_es2(struct st_api *stapi, struct st_manager *smapi, - const struct st_visual *visual, + const struct st_context_attribs *attribs, struct st_context_iface *shared_stctxi) { - return create_context(API_OPENGLES2, smapi, visual, shared_stctxi); + return st_api_create_context(stapi, smapi, attribs, shared_stctxi); } static boolean @@ -852,6 +872,17 @@ st_manager_add_color_renderbuffer(struct st_context *st, GLframebuffer *fb, } static const struct st_api st_gl_api = { + ST_API_OPENGL, +#if FEATURE_GL + ST_PROFILE_DEFAULT_MASK | +#endif +#if FEATURE_ES1 + ST_PROFILE_OPENGL_ES1_MASK | +#endif +#if FEATURE_ES2 + ST_PROFILE_OPENGL_ES2_MASK | +#endif + 0, st_api_destroy, st_api_get_proc_address, st_api_create_context, @@ -860,6 +891,8 @@ static const struct st_api st_gl_api = { }; static const struct st_api st_gl_api_es1 = { + ST_API_OPENGL_ES1, + ST_PROFILE_OPENGL_ES1_MASK, st_api_destroy, st_api_get_proc_address, st_api_create_context_es1, @@ -868,6 +901,8 @@ static const struct st_api st_gl_api_es1 = { }; static const struct st_api st_gl_api_es2 = { + ST_API_OPENGL_ES2, + ST_PROFILE_OPENGL_ES2_MASK, st_api_destroy, st_api_get_proc_address, st_api_create_context_es2, -- cgit v1.2.3 From 5ea092117fb607a5776f52d251f976c5691575c8 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 10 Sep 2010 13:42:49 +0800 Subject: gallium: Remove ST_API_OPENGL_ES1 and ST_API_OPENGL_ES2. They are no longer used. --- src/gallium/include/state_tracker/st_api.h | 16 -------- src/gallium/targets/egl/egl.c | 2 + src/gallium/targets/egl/egl.h | 44 ++++++++++++++++++++ src/gallium/targets/egl/st_GL.c | 2 +- src/gallium/targets/egl/st_GLESv1_CM.c | 2 +- src/gallium/targets/egl/st_GLESv2.c | 2 +- src/gallium/targets/egl/st_OpenVG.c | 2 +- src/mesa/state_tracker/st_gl_api.h | 2 - src/mesa/state_tracker/st_manager.c | 64 ------------------------------ 9 files changed, 50 insertions(+), 86 deletions(-) create mode 100644 src/gallium/targets/egl/egl.h (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 9e87c8e0d40..8ea15545689 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -47,8 +47,6 @@ */ enum st_api_type { ST_API_OPENGL, - ST_API_OPENGL_ES1, - ST_API_OPENGL_ES2, ST_API_OPENVG, ST_API_COUNT @@ -460,18 +458,4 @@ st_visual_have_buffers(const struct st_visual *visual, unsigned mask) return ((visual->buffer_mask & mask) == mask); } -/* these symbols may need to be dynamically lookup up */ -extern PUBLIC struct st_api * st_api_create_OpenGL(void); -extern PUBLIC struct st_api * st_api_create_OpenGL_ES1(void); -extern PUBLIC struct st_api * st_api_create_OpenGL_ES2(void); -extern PUBLIC struct st_api * st_api_create_OpenVG(void); - -/** - * The entry points of the state trackers. - */ -#define ST_CREATE_OPENGL_SYMBOL "st_api_create_OpenGL" -#define ST_CREATE_OPENGL_ES1_SYMBOL "st_api_create_OpenGL_ES1" -#define ST_CREATE_OPENGL_ES2_SYMBOL "st_api_create_OpenGL_ES2" -#define ST_CREATE_OPENVG_SYMBOL "st_api_create_OpenVG" - #endif /* _ST_API_H_ */ diff --git a/src/gallium/targets/egl/egl.c b/src/gallium/targets/egl/egl.c index 7c6bb58aecf..fb5bfd4061c 100644 --- a/src/gallium/targets/egl/egl.c +++ b/src/gallium/targets/egl/egl.c @@ -37,6 +37,8 @@ #include "state_tracker/drm_driver.h" #include "common/egl_g3d_loader.h" +#include "egl.h" + struct egl_g3d_loader egl_g3d_loader; static struct st_module { diff --git a/src/gallium/targets/egl/egl.h b/src/gallium/targets/egl/egl.h new file mode 100644 index 00000000000..5fd06785407 --- /dev/null +++ b/src/gallium/targets/egl/egl.h @@ -0,0 +1,44 @@ +/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu + */ + +#ifndef _EGL_H_ +#define _EGL_H_ + +#include "pipe/p_compiler.h" +#include "state_tracker/st_api.h" + +#define ST_CREATE_OPENGL_SYMBOL "st_api_create_OpenGL" +#define ST_CREATE_OPENVG_SYMBOL "st_api_create_OpenVG" + +PUBLIC struct st_api * +st_api_create_OpenGL(void); + +PUBLIC struct st_api * +st_api_create_OpenVG(void); + +#endif /* _EGL_H_ */ diff --git a/src/gallium/targets/egl/st_GL.c b/src/gallium/targets/egl/st_GL.c index 69c8f7a83cf..c1df844aa43 100644 --- a/src/gallium/targets/egl/st_GL.c +++ b/src/gallium/targets/egl/st_GL.c @@ -1,5 +1,5 @@ #include "state_tracker/st_gl_api.h" -#include "state_tracker/st_api.h" +#include "egl.h" PUBLIC struct st_api * st_api_create_OpenGL(void) diff --git a/src/gallium/targets/egl/st_GLESv1_CM.c b/src/gallium/targets/egl/st_GLESv1_CM.c index 016bb4e9d08..c1df844aa43 100644 --- a/src/gallium/targets/egl/st_GLESv1_CM.c +++ b/src/gallium/targets/egl/st_GLESv1_CM.c @@ -1,5 +1,5 @@ -#include "state_tracker/st_api.h" #include "state_tracker/st_gl_api.h" +#include "egl.h" PUBLIC struct st_api * st_api_create_OpenGL(void) diff --git a/src/gallium/targets/egl/st_GLESv2.c b/src/gallium/targets/egl/st_GLESv2.c index 016bb4e9d08..c1df844aa43 100644 --- a/src/gallium/targets/egl/st_GLESv2.c +++ b/src/gallium/targets/egl/st_GLESv2.c @@ -1,5 +1,5 @@ -#include "state_tracker/st_api.h" #include "state_tracker/st_gl_api.h" +#include "egl.h" PUBLIC struct st_api * st_api_create_OpenGL(void) diff --git a/src/gallium/targets/egl/st_OpenVG.c b/src/gallium/targets/egl/st_OpenVG.c index e29a2374792..d0bf4dbae91 100644 --- a/src/gallium/targets/egl/st_OpenVG.c +++ b/src/gallium/targets/egl/st_OpenVG.c @@ -1,5 +1,5 @@ -#include "state_tracker/st_api.h" #include "vg_api.h" +#include "egl.h" PUBLIC struct st_api * st_api_create_OpenVG(void) diff --git a/src/mesa/state_tracker/st_gl_api.h b/src/mesa/state_tracker/st_gl_api.h index 57c6d9f24d2..55ad778c97d 100644 --- a/src/mesa/state_tracker/st_gl_api.h +++ b/src/mesa/state_tracker/st_gl_api.h @@ -3,7 +3,5 @@ #define ST_GL_API_H struct st_api *st_gl_api_create(void); -struct st_api *st_gl_api_create_es1(void); -struct st_api *st_gl_api_create_es2(void); #endif diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 8acd0938bb8..450b0453cf4 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -674,22 +674,6 @@ st_api_create_context(struct st_api *stapi, struct st_manager *smapi, return &st->iface; } -static struct st_context_iface * -st_api_create_context_es1(struct st_api *stapi, struct st_manager *smapi, - const struct st_context_attribs *attribs, - struct st_context_iface *shared_stctxi) -{ - return st_api_create_context(stapi, smapi, attribs, shared_stctxi); -} - -static struct st_context_iface * -st_api_create_context_es2(struct st_api *stapi, struct st_manager *smapi, - const struct st_context_attribs *attribs, - struct st_context_iface *shared_stctxi) -{ - return st_api_create_context(stapi, smapi, attribs, shared_stctxi); -} - static boolean st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi, struct st_framebuffer_iface *stdrawi, @@ -890,56 +874,8 @@ static const struct st_api st_gl_api = { st_api_get_current, }; -static const struct st_api st_gl_api_es1 = { - ST_API_OPENGL_ES1, - ST_PROFILE_OPENGL_ES1_MASK, - st_api_destroy, - st_api_get_proc_address, - st_api_create_context_es1, - st_api_make_current, - st_api_get_current, -}; - -static const struct st_api st_gl_api_es2 = { - ST_API_OPENGL_ES2, - ST_PROFILE_OPENGL_ES2_MASK, - st_api_destroy, - st_api_get_proc_address, - st_api_create_context_es2, - st_api_make_current, - st_api_get_current, -}; - struct st_api * st_gl_api_create(void) { - (void) st_gl_api; - (void) st_gl_api_es1; - (void) st_gl_api_es2; - -#if FEATURE_GL return (struct st_api *) &st_gl_api; -#else - return NULL; -#endif -} - -struct st_api * -st_gl_api_create_es1(void) -{ -#if FEATURE_ES1 - return (struct st_api *) &st_gl_api_es1; -#else - return NULL; -#endif -} - -struct st_api * -st_gl_api_create_es2(void) -{ -#if FEATURE_ES2 - return (struct st_api *) &st_gl_api_es2; -#else - return NULL; -#endif } -- cgit v1.2.3 From a508d2dddcc67d0f92cc36b9ed6f36a9bbfc579d Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Sun, 5 Sep 2010 20:50:50 +0200 Subject: gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3) Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested --- src/gallium/auxiliary/draw/draw_context.h | 13 +++ src/gallium/auxiliary/tgsi/tgsi_exec.h | 30 +++++++ src/gallium/auxiliary/util/u_caps.c | 27 +++--- src/gallium/auxiliary/util/u_caps.h | 4 + src/gallium/auxiliary/util/u_inlines.h | 1 - src/gallium/drivers/cell/ppu/cell_screen.c | 17 +++- src/gallium/drivers/failover/fo_context.c | 1 + src/gallium/drivers/galahad/glhd_context.c | 4 +- src/gallium/drivers/galahad/glhd_screen.c | 12 +++ src/gallium/drivers/i915/i915_screen.c | 44 ++++++++++ src/gallium/drivers/i965/brw_screen.c | 44 ++++++++++ src/gallium/drivers/identity/id_screen.c | 14 +++- src/gallium/drivers/llvmpipe/lp_screen.c | 50 ++++-------- src/gallium/drivers/nv50/nv50_screen.c | 64 +++++++++------ src/gallium/drivers/nvfx/nvfx_screen.c | 119 +++++++++++++++++---------- src/gallium/drivers/r300/r300_screen.c | 96 ++++++++++++++-------- src/gallium/drivers/r600/r600_screen.c | 93 +++++++++++---------- src/gallium/drivers/rbug/rbug_screen.c | 12 +++ src/gallium/drivers/softpipe/sp_screen.c | 55 ++++--------- src/gallium/drivers/svga/svga_screen.c | 127 +++++++++++++++++------------ src/gallium/drivers/trace/tr_screen.c | 25 ++++++ src/gallium/include/pipe/p_compiler.h | 1 + src/gallium/include/pipe/p_defines.h | 46 ++++------- src/gallium/include/pipe/p_screen.h | 6 ++ src/mesa/state_tracker/st_extensions.c | 52 ++++++------ 25 files changed, 612 insertions(+), 345 deletions(-) (limited to 'src/gallium/include') diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index 4c780e4dcb4..4f0d30123a4 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -39,6 +39,7 @@ #include "pipe/p_state.h" +#include "tgsi/tgsi_exec.h" struct pipe_context; struct draw_context; @@ -225,4 +226,16 @@ boolean draw_need_pipeline(const struct draw_context *draw, const struct pipe_rasterizer_state *rasterizer, unsigned prim ); +static INLINE int +draw_get_shader_param(unsigned shader, enum pipe_cap param) +{ + switch(shader) { + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_GEOMETRY: + return tgsi_exec_get_shader_param(param); + default: + return 0; + } +} + #endif /* DRAW_CONTEXT_H */ diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 6dee362d589..9d62c1d7e7e 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -377,6 +377,36 @@ tgsi_exec_set_constant_buffers(struct tgsi_exec_machine *mach, const unsigned *buf_sizes); +static INLINE int +tgsi_exec_get_shader_param(enum pipe_shader_cap param) +{ + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return INT_MAX; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return TGSI_EXEC_MAX_NESTING; + case PIPE_SHADER_CAP_MAX_INPUTS: + return TGSI_EXEC_MAX_INPUT_ATTRIBS; + case PIPE_SHADER_CAP_MAX_CONSTS: + return TGSI_EXEC_MAX_CONST_BUFFER; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return PIPE_MAX_CONSTANT_BUFFERS; + case PIPE_SHADER_CAP_MAX_TEMPS: + return TGSI_EXEC_NUM_TEMPS; + case PIPE_SHADER_CAP_MAX_ADDRS: + return TGSI_EXEC_NUM_ADDRS; + case PIPE_SHADER_CAP_MAX_PREDS: + return TGSI_EXEC_NUM_PREDS; + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + default: + return 0; + } +} + #if defined __cplusplus } /* extern "C" */ #endif diff --git a/src/gallium/auxiliary/util/u_caps.c b/src/gallium/auxiliary/util/u_caps.c index 94d5bd30278..f6a87869c76 100644 --- a/src/gallium/auxiliary/util/u_caps.c +++ b/src/gallium/auxiliary/util/u_caps.c @@ -75,6 +75,13 @@ util_check_caps_out(struct pipe_screen *screen, const unsigned *list, int *out) return FALSE; } break; + case UTIL_CAPS_CHECK_SHADER: + tmpi = screen->get_shader_param(screen, list[i] >> 24, list[i] & ((1 << 24) - 1)); + ++i; + if (tmpi < (int)list[i++]) { + *out = i - 3; + return FALSE; + } case UTIL_CAPS_CHECK_UNIMPLEMENTED: *out = i - 1; return FALSE; @@ -188,17 +195,17 @@ static unsigned caps_opengl_2_1[] = { /* Shader Model 3 */ static unsigned caps_sm3[] = { - UTIL_CHECK_INT(MAX_FS_INSTRUCTIONS, 512), - UTIL_CHECK_INT(MAX_FS_INPUTS, 10), - UTIL_CHECK_INT(MAX_FS_TEMPS, 32), - UTIL_CHECK_INT(MAX_FS_ADDRS, 1), - UTIL_CHECK_INT(MAX_FS_CONSTS, 224), + UTIL_CHECK_SHADER(FRAGMENT, MAX_INSTRUCTIONS, 512), + UTIL_CHECK_SHADER(FRAGMENT, MAX_INPUTS, 10), + UTIL_CHECK_SHADER(FRAGMENT, MAX_TEMPS, 32), + UTIL_CHECK_SHADER(FRAGMENT, MAX_ADDRS, 1), + UTIL_CHECK_SHADER(FRAGMENT, MAX_CONSTS, 224), - UTIL_CHECK_INT(MAX_VS_INSTRUCTIONS, 512), - UTIL_CHECK_INT(MAX_VS_INPUTS, 16), - UTIL_CHECK_INT(MAX_VS_TEMPS, 32), - UTIL_CHECK_INT(MAX_VS_ADDRS, 2), - UTIL_CHECK_INT(MAX_VS_CONSTS, 256), + UTIL_CHECK_SHADER(VERTEX, MAX_INSTRUCTIONS, 512), + UTIL_CHECK_SHADER(VERTEX, MAX_INPUTS, 16), + UTIL_CHECK_SHADER(VERTEX, MAX_TEMPS, 32), + UTIL_CHECK_SHADER(VERTEX, MAX_ADDRS, 2), + UTIL_CHECK_SHADER(VERTEX, MAX_CONSTS, 256), UTIL_CHECK_TERMINATE }; diff --git a/src/gallium/auxiliary/util/u_caps.h b/src/gallium/auxiliary/util/u_caps.h index b1074f9eb21..7bd23800414 100644 --- a/src/gallium/auxiliary/util/u_caps.h +++ b/src/gallium/auxiliary/util/u_caps.h @@ -38,6 +38,7 @@ enum u_caps_check_enum { UTIL_CAPS_CHECK_INT, UTIL_CAPS_CHECK_FLOAT, UTIL_CAPS_CHECK_FORMAT, + UTIL_CAPS_CHECK_SHADER, UTIL_CAPS_CHECK_UNIMPLEMENTED, }; @@ -54,6 +55,9 @@ enum u_caps_check_enum { #define UTIL_CHECK_FORMAT(format) \ UTIL_CAPS_CHECK_FORMAT, PIPE_FORMAT_##format +#define UTIL_CHECK_SHADER(shader, cap, higher) \ + UTIL_CAPS_CHECK_SHADER, (PIPE_SHADER_##shader << 24) | PIPE_SHADER_CAP_##cap, (unsigned)(higher) + #define UTIL_CHECK_UNIMPLEMENTED \ UTIL_CAPS_CHECK_UNIMPLEMENTED diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index 78473bf35ac..6ed39561fbe 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -399,7 +399,6 @@ static INLINE boolean util_get_offset( } } - #ifdef __cplusplus } #endif diff --git a/src/gallium/drivers/cell/ppu/cell_screen.c b/src/gallium/drivers/cell/ppu/cell_screen.c index 0f12e0667eb..8d2b4b96438 100644 --- a/src/gallium/drivers/cell/ppu/cell_screen.c +++ b/src/gallium/drivers/cell/ppu/cell_screen.c @@ -90,8 +90,6 @@ cell_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; /* XXX not really true */ case PIPE_CAP_TEXTURE_MIRROR_CLAMP: return 0; /* XXX to do */ - case PIPE_CAP_TGSI_CONT_SUPPORTED: - return 1; case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: return 1; @@ -105,6 +103,20 @@ cell_get_param(struct pipe_screen *screen, enum pipe_cap param) } } +static int +cell_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) + { + case PIPE_SHADER_FRAGMENT: + return tgsi_exec_get_shader_param(param); + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_GEOMETRY: + return draw_get_shader_param(shader, param); + default: + return 0; + } +} static float cell_get_paramf(struct pipe_screen *screen, enum pipe_cap param) @@ -200,6 +212,7 @@ cell_create_screen(struct sw_winsys *winsys) screen->base.get_name = cell_get_name; screen->base.get_vendor = cell_get_vendor; screen->base.get_param = cell_get_param; + screen->base.get_shader_param = cell_get_shader_param; screen->base.get_paramf = cell_get_paramf; screen->base.is_format_supported = cell_is_format_supported; screen->base.context_create = cell_create_context; diff --git a/src/gallium/drivers/failover/fo_context.c b/src/gallium/drivers/failover/fo_context.c index 761a0fce721..ec3609291e9 100644 --- a/src/gallium/drivers/failover/fo_context.c +++ b/src/gallium/drivers/failover/fo_context.c @@ -116,6 +116,7 @@ struct pipe_context *failover_create( struct pipe_context *hw, failover->pipe.get_name = hw->get_name; failover->pipe.get_vendor = hw->get_vendor; failover->pipe.get_param = hw->get_param; + failover->pipe.get_shader_param = hw->get_shader_param; failover->pipe.get_paramf = hw->get_paramf; #endif diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c index 5b56a4d0edb..ff6d2aa00ab 100644 --- a/src/gallium/drivers/galahad/glhd_context.c +++ b/src/gallium/drivers/galahad/glhd_context.c @@ -469,11 +469,11 @@ galahad_set_constant_buffer(struct pipe_context *_pipe, if (index && index >= - pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_CONST_BUFFERS)) { + pipe->screen->get_shader_param(pipe->screen, shader, PIPE_SHADER_CAP_MAX_CONST_BUFFERS)) { glhd_error("Access to constant buffer %u requested, " "but only %d are supported", index, - pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_CONST_BUFFERS)); + pipe->screen->get_shader_param(pipe->screen, shader, PIPE_SHADER_CAP_MAX_CONST_BUFFERS)); } /* XXX hmm? unwrap the input state */ diff --git a/src/gallium/drivers/galahad/glhd_screen.c b/src/gallium/drivers/galahad/glhd_screen.c index 75e4c2d82e9..288941b1066 100644 --- a/src/gallium/drivers/galahad/glhd_screen.c +++ b/src/gallium/drivers/galahad/glhd_screen.c @@ -79,6 +79,17 @@ galahad_screen_get_param(struct pipe_screen *_screen, param); } +static int +galahad_screen_get_shader_param(struct pipe_screen *_screen, + unsigned shader, enum pipe_shader_cap param) +{ + struct galahad_screen *glhd_screen = galahad_screen(_screen); + struct pipe_screen *screen = glhd_screen->screen; + + return screen->get_shader_param(screen, shader, + param); +} + static float galahad_screen_get_paramf(struct pipe_screen *_screen, enum pipe_cap param) @@ -341,6 +352,7 @@ galahad_screen_create(struct pipe_screen *screen) glhd_screen->base.get_name = galahad_screen_get_name; glhd_screen->base.get_vendor = galahad_screen_get_vendor; glhd_screen->base.get_param = galahad_screen_get_param; + glhd_screen->base.get_shader_param = galahad_screen_get_shader_param; glhd_screen->base.get_paramf = galahad_screen_get_paramf; glhd_screen->base.is_format_supported = galahad_screen_is_format_supported; glhd_screen->base.context_create = galahad_screen_context_create; diff --git a/src/gallium/drivers/i915/i915_screen.c b/src/gallium/drivers/i915/i915_screen.c index 77345d5f711..34bd81f9bd6 100644 --- a/src/gallium/drivers/i915/i915_screen.c +++ b/src/gallium/drivers/i915/i915_screen.c @@ -139,6 +139,49 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap param) } } +static int +i915_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) { + case PIPE_SHADER_VERTEX: + return draw_get_shader_param(shader, param); + case PIPE_SHADER_FRAGMENT: + break; + default: + return 0; + } + + /* XXX: these are just shader model 2.0 values, fix this! */ + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + return 96; + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + return 64; + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + return 32; + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return 8; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return 0; + case PIPE_SHADER_CAP_MAX_INPUTS: + return 10; + case PIPE_SHADER_CAP_MAX_CONSTS: + return 32; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: + return 12; /* XXX: 12 -> 32 ? */ + case PIPE_SHADER_CAP_MAX_ADDRS: + return 0; + case PIPE_SHADER_CAP_MAX_PREDS: + return 0; + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 0; + default: + break; + } +} + static float i915_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { @@ -320,6 +363,7 @@ i915_screen_create(struct i915_winsys *iws) is->base.get_name = i915_get_name; is->base.get_vendor = i915_get_vendor; is->base.get_param = i915_get_param; + is->base.get_shader_param = i915_get_shader_param; is->base.get_paramf = i915_get_paramf; is->base.is_format_supported = i915_is_format_supported; diff --git a/src/gallium/drivers/i965/brw_screen.c b/src/gallium/drivers/i965/brw_screen.c index bdfead73cc8..23599806197 100644 --- a/src/gallium/drivers/i965/brw_screen.c +++ b/src/gallium/drivers/i965/brw_screen.c @@ -197,6 +197,49 @@ brw_get_param(struct pipe_screen *screen, enum pipe_cap param) } } +static int +brw_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) { + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_FRAGMENT: + case PIPE_SHADER_GEOMETRY: + break; + default: + return 0; + } + + /* XXX: these are just shader model 4.0 values, fix this! */ + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + return 65536; + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + return 65536; + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + return 65536; + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return 65536; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return 65536; + case PIPE_SHADER_CAP_MAX_INPUTS: + return 32; + case PIPE_SHADER_CAP_MAX_CONSTS: + return 4096; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return PIPE_MAX_CONSTANT_BUFFERS; + case PIPE_SHADER_CAP_MAX_TEMPS: + return 4096; + case PIPE_SHADER_CAP_MAX_ADDRS: + return 0; + case PIPE_SHADER_CAP_MAX_PREDS: + return 0; + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + default: + break; + } +} + static float brw_get_paramf(struct pipe_screen *screen, enum pipe_cap param) { @@ -410,6 +453,7 @@ brw_screen_create(struct brw_winsys_screen *sws) bscreen->base.get_name = brw_get_name; bscreen->base.get_vendor = brw_get_vendor; bscreen->base.get_param = brw_get_param; + bscreen->base.get_shader_param = brw_get_shader_param; bscreen->base.get_paramf = brw_get_paramf; bscreen->base.is_format_supported = brw_is_format_supported; bscreen->base.context_create = brw_create_context; diff --git a/src/gallium/drivers/identity/id_screen.c b/src/gallium/drivers/identity/id_screen.c index f71585e06f8..c46d7457fcd 100644 --- a/src/gallium/drivers/identity/id_screen.c +++ b/src/gallium/drivers/identity/id_screen.c @@ -67,7 +67,7 @@ identity_screen_get_vendor(struct pipe_screen *_screen) static int identity_screen_get_param(struct pipe_screen *_screen, - enum pipe_cap param) + unsigned shader, enum pipe_cap param) { struct identity_screen *id_screen = identity_screen(_screen); struct pipe_screen *screen = id_screen->screen; @@ -76,6 +76,17 @@ identity_screen_get_param(struct pipe_screen *_screen, param); } +static int +identity_screen_get_shader_param(struct pipe_screen *_screen, + unsigned shader, enum pipe_shader_cap param) +{ + struct identity_screen *id_screen = identity_screen(_screen); + struct pipe_screen *screen = id_screen->screen; + + return screen->get_shader_param(screen, shader, + param); +} + static float identity_screen_get_paramf(struct pipe_screen *_screen, enum pipe_cap param) @@ -304,6 +315,7 @@ identity_screen_create(struct pipe_screen *screen) id_screen->base.get_name = identity_screen_get_name; id_screen->base.get_vendor = identity_screen_get_vendor; id_screen->base.get_param = identity_screen_get_param; + id_screen->base.get_shader_param = identity_screen_get_shader_param; id_screen->base.get_paramf = identity_screen_get_paramf; id_screen->base.is_format_supported = identity_screen_is_format_supported; id_screen->base.context_create = identity_screen_context_create; diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 363940d3a73..364a299871a 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -33,6 +33,7 @@ #include "util/u_format_s3tc.h" #include "pipe/p_defines.h" #include "pipe/p_screen.h" +#include "draw/draw_context.h" #include "gallivm/lp_bld_limits.h" #include "lp_texture.h" @@ -132,8 +133,6 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return LP_MAX_TEXTURE_3D_LEVELS; case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: return LP_MAX_TEXTURE_2D_LEVELS; - case PIPE_CAP_TGSI_CONT_SUPPORTED: - return 1; case PIPE_CAP_BLEND_EQUATION_SEPARATE: return 1; case PIPE_CAP_INDEP_BLEND_ENABLE: @@ -146,47 +145,29 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: return 0; - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: - /* There is no limit in number of instructions beyond available memory */ - return 32768; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: - return LP_MAX_TGSI_NESTING; - case PIPE_CAP_MAX_VS_INPUTS: - case PIPE_CAP_MAX_FS_INPUTS: - return PIPE_MAX_ATTRIBS; - case PIPE_CAP_MAX_FS_CONSTS: - case PIPE_CAP_MAX_VS_CONSTS: - /* There is no limit in number of constants beyond available memory */ - return 32768; - case PIPE_CAP_MAX_VS_TEMPS: - case PIPE_CAP_MAX_FS_TEMPS: - return LP_MAX_TGSI_TEMPS; - case PIPE_CAP_MAX_VS_ADDRS: - case PIPE_CAP_MAX_FS_ADDRS: - return LP_MAX_TGSI_ADDRS; - case PIPE_CAP_MAX_VS_PREDS: - case PIPE_CAP_MAX_FS_PREDS: - return LP_MAX_TGSI_PREDS; case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: return 1; - case PIPE_CAP_GEOMETRY_SHADER4: - return 1; case PIPE_CAP_DEPTH_CLAMP: return 0; default: - assert(0); return 0; } } +static int +llvmpipe_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) + { + case PIPE_SHADER_FRAGMENT: + return tgsi_exec_get_shader_param(param); + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_GEOMETRY: + return draw_get_shader_param(shader, param); + default: + return 0; + } +} static float llvmpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) @@ -402,6 +383,7 @@ llvmpipe_create_screen(struct sw_winsys *winsys) screen->base.get_name = llvmpipe_get_name; screen->base.get_vendor = llvmpipe_get_vendor; screen->base.get_param = llvmpipe_get_param; + screen->base.get_shader_param = llvmpipe_get_shader_param; screen->base.get_paramf = llvmpipe_get_paramf; screen->base.is_format_supported = llvmpipe_is_format_supported; diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index ca4b01b12b3..f37dd079acb 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -142,8 +142,6 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_MIRROR_REPEAT: return 1; - case PIPE_CAP_TGSI_CONT_SUPPORTED: - return 1; case PIPE_CAP_BLEND_EQUATION_SEPARATE: return 1; case PIPE_CAP_INDEP_BLEND_ENABLE: @@ -158,38 +156,51 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 0; - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: /* arbitrary limit */ + case PIPE_CAP_DEPTH_CLAMP: + return 1; + default: + NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param); + return 0; + } +} + +static int +nv50_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) + { + case PIPE_SHADER_FRAGMENT: + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_GEOMETRY: + break; + default: + return 0; + } + + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: /* arbitrary limit */ return 16384; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: /* need stack bo */ + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: /* need stack bo */ return 4; - case PIPE_CAP_MAX_VS_INPUTS: - return 16; - case PIPE_CAP_MAX_FS_INPUTS: /* 128 / 4 with GP */ - return 64 / 4; - case PIPE_CAP_MAX_VS_CONSTS: - case PIPE_CAP_MAX_FS_CONSTS: + case PIPE_SHADER_CAP_MAX_INPUTS: /* 128 / 4 with GP */ + if(shader == PIPE_SHADER_GEOMETRY) + return 128 / 4; + else + return 64 / 4; + case PIPE_SHADER_CAP_MAX_CONSTS: return 65536 / 16; - case PIPE_CAP_MAX_VS_ADDRS: - case PIPE_CAP_MAX_FS_ADDRS: /* no spilling atm */ + case PIPE_SHADER_CAP_MAX_ADDRS: /* no spilling atm */ return 1; - case PIPE_CAP_MAX_VS_PREDS: - case PIPE_CAP_MAX_FS_PREDS: /* not yet handled */ + case PIPE_SHADER_CAP_MAX_PREDS: /* not yet handled */ return 0; - case PIPE_CAP_MAX_VS_TEMPS: - case PIPE_CAP_MAX_FS_TEMPS: /* no spilling atm */ + case PIPE_SHADER_CAP_MAX_TEMPS: /* no spilling atm */ return 128 / 4; - case PIPE_CAP_DEPTH_CLAMP: + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: return 1; default: - NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param); return 0; } } @@ -315,6 +326,7 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) pscreen->winsys = ws; pscreen->destroy = nv50_screen_destroy; pscreen->get_param = nv50_screen_get_param; + pscreen->get_shader_param = nv50_screen_get_shader_param; pscreen->get_paramf = nv50_screen_get_paramf; pscreen->is_format_supported = nv50_screen_is_format_supported; pscreen->context_create = nv50_create; diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index 0290370d989..3f177b7ed07 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -58,8 +58,6 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS: return 0; /* We have 4 on nv40 - but unsupported currently */ - case PIPE_CAP_TGSI_CONT_SUPPORTED: - return 0; case PIPE_CAP_BLEND_EQUATION_SEPARATE: return screen->advertise_blend_equation_separate; case PIPE_CAP_MAX_COMBINED_SAMPLERS: @@ -77,49 +75,6 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 1; - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: - return 4096; - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: - /* FIXME: is it the dynamic (nv30:0/nv40:24) or the static - value (nv30:0/nv40:4) ? */ - return screen->use_nv4x ? 4 : 0; - case PIPE_CAP_MAX_FS_INPUTS: - return screen->use_nv4x ? 12 : 10; - case PIPE_CAP_MAX_FS_CONSTS: - return screen->use_nv4x ? 224 : 32; - case PIPE_CAP_MAX_FS_TEMPS: - return 32; - case PIPE_CAP_MAX_FS_ADDRS: - return screen->use_nv4x ? 1 : 0; - case PIPE_CAP_MAX_FS_PREDS: - return 0; /* we could expose these, but nothing uses them */ - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - return screen->use_nv4x ? 512 : 256; - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - return screen->use_nv4x ? 512 : 0; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - /* FIXME: is it the dynamic (nv30:24/nv40:24) or the static - value (nv30:1/nv40:4) ? */ - return screen->use_nv4x ? 4 : 1; - case PIPE_CAP_MAX_VS_INPUTS: - return 16; - case PIPE_CAP_MAX_VS_CONSTS: - /* - 6 is for clip planes; Gallium should be fixed to put - * them in the vertex shader itself, so we don't need to reserve these */ - return (screen->use_nv4x ? 468 : 256) - 6; - case PIPE_CAP_MAX_VS_TEMPS: - return screen->use_nv4x ? 32 : 13; - case PIPE_CAP_MAX_VS_ADDRS: - return 2; - case PIPE_CAP_MAX_VS_PREDS: - return 0; /* we could expose these, but nothing uses them */ - case PIPE_CAP_GEOMETRY_SHADER4: - return 0; case PIPE_CAP_DEPTH_CLAMP: return 0; // TODO: implement depth clamp default: @@ -128,6 +83,79 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) } } +static int +nvfx_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum pipe_shader_cap param) +{ + struct nvfx_screen *screen = nvfx_screen(pscreen); + + switch(shader) { + case PIPE_SHADER_FRAGMENT: + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return 4096; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + /* FIXME: is it the dynamic (nv30:0/nv40:24) or the static + value (nv30:0/nv40:4) ? */ + return screen->use_nv4x ? 4 : 0; + case PIPE_SHADER_CAP_MAX_INPUTS: + return screen->use_nv4x ? 12 : 10; + case PIPE_SHADER_CAP_MAX_CONSTS: + return screen->use_nv4x ? 224 : 32; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: + return 32; + case PIPE_SHADER_CAP_MAX_ADDRS: + return screen->use_nv4x ? 1 : 0; + case PIPE_SHADER_CAP_MAX_PREDS: + return 0; /* we could expose these, but nothing uses them */ + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 0; + default: + break; + } + break; + case PIPE_SHADER_VERTEX: + switch(param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + return screen->use_nv4x ? 512 : 256; + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return screen->use_nv4x ? 512 : 0; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + /* FIXME: is it the dynamic (nv30:24/nv40:24) or the static + value (nv30:1/nv40:4) ? */ + return screen->use_nv4x ? 4 : 1; + case PIPE_SHADER_CAP_MAX_INPUTS: + return 16; + case PIPE_SHADER_CAP_MAX_CONSTS: + /* - 6 is for clip planes; Gallium should be fixed to put + * them in the vertex shader itself, so we don't need to reserve these */ + return (screen->use_nv4x ? 468 : 256) - 6; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: + return screen->use_nv4x ? 32 : 13; + case PIPE_SHADER_CAP_MAX_ADDRS: + return 2; + case PIPE_SHADER_CAP_MAX_PREDS: + return 0; /* we could expose these, but nothing uses them */ + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + default: + break; + } + break; + default: + break; + } + return 0; +} + static float nvfx_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_cap param) { @@ -400,6 +428,7 @@ nvfx_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) pscreen->winsys = ws; pscreen->destroy = nvfx_screen_destroy; pscreen->get_param = nvfx_screen_get_param; + pscreen->get_shader_param = nvfx_screen_get_shader_param; pscreen->get_paramf = nvfx_screen_get_paramf; pscreen->is_format_supported = nvfx_screen_is_format_supported; pscreen->context_create = nvfx_create; diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 1e4edcdbc31..7f41ff0e2ec 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -120,7 +120,6 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Unsupported features (boolean caps). */ case PIPE_CAP_TIMER_QUERY: case PIPE_CAP_DUAL_SOURCE_BLEND: - case PIPE_CAP_TGSI_CONT_SUPPORTED: case PIPE_CAP_INDEP_BLEND_ENABLE: case PIPE_CAP_INDEP_BLEND_FUNC: case PIPE_CAP_DEPTH_CLAMP: /* XXX implemented, but breaks Regnum Online */ @@ -146,11 +145,6 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* General shader limits and features. */ case PIPE_CAP_SM3: return is_r500 ? 1 : 0; - case PIPE_CAP_MAX_CONST_BUFFERS: - return 1; - case PIPE_CAP_MAX_CONST_BUFFER_SIZE: - return 256; - /* Fragment coordinate conventions. */ case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER: @@ -158,19 +152,39 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 0; + default: + fprintf(stderr, "r300: Implementation error: Bad param %d\n", + param); + return 0; + } +} - /* Fragment shader limits. */ - case PIPE_CAP_MAX_FS_INSTRUCTIONS: +static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, enum pipe_shader_cap param) +{ + struct r300_screen* r300screen = r300_screen(pscreen); + boolean is_r400 = r300screen->caps.is_r400; + boolean is_r500 = r300screen->caps.is_r500; + + /* XXX extended shader capabilities of r400 unimplemented */ + is_r400 = FALSE; + + switch (shader) + { + case PIPE_SHADER_FRAGMENT: + switch (param) + { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: return is_r500 || is_r400 ? 512 : 96; - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: return is_r500 || is_r400 ? 512 : 64; - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: return is_r500 || is_r400 ? 512 : 32; - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: return is_r500 ? 511 : 4; - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: return is_r500 ? 64 : 0; /* Actually unlimited on r500. */ - case PIPE_CAP_MAX_FS_INPUTS: + /* Fragment shader limits. */ + case PIPE_SHADER_CAP_MAX_INPUTS: /* 2 colors + 8 texcoords are always supported * (minus fog and wpos). * @@ -178,42 +192,53 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) * additional texcoords but there is no two-sided color * selection then. However the facing bit can be used instead. */ return 10; - case PIPE_CAP_MAX_FS_CONSTS: + case PIPE_SHADER_CAP_MAX_CONSTS: return is_r500 ? 256 : 32; - case PIPE_CAP_MAX_FS_TEMPS: + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: return is_r500 ? 128 : is_r400 ? 64 : 32; - case PIPE_CAP_MAX_FS_ADDRS: + case PIPE_SHADER_CAP_MAX_ADDRS: return 0; - case PIPE_CAP_MAX_FS_PREDS: + case PIPE_SHADER_CAP_MAX_PREDS: return is_r500 ? 1 : 0; - - /* Vertex shader limits. */ - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + } + break; + case PIPE_SHADER_VERTEX: + switch (param) + { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: return is_r500 ? 1024 : 256; - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: return 0; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: return is_r500 ? 4 : 0; /* For loops; not sure about conditionals. */ - case PIPE_CAP_MAX_VS_INPUTS: + case PIPE_SHADER_CAP_MAX_INPUTS: return 16; - case PIPE_CAP_MAX_VS_CONSTS: + case PIPE_SHADER_CAP_MAX_CONSTS: return 256; - case PIPE_CAP_MAX_VS_TEMPS: + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: return 32; - case PIPE_CAP_MAX_VS_ADDRS: + case PIPE_SHADER_CAP_MAX_ADDRS: return 1; /* XXX guessed */ - case PIPE_CAP_MAX_VS_PREDS: + case PIPE_SHADER_CAP_MAX_PREDS: return is_r500 ? 4 : 0; /* XXX guessed. */ - case PIPE_CAP_GEOMETRY_SHADER4: - return 0; - + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; default: - fprintf(stderr, "r300: Implementation error: Bad param %d\n", - param); - return 0; + break; + } + break; + default: + break; } + return 0; } static float r300_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) @@ -410,6 +435,7 @@ struct pipe_screen* r300_screen_create(struct r300_winsys_screen *rws) r300screen->screen.get_name = r300_get_name; r300screen->screen.get_vendor = r300_get_vendor; r300screen->screen.get_param = r300_get_param; + r300screen->screen.get_shader_param = r300_get_shader_param; r300screen->screen.get_paramf = r300_get_paramf; r300screen->screen.is_format_supported = r300_is_format_supported; r300screen->screen.context_create = r300_create_context; diff --git a/src/gallium/drivers/r600/r600_screen.c b/src/gallium/drivers/r600/r600_screen.c index bb215a33670..19d1005e771 100644 --- a/src/gallium/drivers/r600/r600_screen.c +++ b/src/gallium/drivers/r600/r600_screen.c @@ -76,10 +76,8 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Unsupported features (boolean caps). */ case PIPE_CAP_TIMER_QUERY: - case PIPE_CAP_TGSI_CONT_SUPPORTED: case PIPE_CAP_STREAM_OUTPUT: case PIPE_CAP_INDEP_BLEND_FUNC: /* FIXME allow this */ - case PIPE_CAP_GEOMETRY_SHADER4: return 0; /* Texturing. */ @@ -106,55 +104,59 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 0; - - /* Shader limits. */ - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - return 16384; //max native instructions, not greater than max instructions - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - return 16384; - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - return 16384; //max program native instructions - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - return 16384; //max program native ALU instructions - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - return 16384; //max program native texture instructions - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: - return 2048; //max program native texture indirections - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: - return 8; /* FIXME */ - case PIPE_CAP_MAX_VS_INPUTS: - return 16; //max native attributes - case PIPE_CAP_MAX_FS_INPUTS: - return 10; //max native attributes - case PIPE_CAP_MAX_VS_TEMPS: - return 256; //max native temporaries - case PIPE_CAP_MAX_FS_TEMPS: - return 256; //max native temporaries - case PIPE_CAP_MAX_VS_ADDRS: - case PIPE_CAP_MAX_FS_ADDRS: - return 1; //max native address registers/* FIXME Isn't this equal to TEMPS? */ - case PIPE_CAP_MAX_VS_CONSTS: - return 256; //max native parameters - case PIPE_CAP_MAX_FS_CONSTS: - return 256; //max program native parameters - case PIPE_CAP_MAX_CONST_BUFFERS: - return 1; - case PIPE_CAP_MAX_CONST_BUFFER_SIZE: /* in bytes */ - return 4096; - case PIPE_CAP_MAX_PREDICATE_REGISTERS: - case PIPE_CAP_MAX_VS_PREDS: - case PIPE_CAP_MAX_FS_PREDS: - return 0; /* FIXME */ - default: R600_ERR("r600: unknown param %d\n", param); return 0; } } +static int r600_get_shader_param(struct pipe_screen* pscreen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) + { + case PIPE_SHADER_FRAGMENT: + case PIPE_SHADER_VERTEX: + break; + case PIPE_SHADER_GEOMETRY: + /* TODO: support and enable geometry programs */ + return 0; + default: + /* TODO: support tessellation on Evergreen */ + return 0; + } + + /* TODO: all these should be fixed, since r600 surely supports much more! */ + switch (param) { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return 16384; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return 8; /* FIXME */ + case PIPE_SHADER_CAP_MAX_INPUTS: + if(shader == PIPE_SHADER_FRAGMENT) + return 10; + else + return 16; + case PIPE_SHADER_CAP_MAX_TEMPS: + return 256; //max native temporaries + case PIPE_SHADER_CAP_MAX_ADDRS: + return 1; //max native address registers/* FIXME Isn't this equal to TEMPS? */ + case PIPE_SHADER_CAP_MAX_CONSTS: + return 256; //max native parameters + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_PREDS: + return 0; /* FIXME */ + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + /* TODO: support this! */ + return 0; + default: + return 0; + } +} + static float r600_get_paramf(struct pipe_screen* pscreen, enum pipe_cap param) { switch (param) { @@ -281,6 +283,7 @@ struct pipe_screen *r600_screen_create(struct radeon *rw) rscreen->screen.get_name = r600_get_name; rscreen->screen.get_vendor = r600_get_vendor; rscreen->screen.get_param = r600_get_param; + rscreen->screen.get_shader_param = r600_get_shader_param; rscreen->screen.get_paramf = r600_get_paramf; rscreen->screen.is_format_supported = r600_is_format_supported; rscreen->screen.context_create = r600_create_context; diff --git a/src/gallium/drivers/rbug/rbug_screen.c b/src/gallium/drivers/rbug/rbug_screen.c index b9f32ee6a9b..42555ab3310 100644 --- a/src/gallium/drivers/rbug/rbug_screen.c +++ b/src/gallium/drivers/rbug/rbug_screen.c @@ -79,6 +79,17 @@ rbug_screen_get_param(struct pipe_screen *_screen, param); } +static int +rbug_screen_get_shader_param(struct pipe_screen *_screen, + unsigned shader, enum pipe_cap param) +{ + struct rbug_screen *rb_screen = rbug_screen(_screen); + struct pipe_screen *screen = rb_screen->screen; + + return screen->get_shader_param(screen, shader, + param); +} + static float rbug_screen_get_paramf(struct pipe_screen *_screen, enum pipe_cap param) @@ -317,6 +328,7 @@ rbug_screen_create(struct pipe_screen *screen) rb_screen->base.get_name = rbug_screen_get_name; rb_screen->base.get_vendor = rbug_screen_get_vendor; rb_screen->base.get_param = rbug_screen_get_param; + rb_screen->base.get_shader_param = rbug_screen_get_shader_param; rb_screen->base.get_paramf = rbug_screen_get_paramf; rb_screen->base.is_format_supported = rbug_screen_is_format_supported; rb_screen->base.context_create = rbug_screen_context_create; diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index 73ae2dea561..2053d02f628 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -31,6 +31,7 @@ #include "util/u_format_s3tc.h" #include "pipe/p_defines.h" #include "pipe/p_screen.h" +#include "draw/draw_context.h" #include "state_tracker/sw_winsys.h" #include "tgsi/tgsi_exec.h" @@ -98,14 +99,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return SP_MAX_TEXTURE_3D_LEVELS; case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: return SP_MAX_TEXTURE_2D_LEVELS; - case PIPE_CAP_TGSI_CONT_SUPPORTED: - return 1; case PIPE_CAP_BLEND_EQUATION_SEPARATE: return 1; - case PIPE_CAP_MAX_CONST_BUFFERS: - return PIPE_MAX_CONSTANT_BUFFERS; - case PIPE_CAP_MAX_CONST_BUFFER_SIZE: - return 4096 * 4 * sizeof(float); case PIPE_CAP_INDEP_BLEND_ENABLE: return 1; case PIPE_CAP_INDEP_BLEND_FUNC: @@ -117,46 +112,27 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_STREAM_OUTPUT: return 1; - - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: - /* There is no limit in number of instructions beyond available memory */ - return 32768; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: - return TGSI_EXEC_MAX_NESTING; - case PIPE_CAP_MAX_VS_INPUTS: - case PIPE_CAP_MAX_FS_INPUTS: - return TGSI_EXEC_MAX_INPUT_ATTRIBS; - case PIPE_CAP_MAX_FS_CONSTS: - case PIPE_CAP_MAX_VS_CONSTS: - return TGSI_EXEC_MAX_CONST_BUFFER; - case PIPE_CAP_MAX_VS_TEMPS: - case PIPE_CAP_MAX_FS_TEMPS: - return TGSI_EXEC_NUM_TEMPS; - case PIPE_CAP_MAX_VS_ADDRS: - case PIPE_CAP_MAX_FS_ADDRS: - return TGSI_EXEC_NUM_ADDRS; - case PIPE_CAP_MAX_VS_PREDS: - case PIPE_CAP_MAX_FS_PREDS: - return TGSI_EXEC_NUM_PREDS; - case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: return 0; - - case PIPE_CAP_GEOMETRY_SHADER4: - return 1; default: return 0; } } +static int +softpipe_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + switch(shader) + { + case PIPE_SHADER_FRAGMENT: + return tgsi_exec_get_shader_param(param); + case PIPE_SHADER_VERTEX: + case PIPE_SHADER_GEOMETRY: + return draw_get_shader_param(shader, param); + default: + return 0; + } +} static float softpipe_get_paramf(struct pipe_screen *screen, enum pipe_cap param) @@ -320,6 +296,7 @@ softpipe_create_screen(struct sw_winsys *winsys) screen->base.get_name = softpipe_get_name; screen->base.get_vendor = softpipe_get_vendor; screen->base.get_param = softpipe_get_param; + screen->base.get_shader_param = softpipe_get_shader_param; screen->base.get_paramf = softpipe_get_paramf; screen->base.is_format_supported = softpipe_is_format_supported; screen->base.context_create = softpipe_create_context; diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c index 077ff9a2cf6..b5fae94f783 100644 --- a/src/gallium/drivers/svga/svga_screen.c +++ b/src/gallium/drivers/svga/svga_screen.c @@ -180,57 +180,6 @@ svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER: return 0; - /* - * Fragment shader limits - */ - - case PIPE_CAP_MAX_FS_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS: - return svgascreen->use_ps30 ? 512 : 96; - case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH: - return SVGA3D_MAX_NESTING_LEVEL; - case PIPE_CAP_MAX_FS_INPUTS: - return 10; - case PIPE_CAP_MAX_FS_CONSTS: - return svgascreen->use_vs30 ? 224 : 16; - case PIPE_CAP_MAX_FS_TEMPS: - if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_TEMPS, &result)) - return svgascreen->use_ps30 ? 32 : 12; - return result.u; - case PIPE_CAP_MAX_FS_ADDRS: - return svgascreen->use_ps30 ? 1 : 0; - case PIPE_CAP_MAX_FS_PREDS: - return svgascreen->use_ps30 ? 1 : 0; - - /* - * Vertex shader limits - */ - case PIPE_CAP_MAX_VS_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS: - if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_INSTRUCTIONS, &result)) - return svgascreen->use_vs30 ? 512 : 256; - return result.u; - case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS: - case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS: - /* XXX: until we have vertex texture support */ - return 0; - case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH: - return SVGA3D_MAX_NESTING_LEVEL; - case PIPE_CAP_MAX_VS_INPUTS: - return 16; - case PIPE_CAP_MAX_VS_CONSTS: - return 256; - case PIPE_CAP_MAX_VS_TEMPS: - if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEMPS, &result)) - return svgascreen->use_vs30 ? 32 : 12; - return result.u; - case PIPE_CAP_MAX_VS_ADDRS: - return svgascreen->use_vs30 ? 1 : 0; - case PIPE_CAP_MAX_VS_PREDS: - return svgascreen->use_vs30 ? 1 : 0; - case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE: return 1; @@ -248,6 +197,81 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param) return (int) svga_get_paramf( screen, param ); } +static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, enum pipe_shader_cap param) +{ + struct svga_screen *svgascreen = svga_screen(screen); + struct svga_winsys_screen *sws = svgascreen->sws; + SVGA3dDevCapResult result; + + switch (shader) + { + case PIPE_SHADER_FRAGMENT: + switch (param) + { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + return svgascreen->use_ps30 ? 512 : 96; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return SVGA3D_MAX_NESTING_LEVEL; + case PIPE_SHADER_CAP_MAX_INPUTS: + return 10; + case PIPE_SHADER_CAP_MAX_CONSTS: + return svgascreen->use_ps30 ? 224 : 16; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: + if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_FRAGMENT_SHADER_TEMPS, &result)) + return svgascreen->use_ps30 ? 32 : 12; + return result.u; + case PIPE_SHADER_CAP_MAX_ADDRS: + return svgascreen->use_ps30 ? 1 : 0; + case PIPE_SHADER_CAP_MAX_PREDS: + return svgascreen->use_ps30 ? 1 : 0; + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + } + break; + case PIPE_SHADER_VERTEX: + switch (param) + { + case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS: + if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_INSTRUCTIONS, &result)) + return svgascreen->use_vs30 ? 512 : 256; + return result.u; + case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS: + case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS: + /* XXX: until we have vertex texture support */ + return 0; + case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: + return SVGA3D_MAX_NESTING_LEVEL; + case PIPE_SHADER_CAP_MAX_INPUTS: + return 16; + case PIPE_SHADER_CAP_MAX_CONSTS: + return 256; + case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: + return 1; + case PIPE_SHADER_CAP_MAX_TEMPS: + if (!sws->get_cap(sws, SVGA3D_DEVCAP_MAX_VERTEX_SHADER_TEMPS, &result)) + return svgascreen->use_vs30 ? 32 : 12; + return result.u; + case PIPE_SHADER_CAP_MAX_ADDRS: + return svgascreen->use_vs30 ? 1 : 0; + case PIPE_SHADER_CAP_MAX_PREDS: + return svgascreen->use_vs30 ? 1 : 0; + case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED: + return 1; + default: + break; + } + break; + default: + break; + } + return 0; +} static INLINE SVGA3dDevCapIndex svga_translate_format_cap(enum pipe_format format) @@ -449,6 +473,7 @@ svga_screen_create(struct svga_winsys_screen *sws) screen->get_name = svga_get_name; screen->get_vendor = svga_get_vendor; screen->get_param = svga_get_param; + screen->get_shader_param = svga_get_shader_param; screen->get_paramf = svga_get_paramf; screen->is_format_supported = svga_is_format_supported; screen->context_create = svga_context_create; diff --git a/src/gallium/drivers/trace/tr_screen.c b/src/gallium/drivers/trace/tr_screen.c index 32e519a68a0..935831071e6 100644 --- a/src/gallium/drivers/trace/tr_screen.c +++ b/src/gallium/drivers/trace/tr_screen.c @@ -106,6 +106,30 @@ trace_screen_get_param(struct pipe_screen *_screen, } +static int +trace_screen_get_shader_param(struct pipe_screen *_screen, unsigned shader, + enum pipe_shader_cap param) +{ + struct trace_screen *tr_scr = trace_screen(_screen); + struct pipe_screen *screen = tr_scr->screen; + int result; + + trace_dump_call_begin("pipe_screen", "get_shader_param"); + + trace_dump_arg(ptr, screen); + trace_dump_arg(int, shader); + trace_dump_arg(int, param); + + result = screen->get_shader_param(screen, shader, param); + + trace_dump_ret(int, result); + + trace_dump_call_end(); + + return result; +} + + static float trace_screen_get_paramf(struct pipe_screen *_screen, enum pipe_cap param) @@ -547,6 +571,7 @@ trace_screen_create(struct pipe_screen *screen) tr_scr->base.get_name = trace_screen_get_name; tr_scr->base.get_vendor = trace_screen_get_vendor; tr_scr->base.get_param = trace_screen_get_param; + tr_scr->base.get_shader_param = trace_screen_get_shader_param; tr_scr->base.get_paramf = trace_screen_get_paramf; tr_scr->base.is_format_supported = trace_screen_is_format_supported; assert(screen->context_create); diff --git a/src/gallium/include/pipe/p_compiler.h b/src/gallium/include/pipe/p_compiler.h index 0a5be43f6bf..50205995911 100644 --- a/src/gallium/include/pipe/p_compiler.h +++ b/src/gallium/include/pipe/p_compiler.h @@ -35,6 +35,7 @@ #include #include #include +#include #if defined(_WIN32) && !defined(__WIN32__) diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 627b5ae5380..8b4663742fa 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -449,16 +449,12 @@ enum pipe_cap { PIPE_CAP_TEXTURE_MIRROR_CLAMP, PIPE_CAP_TEXTURE_MIRROR_REPEAT, PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS, - PIPE_CAP_TGSI_CONT_SUPPORTED, PIPE_CAP_BLEND_EQUATION_SEPARATE, PIPE_CAP_SM3, /*< Shader Model, supported */ PIPE_CAP_STREAM_OUTPUT, - PIPE_CAP_MAX_PREDICATE_REGISTERS, /** Maximum texture image units accessible from vertex and fragment shaders * combined */ PIPE_CAP_MAX_COMBINED_SAMPLERS, - PIPE_CAP_MAX_CONST_BUFFERS, - PIPE_CAP_MAX_CONST_BUFFER_SIZE, /*< In bytes */ /** blend enables and write masks per rendertarget */ PIPE_CAP_INDEP_BLEND_ENABLE, /** different blend funcs per rendertarget */ @@ -468,35 +464,25 @@ enum pipe_cap { PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER, - - /* - * Shader limits. - */ - PIPE_CAP_MAX_FS_INSTRUCTIONS, - PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS, - PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS, - PIPE_CAP_MAX_FS_TEX_INDIRECTIONS, - PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH, - PIPE_CAP_MAX_FS_INPUTS, - PIPE_CAP_MAX_FS_CONSTS, - PIPE_CAP_MAX_FS_TEMPS, - PIPE_CAP_MAX_FS_ADDRS, - PIPE_CAP_MAX_FS_PREDS, - PIPE_CAP_MAX_VS_INSTRUCTIONS, - PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS, - PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS, - PIPE_CAP_MAX_VS_TEX_INDIRECTIONS, - PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH, - PIPE_CAP_MAX_VS_INPUTS, - PIPE_CAP_MAX_VS_CONSTS, - PIPE_CAP_MAX_VS_TEMPS, - PIPE_CAP_MAX_VS_ADDRS, - PIPE_CAP_MAX_VS_PREDS, - - PIPE_CAP_GEOMETRY_SHADER4, PIPE_CAP_DEPTH_CLAMP }; +/* Shader caps not specific to any single stage */ +enum pipe_shader_cap +{ + PIPE_SHADER_CAP_MAX_INSTRUCTIONS, /* if 0, it means the stage is unsupported */ + PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS, + PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS, + PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS, + PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH, + PIPE_SHADER_CAP_MAX_INPUTS, + PIPE_SHADER_CAP_MAX_CONSTS, + PIPE_SHADER_CAP_MAX_CONST_BUFFERS, + PIPE_SHADER_CAP_MAX_TEMPS, + PIPE_SHADER_CAP_MAX_ADDRS, + PIPE_SHADER_CAP_MAX_PREDS, + PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED, +}; /** * Referenced query flags. diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 21f428ed4af..912631242f5 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -86,6 +86,12 @@ struct pipe_screen { */ float (*get_paramf)( struct pipe_screen *, enum pipe_cap param ); + /** + * Query a per-shader-stage integer-valued capability/parameter/limit + * \param param one of PIPE_CAP_x + */ + int (*get_shader_param)( struct pipe_screen *, unsigned shader, enum pipe_shader_cap param ); + struct pipe_context * (*context_create)( struct pipe_screen *, void *priv ); diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 91bd5a92c92..d637e6f43a0 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -135,38 +135,42 @@ void st_init_limits(struct st_context *st) = CLAMP(screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS), 1, MAX_DRAW_BUFFERS); - for(i = 0; i < MESA_SHADER_TYPES; ++i) - st->ctx->ShaderCompilerOptions[i].EmitNoCont = !screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED); - /* Quads always follow GL provoking rules. */ c->QuadsFollowProvokingVertexConvention = GL_FALSE; - pc = &c->FragmentProgram; - pc->MaxNativeInstructions = screen->get_param(screen, PIPE_CAP_MAX_FS_INSTRUCTIONS); - pc->MaxNativeAluInstructions = screen->get_param(screen, PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS); - pc->MaxNativeTexInstructions = screen->get_param(screen, PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS); - pc->MaxNativeTexIndirections = screen->get_param(screen, PIPE_CAP_MAX_FS_TEX_INDIRECTIONS); - pc->MaxNativeAttribs = screen->get_param(screen, PIPE_CAP_MAX_FS_INPUTS); - pc->MaxNativeTemps = screen->get_param(screen, PIPE_CAP_MAX_FS_TEMPS); - pc->MaxNativeAddressRegs = screen->get_param(screen, PIPE_CAP_MAX_FS_ADDRS); - pc->MaxNativeParameters = screen->get_param(screen, PIPE_CAP_MAX_FS_CONSTS); - - pc = &c->VertexProgram; - pc->MaxNativeInstructions = screen->get_param(screen, PIPE_CAP_MAX_VS_INSTRUCTIONS); - pc->MaxNativeAluInstructions = screen->get_param(screen, PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS); - pc->MaxNativeTexInstructions = screen->get_param(screen, PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS); - pc->MaxNativeTexIndirections = screen->get_param(screen, PIPE_CAP_MAX_VS_TEX_INDIRECTIONS); - pc->MaxNativeAttribs = screen->get_param(screen, PIPE_CAP_MAX_VS_INPUTS); - pc->MaxNativeTemps = screen->get_param(screen, PIPE_CAP_MAX_VS_TEMPS); - pc->MaxNativeAddressRegs = screen->get_param(screen, PIPE_CAP_MAX_VS_ADDRS); - pc->MaxNativeParameters = screen->get_param(screen, PIPE_CAP_MAX_VS_CONSTS); + for(i = 0; i < MESA_SHADER_TYPES; ++i) { + struct gl_shader_compiler_options *options = &st->ctx->ShaderCompilerOptions[i]; + switch(i) + { + case PIPE_SHADER_FRAGMENT: + pc = &c->FragmentProgram; + break; + case PIPE_SHADER_VERTEX: + pc = &c->VertexProgram; + break; + case PIPE_SHADER_GEOMETRY: + pc = &c->GeometryProgram; + break; + } + + pc->MaxNativeInstructions = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_INSTRUCTIONS); + pc->MaxNativeAluInstructions = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS); + pc->MaxNativeTexInstructions = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS); + pc->MaxNativeTexIndirections = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS); + pc->MaxNativeAttribs = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_INPUTS); + pc->MaxNativeTemps = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_TEMPS); + pc->MaxNativeAddressRegs = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_ADDRS); + pc->MaxNativeParameters = screen->get_shader_param(screen, i, PIPE_SHADER_CAP_MAX_CONSTS); + + options->EmitNoCont = !screen->get_shader_param(screen, i, PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED); + } /* PIPE_CAP_MAX_FS_INPUTS specifies the number of COLORn + GENERICn inputs * and is set in MaxNativeAttribs. It's always 2 colors + N generic * attributes. The GLSL compiler never uses COLORn for varyings, so we * subtract the 2 colors to get the maximum number of varyings (generic * attributes) supported by a driver. */ - c->MaxVarying = screen->get_param(screen, PIPE_CAP_MAX_FS_INPUTS) - 2; + c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_MAX_INPUTS) - 2; c->MaxVarying = MIN2(c->MaxVarying, MAX_VARYING); } @@ -401,7 +405,7 @@ void st_init_extensions(struct st_context *st) } #endif - if (screen->get_param(screen, PIPE_CAP_GEOMETRY_SHADER4)) { + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { ctx->Extensions.ARB_geometry_shader4 = GL_TRUE; } -- cgit v1.2.3 From 6d0b695fa7fa521c5e815f185841732163dfbb3e Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Mon, 20 Sep 2010 20:13:30 +0200 Subject: gallium: avoid the C++ keyword "template" in sw_winsys.h --- src/gallium/include/state_tracker/sw_winsys.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/include') diff --git a/src/gallium/include/state_tracker/sw_winsys.h b/src/gallium/include/state_tracker/sw_winsys.h index d461dedb90e..0b11fe3beb9 100644 --- a/src/gallium/include/state_tracker/sw_winsys.h +++ b/src/gallium/include/state_tracker/sw_winsys.h @@ -97,7 +97,7 @@ struct sw_winsys */ struct sw_displaytarget * (*displaytarget_from_handle)( struct sw_winsys *ws, - const struct pipe_resource *template, + const struct pipe_resource *templat, struct winsys_handle *whandle, unsigned *stride ); -- cgit v1.2.3 From 17eace581d25a626a7d75d9d1205d012cbb14a6e Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Wed, 22 Sep 2010 22:01:17 -0400 Subject: dri: Pass the __DRIscreen and the __DRIscreen private back to image lookup We will typically have a current context when we need to lookup the image, but the lookup implementation don't need it so drop it. --- include/GL/internal/dri_interface.h | 2 +- src/egl/drivers/dri2/egl_dri2.c | 7 +++---- src/gallium/include/state_tracker/st_api.h | 1 - src/gallium/state_trackers/dri/common/dri_context.h | 3 --- src/gallium/state_trackers/dri/common/dri_screen.c | 8 +++----- src/gallium/state_trackers/dri/common/dri_screen.h | 3 +++ src/gallium/state_trackers/dri/drm/dri2.c | 10 +++++----- src/mesa/drivers/dri/common/dri_util.c | 1 + src/mesa/drivers/dri/common/dri_util.h | 1 + src/mesa/drivers/dri/intel/intel_fbo.c | 4 ++-- src/mesa/drivers/dri/intel/intel_tex_image.c | 4 ++-- 11 files changed, 21 insertions(+), 23 deletions(-) (limited to 'src/gallium/include') diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h index 5351a2ba4ab..9ee039bd90b 100644 --- a/include/GL/internal/dri_interface.h +++ b/include/GL/internal/dri_interface.h @@ -841,7 +841,7 @@ typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension; struct __DRIimageLookupExtensionRec { __DRIextension base; - __DRIimage *(*lookupEGLImage)(__DRIcontext *context, void *image, + __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image, void *loaderPrivate); }; diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 083f796f430..9c4ff560b14 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -370,10 +370,9 @@ dri2_flush_front_buffer(__DRIdrawable * driDrawable, void *loaderPrivate) } static __DRIimage * -dri2_lookup_egl_image(__DRIcontext *context, void *image, void *data) +dri2_lookup_egl_image(__DRIscreen *screen, void *image, void *data) { - struct dri2_egl_context *dri2_ctx = data; - _EGLDisplay *disp = dri2_ctx->base.Resource.Display; + _EGLDisplay *disp = data; struct dri2_egl_image *dri2_img; _EGLImage *img; @@ -728,7 +727,7 @@ dri2_create_screen(_EGLDisplay *disp) dri2_dpy = disp->DriverData; dri2_dpy->dri_screen = dri2_dpy->dri2->createNewScreen(0, dri2_dpy->fd, dri2_dpy->extensions, - &dri2_dpy->driver_configs, dri2_dpy); + &dri2_dpy->driver_configs, disp); if (dri2_dpy->dri_screen == NULL) { _eglLog(_EGL_WARNING, "DRI2: failed to create dri screen"); diff --git a/src/gallium/include/state_tracker/st_api.h b/src/gallium/include/state_tracker/st_api.h index 8ea15545689..21e2165ed9e 100644 --- a/src/gallium/include/state_tracker/st_api.h +++ b/src/gallium/include/state_tracker/st_api.h @@ -384,7 +384,6 @@ struct st_manager * This function is optional. */ boolean (*get_egl_image)(struct st_manager *smapi, - struct st_context_iface *stctx, void *egl_image, struct st_egl_image *out); diff --git a/src/gallium/state_trackers/dri/common/dri_context.h b/src/gallium/state_trackers/dri/common/dri_context.h index ffe9eba13c8..beb59c6f684 100644 --- a/src/gallium/state_trackers/dri/common/dri_context.h +++ b/src/gallium/state_trackers/dri/common/dri_context.h @@ -61,9 +61,6 @@ struct dri_context /* gallium */ struct st_api *stapi; struct st_context_iface *st; - - /* hooks filled in by dri2 & drisw */ - __DRIimage * (*lookup_egl_image)(struct dri_context *ctx, void *handle); }; static INLINE struct dri_context * diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index 475a96d1967..7e4b11d83f7 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -287,16 +287,14 @@ dri_fill_st_visual(struct st_visual *stvis, struct dri_screen *screen, static boolean dri_get_egl_image(struct st_manager *smapi, - struct st_context_iface *stctxi, void *egl_image, struct st_egl_image *stimg) { - struct dri_context *ctx = - (struct dri_context *)stctxi->st_manager_private; + struct dri_screen *screen = (struct dri_screen *)smapi; __DRIimage *img = NULL; - if (ctx->lookup_egl_image) { - img = ctx->lookup_egl_image(ctx, egl_image); + if (screen->lookup_egl_image) { + img = screen->lookup_egl_image(screen, egl_image); } if (!img) diff --git a/src/gallium/state_trackers/dri/common/dri_screen.h b/src/gallium/state_trackers/dri/common/dri_screen.h index 849f399b2f8..d4eb8f454f0 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.h +++ b/src/gallium/state_trackers/dri/common/dri_screen.h @@ -69,6 +69,9 @@ struct dri_screen boolean sd_depth_bits_last; boolean auto_fake_front; enum pipe_texture_target target; + + /* hooks filled in by dri2 & drisw */ + __DRIimage * (*lookup_egl_image)(struct dri_screen *ctx, void *handle); }; /** cast wrapper */ diff --git a/src/gallium/state_trackers/dri/drm/dri2.c b/src/gallium/state_trackers/dri/drm/dri2.c index 135f66c61da..116afccb194 100644 --- a/src/gallium/state_trackers/dri/drm/dri2.c +++ b/src/gallium/state_trackers/dri/drm/dri2.c @@ -291,15 +291,16 @@ dri2_flush_frontbuffer(struct dri_drawable *drawable, } static __DRIimage * -dri2_lookup_egl_image(struct dri_context *ctx, void *handle) +dri2_lookup_egl_image(struct dri_screen *screen, void *handle) { - __DRIimageLookupExtension *loader = ctx->sPriv->dri2.image; + __DRIimageLookupExtension *loader = screen->sPriv->dri2.image; __DRIimage *img; if (!loader->lookupEGLImage) return NULL; - img = loader->lookupEGLImage(ctx->cPriv, handle, ctx->cPriv->loaderPrivate); + img = loader->lookupEGLImage(screen->sPriv, + handle, screen->sPriv->loaderPrivate); return img; } @@ -537,6 +538,7 @@ dri2_init_screen(__DRIscreen * sPriv) screen->auto_fake_front = dri_with_format(sPriv); screen->broken_invalidate = !sPriv->dri2.useInvalidate; + screen->lookup_egl_image = dri2_lookup_egl_image; return configs; fail: @@ -556,8 +558,6 @@ dri2_create_context(gl_api api, const __GLcontextModes * visual, ctx = cPriv->driverPrivate; - ctx->lookup_egl_image = dri2_lookup_egl_image; - return TRUE; } diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index f07c3da4bb6..d46f622d573 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -880,6 +880,7 @@ dri2CreateNewScreen(int scrn, int fd, } psp->DriverAPI = driDriverAPI; + psp->loaderPrivate = data; driParseOptionInfo(&psp->optionInfo, __dri2ConfigOptions, __dri2NConfigOptions); diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h index 5096d22cad3..785beacd817 100644 --- a/src/mesa/drivers/dri/common/dri_util.h +++ b/src/mesa/drivers/dri/common/dri_util.h @@ -539,6 +539,7 @@ struct __DRIscreenRec { driOptionCache optionInfo; driOptionCache optionCache; unsigned int api_mask; + void *loaderPrivate; }; extern void diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 2693b5fa72e..363a5c02425 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -202,8 +202,8 @@ intel_image_target_renderbuffer_storage(GLcontext *ctx, __DRIimage *image; screen = intel->intelScreen->driScrnPriv; - image = screen->dri2.image->lookupEGLImage(intel->driContext, image_handle, - intel->driContext->loaderPrivate); + image = screen->dri2.image->lookupEGLImage(screen, image_handle, + screen->loaderPrivate); if (image == NULL) return; diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index 7d33df35998..b1ed7ee5e73 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -805,8 +805,8 @@ intel_image_target_texture_2d(GLcontext *ctx, GLenum target, __DRIimage *image; screen = intel->intelScreen->driScrnPriv; - image = screen->dri2.image->lookupEGLImage(intel->driContext, image_handle, - intel->driContext->loaderPrivate); + image = screen->dri2.image->lookupEGLImage(screen, image_handle, + screen->loaderPrivate); if (image == NULL) return; -- cgit v1.2.3