aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src')
-rw-r--r--mesalib/src/mapi/glapi/gen/gl_gentable.py44
-rw-r--r--mesalib/src/mapi/glapi/glapi_gentable.c5208
-rw-r--r--mesalib/src/mesa/main/mipmap.c4442
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_blend.c61
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_clip.c151
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_sampler.c550
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_scissor.c201
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_stipple.c187
-rw-r--r--mesalib/src/mesa/state_tracker/st_atom_texture.c762
-rw-r--r--mesalib/src/mesa/state_tracker/st_draw.c61
10 files changed, 5895 insertions, 5772 deletions
diff --git a/mesalib/src/mapi/glapi/gen/gl_gentable.py b/mesalib/src/mapi/glapi/gen/gl_gentable.py
index 73986f272..814238a76 100644
--- a/mesalib/src/mapi/glapi/gen/gl_gentable.py
+++ b/mesalib/src/mapi/glapi/gen/gl_gentable.py
@@ -34,6 +34,10 @@ import gl_XML, glX_XML
import sys, getopt
header = """
+#if defined(DEBUG) && !defined(_WIN32_WCE)
+#include <execinfo.h>
+#endif
+
#include <dlfcn.h>
#include <stdlib.h>
#include <stdio.h>
@@ -43,6 +47,40 @@ header = """
#include "glapi.h"
#include "glapitable.h"
+static void
+__glapi_gentable_NoOp(void) {
+#if defined(DEBUG) && !defined(_WIN32_WCE)
+ if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) {
+ const char *fstr = "Unknown";
+ void *frames[2];
+
+ if(backtrace(frames, 2) == 2) {
+ Dl_info info;
+ dladdr(frames[1], &info);
+ if(info.dli_sname)
+ fstr = info.dli_sname;
+ }
+
+ fprintf(stderr, "Call to unimplemented API: %s\\n", fstr);
+ }
+#endif
+}
+
+static void
+__glapi_gentable_set_remaining_noop(struct _glapi_table *disp) {
+ GLuint entries = _glapi_get_dispatch_table_size();
+ void **dispatch = (void **) disp;
+ int i;
+
+ /* ISO C is annoying sometimes */
+ union {_glapi_proc p; void *v;} p;
+ p.p = __glapi_gentable_NoOp;
+
+ for(i=0; i < entries; i++)
+ if(dispatch[i] == NULL)
+ dispatch[i] = p.v;
+}
+
struct _glapi_table *
_glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table));
@@ -56,15 +94,17 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
"""
footer = """
+ __glapi_gentable_set_remaining_noop(disp);
+
return disp;
}
"""
body_template = """
if(!disp->%(name)s) {
+ void ** procp = (void **) &disp->%(name)s;
snprintf(symboln, sizeof(symboln), "%%s%(entry_point)s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->%(name)s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
"""
diff --git a/mesalib/src/mapi/glapi/glapi_gentable.c b/mesalib/src/mapi/glapi/glapi_gentable.c
index dcbed1c78..6dd02a747 100644
--- a/mesalib/src/mapi/glapi/glapi_gentable.c
+++ b/mesalib/src/mapi/glapi/glapi_gentable.c
@@ -28,6 +28,10 @@
*/
+#if defined(DEBUG) && !defined(_WIN32_WCE)
+#include <execinfo.h>
+#endif
+
#include <dlfcn.h>
#include <stdlib.h>
#include <stdio.h>
@@ -37,6 +41,40 @@
#include "glapi.h"
#include "glapitable.h"
+static void
+__glapi_gentable_NoOp(void) {
+#if defined(DEBUG) && !defined(_WIN32_WCE)
+ if (getenv("MESA_DEBUG") || getenv("LIBGL_DEBUG")) {
+ const char *fstr = "Unknown";
+ void *frames[2];
+
+ if(backtrace(frames, 2) == 2) {
+ Dl_info info;
+ dladdr(frames[1], &info);
+ if(info.dli_sname)
+ fstr = info.dli_sname;
+ }
+
+ fprintf(stderr, "Call to unimplemented API: %s\n", fstr);
+ }
+#endif
+}
+
+static void
+__glapi_gentable_set_remaining_noop(struct _glapi_table *disp) {
+ GLuint entries = _glapi_get_dispatch_table_size();
+ void **dispatch = (void **) disp;
+ int i;
+
+ /* ISO C is annoying sometimes */
+ union {_glapi_proc p; void *v;} p;
+ p.p = __glapi_gentable_NoOp;
+
+ for(i=0; i < entries; i++)
+ if(dispatch[i] == NULL)
+ dispatch[i] = p.v;
+}
+
struct _glapi_table *
_glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table));
@@ -50,9049 +88,9051 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
if(!disp->NewList) {
+ void ** procp = (void **) &disp->NewList;
snprintf(symboln, sizeof(symboln), "%sNewList", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->NewList;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndList) {
+ void ** procp = (void **) &disp->EndList;
snprintf(symboln, sizeof(symboln), "%sEndList", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndList;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CallList) {
+ void ** procp = (void **) &disp->CallList;
snprintf(symboln, sizeof(symboln), "%sCallList", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CallList;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CallLists) {
+ void ** procp = (void **) &disp->CallLists;
snprintf(symboln, sizeof(symboln), "%sCallLists", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CallLists;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteLists) {
+ void ** procp = (void **) &disp->DeleteLists;
snprintf(symboln, sizeof(symboln), "%sDeleteLists", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteLists;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenLists) {
+ void ** procp = (void **) &disp->GenLists;
snprintf(symboln, sizeof(symboln), "%sGenLists", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenLists;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ListBase) {
+ void ** procp = (void **) &disp->ListBase;
snprintf(symboln, sizeof(symboln), "%sListBase", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ListBase;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Begin) {
+ void ** procp = (void **) &disp->Begin;
snprintf(symboln, sizeof(symboln), "%sBegin", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Begin;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Bitmap) {
+ void ** procp = (void **) &disp->Bitmap;
snprintf(symboln, sizeof(symboln), "%sBitmap", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Bitmap;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3b) {
+ void ** procp = (void **) &disp->Color3b;
snprintf(symboln, sizeof(symboln), "%sColor3b", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3b;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3bv) {
+ void ** procp = (void **) &disp->Color3bv;
snprintf(symboln, sizeof(symboln), "%sColor3bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3bv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3d) {
+ void ** procp = (void **) &disp->Color3d;
snprintf(symboln, sizeof(symboln), "%sColor3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3dv) {
+ void ** procp = (void **) &disp->Color3dv;
snprintf(symboln, sizeof(symboln), "%sColor3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3f) {
+ void ** procp = (void **) &disp->Color3f;
snprintf(symboln, sizeof(symboln), "%sColor3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3fv) {
+ void ** procp = (void **) &disp->Color3fv;
snprintf(symboln, sizeof(symboln), "%sColor3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3i) {
+ void ** procp = (void **) &disp->Color3i;
snprintf(symboln, sizeof(symboln), "%sColor3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3iv) {
+ void ** procp = (void **) &disp->Color3iv;
snprintf(symboln, sizeof(symboln), "%sColor3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3s) {
+ void ** procp = (void **) &disp->Color3s;
snprintf(symboln, sizeof(symboln), "%sColor3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3sv) {
+ void ** procp = (void **) &disp->Color3sv;
snprintf(symboln, sizeof(symboln), "%sColor3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3ub) {
+ void ** procp = (void **) &disp->Color3ub;
snprintf(symboln, sizeof(symboln), "%sColor3ub", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3ub;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3ubv) {
+ void ** procp = (void **) &disp->Color3ubv;
snprintf(symboln, sizeof(symboln), "%sColor3ubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3ubv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3ui) {
+ void ** procp = (void **) &disp->Color3ui;
snprintf(symboln, sizeof(symboln), "%sColor3ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3ui;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3uiv) {
+ void ** procp = (void **) &disp->Color3uiv;
snprintf(symboln, sizeof(symboln), "%sColor3uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3uiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3us) {
+ void ** procp = (void **) &disp->Color3us;
snprintf(symboln, sizeof(symboln), "%sColor3us", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3us;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color3usv) {
+ void ** procp = (void **) &disp->Color3usv;
snprintf(symboln, sizeof(symboln), "%sColor3usv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color3usv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4b) {
+ void ** procp = (void **) &disp->Color4b;
snprintf(symboln, sizeof(symboln), "%sColor4b", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4b;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4bv) {
+ void ** procp = (void **) &disp->Color4bv;
snprintf(symboln, sizeof(symboln), "%sColor4bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4bv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4d) {
+ void ** procp = (void **) &disp->Color4d;
snprintf(symboln, sizeof(symboln), "%sColor4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4dv) {
+ void ** procp = (void **) &disp->Color4dv;
snprintf(symboln, sizeof(symboln), "%sColor4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4f) {
+ void ** procp = (void **) &disp->Color4f;
snprintf(symboln, sizeof(symboln), "%sColor4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4fv) {
+ void ** procp = (void **) &disp->Color4fv;
snprintf(symboln, sizeof(symboln), "%sColor4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4i) {
+ void ** procp = (void **) &disp->Color4i;
snprintf(symboln, sizeof(symboln), "%sColor4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4iv) {
+ void ** procp = (void **) &disp->Color4iv;
snprintf(symboln, sizeof(symboln), "%sColor4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4s) {
+ void ** procp = (void **) &disp->Color4s;
snprintf(symboln, sizeof(symboln), "%sColor4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4sv) {
+ void ** procp = (void **) &disp->Color4sv;
snprintf(symboln, sizeof(symboln), "%sColor4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4ub) {
+ void ** procp = (void **) &disp->Color4ub;
snprintf(symboln, sizeof(symboln), "%sColor4ub", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4ub;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4ubv) {
+ void ** procp = (void **) &disp->Color4ubv;
snprintf(symboln, sizeof(symboln), "%sColor4ubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4ubv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4ui) {
+ void ** procp = (void **) &disp->Color4ui;
snprintf(symboln, sizeof(symboln), "%sColor4ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4ui;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4uiv) {
+ void ** procp = (void **) &disp->Color4uiv;
snprintf(symboln, sizeof(symboln), "%sColor4uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4uiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4us) {
+ void ** procp = (void **) &disp->Color4us;
snprintf(symboln, sizeof(symboln), "%sColor4us", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4us;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Color4usv) {
+ void ** procp = (void **) &disp->Color4usv;
snprintf(symboln, sizeof(symboln), "%sColor4usv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Color4usv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EdgeFlag) {
+ void ** procp = (void **) &disp->EdgeFlag;
snprintf(symboln, sizeof(symboln), "%sEdgeFlag", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EdgeFlag;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EdgeFlagv) {
+ void ** procp = (void **) &disp->EdgeFlagv;
snprintf(symboln, sizeof(symboln), "%sEdgeFlagv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EdgeFlagv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->End) {
+ void ** procp = (void **) &disp->End;
snprintf(symboln, sizeof(symboln), "%sEnd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->End;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexd) {
+ void ** procp = (void **) &disp->Indexd;
snprintf(symboln, sizeof(symboln), "%sIndexd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexd;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexdv) {
+ void ** procp = (void **) &disp->Indexdv;
snprintf(symboln, sizeof(symboln), "%sIndexdv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexdv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexf) {
+ void ** procp = (void **) &disp->Indexf;
snprintf(symboln, sizeof(symboln), "%sIndexf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexfv) {
+ void ** procp = (void **) &disp->Indexfv;
snprintf(symboln, sizeof(symboln), "%sIndexfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexi) {
+ void ** procp = (void **) &disp->Indexi;
snprintf(symboln, sizeof(symboln), "%sIndexi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexiv) {
+ void ** procp = (void **) &disp->Indexiv;
snprintf(symboln, sizeof(symboln), "%sIndexiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexs) {
+ void ** procp = (void **) &disp->Indexs;
snprintf(symboln, sizeof(symboln), "%sIndexs", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexs;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexsv) {
+ void ** procp = (void **) &disp->Indexsv;
snprintf(symboln, sizeof(symboln), "%sIndexsv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexsv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3b) {
+ void ** procp = (void **) &disp->Normal3b;
snprintf(symboln, sizeof(symboln), "%sNormal3b", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3b;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3bv) {
+ void ** procp = (void **) &disp->Normal3bv;
snprintf(symboln, sizeof(symboln), "%sNormal3bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3bv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3d) {
+ void ** procp = (void **) &disp->Normal3d;
snprintf(symboln, sizeof(symboln), "%sNormal3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3dv) {
+ void ** procp = (void **) &disp->Normal3dv;
snprintf(symboln, sizeof(symboln), "%sNormal3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3f) {
+ void ** procp = (void **) &disp->Normal3f;
snprintf(symboln, sizeof(symboln), "%sNormal3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3fv) {
+ void ** procp = (void **) &disp->Normal3fv;
snprintf(symboln, sizeof(symboln), "%sNormal3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3i) {
+ void ** procp = (void **) &disp->Normal3i;
snprintf(symboln, sizeof(symboln), "%sNormal3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3iv) {
+ void ** procp = (void **) &disp->Normal3iv;
snprintf(symboln, sizeof(symboln), "%sNormal3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3s) {
+ void ** procp = (void **) &disp->Normal3s;
snprintf(symboln, sizeof(symboln), "%sNormal3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Normal3sv) {
+ void ** procp = (void **) &disp->Normal3sv;
snprintf(symboln, sizeof(symboln), "%sNormal3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Normal3sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2d) {
+ void ** procp = (void **) &disp->RasterPos2d;
snprintf(symboln, sizeof(symboln), "%sRasterPos2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2dv) {
+ void ** procp = (void **) &disp->RasterPos2dv;
snprintf(symboln, sizeof(symboln), "%sRasterPos2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2f) {
+ void ** procp = (void **) &disp->RasterPos2f;
snprintf(symboln, sizeof(symboln), "%sRasterPos2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2fv) {
+ void ** procp = (void **) &disp->RasterPos2fv;
snprintf(symboln, sizeof(symboln), "%sRasterPos2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2i) {
+ void ** procp = (void **) &disp->RasterPos2i;
snprintf(symboln, sizeof(symboln), "%sRasterPos2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2iv) {
+ void ** procp = (void **) &disp->RasterPos2iv;
snprintf(symboln, sizeof(symboln), "%sRasterPos2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2s) {
+ void ** procp = (void **) &disp->RasterPos2s;
snprintf(symboln, sizeof(symboln), "%sRasterPos2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos2sv) {
+ void ** procp = (void **) &disp->RasterPos2sv;
snprintf(symboln, sizeof(symboln), "%sRasterPos2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos2sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3d) {
+ void ** procp = (void **) &disp->RasterPos3d;
snprintf(symboln, sizeof(symboln), "%sRasterPos3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3dv) {
+ void ** procp = (void **) &disp->RasterPos3dv;
snprintf(symboln, sizeof(symboln), "%sRasterPos3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3f) {
+ void ** procp = (void **) &disp->RasterPos3f;
snprintf(symboln, sizeof(symboln), "%sRasterPos3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3fv) {
+ void ** procp = (void **) &disp->RasterPos3fv;
snprintf(symboln, sizeof(symboln), "%sRasterPos3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3i) {
+ void ** procp = (void **) &disp->RasterPos3i;
snprintf(symboln, sizeof(symboln), "%sRasterPos3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3iv) {
+ void ** procp = (void **) &disp->RasterPos3iv;
snprintf(symboln, sizeof(symboln), "%sRasterPos3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3s) {
+ void ** procp = (void **) &disp->RasterPos3s;
snprintf(symboln, sizeof(symboln), "%sRasterPos3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos3sv) {
+ void ** procp = (void **) &disp->RasterPos3sv;
snprintf(symboln, sizeof(symboln), "%sRasterPos3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos3sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4d) {
+ void ** procp = (void **) &disp->RasterPos4d;
snprintf(symboln, sizeof(symboln), "%sRasterPos4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4dv) {
+ void ** procp = (void **) &disp->RasterPos4dv;
snprintf(symboln, sizeof(symboln), "%sRasterPos4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4f) {
+ void ** procp = (void **) &disp->RasterPos4f;
snprintf(symboln, sizeof(symboln), "%sRasterPos4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4fv) {
+ void ** procp = (void **) &disp->RasterPos4fv;
snprintf(symboln, sizeof(symboln), "%sRasterPos4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4i) {
+ void ** procp = (void **) &disp->RasterPos4i;
snprintf(symboln, sizeof(symboln), "%sRasterPos4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4iv) {
+ void ** procp = (void **) &disp->RasterPos4iv;
snprintf(symboln, sizeof(symboln), "%sRasterPos4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4s) {
+ void ** procp = (void **) &disp->RasterPos4s;
snprintf(symboln, sizeof(symboln), "%sRasterPos4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RasterPos4sv) {
+ void ** procp = (void **) &disp->RasterPos4sv;
snprintf(symboln, sizeof(symboln), "%sRasterPos4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RasterPos4sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectd) {
+ void ** procp = (void **) &disp->Rectd;
snprintf(symboln, sizeof(symboln), "%sRectd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectd;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectdv) {
+ void ** procp = (void **) &disp->Rectdv;
snprintf(symboln, sizeof(symboln), "%sRectdv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectdv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectf) {
+ void ** procp = (void **) &disp->Rectf;
snprintf(symboln, sizeof(symboln), "%sRectf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectfv) {
+ void ** procp = (void **) &disp->Rectfv;
snprintf(symboln, sizeof(symboln), "%sRectfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Recti) {
+ void ** procp = (void **) &disp->Recti;
snprintf(symboln, sizeof(symboln), "%sRecti", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Recti;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectiv) {
+ void ** procp = (void **) &disp->Rectiv;
snprintf(symboln, sizeof(symboln), "%sRectiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rects) {
+ void ** procp = (void **) &disp->Rects;
snprintf(symboln, sizeof(symboln), "%sRects", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rects;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rectsv) {
+ void ** procp = (void **) &disp->Rectsv;
snprintf(symboln, sizeof(symboln), "%sRectsv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rectsv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1d) {
+ void ** procp = (void **) &disp->TexCoord1d;
snprintf(symboln, sizeof(symboln), "%sTexCoord1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1dv) {
+ void ** procp = (void **) &disp->TexCoord1dv;
snprintf(symboln, sizeof(symboln), "%sTexCoord1dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1f) {
+ void ** procp = (void **) &disp->TexCoord1f;
snprintf(symboln, sizeof(symboln), "%sTexCoord1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1fv) {
+ void ** procp = (void **) &disp->TexCoord1fv;
snprintf(symboln, sizeof(symboln), "%sTexCoord1fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1i) {
+ void ** procp = (void **) &disp->TexCoord1i;
snprintf(symboln, sizeof(symboln), "%sTexCoord1i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1iv) {
+ void ** procp = (void **) &disp->TexCoord1iv;
snprintf(symboln, sizeof(symboln), "%sTexCoord1iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1s) {
+ void ** procp = (void **) &disp->TexCoord1s;
snprintf(symboln, sizeof(symboln), "%sTexCoord1s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord1sv) {
+ void ** procp = (void **) &disp->TexCoord1sv;
snprintf(symboln, sizeof(symboln), "%sTexCoord1sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord1sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2d) {
+ void ** procp = (void **) &disp->TexCoord2d;
snprintf(symboln, sizeof(symboln), "%sTexCoord2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2dv) {
+ void ** procp = (void **) &disp->TexCoord2dv;
snprintf(symboln, sizeof(symboln), "%sTexCoord2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2f) {
+ void ** procp = (void **) &disp->TexCoord2f;
snprintf(symboln, sizeof(symboln), "%sTexCoord2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2fv) {
+ void ** procp = (void **) &disp->TexCoord2fv;
snprintf(symboln, sizeof(symboln), "%sTexCoord2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2i) {
+ void ** procp = (void **) &disp->TexCoord2i;
snprintf(symboln, sizeof(symboln), "%sTexCoord2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2iv) {
+ void ** procp = (void **) &disp->TexCoord2iv;
snprintf(symboln, sizeof(symboln), "%sTexCoord2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2s) {
+ void ** procp = (void **) &disp->TexCoord2s;
snprintf(symboln, sizeof(symboln), "%sTexCoord2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord2sv) {
+ void ** procp = (void **) &disp->TexCoord2sv;
snprintf(symboln, sizeof(symboln), "%sTexCoord2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord2sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3d) {
+ void ** procp = (void **) &disp->TexCoord3d;
snprintf(symboln, sizeof(symboln), "%sTexCoord3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3dv) {
+ void ** procp = (void **) &disp->TexCoord3dv;
snprintf(symboln, sizeof(symboln), "%sTexCoord3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3f) {
+ void ** procp = (void **) &disp->TexCoord3f;
snprintf(symboln, sizeof(symboln), "%sTexCoord3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3fv) {
+ void ** procp = (void **) &disp->TexCoord3fv;
snprintf(symboln, sizeof(symboln), "%sTexCoord3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3i) {
+ void ** procp = (void **) &disp->TexCoord3i;
snprintf(symboln, sizeof(symboln), "%sTexCoord3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3iv) {
+ void ** procp = (void **) &disp->TexCoord3iv;
snprintf(symboln, sizeof(symboln), "%sTexCoord3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3s) {
+ void ** procp = (void **) &disp->TexCoord3s;
snprintf(symboln, sizeof(symboln), "%sTexCoord3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord3sv) {
+ void ** procp = (void **) &disp->TexCoord3sv;
snprintf(symboln, sizeof(symboln), "%sTexCoord3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord3sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4d) {
+ void ** procp = (void **) &disp->TexCoord4d;
snprintf(symboln, sizeof(symboln), "%sTexCoord4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4dv) {
+ void ** procp = (void **) &disp->TexCoord4dv;
snprintf(symboln, sizeof(symboln), "%sTexCoord4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4f) {
+ void ** procp = (void **) &disp->TexCoord4f;
snprintf(symboln, sizeof(symboln), "%sTexCoord4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4fv) {
+ void ** procp = (void **) &disp->TexCoord4fv;
snprintf(symboln, sizeof(symboln), "%sTexCoord4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4i) {
+ void ** procp = (void **) &disp->TexCoord4i;
snprintf(symboln, sizeof(symboln), "%sTexCoord4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4iv) {
+ void ** procp = (void **) &disp->TexCoord4iv;
snprintf(symboln, sizeof(symboln), "%sTexCoord4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4s) {
+ void ** procp = (void **) &disp->TexCoord4s;
snprintf(symboln, sizeof(symboln), "%sTexCoord4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoord4sv) {
+ void ** procp = (void **) &disp->TexCoord4sv;
snprintf(symboln, sizeof(symboln), "%sTexCoord4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoord4sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2d) {
+ void ** procp = (void **) &disp->Vertex2d;
snprintf(symboln, sizeof(symboln), "%sVertex2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2dv) {
+ void ** procp = (void **) &disp->Vertex2dv;
snprintf(symboln, sizeof(symboln), "%sVertex2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2f) {
+ void ** procp = (void **) &disp->Vertex2f;
snprintf(symboln, sizeof(symboln), "%sVertex2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2fv) {
+ void ** procp = (void **) &disp->Vertex2fv;
snprintf(symboln, sizeof(symboln), "%sVertex2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2i) {
+ void ** procp = (void **) &disp->Vertex2i;
snprintf(symboln, sizeof(symboln), "%sVertex2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2iv) {
+ void ** procp = (void **) &disp->Vertex2iv;
snprintf(symboln, sizeof(symboln), "%sVertex2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2s) {
+ void ** procp = (void **) &disp->Vertex2s;
snprintf(symboln, sizeof(symboln), "%sVertex2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex2sv) {
+ void ** procp = (void **) &disp->Vertex2sv;
snprintf(symboln, sizeof(symboln), "%sVertex2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex2sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3d) {
+ void ** procp = (void **) &disp->Vertex3d;
snprintf(symboln, sizeof(symboln), "%sVertex3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3dv) {
+ void ** procp = (void **) &disp->Vertex3dv;
snprintf(symboln, sizeof(symboln), "%sVertex3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3f) {
+ void ** procp = (void **) &disp->Vertex3f;
snprintf(symboln, sizeof(symboln), "%sVertex3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3fv) {
+ void ** procp = (void **) &disp->Vertex3fv;
snprintf(symboln, sizeof(symboln), "%sVertex3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3i) {
+ void ** procp = (void **) &disp->Vertex3i;
snprintf(symboln, sizeof(symboln), "%sVertex3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3iv) {
+ void ** procp = (void **) &disp->Vertex3iv;
snprintf(symboln, sizeof(symboln), "%sVertex3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3s) {
+ void ** procp = (void **) &disp->Vertex3s;
snprintf(symboln, sizeof(symboln), "%sVertex3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex3sv) {
+ void ** procp = (void **) &disp->Vertex3sv;
snprintf(symboln, sizeof(symboln), "%sVertex3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex3sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4d) {
+ void ** procp = (void **) &disp->Vertex4d;
snprintf(symboln, sizeof(symboln), "%sVertex4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4dv) {
+ void ** procp = (void **) &disp->Vertex4dv;
snprintf(symboln, sizeof(symboln), "%sVertex4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4f) {
+ void ** procp = (void **) &disp->Vertex4f;
snprintf(symboln, sizeof(symboln), "%sVertex4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4fv) {
+ void ** procp = (void **) &disp->Vertex4fv;
snprintf(symboln, sizeof(symboln), "%sVertex4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4i) {
+ void ** procp = (void **) &disp->Vertex4i;
snprintf(symboln, sizeof(symboln), "%sVertex4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4i;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4iv) {
+ void ** procp = (void **) &disp->Vertex4iv;
snprintf(symboln, sizeof(symboln), "%sVertex4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4iv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4s) {
+ void ** procp = (void **) &disp->Vertex4s;
snprintf(symboln, sizeof(symboln), "%sVertex4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4s;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Vertex4sv) {
+ void ** procp = (void **) &disp->Vertex4sv;
snprintf(symboln, sizeof(symboln), "%sVertex4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Vertex4sv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClipPlane) {
+ void ** procp = (void **) &disp->ClipPlane;
snprintf(symboln, sizeof(symboln), "%sClipPlane", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClipPlane;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorMaterial) {
+ void ** procp = (void **) &disp->ColorMaterial;
snprintf(symboln, sizeof(symboln), "%sColorMaterial", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorMaterial;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CullFace) {
+ void ** procp = (void **) &disp->CullFace;
snprintf(symboln, sizeof(symboln), "%sCullFace", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CullFace;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Fogf) {
+ void ** procp = (void **) &disp->Fogf;
snprintf(symboln, sizeof(symboln), "%sFogf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Fogf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Fogfv) {
+ void ** procp = (void **) &disp->Fogfv;
snprintf(symboln, sizeof(symboln), "%sFogfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Fogfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Fogi) {
+ void ** procp = (void **) &disp->Fogi;
snprintf(symboln, sizeof(symboln), "%sFogi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Fogi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Fogiv) {
+ void ** procp = (void **) &disp->Fogiv;
snprintf(symboln, sizeof(symboln), "%sFogiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Fogiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FrontFace) {
+ void ** procp = (void **) &disp->FrontFace;
snprintf(symboln, sizeof(symboln), "%sFrontFace", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FrontFace;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Hint) {
+ void ** procp = (void **) &disp->Hint;
snprintf(symboln, sizeof(symboln), "%sHint", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Hint;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Lightf) {
+ void ** procp = (void **) &disp->Lightf;
snprintf(symboln, sizeof(symboln), "%sLightf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Lightf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Lightfv) {
+ void ** procp = (void **) &disp->Lightfv;
snprintf(symboln, sizeof(symboln), "%sLightfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Lightfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Lighti) {
+ void ** procp = (void **) &disp->Lighti;
snprintf(symboln, sizeof(symboln), "%sLighti", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Lighti;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Lightiv) {
+ void ** procp = (void **) &disp->Lightiv;
snprintf(symboln, sizeof(symboln), "%sLightiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Lightiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LightModelf) {
+ void ** procp = (void **) &disp->LightModelf;
snprintf(symboln, sizeof(symboln), "%sLightModelf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LightModelf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LightModelfv) {
+ void ** procp = (void **) &disp->LightModelfv;
snprintf(symboln, sizeof(symboln), "%sLightModelfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LightModelfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LightModeli) {
+ void ** procp = (void **) &disp->LightModeli;
snprintf(symboln, sizeof(symboln), "%sLightModeli", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LightModeli;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LightModeliv) {
+ void ** procp = (void **) &disp->LightModeliv;
snprintf(symboln, sizeof(symboln), "%sLightModeliv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LightModeliv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LineStipple) {
+ void ** procp = (void **) &disp->LineStipple;
snprintf(symboln, sizeof(symboln), "%sLineStipple", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LineStipple;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LineWidth) {
+ void ** procp = (void **) &disp->LineWidth;
snprintf(symboln, sizeof(symboln), "%sLineWidth", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LineWidth;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Materialf) {
+ void ** procp = (void **) &disp->Materialf;
snprintf(symboln, sizeof(symboln), "%sMaterialf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Materialf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Materialfv) {
+ void ** procp = (void **) &disp->Materialfv;
snprintf(symboln, sizeof(symboln), "%sMaterialfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Materialfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Materiali) {
+ void ** procp = (void **) &disp->Materiali;
snprintf(symboln, sizeof(symboln), "%sMateriali", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Materiali;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Materialiv) {
+ void ** procp = (void **) &disp->Materialiv;
snprintf(symboln, sizeof(symboln), "%sMaterialiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Materialiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointSize) {
+ void ** procp = (void **) &disp->PointSize;
snprintf(symboln, sizeof(symboln), "%sPointSize", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointSize;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PolygonMode) {
+ void ** procp = (void **) &disp->PolygonMode;
snprintf(symboln, sizeof(symboln), "%sPolygonMode", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PolygonMode;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PolygonStipple) {
+ void ** procp = (void **) &disp->PolygonStipple;
snprintf(symboln, sizeof(symboln), "%sPolygonStipple", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PolygonStipple;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Scissor) {
+ void ** procp = (void **) &disp->Scissor;
snprintf(symboln, sizeof(symboln), "%sScissor", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Scissor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ShadeModel) {
+ void ** procp = (void **) &disp->ShadeModel;
snprintf(symboln, sizeof(symboln), "%sShadeModel", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ShadeModel;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterf) {
+ void ** procp = (void **) &disp->TexParameterf;
snprintf(symboln, sizeof(symboln), "%sTexParameterf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterfv) {
+ void ** procp = (void **) &disp->TexParameterfv;
snprintf(symboln, sizeof(symboln), "%sTexParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameteri) {
+ void ** procp = (void **) &disp->TexParameteri;
snprintf(symboln, sizeof(symboln), "%sTexParameteri", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameteri;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameteriv) {
+ void ** procp = (void **) &disp->TexParameteriv;
snprintf(symboln, sizeof(symboln), "%sTexParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexImage1D) {
+ void ** procp = (void **) &disp->TexImage1D;
snprintf(symboln, sizeof(symboln), "%sTexImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexImage2D) {
+ void ** procp = (void **) &disp->TexImage2D;
snprintf(symboln, sizeof(symboln), "%sTexImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexEnvf) {
+ void ** procp = (void **) &disp->TexEnvf;
snprintf(symboln, sizeof(symboln), "%sTexEnvf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexEnvf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexEnvfv) {
+ void ** procp = (void **) &disp->TexEnvfv;
snprintf(symboln, sizeof(symboln), "%sTexEnvfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexEnvfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexEnvi) {
+ void ** procp = (void **) &disp->TexEnvi;
snprintf(symboln, sizeof(symboln), "%sTexEnvi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexEnvi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexEnviv) {
+ void ** procp = (void **) &disp->TexEnviv;
snprintf(symboln, sizeof(symboln), "%sTexEnviv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexEnviv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGend) {
+ void ** procp = (void **) &disp->TexGend;
snprintf(symboln, sizeof(symboln), "%sTexGend", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGend;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGendv) {
+ void ** procp = (void **) &disp->TexGendv;
snprintf(symboln, sizeof(symboln), "%sTexGendv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGendv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGenf) {
+ void ** procp = (void **) &disp->TexGenf;
snprintf(symboln, sizeof(symboln), "%sTexGenf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGenf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGenfv) {
+ void ** procp = (void **) &disp->TexGenfv;
snprintf(symboln, sizeof(symboln), "%sTexGenfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGenfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGeni) {
+ void ** procp = (void **) &disp->TexGeni;
snprintf(symboln, sizeof(symboln), "%sTexGeni", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGeni;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexGeniv) {
+ void ** procp = (void **) &disp->TexGeniv;
snprintf(symboln, sizeof(symboln), "%sTexGeniv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexGeniv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FeedbackBuffer) {
+ void ** procp = (void **) &disp->FeedbackBuffer;
snprintf(symboln, sizeof(symboln), "%sFeedbackBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FeedbackBuffer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SelectBuffer) {
+ void ** procp = (void **) &disp->SelectBuffer;
snprintf(symboln, sizeof(symboln), "%sSelectBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SelectBuffer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RenderMode) {
+ void ** procp = (void **) &disp->RenderMode;
snprintf(symboln, sizeof(symboln), "%sRenderMode", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RenderMode;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->InitNames) {
+ void ** procp = (void **) &disp->InitNames;
snprintf(symboln, sizeof(symboln), "%sInitNames", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->InitNames;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadName) {
+ void ** procp = (void **) &disp->LoadName;
snprintf(symboln, sizeof(symboln), "%sLoadName", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadName;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PassThrough) {
+ void ** procp = (void **) &disp->PassThrough;
snprintf(symboln, sizeof(symboln), "%sPassThrough", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PassThrough;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PopName) {
+ void ** procp = (void **) &disp->PopName;
snprintf(symboln, sizeof(symboln), "%sPopName", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PopName;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PushName) {
+ void ** procp = (void **) &disp->PushName;
snprintf(symboln, sizeof(symboln), "%sPushName", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PushName;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawBuffer) {
+ void ** procp = (void **) &disp->DrawBuffer;
snprintf(symboln, sizeof(symboln), "%sDrawBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawBuffer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Clear) {
+ void ** procp = (void **) &disp->Clear;
snprintf(symboln, sizeof(symboln), "%sClear", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Clear;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearAccum) {
+ void ** procp = (void **) &disp->ClearAccum;
snprintf(symboln, sizeof(symboln), "%sClearAccum", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearAccum;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearIndex) {
+ void ** procp = (void **) &disp->ClearIndex;
snprintf(symboln, sizeof(symboln), "%sClearIndex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearIndex;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearColor) {
+ void ** procp = (void **) &disp->ClearColor;
snprintf(symboln, sizeof(symboln), "%sClearColor", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearColor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearStencil) {
+ void ** procp = (void **) &disp->ClearStencil;
snprintf(symboln, sizeof(symboln), "%sClearStencil", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearStencil;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearDepth) {
+ void ** procp = (void **) &disp->ClearDepth;
snprintf(symboln, sizeof(symboln), "%sClearDepth", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearDepth;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilMask) {
+ void ** procp = (void **) &disp->StencilMask;
snprintf(symboln, sizeof(symboln), "%sStencilMask", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilMask;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorMask) {
+ void ** procp = (void **) &disp->ColorMask;
snprintf(symboln, sizeof(symboln), "%sColorMask", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorMask;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DepthMask) {
+ void ** procp = (void **) &disp->DepthMask;
snprintf(symboln, sizeof(symboln), "%sDepthMask", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DepthMask;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IndexMask) {
+ void ** procp = (void **) &disp->IndexMask;
snprintf(symboln, sizeof(symboln), "%sIndexMask", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IndexMask;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Accum) {
+ void ** procp = (void **) &disp->Accum;
snprintf(symboln, sizeof(symboln), "%sAccum", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Accum;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Disable) {
+ void ** procp = (void **) &disp->Disable;
snprintf(symboln, sizeof(symboln), "%sDisable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Disable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Enable) {
+ void ** procp = (void **) &disp->Enable;
snprintf(symboln, sizeof(symboln), "%sEnable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Enable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Finish) {
+ void ** procp = (void **) &disp->Finish;
snprintf(symboln, sizeof(symboln), "%sFinish", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Finish;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Flush) {
+ void ** procp = (void **) &disp->Flush;
snprintf(symboln, sizeof(symboln), "%sFlush", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Flush;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PopAttrib) {
+ void ** procp = (void **) &disp->PopAttrib;
snprintf(symboln, sizeof(symboln), "%sPopAttrib", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PopAttrib;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PushAttrib) {
+ void ** procp = (void **) &disp->PushAttrib;
snprintf(symboln, sizeof(symboln), "%sPushAttrib", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PushAttrib;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Map1d) {
+ void ** procp = (void **) &disp->Map1d;
snprintf(symboln, sizeof(symboln), "%sMap1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Map1d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Map1f) {
+ void ** procp = (void **) &disp->Map1f;
snprintf(symboln, sizeof(symboln), "%sMap1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Map1f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Map2d) {
+ void ** procp = (void **) &disp->Map2d;
snprintf(symboln, sizeof(symboln), "%sMap2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Map2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Map2f) {
+ void ** procp = (void **) &disp->Map2f;
snprintf(symboln, sizeof(symboln), "%sMap2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Map2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapGrid1d) {
+ void ** procp = (void **) &disp->MapGrid1d;
snprintf(symboln, sizeof(symboln), "%sMapGrid1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapGrid1d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapGrid1f) {
+ void ** procp = (void **) &disp->MapGrid1f;
snprintf(symboln, sizeof(symboln), "%sMapGrid1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapGrid1f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapGrid2d) {
+ void ** procp = (void **) &disp->MapGrid2d;
snprintf(symboln, sizeof(symboln), "%sMapGrid2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapGrid2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapGrid2f) {
+ void ** procp = (void **) &disp->MapGrid2f;
snprintf(symboln, sizeof(symboln), "%sMapGrid2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapGrid2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord1d) {
+ void ** procp = (void **) &disp->EvalCoord1d;
snprintf(symboln, sizeof(symboln), "%sEvalCoord1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord1d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord1dv) {
+ void ** procp = (void **) &disp->EvalCoord1dv;
snprintf(symboln, sizeof(symboln), "%sEvalCoord1dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord1dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord1f) {
+ void ** procp = (void **) &disp->EvalCoord1f;
snprintf(symboln, sizeof(symboln), "%sEvalCoord1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord1f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord1fv) {
+ void ** procp = (void **) &disp->EvalCoord1fv;
snprintf(symboln, sizeof(symboln), "%sEvalCoord1fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord1fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord2d) {
+ void ** procp = (void **) &disp->EvalCoord2d;
snprintf(symboln, sizeof(symboln), "%sEvalCoord2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord2d;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord2dv) {
+ void ** procp = (void **) &disp->EvalCoord2dv;
snprintf(symboln, sizeof(symboln), "%sEvalCoord2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord2dv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord2f) {
+ void ** procp = (void **) &disp->EvalCoord2f;
snprintf(symboln, sizeof(symboln), "%sEvalCoord2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord2f;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalCoord2fv) {
+ void ** procp = (void **) &disp->EvalCoord2fv;
snprintf(symboln, sizeof(symboln), "%sEvalCoord2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalCoord2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalMesh1) {
+ void ** procp = (void **) &disp->EvalMesh1;
snprintf(symboln, sizeof(symboln), "%sEvalMesh1", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalMesh1;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalPoint1) {
+ void ** procp = (void **) &disp->EvalPoint1;
snprintf(symboln, sizeof(symboln), "%sEvalPoint1", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalPoint1;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalMesh2) {
+ void ** procp = (void **) &disp->EvalMesh2;
snprintf(symboln, sizeof(symboln), "%sEvalMesh2", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalMesh2;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EvalPoint2) {
+ void ** procp = (void **) &disp->EvalPoint2;
snprintf(symboln, sizeof(symboln), "%sEvalPoint2", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EvalPoint2;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AlphaFunc) {
+ void ** procp = (void **) &disp->AlphaFunc;
snprintf(symboln, sizeof(symboln), "%sAlphaFunc", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AlphaFunc;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFunc) {
+ void ** procp = (void **) &disp->BlendFunc;
snprintf(symboln, sizeof(symboln), "%sBlendFunc", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFunc;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LogicOp) {
+ void ** procp = (void **) &disp->LogicOp;
snprintf(symboln, sizeof(symboln), "%sLogicOp", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LogicOp;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilFunc) {
+ void ** procp = (void **) &disp->StencilFunc;
snprintf(symboln, sizeof(symboln), "%sStencilFunc", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilFunc;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilOp) {
+ void ** procp = (void **) &disp->StencilOp;
snprintf(symboln, sizeof(symboln), "%sStencilOp", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilOp;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DepthFunc) {
+ void ** procp = (void **) &disp->DepthFunc;
snprintf(symboln, sizeof(symboln), "%sDepthFunc", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DepthFunc;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelZoom) {
+ void ** procp = (void **) &disp->PixelZoom;
snprintf(symboln, sizeof(symboln), "%sPixelZoom", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelZoom;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTransferf) {
+ void ** procp = (void **) &disp->PixelTransferf;
snprintf(symboln, sizeof(symboln), "%sPixelTransferf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTransferf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTransferi) {
+ void ** procp = (void **) &disp->PixelTransferi;
snprintf(symboln, sizeof(symboln), "%sPixelTransferi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTransferi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelStoref) {
+ void ** procp = (void **) &disp->PixelStoref;
snprintf(symboln, sizeof(symboln), "%sPixelStoref", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelStoref;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelStorei) {
+ void ** procp = (void **) &disp->PixelStorei;
snprintf(symboln, sizeof(symboln), "%sPixelStorei", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelStorei;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelMapfv) {
+ void ** procp = (void **) &disp->PixelMapfv;
snprintf(symboln, sizeof(symboln), "%sPixelMapfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelMapfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelMapuiv) {
+ void ** procp = (void **) &disp->PixelMapuiv;
snprintf(symboln, sizeof(symboln), "%sPixelMapuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelMapuiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelMapusv) {
+ void ** procp = (void **) &disp->PixelMapusv;
snprintf(symboln, sizeof(symboln), "%sPixelMapusv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelMapusv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ReadBuffer) {
+ void ** procp = (void **) &disp->ReadBuffer;
snprintf(symboln, sizeof(symboln), "%sReadBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ReadBuffer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyPixels) {
+ void ** procp = (void **) &disp->CopyPixels;
snprintf(symboln, sizeof(symboln), "%sCopyPixels", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyPixels;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ReadPixels) {
+ void ** procp = (void **) &disp->ReadPixels;
snprintf(symboln, sizeof(symboln), "%sReadPixels", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ReadPixels;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawPixels) {
+ void ** procp = (void **) &disp->DrawPixels;
snprintf(symboln, sizeof(symboln), "%sDrawPixels", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawPixels;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBooleanv) {
+ void ** procp = (void **) &disp->GetBooleanv;
snprintf(symboln, sizeof(symboln), "%sGetBooleanv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBooleanv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetClipPlane) {
+ void ** procp = (void **) &disp->GetClipPlane;
snprintf(symboln, sizeof(symboln), "%sGetClipPlane", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetClipPlane;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetDoublev) {
+ void ** procp = (void **) &disp->GetDoublev;
snprintf(symboln, sizeof(symboln), "%sGetDoublev", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetDoublev;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetError) {
+ void ** procp = (void **) &disp->GetError;
snprintf(symboln, sizeof(symboln), "%sGetError", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetError;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFloatv) {
+ void ** procp = (void **) &disp->GetFloatv;
snprintf(symboln, sizeof(symboln), "%sGetFloatv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFloatv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetIntegerv) {
+ void ** procp = (void **) &disp->GetIntegerv;
snprintf(symboln, sizeof(symboln), "%sGetIntegerv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetIntegerv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetLightfv) {
+ void ** procp = (void **) &disp->GetLightfv;
snprintf(symboln, sizeof(symboln), "%sGetLightfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetLightfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetLightiv) {
+ void ** procp = (void **) &disp->GetLightiv;
snprintf(symboln, sizeof(symboln), "%sGetLightiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetLightiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMapdv) {
+ void ** procp = (void **) &disp->GetMapdv;
snprintf(symboln, sizeof(symboln), "%sGetMapdv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMapdv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMapfv) {
+ void ** procp = (void **) &disp->GetMapfv;
snprintf(symboln, sizeof(symboln), "%sGetMapfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMapfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMapiv) {
+ void ** procp = (void **) &disp->GetMapiv;
snprintf(symboln, sizeof(symboln), "%sGetMapiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMapiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMaterialfv) {
+ void ** procp = (void **) &disp->GetMaterialfv;
snprintf(symboln, sizeof(symboln), "%sGetMaterialfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMaterialfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMaterialiv) {
+ void ** procp = (void **) &disp->GetMaterialiv;
snprintf(symboln, sizeof(symboln), "%sGetMaterialiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMaterialiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPixelMapfv) {
+ void ** procp = (void **) &disp->GetPixelMapfv;
snprintf(symboln, sizeof(symboln), "%sGetPixelMapfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPixelMapfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPixelMapuiv) {
+ void ** procp = (void **) &disp->GetPixelMapuiv;
snprintf(symboln, sizeof(symboln), "%sGetPixelMapuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPixelMapuiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPixelMapusv) {
+ void ** procp = (void **) &disp->GetPixelMapusv;
snprintf(symboln, sizeof(symboln), "%sGetPixelMapusv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPixelMapusv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPolygonStipple) {
+ void ** procp = (void **) &disp->GetPolygonStipple;
snprintf(symboln, sizeof(symboln), "%sGetPolygonStipple", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPolygonStipple;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetString) {
+ void ** procp = (void **) &disp->GetString;
snprintf(symboln, sizeof(symboln), "%sGetString", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetString;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexEnvfv) {
+ void ** procp = (void **) &disp->GetTexEnvfv;
snprintf(symboln, sizeof(symboln), "%sGetTexEnvfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexEnvfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexEnviv) {
+ void ** procp = (void **) &disp->GetTexEnviv;
snprintf(symboln, sizeof(symboln), "%sGetTexEnviv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexEnviv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexGendv) {
+ void ** procp = (void **) &disp->GetTexGendv;
snprintf(symboln, sizeof(symboln), "%sGetTexGendv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexGendv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexGenfv) {
+ void ** procp = (void **) &disp->GetTexGenfv;
snprintf(symboln, sizeof(symboln), "%sGetTexGenfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexGenfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexGeniv) {
+ void ** procp = (void **) &disp->GetTexGeniv;
snprintf(symboln, sizeof(symboln), "%sGetTexGeniv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexGeniv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexImage) {
+ void ** procp = (void **) &disp->GetTexImage;
snprintf(symboln, sizeof(symboln), "%sGetTexImage", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexImage;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterfv) {
+ void ** procp = (void **) &disp->GetTexParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameteriv) {
+ void ** procp = (void **) &disp->GetTexParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetTexParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexLevelParameterfv) {
+ void ** procp = (void **) &disp->GetTexLevelParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetTexLevelParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexLevelParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexLevelParameteriv) {
+ void ** procp = (void **) &disp->GetTexLevelParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetTexLevelParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexLevelParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsEnabled) {
+ void ** procp = (void **) &disp->IsEnabled;
snprintf(symboln, sizeof(symboln), "%sIsEnabled", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsEnabled;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsList) {
+ void ** procp = (void **) &disp->IsList;
snprintf(symboln, sizeof(symboln), "%sIsList", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsList;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DepthRange) {
+ void ** procp = (void **) &disp->DepthRange;
snprintf(symboln, sizeof(symboln), "%sDepthRange", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DepthRange;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Frustum) {
+ void ** procp = (void **) &disp->Frustum;
snprintf(symboln, sizeof(symboln), "%sFrustum", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Frustum;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadIdentity) {
+ void ** procp = (void **) &disp->LoadIdentity;
snprintf(symboln, sizeof(symboln), "%sLoadIdentity", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadIdentity;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadMatrixf) {
+ void ** procp = (void **) &disp->LoadMatrixf;
snprintf(symboln, sizeof(symboln), "%sLoadMatrixf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadMatrixf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadMatrixd) {
+ void ** procp = (void **) &disp->LoadMatrixd;
snprintf(symboln, sizeof(symboln), "%sLoadMatrixd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadMatrixd;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MatrixMode) {
+ void ** procp = (void **) &disp->MatrixMode;
snprintf(symboln, sizeof(symboln), "%sMatrixMode", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MatrixMode;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultMatrixf) {
+ void ** procp = (void **) &disp->MultMatrixf;
snprintf(symboln, sizeof(symboln), "%sMultMatrixf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultMatrixf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultMatrixd) {
+ void ** procp = (void **) &disp->MultMatrixd;
snprintf(symboln, sizeof(symboln), "%sMultMatrixd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultMatrixd;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Ortho) {
+ void ** procp = (void **) &disp->Ortho;
snprintf(symboln, sizeof(symboln), "%sOrtho", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Ortho;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PopMatrix) {
+ void ** procp = (void **) &disp->PopMatrix;
snprintf(symboln, sizeof(symboln), "%sPopMatrix", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PopMatrix;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PushMatrix) {
+ void ** procp = (void **) &disp->PushMatrix;
snprintf(symboln, sizeof(symboln), "%sPushMatrix", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PushMatrix;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rotated) {
+ void ** procp = (void **) &disp->Rotated;
snprintf(symboln, sizeof(symboln), "%sRotated", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rotated;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Rotatef) {
+ void ** procp = (void **) &disp->Rotatef;
snprintf(symboln, sizeof(symboln), "%sRotatef", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Rotatef;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Scaled) {
+ void ** procp = (void **) &disp->Scaled;
snprintf(symboln, sizeof(symboln), "%sScaled", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Scaled;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Scalef) {
+ void ** procp = (void **) &disp->Scalef;
snprintf(symboln, sizeof(symboln), "%sScalef", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Scalef;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Translated) {
+ void ** procp = (void **) &disp->Translated;
snprintf(symboln, sizeof(symboln), "%sTranslated", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Translated;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Translatef) {
+ void ** procp = (void **) &disp->Translatef;
snprintf(symboln, sizeof(symboln), "%sTranslatef", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Translatef;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Viewport) {
+ void ** procp = (void **) &disp->Viewport;
snprintf(symboln, sizeof(symboln), "%sViewport", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Viewport;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ArrayElement) {
+ void ** procp = (void **) &disp->ArrayElement;
snprintf(symboln, sizeof(symboln), "%sArrayElement", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ArrayElement;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ArrayElement) {
+ void ** procp = (void **) &disp->ArrayElement;
snprintf(symboln, sizeof(symboln), "%sArrayElementEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ArrayElement;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindTexture) {
+ void ** procp = (void **) &disp->BindTexture;
snprintf(symboln, sizeof(symboln), "%sBindTexture", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindTexture;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindTexture) {
+ void ** procp = (void **) &disp->BindTexture;
snprintf(symboln, sizeof(symboln), "%sBindTextureEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindTexture;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorPointer) {
+ void ** procp = (void **) &disp->ColorPointer;
snprintf(symboln, sizeof(symboln), "%sColorPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DisableClientState) {
+ void ** procp = (void **) &disp->DisableClientState;
snprintf(symboln, sizeof(symboln), "%sDisableClientState", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DisableClientState;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawArrays) {
+ void ** procp = (void **) &disp->DrawArrays;
snprintf(symboln, sizeof(symboln), "%sDrawArrays", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawArrays;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawArrays) {
+ void ** procp = (void **) &disp->DrawArrays;
snprintf(symboln, sizeof(symboln), "%sDrawArraysEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawArrays;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElements) {
+ void ** procp = (void **) &disp->DrawElements;
snprintf(symboln, sizeof(symboln), "%sDrawElements", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElements;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EdgeFlagPointer) {
+ void ** procp = (void **) &disp->EdgeFlagPointer;
snprintf(symboln, sizeof(symboln), "%sEdgeFlagPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EdgeFlagPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EnableClientState) {
+ void ** procp = (void **) &disp->EnableClientState;
snprintf(symboln, sizeof(symboln), "%sEnableClientState", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EnableClientState;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IndexPointer) {
+ void ** procp = (void **) &disp->IndexPointer;
snprintf(symboln, sizeof(symboln), "%sIndexPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IndexPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexub) {
+ void ** procp = (void **) &disp->Indexub;
snprintf(symboln, sizeof(symboln), "%sIndexub", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexub;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Indexubv) {
+ void ** procp = (void **) &disp->Indexubv;
snprintf(symboln, sizeof(symboln), "%sIndexubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Indexubv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->InterleavedArrays) {
+ void ** procp = (void **) &disp->InterleavedArrays;
snprintf(symboln, sizeof(symboln), "%sInterleavedArrays", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->InterleavedArrays;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->NormalPointer) {
+ void ** procp = (void **) &disp->NormalPointer;
snprintf(symboln, sizeof(symboln), "%sNormalPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->NormalPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PolygonOffset) {
+ void ** procp = (void **) &disp->PolygonOffset;
snprintf(symboln, sizeof(symboln), "%sPolygonOffset", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PolygonOffset;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoordPointer) {
+ void ** procp = (void **) &disp->TexCoordPointer;
snprintf(symboln, sizeof(symboln), "%sTexCoordPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoordPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexPointer) {
+ void ** procp = (void **) &disp->VertexPointer;
snprintf(symboln, sizeof(symboln), "%sVertexPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexPointer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AreTexturesResident) {
+ void ** procp = (void **) &disp->AreTexturesResident;
snprintf(symboln, sizeof(symboln), "%sAreTexturesResident", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AreTexturesResident;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AreTexturesResident) {
+ void ** procp = (void **) &disp->AreTexturesResident;
snprintf(symboln, sizeof(symboln), "%sAreTexturesResidentEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AreTexturesResident;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexImage1D) {
+ void ** procp = (void **) &disp->CopyTexImage1D;
snprintf(symboln, sizeof(symboln), "%sCopyTexImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexImage1D) {
+ void ** procp = (void **) &disp->CopyTexImage1D;
snprintf(symboln, sizeof(symboln), "%sCopyTexImage1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexImage2D) {
+ void ** procp = (void **) &disp->CopyTexImage2D;
snprintf(symboln, sizeof(symboln), "%sCopyTexImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexImage2D) {
+ void ** procp = (void **) &disp->CopyTexImage2D;
snprintf(symboln, sizeof(symboln), "%sCopyTexImage2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage1D) {
+ void ** procp = (void **) &disp->CopyTexSubImage1D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage1D) {
+ void ** procp = (void **) &disp->CopyTexSubImage1D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage2D) {
+ void ** procp = (void **) &disp->CopyTexSubImage2D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage2D) {
+ void ** procp = (void **) &disp->CopyTexSubImage2D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteTextures) {
+ void ** procp = (void **) &disp->DeleteTextures;
snprintf(symboln, sizeof(symboln), "%sDeleteTextures", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteTextures) {
+ void ** procp = (void **) &disp->DeleteTextures;
snprintf(symboln, sizeof(symboln), "%sDeleteTexturesEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenTextures) {
+ void ** procp = (void **) &disp->GenTextures;
snprintf(symboln, sizeof(symboln), "%sGenTextures", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenTextures) {
+ void ** procp = (void **) &disp->GenTextures;
snprintf(symboln, sizeof(symboln), "%sGenTexturesEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPointerv) {
+ void ** procp = (void **) &disp->GetPointerv;
snprintf(symboln, sizeof(symboln), "%sGetPointerv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPointerv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPointerv) {
+ void ** procp = (void **) &disp->GetPointerv;
snprintf(symboln, sizeof(symboln), "%sGetPointervEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPointerv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsTexture) {
+ void ** procp = (void **) &disp->IsTexture;
snprintf(symboln, sizeof(symboln), "%sIsTexture", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsTexture;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsTexture) {
+ void ** procp = (void **) &disp->IsTexture;
snprintf(symboln, sizeof(symboln), "%sIsTextureEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsTexture;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PrioritizeTextures) {
+ void ** procp = (void **) &disp->PrioritizeTextures;
snprintf(symboln, sizeof(symboln), "%sPrioritizeTextures", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PrioritizeTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PrioritizeTextures) {
+ void ** procp = (void **) &disp->PrioritizeTextures;
snprintf(symboln, sizeof(symboln), "%sPrioritizeTexturesEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PrioritizeTextures;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage1D) {
+ void ** procp = (void **) &disp->TexSubImage1D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage1D) {
+ void ** procp = (void **) &disp->TexSubImage1D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage2D) {
+ void ** procp = (void **) &disp->TexSubImage2D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage2D) {
+ void ** procp = (void **) &disp->TexSubImage2D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PopClientAttrib) {
+ void ** procp = (void **) &disp->PopClientAttrib;
snprintf(symboln, sizeof(symboln), "%sPopClientAttrib", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PopClientAttrib;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PushClientAttrib) {
+ void ** procp = (void **) &disp->PushClientAttrib;
snprintf(symboln, sizeof(symboln), "%sPushClientAttrib", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PushClientAttrib;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendColor) {
+ void ** procp = (void **) &disp->BlendColor;
snprintf(symboln, sizeof(symboln), "%sBlendColor", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendColor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendColor) {
+ void ** procp = (void **) &disp->BlendColor;
snprintf(symboln, sizeof(symboln), "%sBlendColorEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendColor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquation) {
+ void ** procp = (void **) &disp->BlendEquation;
snprintf(symboln, sizeof(symboln), "%sBlendEquation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquation;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquation) {
+ void ** procp = (void **) &disp->BlendEquation;
snprintf(symboln, sizeof(symboln), "%sBlendEquationEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquation;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawRangeElements) {
+ void ** procp = (void **) &disp->DrawRangeElements;
snprintf(symboln, sizeof(symboln), "%sDrawRangeElements", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawRangeElements;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawRangeElements) {
+ void ** procp = (void **) &disp->DrawRangeElements;
snprintf(symboln, sizeof(symboln), "%sDrawRangeElementsEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawRangeElements;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTable) {
+ void ** procp = (void **) &disp->ColorTable;
snprintf(symboln, sizeof(symboln), "%sColorTable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTable) {
+ void ** procp = (void **) &disp->ColorTable;
snprintf(symboln, sizeof(symboln), "%sColorTableSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTable) {
+ void ** procp = (void **) &disp->ColorTable;
snprintf(symboln, sizeof(symboln), "%sColorTableEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTableParameterfv) {
+ void ** procp = (void **) &disp->ColorTableParameterfv;
snprintf(symboln, sizeof(symboln), "%sColorTableParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTableParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTableParameterfv) {
+ void ** procp = (void **) &disp->ColorTableParameterfv;
snprintf(symboln, sizeof(symboln), "%sColorTableParameterfvSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTableParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTableParameteriv) {
+ void ** procp = (void **) &disp->ColorTableParameteriv;
snprintf(symboln, sizeof(symboln), "%sColorTableParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTableParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorTableParameteriv) {
+ void ** procp = (void **) &disp->ColorTableParameteriv;
snprintf(symboln, sizeof(symboln), "%sColorTableParameterivSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorTableParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyColorTable) {
+ void ** procp = (void **) &disp->CopyColorTable;
snprintf(symboln, sizeof(symboln), "%sCopyColorTable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyColorTable) {
+ void ** procp = (void **) &disp->CopyColorTable;
snprintf(symboln, sizeof(symboln), "%sCopyColorTableSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTable) {
+ void ** procp = (void **) &disp->GetColorTable;
snprintf(symboln, sizeof(symboln), "%sGetColorTable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTable) {
+ void ** procp = (void **) &disp->GetColorTable;
snprintf(symboln, sizeof(symboln), "%sGetColorTableSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTable) {
+ void ** procp = (void **) &disp->GetColorTable;
snprintf(symboln, sizeof(symboln), "%sGetColorTableEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameterfv) {
+ void ** procp = (void **) &disp->GetColorTableParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameterfv) {
+ void ** procp = (void **) &disp->GetColorTableParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfvSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameterfv) {
+ void ** procp = (void **) &disp->GetColorTableParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameteriv) {
+ void ** procp = (void **) &disp->GetColorTableParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameteriv) {
+ void ** procp = (void **) &disp->GetColorTableParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterivSGI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetColorTableParameteriv) {
+ void ** procp = (void **) &disp->GetColorTableParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetColorTableParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetColorTableParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorSubTable) {
+ void ** procp = (void **) &disp->ColorSubTable;
snprintf(symboln, sizeof(symboln), "%sColorSubTable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorSubTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorSubTable) {
+ void ** procp = (void **) &disp->ColorSubTable;
snprintf(symboln, sizeof(symboln), "%sColorSubTableEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorSubTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyColorSubTable) {
+ void ** procp = (void **) &disp->CopyColorSubTable;
snprintf(symboln, sizeof(symboln), "%sCopyColorSubTable", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyColorSubTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyColorSubTable) {
+ void ** procp = (void **) &disp->CopyColorSubTable;
snprintf(symboln, sizeof(symboln), "%sCopyColorSubTableEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyColorSubTable;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionFilter1D) {
+ void ** procp = (void **) &disp->ConvolutionFilter1D;
snprintf(symboln, sizeof(symboln), "%sConvolutionFilter1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionFilter1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionFilter1D) {
+ void ** procp = (void **) &disp->ConvolutionFilter1D;
snprintf(symboln, sizeof(symboln), "%sConvolutionFilter1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionFilter1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionFilter2D) {
+ void ** procp = (void **) &disp->ConvolutionFilter2D;
snprintf(symboln, sizeof(symboln), "%sConvolutionFilter2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionFilter2D) {
+ void ** procp = (void **) &disp->ConvolutionFilter2D;
snprintf(symboln, sizeof(symboln), "%sConvolutionFilter2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameterf) {
+ void ** procp = (void **) &disp->ConvolutionParameterf;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameterf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameterf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameterf) {
+ void ** procp = (void **) &disp->ConvolutionParameterf;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameterf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameterfv) {
+ void ** procp = (void **) &disp->ConvolutionParameterfv;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameterfv) {
+ void ** procp = (void **) &disp->ConvolutionParameterfv;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameteri) {
+ void ** procp = (void **) &disp->ConvolutionParameteri;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameteri", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameteri;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameteri) {
+ void ** procp = (void **) &disp->ConvolutionParameteri;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameteriEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameteri;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameteriv) {
+ void ** procp = (void **) &disp->ConvolutionParameteriv;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ConvolutionParameteriv) {
+ void ** procp = (void **) &disp->ConvolutionParameteriv;
snprintf(symboln, sizeof(symboln), "%sConvolutionParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ConvolutionParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyConvolutionFilter1D) {
+ void ** procp = (void **) &disp->CopyConvolutionFilter1D;
snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyConvolutionFilter1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyConvolutionFilter1D) {
+ void ** procp = (void **) &disp->CopyConvolutionFilter1D;
snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyConvolutionFilter1D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyConvolutionFilter2D) {
+ void ** procp = (void **) &disp->CopyConvolutionFilter2D;
snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyConvolutionFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyConvolutionFilter2D) {
+ void ** procp = (void **) &disp->CopyConvolutionFilter2D;
snprintf(symboln, sizeof(symboln), "%sCopyConvolutionFilter2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyConvolutionFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionFilter) {
+ void ** procp = (void **) &disp->GetConvolutionFilter;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionFilter", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionFilter;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionFilter) {
+ void ** procp = (void **) &disp->GetConvolutionFilter;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionFilterEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionFilter;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionParameterfv) {
+ void ** procp = (void **) &disp->GetConvolutionParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionParameterfv) {
+ void ** procp = (void **) &disp->GetConvolutionParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionParameteriv) {
+ void ** procp = (void **) &disp->GetConvolutionParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetConvolutionParameteriv) {
+ void ** procp = (void **) &disp->GetConvolutionParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetConvolutionParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetConvolutionParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSeparableFilter) {
+ void ** procp = (void **) &disp->GetSeparableFilter;
snprintf(symboln, sizeof(symboln), "%sGetSeparableFilter", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSeparableFilter;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSeparableFilter) {
+ void ** procp = (void **) &disp->GetSeparableFilter;
snprintf(symboln, sizeof(symboln), "%sGetSeparableFilterEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSeparableFilter;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SeparableFilter2D) {
+ void ** procp = (void **) &disp->SeparableFilter2D;
snprintf(symboln, sizeof(symboln), "%sSeparableFilter2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SeparableFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SeparableFilter2D) {
+ void ** procp = (void **) &disp->SeparableFilter2D;
snprintf(symboln, sizeof(symboln), "%sSeparableFilter2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SeparableFilter2D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogram) {
+ void ** procp = (void **) &disp->GetHistogram;
snprintf(symboln, sizeof(symboln), "%sGetHistogram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogram) {
+ void ** procp = (void **) &disp->GetHistogram;
snprintf(symboln, sizeof(symboln), "%sGetHistogramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogramParameterfv) {
+ void ** procp = (void **) &disp->GetHistogramParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogramParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogramParameterfv) {
+ void ** procp = (void **) &disp->GetHistogramParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogramParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogramParameteriv) {
+ void ** procp = (void **) &disp->GetHistogramParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetHistogramParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogramParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHistogramParameteriv) {
+ void ** procp = (void **) &disp->GetHistogramParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetHistogramParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHistogramParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmax) {
+ void ** procp = (void **) &disp->GetMinmax;
snprintf(symboln, sizeof(symboln), "%sGetMinmax", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmax) {
+ void ** procp = (void **) &disp->GetMinmax;
snprintf(symboln, sizeof(symboln), "%sGetMinmaxEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmaxParameterfv) {
+ void ** procp = (void **) &disp->GetMinmaxParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmaxParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmaxParameterfv) {
+ void ** procp = (void **) &disp->GetMinmaxParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmaxParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmaxParameteriv) {
+ void ** procp = (void **) &disp->GetMinmaxParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmaxParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetMinmaxParameteriv) {
+ void ** procp = (void **) &disp->GetMinmaxParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetMinmaxParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetMinmaxParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Histogram) {
+ void ** procp = (void **) &disp->Histogram;
snprintf(symboln, sizeof(symboln), "%sHistogram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Histogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Histogram) {
+ void ** procp = (void **) &disp->Histogram;
snprintf(symboln, sizeof(symboln), "%sHistogramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Histogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Minmax) {
+ void ** procp = (void **) &disp->Minmax;
snprintf(symboln, sizeof(symboln), "%sMinmax", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Minmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Minmax) {
+ void ** procp = (void **) &disp->Minmax;
snprintf(symboln, sizeof(symboln), "%sMinmaxEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Minmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResetHistogram) {
+ void ** procp = (void **) &disp->ResetHistogram;
snprintf(symboln, sizeof(symboln), "%sResetHistogram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResetHistogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResetHistogram) {
+ void ** procp = (void **) &disp->ResetHistogram;
snprintf(symboln, sizeof(symboln), "%sResetHistogramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResetHistogram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResetMinmax) {
+ void ** procp = (void **) &disp->ResetMinmax;
snprintf(symboln, sizeof(symboln), "%sResetMinmax", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResetMinmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResetMinmax) {
+ void ** procp = (void **) &disp->ResetMinmax;
snprintf(symboln, sizeof(symboln), "%sResetMinmaxEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResetMinmax;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexImage3D) {
+ void ** procp = (void **) &disp->TexImage3D;
snprintf(symboln, sizeof(symboln), "%sTexImage3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexImage3D) {
+ void ** procp = (void **) &disp->TexImage3D;
snprintf(symboln, sizeof(symboln), "%sTexImage3DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage3D) {
+ void ** procp = (void **) &disp->TexSubImage3D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexSubImage3D) {
+ void ** procp = (void **) &disp->TexSubImage3D;
snprintf(symboln, sizeof(symboln), "%sTexSubImage3DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexSubImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage3D) {
+ void ** procp = (void **) &disp->CopyTexSubImage3D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyTexSubImage3D) {
+ void ** procp = (void **) &disp->CopyTexSubImage3D;
snprintf(symboln, sizeof(symboln), "%sCopyTexSubImage3DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyTexSubImage3D;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ActiveTextureARB) {
+ void ** procp = (void **) &disp->ActiveTextureARB;
snprintf(symboln, sizeof(symboln), "%sActiveTexture", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ActiveTextureARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ActiveTextureARB) {
+ void ** procp = (void **) &disp->ActiveTextureARB;
snprintf(symboln, sizeof(symboln), "%sActiveTextureARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ActiveTextureARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClientActiveTextureARB) {
+ void ** procp = (void **) &disp->ClientActiveTextureARB;
snprintf(symboln, sizeof(symboln), "%sClientActiveTexture", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClientActiveTextureARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClientActiveTextureARB) {
+ void ** procp = (void **) &disp->ClientActiveTextureARB;
snprintf(symboln, sizeof(symboln), "%sClientActiveTextureARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClientActiveTextureARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord1svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord1svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord1svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord1svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord2svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord2svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord2svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord2svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord3svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord3svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord3svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord3svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4dARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4dARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4dvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4dvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4fARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4fARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4fvARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4fvARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4iARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4iARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4ivARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4ivARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4sARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4sARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiTexCoord4svARB) {
+ void ** procp = (void **) &disp->MultiTexCoord4svARB;
snprintf(symboln, sizeof(symboln), "%sMultiTexCoord4svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiTexCoord4svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AttachShader) {
+ void ** procp = (void **) &disp->AttachShader;
snprintf(symboln, sizeof(symboln), "%sAttachShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AttachShader;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CreateProgram) {
+ void ** procp = (void **) &disp->CreateProgram;
snprintf(symboln, sizeof(symboln), "%sCreateProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CreateProgram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CreateShader) {
+ void ** procp = (void **) &disp->CreateShader;
snprintf(symboln, sizeof(symboln), "%sCreateShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CreateShader;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteProgram) {
+ void ** procp = (void **) &disp->DeleteProgram;
snprintf(symboln, sizeof(symboln), "%sDeleteProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteProgram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteShader) {
+ void ** procp = (void **) &disp->DeleteShader;
snprintf(symboln, sizeof(symboln), "%sDeleteShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteShader;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DetachShader) {
+ void ** procp = (void **) &disp->DetachShader;
snprintf(symboln, sizeof(symboln), "%sDetachShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DetachShader;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetAttachedShaders) {
+ void ** procp = (void **) &disp->GetAttachedShaders;
snprintf(symboln, sizeof(symboln), "%sGetAttachedShaders", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetAttachedShaders;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramInfoLog) {
+ void ** procp = (void **) &disp->GetProgramInfoLog;
snprintf(symboln, sizeof(symboln), "%sGetProgramInfoLog", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramInfoLog;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramiv) {
+ void ** procp = (void **) &disp->GetProgramiv;
snprintf(symboln, sizeof(symboln), "%sGetProgramiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetShaderInfoLog) {
+ void ** procp = (void **) &disp->GetShaderInfoLog;
snprintf(symboln, sizeof(symboln), "%sGetShaderInfoLog", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetShaderInfoLog;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetShaderiv) {
+ void ** procp = (void **) &disp->GetShaderiv;
snprintf(symboln, sizeof(symboln), "%sGetShaderiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetShaderiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsProgram) {
+ void ** procp = (void **) &disp->IsProgram;
snprintf(symboln, sizeof(symboln), "%sIsProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsProgram;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsShader) {
+ void ** procp = (void **) &disp->IsShader;
snprintf(symboln, sizeof(symboln), "%sIsShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsShader;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilFuncSeparate) {
+ void ** procp = (void **) &disp->StencilFuncSeparate;
snprintf(symboln, sizeof(symboln), "%sStencilFuncSeparate", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilFuncSeparate;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilMaskSeparate) {
+ void ** procp = (void **) &disp->StencilMaskSeparate;
snprintf(symboln, sizeof(symboln), "%sStencilMaskSeparate", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilMaskSeparate;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilOpSeparate) {
+ void ** procp = (void **) &disp->StencilOpSeparate;
snprintf(symboln, sizeof(symboln), "%sStencilOpSeparate", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilOpSeparate;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilOpSeparate) {
+ void ** procp = (void **) &disp->StencilOpSeparate;
snprintf(symboln, sizeof(symboln), "%sStencilOpSeparateATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilOpSeparate;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix2x3fv) {
+ void ** procp = (void **) &disp->UniformMatrix2x3fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix2x3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix2x3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix2x4fv) {
+ void ** procp = (void **) &disp->UniformMatrix2x4fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix2x4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix2x4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix3x2fv) {
+ void ** procp = (void **) &disp->UniformMatrix3x2fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix3x2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix3x2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix3x4fv) {
+ void ** procp = (void **) &disp->UniformMatrix3x4fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix3x4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix3x4fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix4x2fv) {
+ void ** procp = (void **) &disp->UniformMatrix4x2fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix4x2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix4x2fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix4x3fv) {
+ void ** procp = (void **) &disp->UniformMatrix4x3fv;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix4x3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix4x3fv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClampColor) {
+ void ** procp = (void **) &disp->ClampColor;
snprintf(symboln, sizeof(symboln), "%sClampColor", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClampColor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearBufferfi) {
+ void ** procp = (void **) &disp->ClearBufferfi;
snprintf(symboln, sizeof(symboln), "%sClearBufferfi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearBufferfi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearBufferfv) {
+ void ** procp = (void **) &disp->ClearBufferfv;
snprintf(symboln, sizeof(symboln), "%sClearBufferfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearBufferfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearBufferiv) {
+ void ** procp = (void **) &disp->ClearBufferiv;
snprintf(symboln, sizeof(symboln), "%sClearBufferiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearBufferiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearBufferuiv) {
+ void ** procp = (void **) &disp->ClearBufferuiv;
snprintf(symboln, sizeof(symboln), "%sClearBufferuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearBufferuiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetStringi) {
+ void ** procp = (void **) &disp->GetStringi;
snprintf(symboln, sizeof(symboln), "%sGetStringi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetStringi;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexBuffer) {
+ void ** procp = (void **) &disp->TexBuffer;
snprintf(symboln, sizeof(symboln), "%sTexBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexBuffer;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture) {
+ void ** procp = (void **) &disp->FramebufferTexture;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferParameteri64v) {
+ void ** procp = (void **) &disp->GetBufferParameteri64v;
snprintf(symboln, sizeof(symboln), "%sGetBufferParameteri64v", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferParameteri64v;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetInteger64i_v) {
+ void ** procp = (void **) &disp->GetInteger64i_v;
snprintf(symboln, sizeof(symboln), "%sGetInteger64i_v", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetInteger64i_v;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribDivisor) {
+ void ** procp = (void **) &disp->VertexAttribDivisor;
snprintf(symboln, sizeof(symboln), "%sVertexAttribDivisor", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribDivisor;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadTransposeMatrixdARB) {
+ void ** procp = (void **) &disp->LoadTransposeMatrixdARB;
snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadTransposeMatrixdARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadTransposeMatrixdARB) {
+ void ** procp = (void **) &disp->LoadTransposeMatrixdARB;
snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixdARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadTransposeMatrixdARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadTransposeMatrixfARB) {
+ void ** procp = (void **) &disp->LoadTransposeMatrixfARB;
snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadTransposeMatrixfARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadTransposeMatrixfARB) {
+ void ** procp = (void **) &disp->LoadTransposeMatrixfARB;
snprintf(symboln, sizeof(symboln), "%sLoadTransposeMatrixfARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadTransposeMatrixfARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultTransposeMatrixdARB) {
+ void ** procp = (void **) &disp->MultTransposeMatrixdARB;
snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultTransposeMatrixdARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultTransposeMatrixdARB) {
+ void ** procp = (void **) &disp->MultTransposeMatrixdARB;
snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixdARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultTransposeMatrixdARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultTransposeMatrixfARB) {
+ void ** procp = (void **) &disp->MultTransposeMatrixfARB;
snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultTransposeMatrixfARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultTransposeMatrixfARB) {
+ void ** procp = (void **) &disp->MultTransposeMatrixfARB;
snprintf(symboln, sizeof(symboln), "%sMultTransposeMatrixfARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultTransposeMatrixfARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SampleCoverageARB) {
+ void ** procp = (void **) &disp->SampleCoverageARB;
snprintf(symboln, sizeof(symboln), "%sSampleCoverage", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SampleCoverageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SampleCoverageARB) {
+ void ** procp = (void **) &disp->SampleCoverageARB;
snprintf(symboln, sizeof(symboln), "%sSampleCoverageARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SampleCoverageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage1DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage1DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage1DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage1DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage1DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage1DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage1DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage2DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage2DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage2DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage2DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage2DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage2DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage2DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage3DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage3DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage3DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexImage3DARB) {
+ void ** procp = (void **) &disp->CompressedTexImage3DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexImage3DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexImage3DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage1DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage1DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage1DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage1DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage1DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage1DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage1DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage2DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage2DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage2DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage2DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage2DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage2DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage2DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage3DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage3DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage3DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompressedTexSubImage3DARB) {
+ void ** procp = (void **) &disp->CompressedTexSubImage3DARB;
snprintf(symboln, sizeof(symboln), "%sCompressedTexSubImage3DARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompressedTexSubImage3DARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCompressedTexImageARB) {
+ void ** procp = (void **) &disp->GetCompressedTexImageARB;
snprintf(symboln, sizeof(symboln), "%sGetCompressedTexImage", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCompressedTexImageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCompressedTexImageARB) {
+ void ** procp = (void **) &disp->GetCompressedTexImageARB;
snprintf(symboln, sizeof(symboln), "%sGetCompressedTexImageARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCompressedTexImageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DisableVertexAttribArrayARB) {
+ void ** procp = (void **) &disp->DisableVertexAttribArrayARB;
snprintf(symboln, sizeof(symboln), "%sDisableVertexAttribArray", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DisableVertexAttribArrayARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DisableVertexAttribArrayARB) {
+ void ** procp = (void **) &disp->DisableVertexAttribArrayARB;
snprintf(symboln, sizeof(symboln), "%sDisableVertexAttribArrayARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DisableVertexAttribArrayARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EnableVertexAttribArrayARB) {
+ void ** procp = (void **) &disp->EnableVertexAttribArrayARB;
snprintf(symboln, sizeof(symboln), "%sEnableVertexAttribArray", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EnableVertexAttribArrayARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EnableVertexAttribArrayARB) {
+ void ** procp = (void **) &disp->EnableVertexAttribArrayARB;
snprintf(symboln, sizeof(symboln), "%sEnableVertexAttribArrayARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EnableVertexAttribArrayARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramEnvParameterdvARB) {
+ void ** procp = (void **) &disp->GetProgramEnvParameterdvARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramEnvParameterdvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramEnvParameterdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramEnvParameterfvARB) {
+ void ** procp = (void **) &disp->GetProgramEnvParameterfvARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramEnvParameterfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramEnvParameterfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramLocalParameterdvARB) {
+ void ** procp = (void **) &disp->GetProgramLocalParameterdvARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramLocalParameterdvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramLocalParameterdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramLocalParameterfvARB) {
+ void ** procp = (void **) &disp->GetProgramLocalParameterfvARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramLocalParameterfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramLocalParameterfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramStringARB) {
+ void ** procp = (void **) &disp->GetProgramStringARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramStringARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramStringARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramivARB) {
+ void ** procp = (void **) &disp->GetProgramivARB;
snprintf(symboln, sizeof(symboln), "%sGetProgramivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribdvARB) {
+ void ** procp = (void **) &disp->GetVertexAttribdvARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribdvARB) {
+ void ** procp = (void **) &disp->GetVertexAttribdvARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribfvARB) {
+ void ** procp = (void **) &disp->GetVertexAttribfvARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribfvARB) {
+ void ** procp = (void **) &disp->GetVertexAttribfvARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribivARB) {
+ void ** procp = (void **) &disp->GetVertexAttribivARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribivARB) {
+ void ** procp = (void **) &disp->GetVertexAttribivARB;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4dARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4dARB;
snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4dARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4dARB;
snprintf(symboln, sizeof(symboln), "%sProgramParameter4dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4dvARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4dvARB;
snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4dvARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4dvARB;
snprintf(symboln, sizeof(symboln), "%sProgramParameter4dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4fARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4fARB;
snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4fARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4fARB;
snprintf(symboln, sizeof(symboln), "%sProgramParameter4fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4fvARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4fvARB;
snprintf(symboln, sizeof(symboln), "%sProgramEnvParameter4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameter4fvARB) {
+ void ** procp = (void **) &disp->ProgramEnvParameter4fvARB;
snprintf(symboln, sizeof(symboln), "%sProgramParameter4fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameter4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramLocalParameter4dARB) {
+ void ** procp = (void **) &disp->ProgramLocalParameter4dARB;
snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramLocalParameter4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramLocalParameter4dvARB) {
+ void ** procp = (void **) &disp->ProgramLocalParameter4dvARB;
snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramLocalParameter4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramLocalParameter4fARB) {
+ void ** procp = (void **) &disp->ProgramLocalParameter4fARB;
snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramLocalParameter4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramLocalParameter4fvARB) {
+ void ** procp = (void **) &disp->ProgramLocalParameter4fvARB;
snprintf(symboln, sizeof(symboln), "%sProgramLocalParameter4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramLocalParameter4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramStringARB) {
+ void ** procp = (void **) &disp->ProgramStringARB;
snprintf(symboln, sizeof(symboln), "%sProgramStringARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramStringARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dARB) {
+ void ** procp = (void **) &disp->VertexAttrib1dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dARB) {
+ void ** procp = (void **) &disp->VertexAttrib1dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib1dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib1dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fARB) {
+ void ** procp = (void **) &disp->VertexAttrib1fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fARB) {
+ void ** procp = (void **) &disp->VertexAttrib1fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib1fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib1fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1sARB) {
+ void ** procp = (void **) &disp->VertexAttrib1sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1sARB) {
+ void ** procp = (void **) &disp->VertexAttrib1sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1svARB) {
+ void ** procp = (void **) &disp->VertexAttrib1svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1svARB) {
+ void ** procp = (void **) &disp->VertexAttrib1svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dARB) {
+ void ** procp = (void **) &disp->VertexAttrib2dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dARB) {
+ void ** procp = (void **) &disp->VertexAttrib2dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib2dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib2dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fARB) {
+ void ** procp = (void **) &disp->VertexAttrib2fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fARB) {
+ void ** procp = (void **) &disp->VertexAttrib2fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib2fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib2fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2sARB) {
+ void ** procp = (void **) &disp->VertexAttrib2sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2sARB) {
+ void ** procp = (void **) &disp->VertexAttrib2sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2svARB) {
+ void ** procp = (void **) &disp->VertexAttrib2svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2svARB) {
+ void ** procp = (void **) &disp->VertexAttrib2svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dARB) {
+ void ** procp = (void **) &disp->VertexAttrib3dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dARB) {
+ void ** procp = (void **) &disp->VertexAttrib3dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib3dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib3dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fARB) {
+ void ** procp = (void **) &disp->VertexAttrib3fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fARB) {
+ void ** procp = (void **) &disp->VertexAttrib3fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib3fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib3fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3sARB) {
+ void ** procp = (void **) &disp->VertexAttrib3sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3sARB) {
+ void ** procp = (void **) &disp->VertexAttrib3sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3svARB) {
+ void ** procp = (void **) &disp->VertexAttrib3svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3svARB) {
+ void ** procp = (void **) &disp->VertexAttrib3svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NbvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NbvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nbv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NbvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NbvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NbvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NbvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NbvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Niv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NsvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NsvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nsv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NsvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NsvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NsvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NsvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NsvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NubARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NubARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nub", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NubARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NubARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NubARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NubARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NubARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NubvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NubvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NubvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NubvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NubvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NubvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NubvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NuivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NuivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NuivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NuivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NuivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NusvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NusvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4Nusv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NusvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4NusvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4NusvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4NusvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4NusvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4bvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4bvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4bvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4bvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4bvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4bvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4bvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dARB) {
+ void ** procp = (void **) &disp->VertexAttrib4dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dARB) {
+ void ** procp = (void **) &disp->VertexAttrib4dARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4dvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fARB) {
+ void ** procp = (void **) &disp->VertexAttrib4fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fARB) {
+ void ** procp = (void **) &disp->VertexAttrib4fARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4fvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4ivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4ivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4sARB) {
+ void ** procp = (void **) &disp->VertexAttrib4sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4sARB) {
+ void ** procp = (void **) &disp->VertexAttrib4sARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4sARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4svARB) {
+ void ** procp = (void **) &disp->VertexAttrib4svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4svARB) {
+ void ** procp = (void **) &disp->VertexAttrib4svARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4svARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ubvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4ubvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ubvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ubvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4ubvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ubvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4uivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4uivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4uivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4uivARB) {
+ void ** procp = (void **) &disp->VertexAttrib4uivARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4uivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4uivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4usvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4usvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4usv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4usvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4usvARB) {
+ void ** procp = (void **) &disp->VertexAttrib4usvARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4usvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4usvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribPointerARB) {
+ void ** procp = (void **) &disp->VertexAttribPointerARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttribPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribPointerARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribPointerARB) {
+ void ** procp = (void **) &disp->VertexAttribPointerARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttribPointerARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribPointerARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferARB) {
+ void ** procp = (void **) &disp->BindBufferARB;
snprintf(symboln, sizeof(symboln), "%sBindBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferARB) {
+ void ** procp = (void **) &disp->BindBufferARB;
snprintf(symboln, sizeof(symboln), "%sBindBufferARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BufferDataARB) {
+ void ** procp = (void **) &disp->BufferDataARB;
snprintf(symboln, sizeof(symboln), "%sBufferData", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BufferDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BufferDataARB) {
+ void ** procp = (void **) &disp->BufferDataARB;
snprintf(symboln, sizeof(symboln), "%sBufferDataARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BufferDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BufferSubDataARB) {
+ void ** procp = (void **) &disp->BufferSubDataARB;
snprintf(symboln, sizeof(symboln), "%sBufferSubData", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BufferSubDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BufferSubDataARB) {
+ void ** procp = (void **) &disp->BufferSubDataARB;
snprintf(symboln, sizeof(symboln), "%sBufferSubDataARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BufferSubDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteBuffersARB) {
+ void ** procp = (void **) &disp->DeleteBuffersARB;
snprintf(symboln, sizeof(symboln), "%sDeleteBuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteBuffersARB) {
+ void ** procp = (void **) &disp->DeleteBuffersARB;
snprintf(symboln, sizeof(symboln), "%sDeleteBuffersARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenBuffersARB) {
+ void ** procp = (void **) &disp->GenBuffersARB;
snprintf(symboln, sizeof(symboln), "%sGenBuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenBuffersARB) {
+ void ** procp = (void **) &disp->GenBuffersARB;
snprintf(symboln, sizeof(symboln), "%sGenBuffersARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferParameterivARB) {
+ void ** procp = (void **) &disp->GetBufferParameterivARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferParameterivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferParameterivARB) {
+ void ** procp = (void **) &disp->GetBufferParameterivARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferParameterivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferParameterivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferPointervARB) {
+ void ** procp = (void **) &disp->GetBufferPointervARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferPointerv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferPointervARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferPointervARB) {
+ void ** procp = (void **) &disp->GetBufferPointervARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferPointervARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferPointervARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferSubDataARB) {
+ void ** procp = (void **) &disp->GetBufferSubDataARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferSubData", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferSubDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBufferSubDataARB) {
+ void ** procp = (void **) &disp->GetBufferSubDataARB;
snprintf(symboln, sizeof(symboln), "%sGetBufferSubDataARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBufferSubDataARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsBufferARB) {
+ void ** procp = (void **) &disp->IsBufferARB;
snprintf(symboln, sizeof(symboln), "%sIsBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsBufferARB) {
+ void ** procp = (void **) &disp->IsBufferARB;
snprintf(symboln, sizeof(symboln), "%sIsBufferARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapBufferARB) {
+ void ** procp = (void **) &disp->MapBufferARB;
snprintf(symboln, sizeof(symboln), "%sMapBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapBufferARB) {
+ void ** procp = (void **) &disp->MapBufferARB;
snprintf(symboln, sizeof(symboln), "%sMapBufferARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UnmapBufferARB) {
+ void ** procp = (void **) &disp->UnmapBufferARB;
snprintf(symboln, sizeof(symboln), "%sUnmapBuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UnmapBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UnmapBufferARB) {
+ void ** procp = (void **) &disp->UnmapBufferARB;
snprintf(symboln, sizeof(symboln), "%sUnmapBufferARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UnmapBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginQueryARB) {
+ void ** procp = (void **) &disp->BeginQueryARB;
snprintf(symboln, sizeof(symboln), "%sBeginQuery", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginQueryARB) {
+ void ** procp = (void **) &disp->BeginQueryARB;
snprintf(symboln, sizeof(symboln), "%sBeginQueryARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteQueriesARB) {
+ void ** procp = (void **) &disp->DeleteQueriesARB;
snprintf(symboln, sizeof(symboln), "%sDeleteQueries", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteQueriesARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteQueriesARB) {
+ void ** procp = (void **) &disp->DeleteQueriesARB;
snprintf(symboln, sizeof(symboln), "%sDeleteQueriesARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteQueriesARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndQueryARB) {
+ void ** procp = (void **) &disp->EndQueryARB;
snprintf(symboln, sizeof(symboln), "%sEndQuery", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndQueryARB) {
+ void ** procp = (void **) &disp->EndQueryARB;
snprintf(symboln, sizeof(symboln), "%sEndQueryARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenQueriesARB) {
+ void ** procp = (void **) &disp->GenQueriesARB;
snprintf(symboln, sizeof(symboln), "%sGenQueries", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenQueriesARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenQueriesARB) {
+ void ** procp = (void **) &disp->GenQueriesARB;
snprintf(symboln, sizeof(symboln), "%sGenQueriesARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenQueriesARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjectivARB) {
+ void ** procp = (void **) &disp->GetQueryObjectivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjectiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjectivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjectivARB) {
+ void ** procp = (void **) &disp->GetQueryObjectivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjectivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjectivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjectuivARB) {
+ void ** procp = (void **) &disp->GetQueryObjectuivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjectuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjectuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjectuivARB) {
+ void ** procp = (void **) &disp->GetQueryObjectuivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjectuivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjectuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryivARB) {
+ void ** procp = (void **) &disp->GetQueryivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryivARB) {
+ void ** procp = (void **) &disp->GetQueryivARB;
snprintf(symboln, sizeof(symboln), "%sGetQueryivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsQueryARB) {
+ void ** procp = (void **) &disp->IsQueryARB;
snprintf(symboln, sizeof(symboln), "%sIsQuery", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsQueryARB) {
+ void ** procp = (void **) &disp->IsQueryARB;
snprintf(symboln, sizeof(symboln), "%sIsQueryARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsQueryARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AttachObjectARB) {
+ void ** procp = (void **) &disp->AttachObjectARB;
snprintf(symboln, sizeof(symboln), "%sAttachObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AttachObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompileShaderARB) {
+ void ** procp = (void **) &disp->CompileShaderARB;
snprintf(symboln, sizeof(symboln), "%sCompileShader", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompileShaderARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CompileShaderARB) {
+ void ** procp = (void **) &disp->CompileShaderARB;
snprintf(symboln, sizeof(symboln), "%sCompileShaderARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CompileShaderARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CreateProgramObjectARB) {
+ void ** procp = (void **) &disp->CreateProgramObjectARB;
snprintf(symboln, sizeof(symboln), "%sCreateProgramObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CreateProgramObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CreateShaderObjectARB) {
+ void ** procp = (void **) &disp->CreateShaderObjectARB;
snprintf(symboln, sizeof(symboln), "%sCreateShaderObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CreateShaderObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteObjectARB) {
+ void ** procp = (void **) &disp->DeleteObjectARB;
snprintf(symboln, sizeof(symboln), "%sDeleteObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DetachObjectARB) {
+ void ** procp = (void **) &disp->DetachObjectARB;
snprintf(symboln, sizeof(symboln), "%sDetachObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DetachObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetActiveUniformARB) {
+ void ** procp = (void **) &disp->GetActiveUniformARB;
snprintf(symboln, sizeof(symboln), "%sGetActiveUniform", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetActiveUniformARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetActiveUniformARB) {
+ void ** procp = (void **) &disp->GetActiveUniformARB;
snprintf(symboln, sizeof(symboln), "%sGetActiveUniformARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetActiveUniformARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetAttachedObjectsARB) {
+ void ** procp = (void **) &disp->GetAttachedObjectsARB;
snprintf(symboln, sizeof(symboln), "%sGetAttachedObjectsARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetAttachedObjectsARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetHandleARB) {
+ void ** procp = (void **) &disp->GetHandleARB;
snprintf(symboln, sizeof(symboln), "%sGetHandleARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetHandleARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetInfoLogARB) {
+ void ** procp = (void **) &disp->GetInfoLogARB;
snprintf(symboln, sizeof(symboln), "%sGetInfoLogARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetInfoLogARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetObjectParameterfvARB) {
+ void ** procp = (void **) &disp->GetObjectParameterfvARB;
snprintf(symboln, sizeof(symboln), "%sGetObjectParameterfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetObjectParameterfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetObjectParameterivARB) {
+ void ** procp = (void **) &disp->GetObjectParameterivARB;
snprintf(symboln, sizeof(symboln), "%sGetObjectParameterivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetObjectParameterivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetShaderSourceARB) {
+ void ** procp = (void **) &disp->GetShaderSourceARB;
snprintf(symboln, sizeof(symboln), "%sGetShaderSource", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetShaderSourceARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetShaderSourceARB) {
+ void ** procp = (void **) &disp->GetShaderSourceARB;
snprintf(symboln, sizeof(symboln), "%sGetShaderSourceARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetShaderSourceARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformLocationARB) {
+ void ** procp = (void **) &disp->GetUniformLocationARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformLocation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformLocationARB) {
+ void ** procp = (void **) &disp->GetUniformLocationARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformLocationARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformfvARB) {
+ void ** procp = (void **) &disp->GetUniformfvARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformfvARB) {
+ void ** procp = (void **) &disp->GetUniformfvARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformivARB) {
+ void ** procp = (void **) &disp->GetUniformivARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformivARB) {
+ void ** procp = (void **) &disp->GetUniformivARB;
snprintf(symboln, sizeof(symboln), "%sGetUniformivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LinkProgramARB) {
+ void ** procp = (void **) &disp->LinkProgramARB;
snprintf(symboln, sizeof(symboln), "%sLinkProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LinkProgramARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LinkProgramARB) {
+ void ** procp = (void **) &disp->LinkProgramARB;
snprintf(symboln, sizeof(symboln), "%sLinkProgramARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LinkProgramARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ShaderSourceARB) {
+ void ** procp = (void **) &disp->ShaderSourceARB;
snprintf(symboln, sizeof(symboln), "%sShaderSource", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ShaderSourceARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ShaderSourceARB) {
+ void ** procp = (void **) &disp->ShaderSourceARB;
snprintf(symboln, sizeof(symboln), "%sShaderSourceARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ShaderSourceARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1fARB) {
+ void ** procp = (void **) &disp->Uniform1fARB;
snprintf(symboln, sizeof(symboln), "%sUniform1f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1fARB) {
+ void ** procp = (void **) &disp->Uniform1fARB;
snprintf(symboln, sizeof(symboln), "%sUniform1fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1fvARB) {
+ void ** procp = (void **) &disp->Uniform1fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform1fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1fvARB) {
+ void ** procp = (void **) &disp->Uniform1fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform1fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1iARB) {
+ void ** procp = (void **) &disp->Uniform1iARB;
snprintf(symboln, sizeof(symboln), "%sUniform1i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1iARB) {
+ void ** procp = (void **) &disp->Uniform1iARB;
snprintf(symboln, sizeof(symboln), "%sUniform1iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1ivARB) {
+ void ** procp = (void **) &disp->Uniform1ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform1iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1ivARB) {
+ void ** procp = (void **) &disp->Uniform1ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform1ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2fARB) {
+ void ** procp = (void **) &disp->Uniform2fARB;
snprintf(symboln, sizeof(symboln), "%sUniform2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2fARB) {
+ void ** procp = (void **) &disp->Uniform2fARB;
snprintf(symboln, sizeof(symboln), "%sUniform2fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2fvARB) {
+ void ** procp = (void **) &disp->Uniform2fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2fvARB) {
+ void ** procp = (void **) &disp->Uniform2fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform2fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2iARB) {
+ void ** procp = (void **) &disp->Uniform2iARB;
snprintf(symboln, sizeof(symboln), "%sUniform2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2iARB) {
+ void ** procp = (void **) &disp->Uniform2iARB;
snprintf(symboln, sizeof(symboln), "%sUniform2iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2ivARB) {
+ void ** procp = (void **) &disp->Uniform2ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2ivARB) {
+ void ** procp = (void **) &disp->Uniform2ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform2ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3fARB) {
+ void ** procp = (void **) &disp->Uniform3fARB;
snprintf(symboln, sizeof(symboln), "%sUniform3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3fARB) {
+ void ** procp = (void **) &disp->Uniform3fARB;
snprintf(symboln, sizeof(symboln), "%sUniform3fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3fvARB) {
+ void ** procp = (void **) &disp->Uniform3fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3fvARB) {
+ void ** procp = (void **) &disp->Uniform3fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform3fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3iARB) {
+ void ** procp = (void **) &disp->Uniform3iARB;
snprintf(symboln, sizeof(symboln), "%sUniform3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3iARB) {
+ void ** procp = (void **) &disp->Uniform3iARB;
snprintf(symboln, sizeof(symboln), "%sUniform3iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3ivARB) {
+ void ** procp = (void **) &disp->Uniform3ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3ivARB) {
+ void ** procp = (void **) &disp->Uniform3ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform3ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4fARB) {
+ void ** procp = (void **) &disp->Uniform4fARB;
snprintf(symboln, sizeof(symboln), "%sUniform4f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4fARB) {
+ void ** procp = (void **) &disp->Uniform4fARB;
snprintf(symboln, sizeof(symboln), "%sUniform4fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4fARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4fvARB) {
+ void ** procp = (void **) &disp->Uniform4fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4fvARB) {
+ void ** procp = (void **) &disp->Uniform4fvARB;
snprintf(symboln, sizeof(symboln), "%sUniform4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4iARB) {
+ void ** procp = (void **) &disp->Uniform4iARB;
snprintf(symboln, sizeof(symboln), "%sUniform4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4iARB) {
+ void ** procp = (void **) &disp->Uniform4iARB;
snprintf(symboln, sizeof(symboln), "%sUniform4iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4iARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4ivARB) {
+ void ** procp = (void **) &disp->Uniform4ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4ivARB) {
+ void ** procp = (void **) &disp->Uniform4ivARB;
snprintf(symboln, sizeof(symboln), "%sUniform4ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4ivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix2fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix2fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix2fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix2fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix2fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix2fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix3fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix3fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix3fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix3fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix3fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix3fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix4fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix4fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix4fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UniformMatrix4fvARB) {
+ void ** procp = (void **) &disp->UniformMatrix4fvARB;
snprintf(symboln, sizeof(symboln), "%sUniformMatrix4fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UniformMatrix4fvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UseProgramObjectARB) {
+ void ** procp = (void **) &disp->UseProgramObjectARB;
snprintf(symboln, sizeof(symboln), "%sUseProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UseProgramObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UseProgramObjectARB) {
+ void ** procp = (void **) &disp->UseProgramObjectARB;
snprintf(symboln, sizeof(symboln), "%sUseProgramObjectARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UseProgramObjectARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ValidateProgramARB) {
+ void ** procp = (void **) &disp->ValidateProgramARB;
snprintf(symboln, sizeof(symboln), "%sValidateProgram", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ValidateProgramARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ValidateProgramARB) {
+ void ** procp = (void **) &disp->ValidateProgramARB;
snprintf(symboln, sizeof(symboln), "%sValidateProgramARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ValidateProgramARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindAttribLocationARB) {
+ void ** procp = (void **) &disp->BindAttribLocationARB;
snprintf(symboln, sizeof(symboln), "%sBindAttribLocation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindAttribLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindAttribLocationARB) {
+ void ** procp = (void **) &disp->BindAttribLocationARB;
snprintf(symboln, sizeof(symboln), "%sBindAttribLocationARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindAttribLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetActiveAttribARB) {
+ void ** procp = (void **) &disp->GetActiveAttribARB;
snprintf(symboln, sizeof(symboln), "%sGetActiveAttrib", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetActiveAttribARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetActiveAttribARB) {
+ void ** procp = (void **) &disp->GetActiveAttribARB;
snprintf(symboln, sizeof(symboln), "%sGetActiveAttribARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetActiveAttribARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetAttribLocationARB) {
+ void ** procp = (void **) &disp->GetAttribLocationARB;
snprintf(symboln, sizeof(symboln), "%sGetAttribLocation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetAttribLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetAttribLocationARB) {
+ void ** procp = (void **) &disp->GetAttribLocationARB;
snprintf(symboln, sizeof(symboln), "%sGetAttribLocationARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetAttribLocationARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawBuffersARB) {
+ void ** procp = (void **) &disp->DrawBuffersARB;
snprintf(symboln, sizeof(symboln), "%sDrawBuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawBuffersARB) {
+ void ** procp = (void **) &disp->DrawBuffersARB;
snprintf(symboln, sizeof(symboln), "%sDrawBuffersARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawBuffersARB) {
+ void ** procp = (void **) &disp->DrawBuffersARB;
snprintf(symboln, sizeof(symboln), "%sDrawBuffersATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawBuffersARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClampColorARB) {
+ void ** procp = (void **) &disp->ClampColorARB;
snprintf(symboln, sizeof(symboln), "%sClampColorARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClampColorARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawArraysInstancedARB) {
+ void ** procp = (void **) &disp->DrawArraysInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawArraysInstancedARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawArraysInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawArraysInstancedARB) {
+ void ** procp = (void **) &disp->DrawArraysInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawArraysInstancedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawArraysInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawArraysInstancedARB) {
+ void ** procp = (void **) &disp->DrawArraysInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawArraysInstanced", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawArraysInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElementsInstancedARB) {
+ void ** procp = (void **) &disp->DrawElementsInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElementsInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElementsInstancedARB) {
+ void ** procp = (void **) &disp->DrawElementsInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElementsInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElementsInstancedARB) {
+ void ** procp = (void **) &disp->DrawElementsInstancedARB;
snprintf(symboln, sizeof(symboln), "%sDrawElementsInstanced", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElementsInstancedARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RenderbufferStorageMultisample) {
+ void ** procp = (void **) &disp->RenderbufferStorageMultisample;
snprintf(symboln, sizeof(symboln), "%sRenderbufferStorageMultisample", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RenderbufferStorageMultisample;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RenderbufferStorageMultisample) {
+ void ** procp = (void **) &disp->RenderbufferStorageMultisample;
snprintf(symboln, sizeof(symboln), "%sRenderbufferStorageMultisampleEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RenderbufferStorageMultisample;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTextureARB) {
+ void ** procp = (void **) &disp->FramebufferTextureARB;
snprintf(symboln, sizeof(symboln), "%sFramebufferTextureARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTextureARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTextureFaceARB) {
+ void ** procp = (void **) &disp->FramebufferTextureFaceARB;
snprintf(symboln, sizeof(symboln), "%sFramebufferTextureFaceARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTextureFaceARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramParameteriARB) {
+ void ** procp = (void **) &disp->ProgramParameteriARB;
snprintf(symboln, sizeof(symboln), "%sProgramParameteriARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramParameteriARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribDivisorARB) {
+ void ** procp = (void **) &disp->VertexAttribDivisorARB;
snprintf(symboln, sizeof(symboln), "%sVertexAttribDivisorARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribDivisorARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FlushMappedBufferRange) {
+ void ** procp = (void **) &disp->FlushMappedBufferRange;
snprintf(symboln, sizeof(symboln), "%sFlushMappedBufferRange", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FlushMappedBufferRange;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MapBufferRange) {
+ void ** procp = (void **) &disp->MapBufferRange;
snprintf(symboln, sizeof(symboln), "%sMapBufferRange", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MapBufferRange;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexBufferARB) {
+ void ** procp = (void **) &disp->TexBufferARB;
snprintf(symboln, sizeof(symboln), "%sTexBufferARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexBufferARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindVertexArray) {
+ void ** procp = (void **) &disp->BindVertexArray;
snprintf(symboln, sizeof(symboln), "%sBindVertexArray", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindVertexArray;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenVertexArrays) {
+ void ** procp = (void **) &disp->GenVertexArrays;
snprintf(symboln, sizeof(symboln), "%sGenVertexArrays", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenVertexArrays;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CopyBufferSubData) {
+ void ** procp = (void **) &disp->CopyBufferSubData;
snprintf(symboln, sizeof(symboln), "%sCopyBufferSubData", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CopyBufferSubData;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClientWaitSync) {
+ void ** procp = (void **) &disp->ClientWaitSync;
snprintf(symboln, sizeof(symboln), "%sClientWaitSync", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClientWaitSync;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteSync) {
+ void ** procp = (void **) &disp->DeleteSync;
snprintf(symboln, sizeof(symboln), "%sDeleteSync", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteSync;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FenceSync) {
+ void ** procp = (void **) &disp->FenceSync;
snprintf(symboln, sizeof(symboln), "%sFenceSync", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FenceSync;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetInteger64v) {
+ void ** procp = (void **) &disp->GetInteger64v;
snprintf(symboln, sizeof(symboln), "%sGetInteger64v", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetInteger64v;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSynciv) {
+ void ** procp = (void **) &disp->GetSynciv;
snprintf(symboln, sizeof(symboln), "%sGetSynciv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSynciv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsSync) {
+ void ** procp = (void **) &disp->IsSync;
snprintf(symboln, sizeof(symboln), "%sIsSync", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsSync;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WaitSync) {
+ void ** procp = (void **) &disp->WaitSync;
snprintf(symboln, sizeof(symboln), "%sWaitSync", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WaitSync;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElementsBaseVertex) {
+ void ** procp = (void **) &disp->DrawElementsBaseVertex;
snprintf(symboln, sizeof(symboln), "%sDrawElementsBaseVertex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElementsBaseVertex;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawElementsInstancedBaseVertex) {
+ void ** procp = (void **) &disp->DrawElementsInstancedBaseVertex;
snprintf(symboln, sizeof(symboln), "%sDrawElementsInstancedBaseVertex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawElementsInstancedBaseVertex;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawRangeElementsBaseVertex) {
+ void ** procp = (void **) &disp->DrawRangeElementsBaseVertex;
snprintf(symboln, sizeof(symboln), "%sDrawRangeElementsBaseVertex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawRangeElementsBaseVertex;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiDrawElementsBaseVertex) {
+ void ** procp = (void **) &disp->MultiDrawElementsBaseVertex;
snprintf(symboln, sizeof(symboln), "%sMultiDrawElementsBaseVertex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiDrawElementsBaseVertex;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationSeparateiARB) {
+ void ** procp = (void **) &disp->BlendEquationSeparateiARB;
snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateiARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationSeparateiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationSeparateiARB) {
+ void ** procp = (void **) &disp->BlendEquationSeparateiARB;
snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateIndexedAMD", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationSeparateiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationiARB) {
+ void ** procp = (void **) &disp->BlendEquationiARB;
snprintf(symboln, sizeof(symboln), "%sBlendEquationiARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationiARB) {
+ void ** procp = (void **) &disp->BlendEquationiARB;
snprintf(symboln, sizeof(symboln), "%sBlendEquationIndexedAMD", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFuncSeparateiARB) {
+ void ** procp = (void **) &disp->BlendFuncSeparateiARB;
snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateiARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFuncSeparateiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFuncSeparateiARB) {
+ void ** procp = (void **) &disp->BlendFuncSeparateiARB;
snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateIndexedAMD", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFuncSeparateiARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFunciARB) {
+ void ** procp = (void **) &disp->BlendFunciARB;
snprintf(symboln, sizeof(symboln), "%sBlendFunciARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFunciARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFunciARB) {
+ void ** procp = (void **) &disp->BlendFunciARB;
snprintf(symboln, sizeof(symboln), "%sBlendFuncIndexedAMD", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFunciARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindSampler) {
+ void ** procp = (void **) &disp->BindSampler;
snprintf(symboln, sizeof(symboln), "%sBindSampler", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindSampler;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteSamplers) {
+ void ** procp = (void **) &disp->DeleteSamplers;
snprintf(symboln, sizeof(symboln), "%sDeleteSamplers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteSamplers;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenSamplers) {
+ void ** procp = (void **) &disp->GenSamplers;
snprintf(symboln, sizeof(symboln), "%sGenSamplers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenSamplers;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSamplerParameterIiv) {
+ void ** procp = (void **) &disp->GetSamplerParameterIiv;
snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterIiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSamplerParameterIiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSamplerParameterIuiv) {
+ void ** procp = (void **) &disp->GetSamplerParameterIuiv;
snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterIuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSamplerParameterIuiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSamplerParameterfv) {
+ void ** procp = (void **) &disp->GetSamplerParameterfv;
snprintf(symboln, sizeof(symboln), "%sGetSamplerParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSamplerParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetSamplerParameteriv) {
+ void ** procp = (void **) &disp->GetSamplerParameteriv;
snprintf(symboln, sizeof(symboln), "%sGetSamplerParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetSamplerParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsSampler) {
+ void ** procp = (void **) &disp->IsSampler;
snprintf(symboln, sizeof(symboln), "%sIsSampler", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsSampler;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameterIiv) {
+ void ** procp = (void **) &disp->SamplerParameterIiv;
snprintf(symboln, sizeof(symboln), "%sSamplerParameterIiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameterIiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameterIuiv) {
+ void ** procp = (void **) &disp->SamplerParameterIuiv;
snprintf(symboln, sizeof(symboln), "%sSamplerParameterIuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameterIuiv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameterf) {
+ void ** procp = (void **) &disp->SamplerParameterf;
snprintf(symboln, sizeof(symboln), "%sSamplerParameterf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameterf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameterfv) {
+ void ** procp = (void **) &disp->SamplerParameterfv;
snprintf(symboln, sizeof(symboln), "%sSamplerParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameterfv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameteri) {
+ void ** procp = (void **) &disp->SamplerParameteri;
snprintf(symboln, sizeof(symboln), "%sSamplerParameteri", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameteri;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplerParameteriv) {
+ void ** procp = (void **) &disp->SamplerParameteriv;
snprintf(symboln, sizeof(symboln), "%sSamplerParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplerParameteriv;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindTransformFeedback) {
+ void ** procp = (void **) &disp->BindTransformFeedback;
snprintf(symboln, sizeof(symboln), "%sBindTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindTransformFeedback;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteTransformFeedbacks) {
+ void ** procp = (void **) &disp->DeleteTransformFeedbacks;
snprintf(symboln, sizeof(symboln), "%sDeleteTransformFeedbacks", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteTransformFeedbacks;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DrawTransformFeedback) {
+ void ** procp = (void **) &disp->DrawTransformFeedback;
snprintf(symboln, sizeof(symboln), "%sDrawTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DrawTransformFeedback;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenTransformFeedbacks) {
+ void ** procp = (void **) &disp->GenTransformFeedbacks;
snprintf(symboln, sizeof(symboln), "%sGenTransformFeedbacks", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenTransformFeedbacks;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsTransformFeedback) {
+ void ** procp = (void **) &disp->IsTransformFeedback;
snprintf(symboln, sizeof(symboln), "%sIsTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsTransformFeedback;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PauseTransformFeedback) {
+ void ** procp = (void **) &disp->PauseTransformFeedback;
snprintf(symboln, sizeof(symboln), "%sPauseTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PauseTransformFeedback;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResumeTransformFeedback) {
+ void ** procp = (void **) &disp->ResumeTransformFeedback;
snprintf(symboln, sizeof(symboln), "%sResumeTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResumeTransformFeedback;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearDepthf) {
+ void ** procp = (void **) &disp->ClearDepthf;
snprintf(symboln, sizeof(symboln), "%sClearDepthf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearDepthf;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DepthRangef) {
+ void ** procp = (void **) &disp->DepthRangef;
snprintf(symboln, sizeof(symboln), "%sDepthRangef", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DepthRangef;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetShaderPrecisionFormat) {
+ void ** procp = (void **) &disp->GetShaderPrecisionFormat;
snprintf(symboln, sizeof(symboln), "%sGetShaderPrecisionFormat", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetShaderPrecisionFormat;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ReleaseShaderCompiler) {
+ void ** procp = (void **) &disp->ReleaseShaderCompiler;
snprintf(symboln, sizeof(symboln), "%sReleaseShaderCompiler", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ReleaseShaderCompiler;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ShaderBinary) {
+ void ** procp = (void **) &disp->ShaderBinary;
snprintf(symboln, sizeof(symboln), "%sShaderBinary", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ShaderBinary;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetGraphicsResetStatusARB) {
+ void ** procp = (void **) &disp->GetGraphicsResetStatusARB;
snprintf(symboln, sizeof(symboln), "%sGetGraphicsResetStatusARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetGraphicsResetStatusARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnColorTableARB) {
+ void ** procp = (void **) &disp->GetnColorTableARB;
snprintf(symboln, sizeof(symboln), "%sGetnColorTableARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnColorTableARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnCompressedTexImageARB) {
+ void ** procp = (void **) &disp->GetnCompressedTexImageARB;
snprintf(symboln, sizeof(symboln), "%sGetnCompressedTexImageARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnCompressedTexImageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnConvolutionFilterARB) {
+ void ** procp = (void **) &disp->GetnConvolutionFilterARB;
snprintf(symboln, sizeof(symboln), "%sGetnConvolutionFilterARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnConvolutionFilterARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnHistogramARB) {
+ void ** procp = (void **) &disp->GetnHistogramARB;
snprintf(symboln, sizeof(symboln), "%sGetnHistogramARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnHistogramARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnMapdvARB) {
+ void ** procp = (void **) &disp->GetnMapdvARB;
snprintf(symboln, sizeof(symboln), "%sGetnMapdvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnMapdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnMapfvARB) {
+ void ** procp = (void **) &disp->GetnMapfvARB;
snprintf(symboln, sizeof(symboln), "%sGetnMapfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnMapfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnMapivARB) {
+ void ** procp = (void **) &disp->GetnMapivARB;
snprintf(symboln, sizeof(symboln), "%sGetnMapivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnMapivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnMinmaxARB) {
+ void ** procp = (void **) &disp->GetnMinmaxARB;
snprintf(symboln, sizeof(symboln), "%sGetnMinmaxARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnMinmaxARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnPixelMapfvARB) {
+ void ** procp = (void **) &disp->GetnPixelMapfvARB;
snprintf(symboln, sizeof(symboln), "%sGetnPixelMapfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnPixelMapfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnPixelMapuivARB) {
+ void ** procp = (void **) &disp->GetnPixelMapuivARB;
snprintf(symboln, sizeof(symboln), "%sGetnPixelMapuivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnPixelMapuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnPixelMapusvARB) {
+ void ** procp = (void **) &disp->GetnPixelMapusvARB;
snprintf(symboln, sizeof(symboln), "%sGetnPixelMapusvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnPixelMapusvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnPolygonStippleARB) {
+ void ** procp = (void **) &disp->GetnPolygonStippleARB;
snprintf(symboln, sizeof(symboln), "%sGetnPolygonStippleARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnPolygonStippleARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnSeparableFilterARB) {
+ void ** procp = (void **) &disp->GetnSeparableFilterARB;
snprintf(symboln, sizeof(symboln), "%sGetnSeparableFilterARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnSeparableFilterARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnTexImageARB) {
+ void ** procp = (void **) &disp->GetnTexImageARB;
snprintf(symboln, sizeof(symboln), "%sGetnTexImageARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnTexImageARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnUniformdvARB) {
+ void ** procp = (void **) &disp->GetnUniformdvARB;
snprintf(symboln, sizeof(symboln), "%sGetnUniformdvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnUniformdvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnUniformfvARB) {
+ void ** procp = (void **) &disp->GetnUniformfvARB;
snprintf(symboln, sizeof(symboln), "%sGetnUniformfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnUniformfvARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnUniformivARB) {
+ void ** procp = (void **) &disp->GetnUniformivARB;
snprintf(symboln, sizeof(symboln), "%sGetnUniformivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnUniformivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetnUniformuivARB) {
+ void ** procp = (void **) &disp->GetnUniformuivARB;
snprintf(symboln, sizeof(symboln), "%sGetnUniformuivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetnUniformuivARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ReadnPixelsARB) {
+ void ** procp = (void **) &disp->ReadnPixelsARB;
snprintf(symboln, sizeof(symboln), "%sReadnPixelsARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ReadnPixelsARB;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PolygonOffsetEXT) {
+ void ** procp = (void **) &disp->PolygonOffsetEXT;
snprintf(symboln, sizeof(symboln), "%sPolygonOffsetEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PolygonOffsetEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPixelTexGenParameterfvSGIS) {
+ void ** procp = (void **) &disp->GetPixelTexGenParameterfvSGIS;
snprintf(symboln, sizeof(symboln), "%sGetPixelTexGenParameterfvSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPixelTexGenParameterfvSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetPixelTexGenParameterivSGIS) {
+ void ** procp = (void **) &disp->GetPixelTexGenParameterivSGIS;
snprintf(symboln, sizeof(symboln), "%sGetPixelTexGenParameterivSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetPixelTexGenParameterivSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTexGenParameterfSGIS) {
+ void ** procp = (void **) &disp->PixelTexGenParameterfSGIS;
snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterfSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTexGenParameterfSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTexGenParameterfvSGIS) {
+ void ** procp = (void **) &disp->PixelTexGenParameterfvSGIS;
snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterfvSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTexGenParameterfvSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTexGenParameteriSGIS) {
+ void ** procp = (void **) &disp->PixelTexGenParameteriSGIS;
snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameteriSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTexGenParameteriSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTexGenParameterivSGIS) {
+ void ** procp = (void **) &disp->PixelTexGenParameterivSGIS;
snprintf(symboln, sizeof(symboln), "%sPixelTexGenParameterivSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTexGenParameterivSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SampleMaskSGIS) {
+ void ** procp = (void **) &disp->SampleMaskSGIS;
snprintf(symboln, sizeof(symboln), "%sSampleMaskSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SampleMaskSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SampleMaskSGIS) {
+ void ** procp = (void **) &disp->SampleMaskSGIS;
snprintf(symboln, sizeof(symboln), "%sSampleMaskEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SampleMaskSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplePatternSGIS) {
+ void ** procp = (void **) &disp->SamplePatternSGIS;
snprintf(symboln, sizeof(symboln), "%sSamplePatternSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplePatternSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SamplePatternSGIS) {
+ void ** procp = (void **) &disp->SamplePatternSGIS;
snprintf(symboln, sizeof(symboln), "%sSamplePatternEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SamplePatternSGIS;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorPointerEXT) {
+ void ** procp = (void **) &disp->ColorPointerEXT;
snprintf(symboln, sizeof(symboln), "%sColorPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EdgeFlagPointerEXT) {
+ void ** procp = (void **) &disp->EdgeFlagPointerEXT;
snprintf(symboln, sizeof(symboln), "%sEdgeFlagPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EdgeFlagPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IndexPointerEXT) {
+ void ** procp = (void **) &disp->IndexPointerEXT;
snprintf(symboln, sizeof(symboln), "%sIndexPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IndexPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->NormalPointerEXT) {
+ void ** procp = (void **) &disp->NormalPointerEXT;
snprintf(symboln, sizeof(symboln), "%sNormalPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->NormalPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexCoordPointerEXT) {
+ void ** procp = (void **) &disp->TexCoordPointerEXT;
snprintf(symboln, sizeof(symboln), "%sTexCoordPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexCoordPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexPointerEXT) {
+ void ** procp = (void **) &disp->VertexPointerEXT;
snprintf(symboln, sizeof(symboln), "%sVertexPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfEXT) {
+ void ** procp = (void **) &disp->PointParameterfEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfEXT) {
+ void ** procp = (void **) &disp->PointParameterfEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfEXT) {
+ void ** procp = (void **) &disp->PointParameterfEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfEXT) {
+ void ** procp = (void **) &disp->PointParameterfEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfvEXT) {
+ void ** procp = (void **) &disp->PointParameterfvEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfvEXT) {
+ void ** procp = (void **) &disp->PointParameterfvEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfvEXT) {
+ void ** procp = (void **) &disp->PointParameterfvEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterfvEXT) {
+ void ** procp = (void **) &disp->PointParameterfvEXT;
snprintf(symboln, sizeof(symboln), "%sPointParameterfvSGIS", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LockArraysEXT) {
+ void ** procp = (void **) &disp->LockArraysEXT;
snprintf(symboln, sizeof(symboln), "%sLockArraysEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LockArraysEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UnlockArraysEXT) {
+ void ** procp = (void **) &disp->UnlockArraysEXT;
snprintf(symboln, sizeof(symboln), "%sUnlockArraysEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UnlockArraysEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3bEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3bEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3b", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3bEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3bEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3bEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3bEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3bvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3bvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3bvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3bvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3bvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3bvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3bvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3dEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3dEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3dEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3dEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3dEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3dEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3dvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3dvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3dvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3dvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3dvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3dvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3dvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3fEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3fEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3fEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3fEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3fEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3fEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3fvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3fvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3fvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3fvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3fvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3fvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3fvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3iEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3iEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3iEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3iEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3iEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ivEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ivEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ivEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ivEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3sEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3sEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3sEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3sEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3sEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3sEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3sEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3svEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3svEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3svEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3svEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3svEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3svEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3svEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ubEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ubEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ub", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ubEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ubEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ubEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ubEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ubvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ubvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ubvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3ubvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3ubvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ubvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3ubvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3uiEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3uiEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3uiEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3uiEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3uivEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3uivEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3uivEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3uivEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3usEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3usEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3us", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3usEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3usEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3usEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3usEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3usvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3usvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3usvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColor3usvEXT) {
+ void ** procp = (void **) &disp->SecondaryColor3usvEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColor3usvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColor3usvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColorPointerEXT) {
+ void ** procp = (void **) &disp->SecondaryColorPointerEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColorPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColorPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SecondaryColorPointerEXT) {
+ void ** procp = (void **) &disp->SecondaryColorPointerEXT;
snprintf(symboln, sizeof(symboln), "%sSecondaryColorPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SecondaryColorPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiDrawArraysEXT) {
+ void ** procp = (void **) &disp->MultiDrawArraysEXT;
snprintf(symboln, sizeof(symboln), "%sMultiDrawArrays", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiDrawArraysEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiDrawArraysEXT) {
+ void ** procp = (void **) &disp->MultiDrawArraysEXT;
snprintf(symboln, sizeof(symboln), "%sMultiDrawArraysEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiDrawArraysEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiDrawElementsEXT) {
+ void ** procp = (void **) &disp->MultiDrawElementsEXT;
snprintf(symboln, sizeof(symboln), "%sMultiDrawElements", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiDrawElementsEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiDrawElementsEXT) {
+ void ** procp = (void **) &disp->MultiDrawElementsEXT;
snprintf(symboln, sizeof(symboln), "%sMultiDrawElementsEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiDrawElementsEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordPointerEXT) {
+ void ** procp = (void **) &disp->FogCoordPointerEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordPointerEXT) {
+ void ** procp = (void **) &disp->FogCoordPointerEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoorddEXT) {
+ void ** procp = (void **) &disp->FogCoorddEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordd", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoorddEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoorddEXT) {
+ void ** procp = (void **) &disp->FogCoorddEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoorddEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoorddEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoorddvEXT) {
+ void ** procp = (void **) &disp->FogCoorddvEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoorddv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoorddvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoorddvEXT) {
+ void ** procp = (void **) &disp->FogCoorddvEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoorddvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoorddvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordfEXT) {
+ void ** procp = (void **) &disp->FogCoordfEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordf", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordfEXT) {
+ void ** procp = (void **) &disp->FogCoordfEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordfEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordfEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordfvEXT) {
+ void ** procp = (void **) &disp->FogCoordfvEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordfv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FogCoordfvEXT) {
+ void ** procp = (void **) &disp->FogCoordfvEXT;
snprintf(symboln, sizeof(symboln), "%sFogCoordfvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FogCoordfvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PixelTexGenSGIX) {
+ void ** procp = (void **) &disp->PixelTexGenSGIX;
snprintf(symboln, sizeof(symboln), "%sPixelTexGenSGIX", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PixelTexGenSGIX;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFuncSeparateEXT) {
+ void ** procp = (void **) &disp->BlendFuncSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparate", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFuncSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFuncSeparateEXT) {
+ void ** procp = (void **) &disp->BlendFuncSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFuncSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendFuncSeparateEXT) {
+ void ** procp = (void **) &disp->BlendFuncSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendFuncSeparateINGR", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendFuncSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FlushVertexArrayRangeNV) {
+ void ** procp = (void **) &disp->FlushVertexArrayRangeNV;
snprintf(symboln, sizeof(symboln), "%sFlushVertexArrayRangeNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FlushVertexArrayRangeNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexArrayRangeNV) {
+ void ** procp = (void **) &disp->VertexArrayRangeNV;
snprintf(symboln, sizeof(symboln), "%sVertexArrayRangeNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexArrayRangeNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerInputNV) {
+ void ** procp = (void **) &disp->CombinerInputNV;
snprintf(symboln, sizeof(symboln), "%sCombinerInputNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerInputNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerOutputNV) {
+ void ** procp = (void **) &disp->CombinerOutputNV;
snprintf(symboln, sizeof(symboln), "%sCombinerOutputNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerOutputNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerParameterfNV) {
+ void ** procp = (void **) &disp->CombinerParameterfNV;
snprintf(symboln, sizeof(symboln), "%sCombinerParameterfNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerParameterfNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerParameterfvNV) {
+ void ** procp = (void **) &disp->CombinerParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sCombinerParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerParameteriNV) {
+ void ** procp = (void **) &disp->CombinerParameteriNV;
snprintf(symboln, sizeof(symboln), "%sCombinerParameteriNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerParameteriNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CombinerParameterivNV) {
+ void ** procp = (void **) &disp->CombinerParameterivNV;
snprintf(symboln, sizeof(symboln), "%sCombinerParameterivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CombinerParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FinalCombinerInputNV) {
+ void ** procp = (void **) &disp->FinalCombinerInputNV;
snprintf(symboln, sizeof(symboln), "%sFinalCombinerInputNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FinalCombinerInputNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCombinerInputParameterfvNV) {
+ void ** procp = (void **) &disp->GetCombinerInputParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sGetCombinerInputParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCombinerInputParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCombinerInputParameterivNV) {
+ void ** procp = (void **) &disp->GetCombinerInputParameterivNV;
snprintf(symboln, sizeof(symboln), "%sGetCombinerInputParameterivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCombinerInputParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCombinerOutputParameterfvNV) {
+ void ** procp = (void **) &disp->GetCombinerOutputParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sGetCombinerOutputParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCombinerOutputParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetCombinerOutputParameterivNV) {
+ void ** procp = (void **) &disp->GetCombinerOutputParameterivNV;
snprintf(symboln, sizeof(symboln), "%sGetCombinerOutputParameterivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetCombinerOutputParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFinalCombinerInputParameterfvNV) {
+ void ** procp = (void **) &disp->GetFinalCombinerInputParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sGetFinalCombinerInputParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFinalCombinerInputParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFinalCombinerInputParameterivNV) {
+ void ** procp = (void **) &disp->GetFinalCombinerInputParameterivNV;
snprintf(symboln, sizeof(symboln), "%sGetFinalCombinerInputParameterivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFinalCombinerInputParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ResizeBuffersMESA) {
+ void ** procp = (void **) &disp->ResizeBuffersMESA;
snprintf(symboln, sizeof(symboln), "%sResizeBuffersMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ResizeBuffersMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dMESA) {
+ void ** procp = (void **) &disp->WindowPos2dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dMESA) {
+ void ** procp = (void **) &disp->WindowPos2dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dMESA) {
+ void ** procp = (void **) &disp->WindowPos2dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2dMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dvMESA) {
+ void ** procp = (void **) &disp->WindowPos2dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dvMESA) {
+ void ** procp = (void **) &disp->WindowPos2dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2dvMESA) {
+ void ** procp = (void **) &disp->WindowPos2dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2dvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fMESA) {
+ void ** procp = (void **) &disp->WindowPos2fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fMESA) {
+ void ** procp = (void **) &disp->WindowPos2fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fMESA) {
+ void ** procp = (void **) &disp->WindowPos2fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2fMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fvMESA) {
+ void ** procp = (void **) &disp->WindowPos2fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fvMESA) {
+ void ** procp = (void **) &disp->WindowPos2fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2fvMESA) {
+ void ** procp = (void **) &disp->WindowPos2fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2fvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2iMESA) {
+ void ** procp = (void **) &disp->WindowPos2iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2iMESA) {
+ void ** procp = (void **) &disp->WindowPos2iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2iMESA) {
+ void ** procp = (void **) &disp->WindowPos2iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2iMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2ivMESA) {
+ void ** procp = (void **) &disp->WindowPos2ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2ivMESA) {
+ void ** procp = (void **) &disp->WindowPos2ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2ivMESA) {
+ void ** procp = (void **) &disp->WindowPos2ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2ivMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2sMESA) {
+ void ** procp = (void **) &disp->WindowPos2sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2sMESA) {
+ void ** procp = (void **) &disp->WindowPos2sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2sMESA) {
+ void ** procp = (void **) &disp->WindowPos2sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2sMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2svMESA) {
+ void ** procp = (void **) &disp->WindowPos2svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2svMESA) {
+ void ** procp = (void **) &disp->WindowPos2svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos2svMESA) {
+ void ** procp = (void **) &disp->WindowPos2svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos2svMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos2svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dMESA) {
+ void ** procp = (void **) &disp->WindowPos3dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3d", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dMESA) {
+ void ** procp = (void **) &disp->WindowPos3dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3dARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dMESA) {
+ void ** procp = (void **) &disp->WindowPos3dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3dMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dvMESA) {
+ void ** procp = (void **) &disp->WindowPos3dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3dv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dvMESA) {
+ void ** procp = (void **) &disp->WindowPos3dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3dvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3dvMESA) {
+ void ** procp = (void **) &disp->WindowPos3dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3dvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fMESA) {
+ void ** procp = (void **) &disp->WindowPos3fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3f", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fMESA) {
+ void ** procp = (void **) &disp->WindowPos3fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3fARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fMESA) {
+ void ** procp = (void **) &disp->WindowPos3fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3fMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fvMESA) {
+ void ** procp = (void **) &disp->WindowPos3fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3fv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fvMESA) {
+ void ** procp = (void **) &disp->WindowPos3fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3fvARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3fvMESA) {
+ void ** procp = (void **) &disp->WindowPos3fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3fvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3iMESA) {
+ void ** procp = (void **) &disp->WindowPos3iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3iMESA) {
+ void ** procp = (void **) &disp->WindowPos3iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3iARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3iMESA) {
+ void ** procp = (void **) &disp->WindowPos3iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3iMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3ivMESA) {
+ void ** procp = (void **) &disp->WindowPos3ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3ivMESA) {
+ void ** procp = (void **) &disp->WindowPos3ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3ivARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3ivMESA) {
+ void ** procp = (void **) &disp->WindowPos3ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3ivMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3sMESA) {
+ void ** procp = (void **) &disp->WindowPos3sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3s", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3sMESA) {
+ void ** procp = (void **) &disp->WindowPos3sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3sARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3sMESA) {
+ void ** procp = (void **) &disp->WindowPos3sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3sMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3svMESA) {
+ void ** procp = (void **) &disp->WindowPos3svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3svMESA) {
+ void ** procp = (void **) &disp->WindowPos3svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3svARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos3svMESA) {
+ void ** procp = (void **) &disp->WindowPos3svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos3svMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos3svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4dMESA) {
+ void ** procp = (void **) &disp->WindowPos4dMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4dMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4dMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4dvMESA) {
+ void ** procp = (void **) &disp->WindowPos4dvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4dvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4dvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4fMESA) {
+ void ** procp = (void **) &disp->WindowPos4fMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4fMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4fMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4fvMESA) {
+ void ** procp = (void **) &disp->WindowPos4fvMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4fvMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4fvMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4iMESA) {
+ void ** procp = (void **) &disp->WindowPos4iMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4iMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4iMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4ivMESA) {
+ void ** procp = (void **) &disp->WindowPos4ivMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4ivMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4ivMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4sMESA) {
+ void ** procp = (void **) &disp->WindowPos4sMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4sMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4sMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->WindowPos4svMESA) {
+ void ** procp = (void **) &disp->WindowPos4svMESA;
snprintf(symboln, sizeof(symboln), "%sWindowPos4svMESA", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->WindowPos4svMESA;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiModeDrawArraysIBM) {
+ void ** procp = (void **) &disp->MultiModeDrawArraysIBM;
snprintf(symboln, sizeof(symboln), "%sMultiModeDrawArraysIBM", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiModeDrawArraysIBM;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->MultiModeDrawElementsIBM) {
+ void ** procp = (void **) &disp->MultiModeDrawElementsIBM;
snprintf(symboln, sizeof(symboln), "%sMultiModeDrawElementsIBM", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->MultiModeDrawElementsIBM;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteFencesNV) {
+ void ** procp = (void **) &disp->DeleteFencesNV;
snprintf(symboln, sizeof(symboln), "%sDeleteFencesNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteFencesNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FinishFenceNV) {
+ void ** procp = (void **) &disp->FinishFenceNV;
snprintf(symboln, sizeof(symboln), "%sFinishFenceNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FinishFenceNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenFencesNV) {
+ void ** procp = (void **) &disp->GenFencesNV;
snprintf(symboln, sizeof(symboln), "%sGenFencesNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenFencesNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFenceivNV) {
+ void ** procp = (void **) &disp->GetFenceivNV;
snprintf(symboln, sizeof(symboln), "%sGetFenceivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFenceivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsFenceNV) {
+ void ** procp = (void **) &disp->IsFenceNV;
snprintf(symboln, sizeof(symboln), "%sIsFenceNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsFenceNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SetFenceNV) {
+ void ** procp = (void **) &disp->SetFenceNV;
snprintf(symboln, sizeof(symboln), "%sSetFenceNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SetFenceNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TestFenceNV) {
+ void ** procp = (void **) &disp->TestFenceNV;
snprintf(symboln, sizeof(symboln), "%sTestFenceNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TestFenceNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AreProgramsResidentNV) {
+ void ** procp = (void **) &disp->AreProgramsResidentNV;
snprintf(symboln, sizeof(symboln), "%sAreProgramsResidentNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AreProgramsResidentNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindProgramNV) {
+ void ** procp = (void **) &disp->BindProgramNV;
snprintf(symboln, sizeof(symboln), "%sBindProgramARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindProgramNV) {
+ void ** procp = (void **) &disp->BindProgramNV;
snprintf(symboln, sizeof(symboln), "%sBindProgramNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteProgramsNV) {
+ void ** procp = (void **) &disp->DeleteProgramsNV;
snprintf(symboln, sizeof(symboln), "%sDeleteProgramsARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteProgramsNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteProgramsNV) {
+ void ** procp = (void **) &disp->DeleteProgramsNV;
snprintf(symboln, sizeof(symboln), "%sDeleteProgramsNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteProgramsNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ExecuteProgramNV) {
+ void ** procp = (void **) &disp->ExecuteProgramNV;
snprintf(symboln, sizeof(symboln), "%sExecuteProgramNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ExecuteProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenProgramsNV) {
+ void ** procp = (void **) &disp->GenProgramsNV;
snprintf(symboln, sizeof(symboln), "%sGenProgramsARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenProgramsNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenProgramsNV) {
+ void ** procp = (void **) &disp->GenProgramsNV;
snprintf(symboln, sizeof(symboln), "%sGenProgramsNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenProgramsNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramParameterdvNV) {
+ void ** procp = (void **) &disp->GetProgramParameterdvNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramParameterdvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramParameterdvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramParameterfvNV) {
+ void ** procp = (void **) &disp->GetProgramParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramStringNV) {
+ void ** procp = (void **) &disp->GetProgramStringNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramStringNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramStringNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramivNV) {
+ void ** procp = (void **) &disp->GetProgramivNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTrackMatrixivNV) {
+ void ** procp = (void **) &disp->GetTrackMatrixivNV;
snprintf(symboln, sizeof(symboln), "%sGetTrackMatrixivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTrackMatrixivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribPointervNV) {
+ void ** procp = (void **) &disp->GetVertexAttribPointervNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointerv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribPointervNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribPointervNV) {
+ void ** procp = (void **) &disp->GetVertexAttribPointervNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointervARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribPointervNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribPointervNV) {
+ void ** procp = (void **) &disp->GetVertexAttribPointervNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribPointervNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribPointervNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribdvNV) {
+ void ** procp = (void **) &disp->GetVertexAttribdvNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribdvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribdvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribfvNV) {
+ void ** procp = (void **) &disp->GetVertexAttribfvNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribivNV) {
+ void ** procp = (void **) &disp->GetVertexAttribivNV;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsProgramNV) {
+ void ** procp = (void **) &disp->IsProgramNV;
snprintf(symboln, sizeof(symboln), "%sIsProgramARB", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsProgramNV) {
+ void ** procp = (void **) &disp->IsProgramNV;
snprintf(symboln, sizeof(symboln), "%sIsProgramNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->LoadProgramNV) {
+ void ** procp = (void **) &disp->LoadProgramNV;
snprintf(symboln, sizeof(symboln), "%sLoadProgramNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->LoadProgramNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramParameters4dvNV) {
+ void ** procp = (void **) &disp->ProgramParameters4dvNV;
snprintf(symboln, sizeof(symboln), "%sProgramParameters4dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramParameters4dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramParameters4fvNV) {
+ void ** procp = (void **) &disp->ProgramParameters4fvNV;
snprintf(symboln, sizeof(symboln), "%sProgramParameters4fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramParameters4fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RequestResidentProgramsNV) {
+ void ** procp = (void **) &disp->RequestResidentProgramsNV;
snprintf(symboln, sizeof(symboln), "%sRequestResidentProgramsNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RequestResidentProgramsNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TrackMatrixNV) {
+ void ** procp = (void **) &disp->TrackMatrixNV;
snprintf(symboln, sizeof(symboln), "%sTrackMatrixNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TrackMatrixNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dNV) {
+ void ** procp = (void **) &disp->VertexAttrib1dNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1dvNV) {
+ void ** procp = (void **) &disp->VertexAttrib1dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fNV) {
+ void ** procp = (void **) &disp->VertexAttrib1fNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1fvNV) {
+ void ** procp = (void **) &disp->VertexAttrib1fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1sNV) {
+ void ** procp = (void **) &disp->VertexAttrib1sNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1sNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1sNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib1svNV) {
+ void ** procp = (void **) &disp->VertexAttrib1svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib1svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib1svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dNV) {
+ void ** procp = (void **) &disp->VertexAttrib2dNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2dvNV) {
+ void ** procp = (void **) &disp->VertexAttrib2dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fNV) {
+ void ** procp = (void **) &disp->VertexAttrib2fNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2fvNV) {
+ void ** procp = (void **) &disp->VertexAttrib2fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2sNV) {
+ void ** procp = (void **) &disp->VertexAttrib2sNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2sNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2sNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib2svNV) {
+ void ** procp = (void **) &disp->VertexAttrib2svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib2svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib2svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dNV) {
+ void ** procp = (void **) &disp->VertexAttrib3dNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3dvNV) {
+ void ** procp = (void **) &disp->VertexAttrib3dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fNV) {
+ void ** procp = (void **) &disp->VertexAttrib3fNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3fvNV) {
+ void ** procp = (void **) &disp->VertexAttrib3fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3sNV) {
+ void ** procp = (void **) &disp->VertexAttrib3sNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3sNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3sNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib3svNV) {
+ void ** procp = (void **) &disp->VertexAttrib3svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib3svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib3svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dNV) {
+ void ** procp = (void **) &disp->VertexAttrib4dNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4dvNV) {
+ void ** procp = (void **) &disp->VertexAttrib4dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fNV) {
+ void ** procp = (void **) &disp->VertexAttrib4fNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4fvNV) {
+ void ** procp = (void **) &disp->VertexAttrib4fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4sNV) {
+ void ** procp = (void **) &disp->VertexAttrib4sNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4sNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4sNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4svNV) {
+ void ** procp = (void **) &disp->VertexAttrib4svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ubNV) {
+ void ** procp = (void **) &disp->VertexAttrib4ubNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ubNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttrib4ubvNV) {
+ void ** procp = (void **) &disp->VertexAttrib4ubvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttrib4ubvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttrib4ubvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribPointerNV) {
+ void ** procp = (void **) &disp->VertexAttribPointerNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribPointerNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribPointerNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs1dvNV) {
+ void ** procp = (void **) &disp->VertexAttribs1dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs1dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs1dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs1fvNV) {
+ void ** procp = (void **) &disp->VertexAttribs1fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs1fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs1fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs1svNV) {
+ void ** procp = (void **) &disp->VertexAttribs1svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs1svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs1svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs2dvNV) {
+ void ** procp = (void **) &disp->VertexAttribs2dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs2dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs2dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs2fvNV) {
+ void ** procp = (void **) &disp->VertexAttribs2fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs2fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs2fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs2svNV) {
+ void ** procp = (void **) &disp->VertexAttribs2svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs2svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs2svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs3dvNV) {
+ void ** procp = (void **) &disp->VertexAttribs3dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs3dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs3dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs3fvNV) {
+ void ** procp = (void **) &disp->VertexAttribs3fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs3fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs3fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs3svNV) {
+ void ** procp = (void **) &disp->VertexAttribs3svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs3svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs3svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs4dvNV) {
+ void ** procp = (void **) &disp->VertexAttribs4dvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs4dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs4dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs4fvNV) {
+ void ** procp = (void **) &disp->VertexAttribs4fvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs4fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs4fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs4svNV) {
+ void ** procp = (void **) &disp->VertexAttribs4svNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs4svNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs4svNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribs4ubvNV) {
+ void ** procp = (void **) &disp->VertexAttribs4ubvNV;
snprintf(symboln, sizeof(symboln), "%sVertexAttribs4ubvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribs4ubvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexBumpParameterfvATI) {
+ void ** procp = (void **) &disp->GetTexBumpParameterfvATI;
snprintf(symboln, sizeof(symboln), "%sGetTexBumpParameterfvATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexBumpParameterfvATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexBumpParameterivATI) {
+ void ** procp = (void **) &disp->GetTexBumpParameterivATI;
snprintf(symboln, sizeof(symboln), "%sGetTexBumpParameterivATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexBumpParameterivATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexBumpParameterfvATI) {
+ void ** procp = (void **) &disp->TexBumpParameterfvATI;
snprintf(symboln, sizeof(symboln), "%sTexBumpParameterfvATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexBumpParameterfvATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexBumpParameterivATI) {
+ void ** procp = (void **) &disp->TexBumpParameterivATI;
snprintf(symboln, sizeof(symboln), "%sTexBumpParameterivATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexBumpParameterivATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AlphaFragmentOp1ATI) {
+ void ** procp = (void **) &disp->AlphaFragmentOp1ATI;
snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp1ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AlphaFragmentOp1ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AlphaFragmentOp2ATI) {
+ void ** procp = (void **) &disp->AlphaFragmentOp2ATI;
snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp2ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AlphaFragmentOp2ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->AlphaFragmentOp3ATI) {
+ void ** procp = (void **) &disp->AlphaFragmentOp3ATI;
snprintf(symboln, sizeof(symboln), "%sAlphaFragmentOp3ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->AlphaFragmentOp3ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginFragmentShaderATI) {
+ void ** procp = (void **) &disp->BeginFragmentShaderATI;
snprintf(symboln, sizeof(symboln), "%sBeginFragmentShaderATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginFragmentShaderATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindFragmentShaderATI) {
+ void ** procp = (void **) &disp->BindFragmentShaderATI;
snprintf(symboln, sizeof(symboln), "%sBindFragmentShaderATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindFragmentShaderATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorFragmentOp1ATI) {
+ void ** procp = (void **) &disp->ColorFragmentOp1ATI;
snprintf(symboln, sizeof(symboln), "%sColorFragmentOp1ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorFragmentOp1ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorFragmentOp2ATI) {
+ void ** procp = (void **) &disp->ColorFragmentOp2ATI;
snprintf(symboln, sizeof(symboln), "%sColorFragmentOp2ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorFragmentOp2ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorFragmentOp3ATI) {
+ void ** procp = (void **) &disp->ColorFragmentOp3ATI;
snprintf(symboln, sizeof(symboln), "%sColorFragmentOp3ATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorFragmentOp3ATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteFragmentShaderATI) {
+ void ** procp = (void **) &disp->DeleteFragmentShaderATI;
snprintf(symboln, sizeof(symboln), "%sDeleteFragmentShaderATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteFragmentShaderATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndFragmentShaderATI) {
+ void ** procp = (void **) &disp->EndFragmentShaderATI;
snprintf(symboln, sizeof(symboln), "%sEndFragmentShaderATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndFragmentShaderATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenFragmentShadersATI) {
+ void ** procp = (void **) &disp->GenFragmentShadersATI;
snprintf(symboln, sizeof(symboln), "%sGenFragmentShadersATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenFragmentShadersATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PassTexCoordATI) {
+ void ** procp = (void **) &disp->PassTexCoordATI;
snprintf(symboln, sizeof(symboln), "%sPassTexCoordATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PassTexCoordATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SampleMapATI) {
+ void ** procp = (void **) &disp->SampleMapATI;
snprintf(symboln, sizeof(symboln), "%sSampleMapATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SampleMapATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->SetFragmentShaderConstantATI) {
+ void ** procp = (void **) &disp->SetFragmentShaderConstantATI;
snprintf(symboln, sizeof(symboln), "%sSetFragmentShaderConstantATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->SetFragmentShaderConstantATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameteriNV) {
+ void ** procp = (void **) &disp->PointParameteriNV;
snprintf(symboln, sizeof(symboln), "%sPointParameteri", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameteriNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameteriNV) {
+ void ** procp = (void **) &disp->PointParameteriNV;
snprintf(symboln, sizeof(symboln), "%sPointParameteriNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameteriNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterivNV) {
+ void ** procp = (void **) &disp->PointParameterivNV;
snprintf(symboln, sizeof(symboln), "%sPointParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PointParameterivNV) {
+ void ** procp = (void **) &disp->PointParameterivNV;
snprintf(symboln, sizeof(symboln), "%sPointParameterivNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PointParameterivNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ActiveStencilFaceEXT) {
+ void ** procp = (void **) &disp->ActiveStencilFaceEXT;
snprintf(symboln, sizeof(symboln), "%sActiveStencilFaceEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ActiveStencilFaceEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindVertexArrayAPPLE) {
+ void ** procp = (void **) &disp->BindVertexArrayAPPLE;
snprintf(symboln, sizeof(symboln), "%sBindVertexArrayAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindVertexArrayAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteVertexArraysAPPLE) {
+ void ** procp = (void **) &disp->DeleteVertexArraysAPPLE;
snprintf(symboln, sizeof(symboln), "%sDeleteVertexArrays", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteVertexArraysAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteVertexArraysAPPLE) {
+ void ** procp = (void **) &disp->DeleteVertexArraysAPPLE;
snprintf(symboln, sizeof(symboln), "%sDeleteVertexArraysAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteVertexArraysAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenVertexArraysAPPLE) {
+ void ** procp = (void **) &disp->GenVertexArraysAPPLE;
snprintf(symboln, sizeof(symboln), "%sGenVertexArraysAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenVertexArraysAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsVertexArrayAPPLE) {
+ void ** procp = (void **) &disp->IsVertexArrayAPPLE;
snprintf(symboln, sizeof(symboln), "%sIsVertexArray", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsVertexArrayAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsVertexArrayAPPLE) {
+ void ** procp = (void **) &disp->IsVertexArrayAPPLE;
snprintf(symboln, sizeof(symboln), "%sIsVertexArrayAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsVertexArrayAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramNamedParameterdvNV) {
+ void ** procp = (void **) &disp->GetProgramNamedParameterdvNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramNamedParameterdvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramNamedParameterdvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetProgramNamedParameterfvNV) {
+ void ** procp = (void **) &disp->GetProgramNamedParameterfvNV;
snprintf(symboln, sizeof(symboln), "%sGetProgramNamedParameterfvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetProgramNamedParameterfvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramNamedParameter4dNV) {
+ void ** procp = (void **) &disp->ProgramNamedParameter4dNV;
snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4dNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramNamedParameter4dNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramNamedParameter4dvNV) {
+ void ** procp = (void **) &disp->ProgramNamedParameter4dvNV;
snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4dvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramNamedParameter4dvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramNamedParameter4fNV) {
+ void ** procp = (void **) &disp->ProgramNamedParameter4fNV;
snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4fNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramNamedParameter4fNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramNamedParameter4fvNV) {
+ void ** procp = (void **) &disp->ProgramNamedParameter4fvNV;
snprintf(symboln, sizeof(symboln), "%sProgramNamedParameter4fvNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramNamedParameter4fvNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PrimitiveRestartIndexNV) {
+ void ** procp = (void **) &disp->PrimitiveRestartIndexNV;
snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartIndexNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PrimitiveRestartIndexNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PrimitiveRestartIndexNV) {
+ void ** procp = (void **) &disp->PrimitiveRestartIndexNV;
snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartIndex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PrimitiveRestartIndexNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->PrimitiveRestartNV) {
+ void ** procp = (void **) &disp->PrimitiveRestartNV;
snprintf(symboln, sizeof(symboln), "%sPrimitiveRestartNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->PrimitiveRestartNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DepthBoundsEXT) {
+ void ** procp = (void **) &disp->DepthBoundsEXT;
snprintf(symboln, sizeof(symboln), "%sDepthBoundsEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DepthBoundsEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationSeparateEXT) {
+ void ** procp = (void **) &disp->BlendEquationSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparate", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationSeparateEXT) {
+ void ** procp = (void **) &disp->BlendEquationSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlendEquationSeparateEXT) {
+ void ** procp = (void **) &disp->BlendEquationSeparateEXT;
snprintf(symboln, sizeof(symboln), "%sBlendEquationSeparateATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlendEquationSeparateEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindFramebufferEXT) {
+ void ** procp = (void **) &disp->BindFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sBindFramebuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindFramebufferEXT) {
+ void ** procp = (void **) &disp->BindFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sBindFramebufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindRenderbufferEXT) {
+ void ** procp = (void **) &disp->BindRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sBindRenderbuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindRenderbufferEXT) {
+ void ** procp = (void **) &disp->BindRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sBindRenderbufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CheckFramebufferStatusEXT) {
+ void ** procp = (void **) &disp->CheckFramebufferStatusEXT;
snprintf(symboln, sizeof(symboln), "%sCheckFramebufferStatus", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CheckFramebufferStatusEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CheckFramebufferStatusEXT) {
+ void ** procp = (void **) &disp->CheckFramebufferStatusEXT;
snprintf(symboln, sizeof(symboln), "%sCheckFramebufferStatusEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CheckFramebufferStatusEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteFramebuffersEXT) {
+ void ** procp = (void **) &disp->DeleteFramebuffersEXT;
snprintf(symboln, sizeof(symboln), "%sDeleteFramebuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteFramebuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteFramebuffersEXT) {
+ void ** procp = (void **) &disp->DeleteFramebuffersEXT;
snprintf(symboln, sizeof(symboln), "%sDeleteFramebuffersEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteFramebuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteRenderbuffersEXT) {
+ void ** procp = (void **) &disp->DeleteRenderbuffersEXT;
snprintf(symboln, sizeof(symboln), "%sDeleteRenderbuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteRenderbuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DeleteRenderbuffersEXT) {
+ void ** procp = (void **) &disp->DeleteRenderbuffersEXT;
snprintf(symboln, sizeof(symboln), "%sDeleteRenderbuffersEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DeleteRenderbuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferRenderbufferEXT) {
+ void ** procp = (void **) &disp->FramebufferRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferRenderbuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferRenderbufferEXT) {
+ void ** procp = (void **) &disp->FramebufferRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferRenderbufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture1DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture1DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture1D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture1DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture1DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture1DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture1DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture1DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture2DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture2DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture2D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture2DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture2DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture2DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture2DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture2DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture3DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture3DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture3D", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture3DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTexture3DEXT) {
+ void ** procp = (void **) &disp->FramebufferTexture3DEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTexture3DEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTexture3DEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenFramebuffersEXT) {
+ void ** procp = (void **) &disp->GenFramebuffersEXT;
snprintf(symboln, sizeof(symboln), "%sGenFramebuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenFramebuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenFramebuffersEXT) {
+ void ** procp = (void **) &disp->GenFramebuffersEXT;
snprintf(symboln, sizeof(symboln), "%sGenFramebuffersEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenFramebuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenRenderbuffersEXT) {
+ void ** procp = (void **) &disp->GenRenderbuffersEXT;
snprintf(symboln, sizeof(symboln), "%sGenRenderbuffers", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenRenderbuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenRenderbuffersEXT) {
+ void ** procp = (void **) &disp->GenRenderbuffersEXT;
snprintf(symboln, sizeof(symboln), "%sGenRenderbuffersEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenRenderbuffersEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenerateMipmapEXT) {
+ void ** procp = (void **) &disp->GenerateMipmapEXT;
snprintf(symboln, sizeof(symboln), "%sGenerateMipmap", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenerateMipmapEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GenerateMipmapEXT) {
+ void ** procp = (void **) &disp->GenerateMipmapEXT;
snprintf(symboln, sizeof(symboln), "%sGenerateMipmapEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GenerateMipmapEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFramebufferAttachmentParameterivEXT) {
+ void ** procp = (void **) &disp->GetFramebufferAttachmentParameterivEXT;
snprintf(symboln, sizeof(symboln), "%sGetFramebufferAttachmentParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFramebufferAttachmentParameterivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFramebufferAttachmentParameterivEXT) {
+ void ** procp = (void **) &disp->GetFramebufferAttachmentParameterivEXT;
snprintf(symboln, sizeof(symboln), "%sGetFramebufferAttachmentParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFramebufferAttachmentParameterivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetRenderbufferParameterivEXT) {
+ void ** procp = (void **) &disp->GetRenderbufferParameterivEXT;
snprintf(symboln, sizeof(symboln), "%sGetRenderbufferParameteriv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetRenderbufferParameterivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetRenderbufferParameterivEXT) {
+ void ** procp = (void **) &disp->GetRenderbufferParameterivEXT;
snprintf(symboln, sizeof(symboln), "%sGetRenderbufferParameterivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetRenderbufferParameterivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsFramebufferEXT) {
+ void ** procp = (void **) &disp->IsFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sIsFramebuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsFramebufferEXT) {
+ void ** procp = (void **) &disp->IsFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sIsFramebufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsRenderbufferEXT) {
+ void ** procp = (void **) &disp->IsRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sIsRenderbuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsRenderbufferEXT) {
+ void ** procp = (void **) &disp->IsRenderbufferEXT;
snprintf(symboln, sizeof(symboln), "%sIsRenderbufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsRenderbufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RenderbufferStorageEXT) {
+ void ** procp = (void **) &disp->RenderbufferStorageEXT;
snprintf(symboln, sizeof(symboln), "%sRenderbufferStorage", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RenderbufferStorageEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->RenderbufferStorageEXT) {
+ void ** procp = (void **) &disp->RenderbufferStorageEXT;
snprintf(symboln, sizeof(symboln), "%sRenderbufferStorageEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->RenderbufferStorageEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlitFramebufferEXT) {
+ void ** procp = (void **) &disp->BlitFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sBlitFramebuffer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlitFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BlitFramebufferEXT) {
+ void ** procp = (void **) &disp->BlitFramebufferEXT;
snprintf(symboln, sizeof(symboln), "%sBlitFramebufferEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BlitFramebufferEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BufferParameteriAPPLE) {
+ void ** procp = (void **) &disp->BufferParameteriAPPLE;
snprintf(symboln, sizeof(symboln), "%sBufferParameteriAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BufferParameteriAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FlushMappedBufferRangeAPPLE) {
+ void ** procp = (void **) &disp->FlushMappedBufferRangeAPPLE;
snprintf(symboln, sizeof(symboln), "%sFlushMappedBufferRangeAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FlushMappedBufferRangeAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindFragDataLocationEXT) {
+ void ** procp = (void **) &disp->BindFragDataLocationEXT;
snprintf(symboln, sizeof(symboln), "%sBindFragDataLocationEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindFragDataLocationEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindFragDataLocationEXT) {
+ void ** procp = (void **) &disp->BindFragDataLocationEXT;
snprintf(symboln, sizeof(symboln), "%sBindFragDataLocation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindFragDataLocationEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFragDataLocationEXT) {
+ void ** procp = (void **) &disp->GetFragDataLocationEXT;
snprintf(symboln, sizeof(symboln), "%sGetFragDataLocationEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFragDataLocationEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetFragDataLocationEXT) {
+ void ** procp = (void **) &disp->GetFragDataLocationEXT;
snprintf(symboln, sizeof(symboln), "%sGetFragDataLocation", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetFragDataLocationEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformuivEXT) {
+ void ** procp = (void **) &disp->GetUniformuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetUniformuivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetUniformuivEXT) {
+ void ** procp = (void **) &disp->GetUniformuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetUniformuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetUniformuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribIivEXT) {
+ void ** procp = (void **) &disp->GetVertexAttribIivEXT;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribIivEXT) {
+ void ** procp = (void **) &disp->GetVertexAttribIivEXT;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribIuivEXT) {
+ void ** procp = (void **) &disp->GetVertexAttribIuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIuivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetVertexAttribIuivEXT) {
+ void ** procp = (void **) &disp->GetVertexAttribIuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetVertexAttribIuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetVertexAttribIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1uiEXT) {
+ void ** procp = (void **) &disp->Uniform1uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform1uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1uiEXT) {
+ void ** procp = (void **) &disp->Uniform1uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform1ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1uivEXT) {
+ void ** procp = (void **) &disp->Uniform1uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform1uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform1uivEXT) {
+ void ** procp = (void **) &disp->Uniform1uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform1uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform1uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2uiEXT) {
+ void ** procp = (void **) &disp->Uniform2uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform2uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2uiEXT) {
+ void ** procp = (void **) &disp->Uniform2uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform2ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2uivEXT) {
+ void ** procp = (void **) &disp->Uniform2uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform2uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform2uivEXT) {
+ void ** procp = (void **) &disp->Uniform2uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform2uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform2uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3uiEXT) {
+ void ** procp = (void **) &disp->Uniform3uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform3uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3uiEXT) {
+ void ** procp = (void **) &disp->Uniform3uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform3ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3uivEXT) {
+ void ** procp = (void **) &disp->Uniform3uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform3uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform3uivEXT) {
+ void ** procp = (void **) &disp->Uniform3uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform3uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4uiEXT) {
+ void ** procp = (void **) &disp->Uniform4uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform4uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4uiEXT) {
+ void ** procp = (void **) &disp->Uniform4uiEXT;
snprintf(symboln, sizeof(symboln), "%sUniform4ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4uivEXT) {
+ void ** procp = (void **) &disp->Uniform4uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform4uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->Uniform4uivEXT) {
+ void ** procp = (void **) &disp->Uniform4uivEXT;
snprintf(symboln, sizeof(symboln), "%sUniform4uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->Uniform4uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1iEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1ivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI1uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI1uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI1uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI1uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2iEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2ivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI2uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI2uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI2uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI2uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3iEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3ivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI3uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI3uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI3uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI3uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4bvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4bvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4bvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4bvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4bvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4bvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4bv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4bvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4iEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4iEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4iEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4i", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4iEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4ivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4ivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4iv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4ivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4svEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4svEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4svEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4svEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4svEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4svEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4sv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4svEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4ubvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4ubvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ubvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4ubvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4ubvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4ubvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ubv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4ubvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4uiEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4uiEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4ui", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4uiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4uivEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4uivEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4uiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4uivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4usvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4usvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4usvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4usvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribI4usvEXT) {
+ void ** procp = (void **) &disp->VertexAttribI4usvEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribI4usv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribI4usvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribIPointerEXT) {
+ void ** procp = (void **) &disp->VertexAttribIPointerEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribIPointerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribIPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->VertexAttribIPointerEXT) {
+ void ** procp = (void **) &disp->VertexAttribIPointerEXT;
snprintf(symboln, sizeof(symboln), "%sVertexAttribIPointer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->VertexAttribIPointerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTextureLayerEXT) {
+ void ** procp = (void **) &disp->FramebufferTextureLayerEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTextureLayer", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTextureLayerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->FramebufferTextureLayerEXT) {
+ void ** procp = (void **) &disp->FramebufferTextureLayerEXT;
snprintf(symboln, sizeof(symboln), "%sFramebufferTextureLayerEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->FramebufferTextureLayerEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorMaskIndexedEXT) {
+ void ** procp = (void **) &disp->ColorMaskIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sColorMaskIndexedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorMaskIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ColorMaskIndexedEXT) {
+ void ** procp = (void **) &disp->ColorMaskIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sColorMaski", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ColorMaskIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DisableIndexedEXT) {
+ void ** procp = (void **) &disp->DisableIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sDisableIndexedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DisableIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->DisableIndexedEXT) {
+ void ** procp = (void **) &disp->DisableIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sDisablei", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->DisableIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EnableIndexedEXT) {
+ void ** procp = (void **) &disp->EnableIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sEnableIndexedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EnableIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EnableIndexedEXT) {
+ void ** procp = (void **) &disp->EnableIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sEnablei", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EnableIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBooleanIndexedvEXT) {
+ void ** procp = (void **) &disp->GetBooleanIndexedvEXT;
snprintf(symboln, sizeof(symboln), "%sGetBooleanIndexedvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBooleanIndexedvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetBooleanIndexedvEXT) {
+ void ** procp = (void **) &disp->GetBooleanIndexedvEXT;
snprintf(symboln, sizeof(symboln), "%sGetBooleani_v", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetBooleanIndexedvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetIntegerIndexedvEXT) {
+ void ** procp = (void **) &disp->GetIntegerIndexedvEXT;
snprintf(symboln, sizeof(symboln), "%sGetIntegerIndexedvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetIntegerIndexedvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetIntegerIndexedvEXT) {
+ void ** procp = (void **) &disp->GetIntegerIndexedvEXT;
snprintf(symboln, sizeof(symboln), "%sGetIntegeri_v", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetIntegerIndexedvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsEnabledIndexedEXT) {
+ void ** procp = (void **) &disp->IsEnabledIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sIsEnabledIndexedEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsEnabledIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->IsEnabledIndexedEXT) {
+ void ** procp = (void **) &disp->IsEnabledIndexedEXT;
snprintf(symboln, sizeof(symboln), "%sIsEnabledi", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->IsEnabledIndexedEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearColorIiEXT) {
+ void ** procp = (void **) &disp->ClearColorIiEXT;
snprintf(symboln, sizeof(symboln), "%sClearColorIiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearColorIiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ClearColorIuiEXT) {
+ void ** procp = (void **) &disp->ClearColorIuiEXT;
snprintf(symboln, sizeof(symboln), "%sClearColorIuiEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ClearColorIuiEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterIivEXT) {
+ void ** procp = (void **) &disp->GetTexParameterIivEXT;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterIivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterIivEXT) {
+ void ** procp = (void **) &disp->GetTexParameterIivEXT;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterIiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterIuivEXT) {
+ void ** procp = (void **) &disp->GetTexParameterIuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterIuivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterIuivEXT) {
+ void ** procp = (void **) &disp->GetTexParameterIuivEXT;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterIuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterIivEXT) {
+ void ** procp = (void **) &disp->TexParameterIivEXT;
snprintf(symboln, sizeof(symboln), "%sTexParameterIivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterIivEXT) {
+ void ** procp = (void **) &disp->TexParameterIivEXT;
snprintf(symboln, sizeof(symboln), "%sTexParameterIiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterIivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterIuivEXT) {
+ void ** procp = (void **) &disp->TexParameterIuivEXT;
snprintf(symboln, sizeof(symboln), "%sTexParameterIuivEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TexParameterIuivEXT) {
+ void ** procp = (void **) &disp->TexParameterIuivEXT;
snprintf(symboln, sizeof(symboln), "%sTexParameterIuiv", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TexParameterIuivEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginConditionalRenderNV) {
+ void ** procp = (void **) &disp->BeginConditionalRenderNV;
snprintf(symboln, sizeof(symboln), "%sBeginConditionalRenderNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginConditionalRenderNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginConditionalRenderNV) {
+ void ** procp = (void **) &disp->BeginConditionalRenderNV;
snprintf(symboln, sizeof(symboln), "%sBeginConditionalRender", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginConditionalRenderNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndConditionalRenderNV) {
+ void ** procp = (void **) &disp->EndConditionalRenderNV;
snprintf(symboln, sizeof(symboln), "%sEndConditionalRenderNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndConditionalRenderNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndConditionalRenderNV) {
+ void ** procp = (void **) &disp->EndConditionalRenderNV;
snprintf(symboln, sizeof(symboln), "%sEndConditionalRender", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndConditionalRenderNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginTransformFeedbackEXT) {
+ void ** procp = (void **) &disp->BeginTransformFeedbackEXT;
snprintf(symboln, sizeof(symboln), "%sBeginTransformFeedbackEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginTransformFeedbackEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BeginTransformFeedbackEXT) {
+ void ** procp = (void **) &disp->BeginTransformFeedbackEXT;
snprintf(symboln, sizeof(symboln), "%sBeginTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BeginTransformFeedbackEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferBaseEXT) {
+ void ** procp = (void **) &disp->BindBufferBaseEXT;
snprintf(symboln, sizeof(symboln), "%sBindBufferBaseEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferBaseEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferBaseEXT) {
+ void ** procp = (void **) &disp->BindBufferBaseEXT;
snprintf(symboln, sizeof(symboln), "%sBindBufferBase", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferBaseEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferOffsetEXT) {
+ void ** procp = (void **) &disp->BindBufferOffsetEXT;
snprintf(symboln, sizeof(symboln), "%sBindBufferOffsetEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferOffsetEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferRangeEXT) {
+ void ** procp = (void **) &disp->BindBufferRangeEXT;
snprintf(symboln, sizeof(symboln), "%sBindBufferRangeEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferRangeEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->BindBufferRangeEXT) {
+ void ** procp = (void **) &disp->BindBufferRangeEXT;
snprintf(symboln, sizeof(symboln), "%sBindBufferRange", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->BindBufferRangeEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndTransformFeedbackEXT) {
+ void ** procp = (void **) &disp->EndTransformFeedbackEXT;
snprintf(symboln, sizeof(symboln), "%sEndTransformFeedbackEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndTransformFeedbackEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EndTransformFeedbackEXT) {
+ void ** procp = (void **) &disp->EndTransformFeedbackEXT;
snprintf(symboln, sizeof(symboln), "%sEndTransformFeedback", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EndTransformFeedbackEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTransformFeedbackVaryingEXT) {
+ void ** procp = (void **) &disp->GetTransformFeedbackVaryingEXT;
snprintf(symboln, sizeof(symboln), "%sGetTransformFeedbackVaryingEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTransformFeedbackVaryingEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTransformFeedbackVaryingEXT) {
+ void ** procp = (void **) &disp->GetTransformFeedbackVaryingEXT;
snprintf(symboln, sizeof(symboln), "%sGetTransformFeedbackVarying", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTransformFeedbackVaryingEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TransformFeedbackVaryingsEXT) {
+ void ** procp = (void **) &disp->TransformFeedbackVaryingsEXT;
snprintf(symboln, sizeof(symboln), "%sTransformFeedbackVaryingsEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TransformFeedbackVaryingsEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TransformFeedbackVaryingsEXT) {
+ void ** procp = (void **) &disp->TransformFeedbackVaryingsEXT;
snprintf(symboln, sizeof(symboln), "%sTransformFeedbackVaryings", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TransformFeedbackVaryingsEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProvokingVertexEXT) {
+ void ** procp = (void **) &disp->ProvokingVertexEXT;
snprintf(symboln, sizeof(symboln), "%sProvokingVertexEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProvokingVertexEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProvokingVertexEXT) {
+ void ** procp = (void **) &disp->ProvokingVertexEXT;
snprintf(symboln, sizeof(symboln), "%sProvokingVertex", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProvokingVertexEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetTexParameterPointervAPPLE) {
+ void ** procp = (void **) &disp->GetTexParameterPointervAPPLE;
snprintf(symboln, sizeof(symboln), "%sGetTexParameterPointervAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetTexParameterPointervAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TextureRangeAPPLE) {
+ void ** procp = (void **) &disp->TextureRangeAPPLE;
snprintf(symboln, sizeof(symboln), "%sTextureRangeAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TextureRangeAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetObjectParameterivAPPLE) {
+ void ** procp = (void **) &disp->GetObjectParameterivAPPLE;
snprintf(symboln, sizeof(symboln), "%sGetObjectParameterivAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetObjectParameterivAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ObjectPurgeableAPPLE) {
+ void ** procp = (void **) &disp->ObjectPurgeableAPPLE;
snprintf(symboln, sizeof(symboln), "%sObjectPurgeableAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ObjectPurgeableAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ObjectUnpurgeableAPPLE) {
+ void ** procp = (void **) &disp->ObjectUnpurgeableAPPLE;
snprintf(symboln, sizeof(symboln), "%sObjectUnpurgeableAPPLE", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ObjectUnpurgeableAPPLE;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ActiveProgramEXT) {
+ void ** procp = (void **) &disp->ActiveProgramEXT;
snprintf(symboln, sizeof(symboln), "%sActiveProgramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ActiveProgramEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->CreateShaderProgramEXT) {
+ void ** procp = (void **) &disp->CreateShaderProgramEXT;
snprintf(symboln, sizeof(symboln), "%sCreateShaderProgramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->CreateShaderProgramEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->UseShaderProgramEXT) {
+ void ** procp = (void **) &disp->UseShaderProgramEXT;
snprintf(symboln, sizeof(symboln), "%sUseShaderProgramEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->UseShaderProgramEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->TextureBarrierNV) {
+ void ** procp = (void **) &disp->TextureBarrierNV;
snprintf(symboln, sizeof(symboln), "%sTextureBarrierNV", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->TextureBarrierNV;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->StencilFuncSeparateATI) {
+ void ** procp = (void **) &disp->StencilFuncSeparateATI;
snprintf(symboln, sizeof(symboln), "%sStencilFuncSeparateATI", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->StencilFuncSeparateATI;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramEnvParameters4fvEXT) {
+ void ** procp = (void **) &disp->ProgramEnvParameters4fvEXT;
snprintf(symboln, sizeof(symboln), "%sProgramEnvParameters4fvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramEnvParameters4fvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->ProgramLocalParameters4fvEXT) {
+ void ** procp = (void **) &disp->ProgramLocalParameters4fvEXT;
snprintf(symboln, sizeof(symboln), "%sProgramLocalParameters4fvEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->ProgramLocalParameters4fvEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjecti64vEXT) {
+ void ** procp = (void **) &disp->GetQueryObjecti64vEXT;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjecti64vEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjecti64vEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->GetQueryObjectui64vEXT) {
+ void ** procp = (void **) &disp->GetQueryObjectui64vEXT;
snprintf(symboln, sizeof(symboln), "%sGetQueryObjectui64vEXT", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->GetQueryObjectui64vEXT;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EGLImageTargetRenderbufferStorageOES) {
+ void ** procp = (void **) &disp->EGLImageTargetRenderbufferStorageOES;
snprintf(symboln, sizeof(symboln), "%sEGLImageTargetRenderbufferStorageOES", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EGLImageTargetRenderbufferStorageOES;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
if(!disp->EGLImageTargetTexture2DOES) {
+ void ** procp = (void **) &disp->EGLImageTargetTexture2DOES;
snprintf(symboln, sizeof(symboln), "%sEGLImageTargetTexture2DOES", symbol_prefix);
- _glapi_proc *procp = (_glapi_proc *)&disp->EGLImageTargetTexture2DOES;
- *procp = (_glapi_proc) dlsym(handle, symboln);
+ *procp = dlsym(handle, symboln);
}
+ __glapi_gentable_set_remaining_noop(disp);
+
return disp;
}
diff --git a/mesalib/src/mesa/main/mipmap.c b/mesalib/src/mesa/main/mipmap.c
index ed93cbc6c..f2724dbca 100644
--- a/mesalib/src/mesa/main/mipmap.c
+++ b/mesalib/src/mesa/main/mipmap.c
@@ -1,2202 +1,2240 @@
-/*
- * Mesa 3-D graphics library
- * Version: 7.1
- *
- * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-/**
- * \file mipmap.c mipmap generation and teximage resizing functions.
- */
-
-#include "imports.h"
-#include "formats.h"
-#include "mipmap.h"
-#include "mtypes.h"
-#include "teximage.h"
-#include "texstore.h"
-#include "image.h"
-#include "macros.h"
-#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
-#include "../../gallium/auxiliary/util/u_format_r11g11b10f.h"
-
-
-
-static GLint
-bytes_per_pixel(GLenum datatype, GLuint comps)
-{
- GLint b = _mesa_sizeof_packed_type(datatype);
- assert(b >= 0);
-
- if (_mesa_type_is_packed(datatype))
- return b;
- else
- return b * comps;
-}
-
-
-/**
- * \name Support macros for do_row and do_row_3d
- *
- * The macro madness is here for two reasons. First, it compacts the code
- * slightly. Second, it makes it much easier to adjust the specifics of the
- * filter to tune the rounding characteristics.
- */
-/*@{*/
-#define DECLARE_ROW_POINTERS(t, e) \
- const t(*rowA)[e] = (const t(*)[e]) srcRowA; \
- const t(*rowB)[e] = (const t(*)[e]) srcRowB; \
- const t(*rowC)[e] = (const t(*)[e]) srcRowC; \
- const t(*rowD)[e] = (const t(*)[e]) srcRowD; \
- t(*dst)[e] = (t(*)[e]) dstRow
-
-#define DECLARE_ROW_POINTERS0(t) \
- const t *rowA = (const t *) srcRowA; \
- const t *rowB = (const t *) srcRowB; \
- const t *rowC = (const t *) srcRowC; \
- const t *rowD = (const t *) srcRowD; \
- t *dst = (t *) dstRow
-
-#define FILTER_SUM_3D(Aj, Ak, Bj, Bk, Cj, Ck, Dj, Dk) \
- ((unsigned) Aj + (unsigned) Ak \
- + (unsigned) Bj + (unsigned) Bk \
- + (unsigned) Cj + (unsigned) Ck \
- + (unsigned) Dj + (unsigned) Dk \
- + 4) >> 3
-
-#define FILTER_3D(e) \
- do { \
- dst[i][e] = FILTER_SUM_3D(rowA[j][e], rowA[k][e], \
- rowB[j][e], rowB[k][e], \
- rowC[j][e], rowC[k][e], \
- rowD[j][e], rowD[k][e]); \
- } while(0)
-
-#define FILTER_SUM_3D_SIGNED(Aj, Ak, Bj, Bk, Cj, Ck, Dj, Dk) \
- (Aj + Ak \
- + Bj + Bk \
- + Cj + Ck \
- + Dj + Dk \
- + 4) / 8
-
-#define FILTER_3D_SIGNED(e) \
- do { \
- dst[i][e] = FILTER_SUM_3D_SIGNED(rowA[j][e], rowA[k][e], \
- rowB[j][e], rowB[k][e], \
- rowC[j][e], rowC[k][e], \
- rowD[j][e], rowD[k][e]); \
- } while(0)
-
-#define FILTER_F_3D(e) \
- do { \
- dst[i][e] = (rowA[j][e] + rowA[k][e] \
- + rowB[j][e] + rowB[k][e] \
- + rowC[j][e] + rowC[k][e] \
- + rowD[j][e] + rowD[k][e]) * 0.125F; \
- } while(0)
-
-#define FILTER_HF_3D(e) \
- do { \
- const GLfloat aj = _mesa_half_to_float(rowA[j][e]); \
- const GLfloat ak = _mesa_half_to_float(rowA[k][e]); \
- const GLfloat bj = _mesa_half_to_float(rowB[j][e]); \
- const GLfloat bk = _mesa_half_to_float(rowB[k][e]); \
- const GLfloat cj = _mesa_half_to_float(rowC[j][e]); \
- const GLfloat ck = _mesa_half_to_float(rowC[k][e]); \
- const GLfloat dj = _mesa_half_to_float(rowD[j][e]); \
- const GLfloat dk = _mesa_half_to_float(rowD[k][e]); \
- dst[i][e] = _mesa_float_to_half((aj + ak + bj + bk + cj + ck + dj + dk) \
- * 0.125F); \
- } while(0)
-/*@}*/
-
-
-/**
- * Average together two rows of a source image to produce a single new
- * row in the dest image. It's legal for the two source rows to point
- * to the same data. The source width must be equal to either the
- * dest width or two times the dest width.
- * \param datatype GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_FLOAT, etc.
- * \param comps number of components per pixel (1..4)
- */
-static void
-do_row(GLenum datatype, GLuint comps, GLint srcWidth,
- const GLvoid *srcRowA, const GLvoid *srcRowB,
- GLint dstWidth, GLvoid *dstRow)
-{
- const GLuint k0 = (srcWidth == dstWidth) ? 0 : 1;
- const GLuint colStride = (srcWidth == dstWidth) ? 1 : 2;
-
- ASSERT(comps >= 1);
- ASSERT(comps <= 4);
-
- /* This assertion is no longer valid with non-power-of-2 textures
- assert(srcWidth == dstWidth || srcWidth == 2 * dstWidth);
- */
-
- if (datatype == GL_UNSIGNED_BYTE && comps == 4) {
- GLuint i, j, k;
- const GLubyte(*rowA)[4] = (const GLubyte(*)[4]) srcRowA;
- const GLubyte(*rowB)[4] = (const GLubyte(*)[4]) srcRowB;
- GLubyte(*dst)[4] = (GLubyte(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
- }
- }
- else if (datatype == GL_UNSIGNED_BYTE && comps == 3) {
- GLuint i, j, k;
- const GLubyte(*rowA)[3] = (const GLubyte(*)[3]) srcRowA;
- const GLubyte(*rowB)[3] = (const GLubyte(*)[3]) srcRowB;
- GLubyte(*dst)[3] = (GLubyte(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- }
- }
- else if (datatype == GL_UNSIGNED_BYTE && comps == 2) {
- GLuint i, j, k;
- const GLubyte(*rowA)[2] = (const GLubyte(*)[2]) srcRowA;
- const GLubyte(*rowB)[2] = (const GLubyte(*)[2]) srcRowB;
- GLubyte(*dst)[2] = (GLubyte(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) >> 2;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) >> 2;
- }
- }
- else if (datatype == GL_UNSIGNED_BYTE && comps == 1) {
- GLuint i, j, k;
- const GLubyte *rowA = (const GLubyte *) srcRowA;
- const GLubyte *rowB = (const GLubyte *) srcRowB;
- GLubyte *dst = (GLubyte *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) >> 2;
- }
- }
-
- else if (datatype == GL_BYTE && comps == 4) {
- GLuint i, j, k;
- const GLbyte(*rowA)[4] = (const GLbyte(*)[4]) srcRowA;
- const GLbyte(*rowB)[4] = (const GLbyte(*)[4]) srcRowB;
- GLbyte(*dst)[4] = (GLbyte(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
- }
- }
- else if (datatype == GL_BYTE && comps == 3) {
- GLuint i, j, k;
- const GLbyte(*rowA)[3] = (const GLbyte(*)[3]) srcRowA;
- const GLbyte(*rowB)[3] = (const GLbyte(*)[3]) srcRowB;
- GLbyte(*dst)[3] = (GLbyte(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- }
- }
- else if (datatype == GL_BYTE && comps == 2) {
- GLuint i, j, k;
- const GLbyte(*rowA)[2] = (const GLbyte(*)[2]) srcRowA;
- const GLbyte(*rowB)[2] = (const GLbyte(*)[2]) srcRowB;
- GLbyte(*dst)[2] = (GLbyte(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- }
- }
- else if (datatype == GL_BYTE && comps == 1) {
- GLuint i, j, k;
- const GLbyte *rowA = (const GLbyte *) srcRowA;
- const GLbyte *rowB = (const GLbyte *) srcRowB;
- GLbyte *dst = (GLbyte *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
- }
- }
-
- else if (datatype == GL_UNSIGNED_SHORT && comps == 4) {
- GLuint i, j, k;
- const GLushort(*rowA)[4] = (const GLushort(*)[4]) srcRowA;
- const GLushort(*rowB)[4] = (const GLushort(*)[4]) srcRowB;
- GLushort(*dst)[4] = (GLushort(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT && comps == 3) {
- GLuint i, j, k;
- const GLushort(*rowA)[3] = (const GLushort(*)[3]) srcRowA;
- const GLushort(*rowB)[3] = (const GLushort(*)[3]) srcRowB;
- GLushort(*dst)[3] = (GLushort(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT && comps == 2) {
- GLuint i, j, k;
- const GLushort(*rowA)[2] = (const GLushort(*)[2]) srcRowA;
- const GLushort(*rowB)[2] = (const GLushort(*)[2]) srcRowB;
- GLushort(*dst)[2] = (GLushort(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT && comps == 1) {
- GLuint i, j, k;
- const GLushort *rowA = (const GLushort *) srcRowA;
- const GLushort *rowB = (const GLushort *) srcRowB;
- GLushort *dst = (GLushort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
- }
- }
-
- else if (datatype == GL_SHORT && comps == 4) {
- GLuint i, j, k;
- const GLshort(*rowA)[4] = (const GLshort(*)[4]) srcRowA;
- const GLshort(*rowB)[4] = (const GLshort(*)[4]) srcRowB;
- GLshort(*dst)[4] = (GLshort(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
- }
- }
- else if (datatype == GL_SHORT && comps == 3) {
- GLuint i, j, k;
- const GLshort(*rowA)[3] = (const GLshort(*)[3]) srcRowA;
- const GLshort(*rowB)[3] = (const GLshort(*)[3]) srcRowB;
- GLshort(*dst)[3] = (GLshort(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
- }
- }
- else if (datatype == GL_SHORT && comps == 2) {
- GLuint i, j, k;
- const GLshort(*rowA)[2] = (const GLshort(*)[2]) srcRowA;
- const GLshort(*rowB)[2] = (const GLshort(*)[2]) srcRowB;
- GLshort(*dst)[2] = (GLshort(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
- dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
- }
- }
- else if (datatype == GL_SHORT && comps == 1) {
- GLuint i, j, k;
- const GLshort *rowA = (const GLshort *) srcRowA;
- const GLshort *rowB = (const GLshort *) srcRowB;
- GLshort *dst = (GLshort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
- }
- }
-
- else if (datatype == GL_FLOAT && comps == 4) {
- GLuint i, j, k;
- const GLfloat(*rowA)[4] = (const GLfloat(*)[4]) srcRowA;
- const GLfloat(*rowB)[4] = (const GLfloat(*)[4]) srcRowB;
- GLfloat(*dst)[4] = (GLfloat(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] +
- rowB[j][0] + rowB[k][0]) * 0.25F;
- dst[i][1] = (rowA[j][1] + rowA[k][1] +
- rowB[j][1] + rowB[k][1]) * 0.25F;
- dst[i][2] = (rowA[j][2] + rowA[k][2] +
- rowB[j][2] + rowB[k][2]) * 0.25F;
- dst[i][3] = (rowA[j][3] + rowA[k][3] +
- rowB[j][3] + rowB[k][3]) * 0.25F;
- }
- }
- else if (datatype == GL_FLOAT && comps == 3) {
- GLuint i, j, k;
- const GLfloat(*rowA)[3] = (const GLfloat(*)[3]) srcRowA;
- const GLfloat(*rowB)[3] = (const GLfloat(*)[3]) srcRowB;
- GLfloat(*dst)[3] = (GLfloat(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] +
- rowB[j][0] + rowB[k][0]) * 0.25F;
- dst[i][1] = (rowA[j][1] + rowA[k][1] +
- rowB[j][1] + rowB[k][1]) * 0.25F;
- dst[i][2] = (rowA[j][2] + rowA[k][2] +
- rowB[j][2] + rowB[k][2]) * 0.25F;
- }
- }
- else if (datatype == GL_FLOAT && comps == 2) {
- GLuint i, j, k;
- const GLfloat(*rowA)[2] = (const GLfloat(*)[2]) srcRowA;
- const GLfloat(*rowB)[2] = (const GLfloat(*)[2]) srcRowB;
- GLfloat(*dst)[2] = (GLfloat(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i][0] = (rowA[j][0] + rowA[k][0] +
- rowB[j][0] + rowB[k][0]) * 0.25F;
- dst[i][1] = (rowA[j][1] + rowA[k][1] +
- rowB[j][1] + rowB[k][1]) * 0.25F;
- }
- }
- else if (datatype == GL_FLOAT && comps == 1) {
- GLuint i, j, k;
- const GLfloat *rowA = (const GLfloat *) srcRowA;
- const GLfloat *rowB = (const GLfloat *) srcRowB;
- GLfloat *dst = (GLfloat *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) * 0.25F;
- }
- }
-
- else if (datatype == GL_HALF_FLOAT_ARB && comps == 4) {
- GLuint i, j, k, comp;
- const GLhalfARB(*rowA)[4] = (const GLhalfARB(*)[4]) srcRowA;
- const GLhalfARB(*rowB)[4] = (const GLhalfARB(*)[4]) srcRowB;
- GLhalfARB(*dst)[4] = (GLhalfARB(*)[4]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- for (comp = 0; comp < 4; comp++) {
- GLfloat aj, ak, bj, bk;
- aj = _mesa_half_to_float(rowA[j][comp]);
- ak = _mesa_half_to_float(rowA[k][comp]);
- bj = _mesa_half_to_float(rowB[j][comp]);
- bk = _mesa_half_to_float(rowB[k][comp]);
- dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
- }
- }
- }
- else if (datatype == GL_HALF_FLOAT_ARB && comps == 3) {
- GLuint i, j, k, comp;
- const GLhalfARB(*rowA)[3] = (const GLhalfARB(*)[3]) srcRowA;
- const GLhalfARB(*rowB)[3] = (const GLhalfARB(*)[3]) srcRowB;
- GLhalfARB(*dst)[3] = (GLhalfARB(*)[3]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- for (comp = 0; comp < 3; comp++) {
- GLfloat aj, ak, bj, bk;
- aj = _mesa_half_to_float(rowA[j][comp]);
- ak = _mesa_half_to_float(rowA[k][comp]);
- bj = _mesa_half_to_float(rowB[j][comp]);
- bk = _mesa_half_to_float(rowB[k][comp]);
- dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
- }
- }
- }
- else if (datatype == GL_HALF_FLOAT_ARB && comps == 2) {
- GLuint i, j, k, comp;
- const GLhalfARB(*rowA)[2] = (const GLhalfARB(*)[2]) srcRowA;
- const GLhalfARB(*rowB)[2] = (const GLhalfARB(*)[2]) srcRowB;
- GLhalfARB(*dst)[2] = (GLhalfARB(*)[2]) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- for (comp = 0; comp < 2; comp++) {
- GLfloat aj, ak, bj, bk;
- aj = _mesa_half_to_float(rowA[j][comp]);
- ak = _mesa_half_to_float(rowA[k][comp]);
- bj = _mesa_half_to_float(rowB[j][comp]);
- bk = _mesa_half_to_float(rowB[k][comp]);
- dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
- }
- }
- }
- else if (datatype == GL_HALF_FLOAT_ARB && comps == 1) {
- GLuint i, j, k;
- const GLhalfARB *rowA = (const GLhalfARB *) srcRowA;
- const GLhalfARB *rowB = (const GLhalfARB *) srcRowB;
- GLhalfARB *dst = (GLhalfARB *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- GLfloat aj, ak, bj, bk;
- aj = _mesa_half_to_float(rowA[j]);
- ak = _mesa_half_to_float(rowA[k]);
- bj = _mesa_half_to_float(rowB[j]);
- bk = _mesa_half_to_float(rowB[k]);
- dst[i] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT && comps == 1) {
- GLuint i, j, k;
- const GLuint *rowA = (const GLuint *) srcRowA;
- const GLuint *rowB = (const GLuint *) srcRowB;
- GLuint *dst = (GLuint *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- dst[i] = (GLfloat)(rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4);
- }
- }
-
- else if (datatype == GL_UNSIGNED_SHORT_5_6_5 && comps == 3) {
- GLuint i, j, k;
- const GLushort *rowA = (const GLushort *) srcRowA;
- const GLushort *rowB = (const GLushort *) srcRowB;
- GLushort *dst = (GLushort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x1f;
- const GLint rowAr1 = rowA[k] & 0x1f;
- const GLint rowBr0 = rowB[j] & 0x1f;
- const GLint rowBr1 = rowB[k] & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 5) & 0x3f;
- const GLint rowAg1 = (rowA[k] >> 5) & 0x3f;
- const GLint rowBg0 = (rowB[j] >> 5) & 0x3f;
- const GLint rowBg1 = (rowB[k] >> 5) & 0x3f;
- const GLint rowAb0 = (rowA[j] >> 11) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 11) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 11) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 11) & 0x1f;
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- dst[i] = (blue << 11) | (green << 5) | red;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT_4_4_4_4 && comps == 4) {
- GLuint i, j, k;
- const GLushort *rowA = (const GLushort *) srcRowA;
- const GLushort *rowB = (const GLushort *) srcRowB;
- GLushort *dst = (GLushort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0xf;
- const GLint rowAr1 = rowA[k] & 0xf;
- const GLint rowBr0 = rowB[j] & 0xf;
- const GLint rowBr1 = rowB[k] & 0xf;
- const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
- const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
- const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
- const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
- const GLint rowAb0 = (rowA[j] >> 8) & 0xf;
- const GLint rowAb1 = (rowA[k] >> 8) & 0xf;
- const GLint rowBb0 = (rowB[j] >> 8) & 0xf;
- const GLint rowBb1 = (rowB[k] >> 8) & 0xf;
- const GLint rowAa0 = (rowA[j] >> 12) & 0xf;
- const GLint rowAa1 = (rowA[k] >> 12) & 0xf;
- const GLint rowBa0 = (rowB[j] >> 12) & 0xf;
- const GLint rowBa1 = (rowB[k] >> 12) & 0xf;
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
- dst[i] = (alpha << 12) | (blue << 8) | (green << 4) | red;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT_1_5_5_5_REV && comps == 4) {
- GLuint i, j, k;
- const GLushort *rowA = (const GLushort *) srcRowA;
- const GLushort *rowB = (const GLushort *) srcRowB;
- GLushort *dst = (GLushort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x1f;
- const GLint rowAr1 = rowA[k] & 0x1f;
- const GLint rowBr0 = rowB[j] & 0x1f;
- const GLint rowBr1 = rowB[k] & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 5) & 0x1f;
- const GLint rowAg1 = (rowA[k] >> 5) & 0x1f;
- const GLint rowBg0 = (rowB[j] >> 5) & 0x1f;
- const GLint rowBg1 = (rowB[k] >> 5) & 0x1f;
- const GLint rowAb0 = (rowA[j] >> 10) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 10) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 10) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 10) & 0x1f;
- const GLint rowAa0 = (rowA[j] >> 15) & 0x1;
- const GLint rowAa1 = (rowA[k] >> 15) & 0x1;
- const GLint rowBa0 = (rowB[j] >> 15) & 0x1;
- const GLint rowBa1 = (rowB[k] >> 15) & 0x1;
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
- dst[i] = (alpha << 15) | (blue << 10) | (green << 5) | red;
- }
- }
- else if (datatype == GL_UNSIGNED_SHORT_5_5_5_1 && comps == 4) {
- GLuint i, j, k;
- const GLushort *rowA = (const GLushort *) srcRowA;
- const GLushort *rowB = (const GLushort *) srcRowB;
- GLushort *dst = (GLushort *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = (rowA[j] >> 11) & 0x1f;
- const GLint rowAr1 = (rowA[k] >> 11) & 0x1f;
- const GLint rowBr0 = (rowB[j] >> 11) & 0x1f;
- const GLint rowBr1 = (rowB[k] >> 11) & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 6) & 0x1f;
- const GLint rowAg1 = (rowA[k] >> 6) & 0x1f;
- const GLint rowBg0 = (rowB[j] >> 6) & 0x1f;
- const GLint rowBg1 = (rowB[k] >> 6) & 0x1f;
- const GLint rowAb0 = (rowA[j] >> 1) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 1) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 1) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 1) & 0x1f;
- const GLint rowAa0 = (rowA[j] & 0x1);
- const GLint rowAa1 = (rowA[k] & 0x1);
- const GLint rowBa0 = (rowB[j] & 0x1);
- const GLint rowBa1 = (rowB[k] & 0x1);
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
- dst[i] = (red << 11) | (green << 6) | (blue << 1) | alpha;
- }
- }
-
- else if (datatype == GL_UNSIGNED_BYTE_3_3_2 && comps == 3) {
- GLuint i, j, k;
- const GLubyte *rowA = (const GLubyte *) srcRowA;
- const GLubyte *rowB = (const GLubyte *) srcRowB;
- GLubyte *dst = (GLubyte *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x3;
- const GLint rowAr1 = rowA[k] & 0x3;
- const GLint rowBr0 = rowB[j] & 0x3;
- const GLint rowBr1 = rowB[k] & 0x3;
- const GLint rowAg0 = (rowA[j] >> 2) & 0x7;
- const GLint rowAg1 = (rowA[k] >> 2) & 0x7;
- const GLint rowBg0 = (rowB[j] >> 2) & 0x7;
- const GLint rowBg1 = (rowB[k] >> 2) & 0x7;
- const GLint rowAb0 = (rowA[j] >> 5) & 0x7;
- const GLint rowAb1 = (rowA[k] >> 5) & 0x7;
- const GLint rowBb0 = (rowB[j] >> 5) & 0x7;
- const GLint rowBb1 = (rowB[k] >> 5) & 0x7;
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- dst[i] = (blue << 5) | (green << 2) | red;
- }
- }
-
- else if (datatype == MESA_UNSIGNED_BYTE_4_4 && comps == 2) {
- GLuint i, j, k;
- const GLubyte *rowA = (const GLubyte *) srcRowA;
- const GLubyte *rowB = (const GLubyte *) srcRowB;
- GLubyte *dst = (GLubyte *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0xf;
- const GLint rowAr1 = rowA[k] & 0xf;
- const GLint rowBr0 = rowB[j] & 0xf;
- const GLint rowBr1 = rowB[k] & 0xf;
- const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
- const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
- const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
- const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
- const GLint r = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint g = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- dst[i] = (g << 4) | r;
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT_2_10_10_10_REV && comps == 4) {
- GLuint i, j, k;
- const GLuint *rowA = (const GLuint *) srcRowA;
- const GLuint *rowB = (const GLuint *) srcRowB;
- GLuint *dst = (GLuint *) dstRow;
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x3ff;
- const GLint rowAr1 = rowA[k] & 0x3ff;
- const GLint rowBr0 = rowB[j] & 0x3ff;
- const GLint rowBr1 = rowB[k] & 0x3ff;
- const GLint rowAg0 = (rowA[j] >> 10) & 0x3ff;
- const GLint rowAg1 = (rowA[k] >> 10) & 0x3ff;
- const GLint rowBg0 = (rowB[j] >> 10) & 0x3ff;
- const GLint rowBg1 = (rowB[k] >> 10) & 0x3ff;
- const GLint rowAb0 = (rowA[j] >> 20) & 0x3ff;
- const GLint rowAb1 = (rowA[k] >> 20) & 0x3ff;
- const GLint rowBb0 = (rowB[j] >> 20) & 0x3ff;
- const GLint rowBb1 = (rowB[k] >> 20) & 0x3ff;
- const GLint rowAa0 = (rowA[j] >> 30) & 0x3;
- const GLint rowAa1 = (rowA[k] >> 30) & 0x3;
- const GLint rowBa0 = (rowB[j] >> 30) & 0x3;
- const GLint rowBa1 = (rowB[k] >> 30) & 0x3;
- const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
- const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
- const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
- const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
- dst[i] = (alpha << 30) | (blue << 20) | (green << 10) | red;
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT_5_9_9_9_REV && comps == 3) {
- GLuint i, j, k;
- const GLuint *rowA = (const GLuint*) srcRowA;
- const GLuint *rowB = (const GLuint*) srcRowB;
- GLuint *dst = (GLuint*)dstRow;
- GLfloat res[3], rowAj[3], rowBj[3], rowAk[3], rowBk[3];
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- rgb9e5_to_float3(rowA[j], rowAj);
- rgb9e5_to_float3(rowB[j], rowBj);
- rgb9e5_to_float3(rowA[k], rowAk);
- rgb9e5_to_float3(rowB[k], rowBk);
- res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0]) * 0.25F;
- res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1]) * 0.25F;
- res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2]) * 0.25F;
- dst[i] = float3_to_rgb9e5(res);
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT_10F_11F_11F_REV && comps == 3) {
- GLuint i, j, k;
- const GLuint *rowA = (const GLuint*) srcRowA;
- const GLuint *rowB = (const GLuint*) srcRowB;
- GLuint *dst = (GLuint*)dstRow;
- GLfloat res[3], rowAj[3], rowBj[3], rowAk[3], rowBk[3];
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- r11g11b10f_to_float3(rowA[j], rowAj);
- r11g11b10f_to_float3(rowB[j], rowBj);
- r11g11b10f_to_float3(rowA[k], rowAk);
- r11g11b10f_to_float3(rowB[k], rowBk);
- res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0]) * 0.25F;
- res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1]) * 0.25F;
- res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2]) * 0.25F;
- dst[i] = float3_to_r11g11b10f(res);
- }
- }
-
- else {
- _mesa_problem(NULL, "bad format in do_row()");
- }
-}
-
-
-/**
- * Average together four rows of a source image to produce a single new
- * row in the dest image. It's legal for the two source rows to point
- * to the same data. The source width must be equal to either the
- * dest width or two times the dest width.
- *
- * \param datatype GL pixel type \c GL_UNSIGNED_BYTE, \c GL_UNSIGNED_SHORT,
- * \c GL_FLOAT, etc.
- * \param comps number of components per pixel (1..4)
- * \param srcWidth Width of a row in the source data
- * \param srcRowA Pointer to one of the rows of source data
- * \param srcRowB Pointer to one of the rows of source data
- * \param srcRowC Pointer to one of the rows of source data
- * \param srcRowD Pointer to one of the rows of source data
- * \param dstWidth Width of a row in the destination data
- * \param srcRowA Pointer to the row of destination data
- */
-static void
-do_row_3D(GLenum datatype, GLuint comps, GLint srcWidth,
- const GLvoid *srcRowA, const GLvoid *srcRowB,
- const GLvoid *srcRowC, const GLvoid *srcRowD,
- GLint dstWidth, GLvoid *dstRow)
-{
- const GLuint k0 = (srcWidth == dstWidth) ? 0 : 1;
- const GLuint colStride = (srcWidth == dstWidth) ? 1 : 2;
- GLuint i, j, k;
-
- ASSERT(comps >= 1);
- ASSERT(comps <= 4);
-
- if ((datatype == GL_UNSIGNED_BYTE) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLubyte, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- FILTER_3D(3);
- }
- }
- else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLubyte, 3);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- }
- }
- else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLubyte, 2);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- }
- }
- else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLubyte, 1);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- }
- }
- else if ((datatype == GL_BYTE) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLbyte, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D_SIGNED(0);
- FILTER_3D_SIGNED(1);
- FILTER_3D_SIGNED(2);
- FILTER_3D_SIGNED(3);
- }
- }
- else if ((datatype == GL_BYTE) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLbyte, 3);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D_SIGNED(0);
- FILTER_3D_SIGNED(1);
- FILTER_3D_SIGNED(2);
- }
- }
- else if ((datatype == GL_BYTE) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLbyte, 2);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D_SIGNED(0);
- FILTER_3D_SIGNED(1);
- }
- }
- else if ((datatype == GL_BYTE) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLbyte, 1);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D_SIGNED(0);
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLushort, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- FILTER_3D(3);
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLushort, 3);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLushort, 2);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLushort, 1);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- }
- }
- else if ((datatype == GL_SHORT) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLshort, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- FILTER_3D(3);
- }
- }
- else if ((datatype == GL_SHORT) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLshort, 3);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- FILTER_3D(2);
- }
- }
- else if ((datatype == GL_SHORT) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLshort, 2);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- FILTER_3D(1);
- }
- }
- else if ((datatype == GL_SHORT) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLshort, 1);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_3D(0);
- }
- }
- else if ((datatype == GL_FLOAT) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLfloat, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_F_3D(0);
- FILTER_F_3D(1);
- FILTER_F_3D(2);
- FILTER_F_3D(3);
- }
- }
- else if ((datatype == GL_FLOAT) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLfloat, 3);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_F_3D(0);
- FILTER_F_3D(1);
- FILTER_F_3D(2);
- }
- }
- else if ((datatype == GL_FLOAT) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLfloat, 2);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_F_3D(0);
- FILTER_F_3D(1);
- }
- }
- else if ((datatype == GL_FLOAT) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLfloat, 1);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_F_3D(0);
- }
- }
- else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 4)) {
- DECLARE_ROW_POINTERS(GLhalfARB, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_HF_3D(0);
- FILTER_HF_3D(1);
- FILTER_HF_3D(2);
- FILTER_HF_3D(3);
- }
- }
- else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 3)) {
- DECLARE_ROW_POINTERS(GLhalfARB, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_HF_3D(0);
- FILTER_HF_3D(1);
- FILTER_HF_3D(2);
- }
- }
- else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 2)) {
- DECLARE_ROW_POINTERS(GLhalfARB, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_HF_3D(0);
- FILTER_HF_3D(1);
- }
- }
- else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 1)) {
- DECLARE_ROW_POINTERS(GLhalfARB, 4);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- FILTER_HF_3D(0);
- }
- }
- else if ((datatype == GL_UNSIGNED_INT) && (comps == 1)) {
- const GLuint *rowA = (const GLuint *) srcRowA;
- const GLuint *rowB = (const GLuint *) srcRowB;
- const GLuint *rowC = (const GLuint *) srcRowC;
- const GLuint *rowD = (const GLuint *) srcRowD;
- GLfloat *dst = (GLfloat *) dstRow;
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const uint64_t tmp = (((uint64_t) rowA[j] + (uint64_t) rowA[k])
- + ((uint64_t) rowB[j] + (uint64_t) rowB[k])
- + ((uint64_t) rowC[j] + (uint64_t) rowC[k])
- + ((uint64_t) rowD[j] + (uint64_t) rowD[k]));
- dst[i] = (GLfloat)((double) tmp * 0.125);
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT_5_6_5) && (comps == 3)) {
- DECLARE_ROW_POINTERS0(GLushort);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x1f;
- const GLint rowAr1 = rowA[k] & 0x1f;
- const GLint rowBr0 = rowB[j] & 0x1f;
- const GLint rowBr1 = rowB[k] & 0x1f;
- const GLint rowCr0 = rowC[j] & 0x1f;
- const GLint rowCr1 = rowC[k] & 0x1f;
- const GLint rowDr0 = rowD[j] & 0x1f;
- const GLint rowDr1 = rowD[k] & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 5) & 0x3f;
- const GLint rowAg1 = (rowA[k] >> 5) & 0x3f;
- const GLint rowBg0 = (rowB[j] >> 5) & 0x3f;
- const GLint rowBg1 = (rowB[k] >> 5) & 0x3f;
- const GLint rowCg0 = (rowC[j] >> 5) & 0x3f;
- const GLint rowCg1 = (rowC[k] >> 5) & 0x3f;
- const GLint rowDg0 = (rowD[j] >> 5) & 0x3f;
- const GLint rowDg1 = (rowD[k] >> 5) & 0x3f;
- const GLint rowAb0 = (rowA[j] >> 11) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 11) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 11) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 11) & 0x1f;
- const GLint rowCb0 = (rowC[j] >> 11) & 0x1f;
- const GLint rowCb1 = (rowC[k] >> 11) & 0x1f;
- const GLint rowDb0 = (rowD[j] >> 11) & 0x1f;
- const GLint rowDb1 = (rowD[k] >> 11) & 0x1f;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- dst[i] = (b << 11) | (g << 5) | r;
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT_4_4_4_4) && (comps == 4)) {
- DECLARE_ROW_POINTERS0(GLushort);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0xf;
- const GLint rowAr1 = rowA[k] & 0xf;
- const GLint rowBr0 = rowB[j] & 0xf;
- const GLint rowBr1 = rowB[k] & 0xf;
- const GLint rowCr0 = rowC[j] & 0xf;
- const GLint rowCr1 = rowC[k] & 0xf;
- const GLint rowDr0 = rowD[j] & 0xf;
- const GLint rowDr1 = rowD[k] & 0xf;
- const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
- const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
- const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
- const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
- const GLint rowCg0 = (rowC[j] >> 4) & 0xf;
- const GLint rowCg1 = (rowC[k] >> 4) & 0xf;
- const GLint rowDg0 = (rowD[j] >> 4) & 0xf;
- const GLint rowDg1 = (rowD[k] >> 4) & 0xf;
- const GLint rowAb0 = (rowA[j] >> 8) & 0xf;
- const GLint rowAb1 = (rowA[k] >> 8) & 0xf;
- const GLint rowBb0 = (rowB[j] >> 8) & 0xf;
- const GLint rowBb1 = (rowB[k] >> 8) & 0xf;
- const GLint rowCb0 = (rowC[j] >> 8) & 0xf;
- const GLint rowCb1 = (rowC[k] >> 8) & 0xf;
- const GLint rowDb0 = (rowD[j] >> 8) & 0xf;
- const GLint rowDb1 = (rowD[k] >> 8) & 0xf;
- const GLint rowAa0 = (rowA[j] >> 12) & 0xf;
- const GLint rowAa1 = (rowA[k] >> 12) & 0xf;
- const GLint rowBa0 = (rowB[j] >> 12) & 0xf;
- const GLint rowBa1 = (rowB[k] >> 12) & 0xf;
- const GLint rowCa0 = (rowC[j] >> 12) & 0xf;
- const GLint rowCa1 = (rowC[k] >> 12) & 0xf;
- const GLint rowDa0 = (rowD[j] >> 12) & 0xf;
- const GLint rowDa1 = (rowD[k] >> 12) & 0xf;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
- rowCa0, rowCa1, rowDa0, rowDa1);
-
- dst[i] = (a << 12) | (b << 8) | (g << 4) | r;
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT_1_5_5_5_REV) && (comps == 4)) {
- DECLARE_ROW_POINTERS0(GLushort);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x1f;
- const GLint rowAr1 = rowA[k] & 0x1f;
- const GLint rowBr0 = rowB[j] & 0x1f;
- const GLint rowBr1 = rowB[k] & 0x1f;
- const GLint rowCr0 = rowC[j] & 0x1f;
- const GLint rowCr1 = rowC[k] & 0x1f;
- const GLint rowDr0 = rowD[j] & 0x1f;
- const GLint rowDr1 = rowD[k] & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 5) & 0x1f;
- const GLint rowAg1 = (rowA[k] >> 5) & 0x1f;
- const GLint rowBg0 = (rowB[j] >> 5) & 0x1f;
- const GLint rowBg1 = (rowB[k] >> 5) & 0x1f;
- const GLint rowCg0 = (rowC[j] >> 5) & 0x1f;
- const GLint rowCg1 = (rowC[k] >> 5) & 0x1f;
- const GLint rowDg0 = (rowD[j] >> 5) & 0x1f;
- const GLint rowDg1 = (rowD[k] >> 5) & 0x1f;
- const GLint rowAb0 = (rowA[j] >> 10) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 10) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 10) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 10) & 0x1f;
- const GLint rowCb0 = (rowC[j] >> 10) & 0x1f;
- const GLint rowCb1 = (rowC[k] >> 10) & 0x1f;
- const GLint rowDb0 = (rowD[j] >> 10) & 0x1f;
- const GLint rowDb1 = (rowD[k] >> 10) & 0x1f;
- const GLint rowAa0 = (rowA[j] >> 15) & 0x1;
- const GLint rowAa1 = (rowA[k] >> 15) & 0x1;
- const GLint rowBa0 = (rowB[j] >> 15) & 0x1;
- const GLint rowBa1 = (rowB[k] >> 15) & 0x1;
- const GLint rowCa0 = (rowC[j] >> 15) & 0x1;
- const GLint rowCa1 = (rowC[k] >> 15) & 0x1;
- const GLint rowDa0 = (rowD[j] >> 15) & 0x1;
- const GLint rowDa1 = (rowD[k] >> 15) & 0x1;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
- rowCa0, rowCa1, rowDa0, rowDa1);
-
- dst[i] = (a << 15) | (b << 10) | (g << 5) | r;
- }
- }
- else if ((datatype == GL_UNSIGNED_SHORT_5_5_5_1) && (comps == 4)) {
- DECLARE_ROW_POINTERS0(GLushort);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = (rowA[j] >> 11) & 0x1f;
- const GLint rowAr1 = (rowA[k] >> 11) & 0x1f;
- const GLint rowBr0 = (rowB[j] >> 11) & 0x1f;
- const GLint rowBr1 = (rowB[k] >> 11) & 0x1f;
- const GLint rowCr0 = (rowC[j] >> 11) & 0x1f;
- const GLint rowCr1 = (rowC[k] >> 11) & 0x1f;
- const GLint rowDr0 = (rowD[j] >> 11) & 0x1f;
- const GLint rowDr1 = (rowD[k] >> 11) & 0x1f;
- const GLint rowAg0 = (rowA[j] >> 6) & 0x1f;
- const GLint rowAg1 = (rowA[k] >> 6) & 0x1f;
- const GLint rowBg0 = (rowB[j] >> 6) & 0x1f;
- const GLint rowBg1 = (rowB[k] >> 6) & 0x1f;
- const GLint rowCg0 = (rowC[j] >> 6) & 0x1f;
- const GLint rowCg1 = (rowC[k] >> 6) & 0x1f;
- const GLint rowDg0 = (rowD[j] >> 6) & 0x1f;
- const GLint rowDg1 = (rowD[k] >> 6) & 0x1f;
- const GLint rowAb0 = (rowA[j] >> 1) & 0x1f;
- const GLint rowAb1 = (rowA[k] >> 1) & 0x1f;
- const GLint rowBb0 = (rowB[j] >> 1) & 0x1f;
- const GLint rowBb1 = (rowB[k] >> 1) & 0x1f;
- const GLint rowCb0 = (rowC[j] >> 1) & 0x1f;
- const GLint rowCb1 = (rowC[k] >> 1) & 0x1f;
- const GLint rowDb0 = (rowD[j] >> 1) & 0x1f;
- const GLint rowDb1 = (rowD[k] >> 1) & 0x1f;
- const GLint rowAa0 = (rowA[j] & 0x1);
- const GLint rowAa1 = (rowA[k] & 0x1);
- const GLint rowBa0 = (rowB[j] & 0x1);
- const GLint rowBa1 = (rowB[k] & 0x1);
- const GLint rowCa0 = (rowC[j] & 0x1);
- const GLint rowCa1 = (rowC[k] & 0x1);
- const GLint rowDa0 = (rowD[j] & 0x1);
- const GLint rowDa1 = (rowD[k] & 0x1);
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
- rowCa0, rowCa1, rowDa0, rowDa1);
-
- dst[i] = (r << 11) | (g << 6) | (b << 1) | a;
- }
- }
- else if ((datatype == GL_UNSIGNED_BYTE_3_3_2) && (comps == 3)) {
- DECLARE_ROW_POINTERS0(GLubyte);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x3;
- const GLint rowAr1 = rowA[k] & 0x3;
- const GLint rowBr0 = rowB[j] & 0x3;
- const GLint rowBr1 = rowB[k] & 0x3;
- const GLint rowCr0 = rowC[j] & 0x3;
- const GLint rowCr1 = rowC[k] & 0x3;
- const GLint rowDr0 = rowD[j] & 0x3;
- const GLint rowDr1 = rowD[k] & 0x3;
- const GLint rowAg0 = (rowA[j] >> 2) & 0x7;
- const GLint rowAg1 = (rowA[k] >> 2) & 0x7;
- const GLint rowBg0 = (rowB[j] >> 2) & 0x7;
- const GLint rowBg1 = (rowB[k] >> 2) & 0x7;
- const GLint rowCg0 = (rowC[j] >> 2) & 0x7;
- const GLint rowCg1 = (rowC[k] >> 2) & 0x7;
- const GLint rowDg0 = (rowD[j] >> 2) & 0x7;
- const GLint rowDg1 = (rowD[k] >> 2) & 0x7;
- const GLint rowAb0 = (rowA[j] >> 5) & 0x7;
- const GLint rowAb1 = (rowA[k] >> 5) & 0x7;
- const GLint rowBb0 = (rowB[j] >> 5) & 0x7;
- const GLint rowBb1 = (rowB[k] >> 5) & 0x7;
- const GLint rowCb0 = (rowC[j] >> 5) & 0x7;
- const GLint rowCb1 = (rowC[k] >> 5) & 0x7;
- const GLint rowDb0 = (rowD[j] >> 5) & 0x7;
- const GLint rowDb1 = (rowD[k] >> 5) & 0x7;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- dst[i] = (b << 5) | (g << 2) | r;
- }
- }
- else if (datatype == MESA_UNSIGNED_BYTE_4_4 && comps == 2) {
- DECLARE_ROW_POINTERS0(GLubyte);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0xf;
- const GLint rowAr1 = rowA[k] & 0xf;
- const GLint rowBr0 = rowB[j] & 0xf;
- const GLint rowBr1 = rowB[k] & 0xf;
- const GLint rowCr0 = rowC[j] & 0xf;
- const GLint rowCr1 = rowC[k] & 0xf;
- const GLint rowDr0 = rowD[j] & 0xf;
- const GLint rowDr1 = rowD[k] & 0xf;
- const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
- const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
- const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
- const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
- const GLint rowCg0 = (rowC[j] >> 4) & 0xf;
- const GLint rowCg1 = (rowC[k] >> 4) & 0xf;
- const GLint rowDg0 = (rowD[j] >> 4) & 0xf;
- const GLint rowDg1 = (rowD[k] >> 4) & 0xf;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- dst[i] = (g << 4) | r;
- }
- }
- else if ((datatype == GL_UNSIGNED_INT_2_10_10_10_REV) && (comps == 4)) {
- DECLARE_ROW_POINTERS0(GLuint);
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- const GLint rowAr0 = rowA[j] & 0x3ff;
- const GLint rowAr1 = rowA[k] & 0x3ff;
- const GLint rowBr0 = rowB[j] & 0x3ff;
- const GLint rowBr1 = rowB[k] & 0x3ff;
- const GLint rowCr0 = rowC[j] & 0x3ff;
- const GLint rowCr1 = rowC[k] & 0x3ff;
- const GLint rowDr0 = rowD[j] & 0x3ff;
- const GLint rowDr1 = rowD[k] & 0x3ff;
- const GLint rowAg0 = (rowA[j] >> 10) & 0x3ff;
- const GLint rowAg1 = (rowA[k] >> 10) & 0x3ff;
- const GLint rowBg0 = (rowB[j] >> 10) & 0x3ff;
- const GLint rowBg1 = (rowB[k] >> 10) & 0x3ff;
- const GLint rowCg0 = (rowC[j] >> 10) & 0x3ff;
- const GLint rowCg1 = (rowC[k] >> 10) & 0x3ff;
- const GLint rowDg0 = (rowD[j] >> 10) & 0x3ff;
- const GLint rowDg1 = (rowD[k] >> 10) & 0x3ff;
- const GLint rowAb0 = (rowA[j] >> 20) & 0x3ff;
- const GLint rowAb1 = (rowA[k] >> 20) & 0x3ff;
- const GLint rowBb0 = (rowB[j] >> 20) & 0x3ff;
- const GLint rowBb1 = (rowB[k] >> 20) & 0x3ff;
- const GLint rowCb0 = (rowC[j] >> 20) & 0x3ff;
- const GLint rowCb1 = (rowC[k] >> 20) & 0x3ff;
- const GLint rowDb0 = (rowD[j] >> 20) & 0x3ff;
- const GLint rowDb1 = (rowD[k] >> 20) & 0x3ff;
- const GLint rowAa0 = (rowA[j] >> 30) & 0x3;
- const GLint rowAa1 = (rowA[k] >> 30) & 0x3;
- const GLint rowBa0 = (rowB[j] >> 30) & 0x3;
- const GLint rowBa1 = (rowB[k] >> 30) & 0x3;
- const GLint rowCa0 = (rowC[j] >> 30) & 0x3;
- const GLint rowCa1 = (rowC[k] >> 30) & 0x3;
- const GLint rowDa0 = (rowD[j] >> 30) & 0x3;
- const GLint rowDa1 = (rowD[k] >> 30) & 0x3;
- const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
- rowCr0, rowCr1, rowDr0, rowDr1);
- const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
- rowCg0, rowCg1, rowDg0, rowDg1);
- const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
- rowCb0, rowCb1, rowDb0, rowDb1);
- const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
- rowCa0, rowCa1, rowDa0, rowDa1);
-
- dst[i] = (a << 30) | (b << 20) | (g << 10) | r;
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT_5_9_9_9_REV && comps == 3) {
- DECLARE_ROW_POINTERS0(GLuint);
-
- GLfloat res[3];
- GLfloat rowAj[3], rowBj[3], rowCj[3], rowDj[3];
- GLfloat rowAk[3], rowBk[3], rowCk[3], rowDk[3];
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- rgb9e5_to_float3(rowA[j], rowAj);
- rgb9e5_to_float3(rowB[j], rowBj);
- rgb9e5_to_float3(rowC[j], rowCj);
- rgb9e5_to_float3(rowD[j], rowDj);
- rgb9e5_to_float3(rowA[k], rowAk);
- rgb9e5_to_float3(rowB[k], rowBk);
- rgb9e5_to_float3(rowC[k], rowCk);
- rgb9e5_to_float3(rowD[k], rowDk);
- res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0] +
- rowCj[0] + rowCk[0] + rowDj[0] + rowDk[0]) * 0.125F;
- res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1] +
- rowCj[1] + rowCk[1] + rowDj[1] + rowDk[1]) * 0.125F;
- res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2] +
- rowCj[2] + rowCk[2] + rowDj[2] + rowDk[2]) * 0.125F;
- dst[i] = float3_to_rgb9e5(res);
- }
- }
-
- else if (datatype == GL_UNSIGNED_INT_10F_11F_11F_REV && comps == 3) {
- DECLARE_ROW_POINTERS0(GLuint);
-
- GLfloat res[3];
- GLfloat rowAj[3], rowBj[3], rowCj[3], rowDj[3];
- GLfloat rowAk[3], rowBk[3], rowCk[3], rowDk[3];
-
- for (i = j = 0, k = k0; i < (GLuint) dstWidth;
- i++, j += colStride, k += colStride) {
- r11g11b10f_to_float3(rowA[j], rowAj);
- r11g11b10f_to_float3(rowB[j], rowBj);
- r11g11b10f_to_float3(rowC[j], rowCj);
- r11g11b10f_to_float3(rowD[j], rowDj);
- r11g11b10f_to_float3(rowA[k], rowAk);
- r11g11b10f_to_float3(rowB[k], rowBk);
- r11g11b10f_to_float3(rowC[k], rowCk);
- r11g11b10f_to_float3(rowD[k], rowDk);
- res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0] +
- rowCj[0] + rowCk[0] + rowDj[0] + rowDk[0]) * 0.125F;
- res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1] +
- rowCj[1] + rowCk[1] + rowDj[1] + rowDk[1]) * 0.125F;
- res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2] +
- rowCj[2] + rowCk[2] + rowDj[2] + rowDk[2]) * 0.125F;
- dst[i] = float3_to_r11g11b10f(res);
- }
- }
-
- else {
- _mesa_problem(NULL, "bad format in do_row()");
- }
-}
-
-
-/*
- * These functions generate a 1/2-size mipmap image from a source image.
- * Texture borders are handled by copying or averaging the source image's
- * border texels, depending on the scale-down factor.
- */
-
-static void
-make_1d_mipmap(GLenum datatype, GLuint comps, GLint border,
- GLint srcWidth, const GLubyte *srcPtr,
- GLint dstWidth, GLubyte *dstPtr)
-{
- const GLint bpt = bytes_per_pixel(datatype, comps);
- const GLubyte *src;
- GLubyte *dst;
-
- /* skip the border pixel, if any */
- src = srcPtr + border * bpt;
- dst = dstPtr + border * bpt;
-
- /* we just duplicate the input row, kind of hack, saves code */
- do_row(datatype, comps, srcWidth - 2 * border, src, src,
- dstWidth - 2 * border, dst);
-
- if (border) {
- /* copy left-most pixel from source */
- assert(dstPtr);
- assert(srcPtr);
- memcpy(dstPtr, srcPtr, bpt);
- /* copy right-most pixel from source */
- memcpy(dstPtr + (dstWidth - 1) * bpt,
- srcPtr + (srcWidth - 1) * bpt,
- bpt);
- }
-}
-
-
-static void
-make_2d_mipmap(GLenum datatype, GLuint comps, GLint border,
- GLint srcWidth, GLint srcHeight,
- const GLubyte *srcPtr, GLint srcRowStride,
- GLint dstWidth, GLint dstHeight,
- GLubyte *dstPtr, GLint dstRowStride)
-{
- const GLint bpt = bytes_per_pixel(datatype, comps);
- const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
- const GLint dstWidthNB = dstWidth - 2 * border;
- const GLint dstHeightNB = dstHeight - 2 * border;
- const GLint srcRowBytes = bpt * srcRowStride;
- const GLint dstRowBytes = bpt * dstRowStride;
- const GLubyte *srcA, *srcB;
- GLubyte *dst;
- GLint row, srcRowStep;
-
- /* Compute src and dst pointers, skipping any border */
- srcA = srcPtr + border * ((srcWidth + 1) * bpt);
- if (srcHeight > 1 && srcHeight > dstHeight) {
- /* sample from two source rows */
- srcB = srcA + srcRowBytes;
- srcRowStep = 2;
- }
- else {
- /* sample from one source row */
- srcB = srcA;
- srcRowStep = 1;
- }
-
- dst = dstPtr + border * ((dstWidth + 1) * bpt);
-
- for (row = 0; row < dstHeightNB; row++) {
- do_row(datatype, comps, srcWidthNB, srcA, srcB,
- dstWidthNB, dst);
- srcA += srcRowStep * srcRowBytes;
- srcB += srcRowStep * srcRowBytes;
- dst += dstRowBytes;
- }
-
- /* This is ugly but probably won't be used much */
- if (border > 0) {
- /* fill in dest border */
- /* lower-left border pixel */
- assert(dstPtr);
- assert(srcPtr);
- memcpy(dstPtr, srcPtr, bpt);
- /* lower-right border pixel */
- memcpy(dstPtr + (dstWidth - 1) * bpt,
- srcPtr + (srcWidth - 1) * bpt, bpt);
- /* upper-left border pixel */
- memcpy(dstPtr + dstWidth * (dstHeight - 1) * bpt,
- srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
- /* upper-right border pixel */
- memcpy(dstPtr + (dstWidth * dstHeight - 1) * bpt,
- srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
- /* lower border */
- do_row(datatype, comps, srcWidthNB,
- srcPtr + bpt,
- srcPtr + bpt,
- dstWidthNB, dstPtr + bpt);
- /* upper border */
- do_row(datatype, comps, srcWidthNB,
- srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
- srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
- dstWidthNB,
- dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
- /* left and right borders */
- if (srcHeight == dstHeight) {
- /* copy border pixel from src to dst */
- for (row = 1; row < srcHeight; row++) {
- memcpy(dstPtr + dstWidth * row * bpt,
- srcPtr + srcWidth * row * bpt, bpt);
- memcpy(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
- srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
- }
- }
- else {
- /* average two src pixels each dest pixel */
- for (row = 0; row < dstHeightNB; row += 2) {
- do_row(datatype, comps, 1,
- srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
- srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
- 1, dstPtr + (dstWidth * row + 1) * bpt);
- do_row(datatype, comps, 1,
- srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
- srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
- 1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
- }
- }
- }
-}
-
-
-static void
-make_3d_mipmap(GLenum datatype, GLuint comps, GLint border,
- GLint srcWidth, GLint srcHeight, GLint srcDepth,
- const GLubyte *srcPtr, GLint srcRowStride,
- GLint dstWidth, GLint dstHeight, GLint dstDepth,
- GLubyte *dstPtr, GLint dstRowStride)
-{
- const GLint bpt = bytes_per_pixel(datatype, comps);
- const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
- const GLint srcDepthNB = srcDepth - 2 * border;
- const GLint dstWidthNB = dstWidth - 2 * border;
- const GLint dstHeightNB = dstHeight - 2 * border;
- const GLint dstDepthNB = dstDepth - 2 * border;
- GLint img, row;
- GLint bytesPerSrcImage, bytesPerDstImage;
- GLint bytesPerSrcRow, bytesPerDstRow;
- GLint srcImageOffset, srcRowOffset;
-
- (void) srcDepthNB; /* silence warnings */
-
-
- bytesPerSrcImage = srcWidth * srcHeight * bpt;
- bytesPerDstImage = dstWidth * dstHeight * bpt;
-
- bytesPerSrcRow = srcWidth * bpt;
- bytesPerDstRow = dstWidth * bpt;
-
- /* Offset between adjacent src images to be averaged together */
- srcImageOffset = (srcDepth == dstDepth) ? 0 : bytesPerSrcImage;
-
- /* Offset between adjacent src rows to be averaged together */
- srcRowOffset = (srcHeight == dstHeight) ? 0 : srcWidth * bpt;
-
- /*
- * Need to average together up to 8 src pixels for each dest pixel.
- * Break that down into 3 operations:
- * 1. take two rows from source image and average them together.
- * 2. take two rows from next source image and average them together.
- * 3. take the two averaged rows and average them for the final dst row.
- */
-
- /*
- printf("mip3d %d x %d x %d -> %d x %d x %d\n",
- srcWidth, srcHeight, srcDepth, dstWidth, dstHeight, dstDepth);
- */
-
- for (img = 0; img < dstDepthNB; img++) {
- /* first source image pointer, skipping border */
- const GLubyte *imgSrcA = srcPtr
- + (bytesPerSrcImage + bytesPerSrcRow + border) * bpt * border
- + img * (bytesPerSrcImage + srcImageOffset);
- /* second source image pointer, skipping border */
- const GLubyte *imgSrcB = imgSrcA + srcImageOffset;
- /* address of the dest image, skipping border */
- GLubyte *imgDst = dstPtr
- + (bytesPerDstImage + bytesPerDstRow + border) * bpt * border
- + img * bytesPerDstImage;
-
- /* setup the four source row pointers and the dest row pointer */
- const GLubyte *srcImgARowA = imgSrcA;
- const GLubyte *srcImgARowB = imgSrcA + srcRowOffset;
- const GLubyte *srcImgBRowA = imgSrcB;
- const GLubyte *srcImgBRowB = imgSrcB + srcRowOffset;
- GLubyte *dstImgRow = imgDst;
-
- for (row = 0; row < dstHeightNB; row++) {
- do_row_3D(datatype, comps, srcWidthNB,
- srcImgARowA, srcImgARowB,
- srcImgBRowA, srcImgBRowB,
- dstWidthNB, dstImgRow);
-
- /* advance to next rows */
- srcImgARowA += bytesPerSrcRow + srcRowOffset;
- srcImgARowB += bytesPerSrcRow + srcRowOffset;
- srcImgBRowA += bytesPerSrcRow + srcRowOffset;
- srcImgBRowB += bytesPerSrcRow + srcRowOffset;
- dstImgRow += bytesPerDstRow;
- }
- }
-
-
- /* Luckily we can leverage the make_2d_mipmap() function here! */
- if (border > 0) {
- /* do front border image */
- make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight, srcPtr, srcRowStride,
- dstWidth, dstHeight, dstPtr, dstRowStride);
- /* do back border image */
- make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight,
- srcPtr + bytesPerSrcImage * (srcDepth - 1), srcRowStride,
- dstWidth, dstHeight,
- dstPtr + bytesPerDstImage * (dstDepth - 1), dstRowStride);
- /* do four remaining border edges that span the image slices */
- if (srcDepth == dstDepth) {
- /* just copy border pixels from src to dst */
- for (img = 0; img < dstDepthNB; img++) {
- const GLubyte *src;
- GLubyte *dst;
-
- /* do border along [img][row=0][col=0] */
- src = srcPtr + (img + 1) * bytesPerSrcImage;
- dst = dstPtr + (img + 1) * bytesPerDstImage;
- memcpy(dst, src, bpt);
-
- /* do border along [img][row=dstHeight-1][col=0] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (srcHeight - 1) * bytesPerSrcRow;
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (dstHeight - 1) * bytesPerDstRow;
- memcpy(dst, src, bpt);
-
- /* do border along [img][row=0][col=dstWidth-1] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (srcWidth - 1) * bpt;
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (dstWidth - 1) * bpt;
- memcpy(dst, src, bpt);
-
- /* do border along [img][row=dstHeight-1][col=dstWidth-1] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (bytesPerSrcImage - bpt);
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (bytesPerDstImage - bpt);
- memcpy(dst, src, bpt);
- }
- }
- else {
- /* average border pixels from adjacent src image pairs */
- ASSERT(srcDepthNB == 2 * dstDepthNB);
- for (img = 0; img < dstDepthNB; img++) {
- const GLubyte *src;
- GLubyte *dst;
-
- /* do border along [img][row=0][col=0] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage;
- dst = dstPtr + (img + 1) * bytesPerDstImage;
- do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
-
- /* do border along [img][row=dstHeight-1][col=0] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (srcHeight - 1) * bytesPerSrcRow;
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (dstHeight - 1) * bytesPerDstRow;
- do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
-
- /* do border along [img][row=0][col=dstWidth-1] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (srcWidth - 1) * bpt;
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (dstWidth - 1) * bpt;
- do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
-
- /* do border along [img][row=dstHeight-1][col=dstWidth-1] */
- src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
- + (bytesPerSrcImage - bpt);
- dst = dstPtr + (img + 1) * bytesPerDstImage
- + (bytesPerDstImage - bpt);
- do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
- }
- }
- }
-}
-
-
-static void
-make_1d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
- GLint srcWidth, const GLubyte *srcPtr, GLuint srcRowStride,
- GLint dstWidth, GLint dstHeight,
- GLubyte *dstPtr, GLuint dstRowStride )
-{
- const GLint bpt = bytes_per_pixel(datatype, comps);
- const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
- const GLint dstWidthNB = dstWidth - 2 * border;
- const GLint dstHeightNB = dstHeight - 2 * border;
- const GLint srcRowBytes = bpt * srcRowStride;
- const GLint dstRowBytes = bpt * dstRowStride;
- const GLubyte *src;
- GLubyte *dst;
- GLint row;
-
- /* Compute src and dst pointers, skipping any border */
- src = srcPtr + border * ((srcWidth + 1) * bpt);
- dst = dstPtr + border * ((dstWidth + 1) * bpt);
-
- for (row = 0; row < dstHeightNB; row++) {
- do_row(datatype, comps, srcWidthNB, src, src,
- dstWidthNB, dst);
- src += srcRowBytes;
- dst += dstRowBytes;
- }
-
- if (border) {
- /* copy left-most pixel from source */
- assert(dstPtr);
- assert(srcPtr);
- memcpy(dstPtr, srcPtr, bpt);
- /* copy right-most pixel from source */
- memcpy(dstPtr + (dstWidth - 1) * bpt,
- srcPtr + (srcWidth - 1) * bpt,
- bpt);
- }
-}
-
-
-/**
- * \bug
- * There is quite a bit of refactoring that could be done with this function
- * and \c make_2d_mipmap.
- */
-static void
-make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
- GLint srcWidth, GLint srcHeight,
- const GLubyte *srcPtr, GLint srcRowStride,
- GLint dstWidth, GLint dstHeight, GLint dstDepth,
- GLubyte *dstPtr, GLint dstRowStride)
-{
- const GLint bpt = bytes_per_pixel(datatype, comps);
- const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
- const GLint dstWidthNB = dstWidth - 2 * border;
- const GLint dstHeightNB = dstHeight - 2 * border;
- const GLint dstDepthNB = dstDepth - 2 * border;
- const GLint srcRowBytes = bpt * srcRowStride;
- const GLint dstRowBytes = bpt * dstRowStride;
- const GLubyte *srcA, *srcB;
- GLubyte *dst;
- GLint layer;
- GLint row;
-
- /* Compute src and dst pointers, skipping any border */
- srcA = srcPtr + border * ((srcWidth + 1) * bpt);
- if (srcHeight > 1)
- srcB = srcA + srcRowBytes;
- else
- srcB = srcA;
- dst = dstPtr + border * ((dstWidth + 1) * bpt);
-
- for (layer = 0; layer < dstDepthNB; layer++) {
- for (row = 0; row < dstHeightNB; row++) {
- do_row(datatype, comps, srcWidthNB, srcA, srcB,
- dstWidthNB, dst);
- srcA += 2 * srcRowBytes;
- srcB += 2 * srcRowBytes;
- dst += dstRowBytes;
- }
-
- /* This is ugly but probably won't be used much */
- if (border > 0) {
- /* fill in dest border */
- /* lower-left border pixel */
- assert(dstPtr);
- assert(srcPtr);
- memcpy(dstPtr, srcPtr, bpt);
- /* lower-right border pixel */
- memcpy(dstPtr + (dstWidth - 1) * bpt,
- srcPtr + (srcWidth - 1) * bpt, bpt);
- /* upper-left border pixel */
- memcpy(dstPtr + dstWidth * (dstHeight - 1) * bpt,
- srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
- /* upper-right border pixel */
- memcpy(dstPtr + (dstWidth * dstHeight - 1) * bpt,
- srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
- /* lower border */
- do_row(datatype, comps, srcWidthNB,
- srcPtr + bpt,
- srcPtr + bpt,
- dstWidthNB, dstPtr + bpt);
- /* upper border */
- do_row(datatype, comps, srcWidthNB,
- srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
- srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
- dstWidthNB,
- dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
- /* left and right borders */
- if (srcHeight == dstHeight) {
- /* copy border pixel from src to dst */
- for (row = 1; row < srcHeight; row++) {
- memcpy(dstPtr + dstWidth * row * bpt,
- srcPtr + srcWidth * row * bpt, bpt);
- memcpy(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
- srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
- }
- }
- else {
- /* average two src pixels each dest pixel */
- for (row = 0; row < dstHeightNB; row += 2) {
- do_row(datatype, comps, 1,
- srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
- srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
- 1, dstPtr + (dstWidth * row + 1) * bpt);
- do_row(datatype, comps, 1,
- srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
- srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
- 1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
- }
- }
- }
- }
-}
-
-
-/**
- * Down-sample a texture image to produce the next lower mipmap level.
- * \param comps components per texel (1, 2, 3 or 4)
- * \param srcRowStride stride between source rows, in texels
- * \param dstRowStride stride between destination rows, in texels
- */
-void
-_mesa_generate_mipmap_level(GLenum target,
- GLenum datatype, GLuint comps,
- GLint border,
- GLint srcWidth, GLint srcHeight, GLint srcDepth,
- const GLubyte *srcData,
- GLint srcRowStride,
- GLint dstWidth, GLint dstHeight, GLint dstDepth,
- GLubyte *dstData,
- GLint dstRowStride)
-{
- /*
- * We use simple 2x2 averaging to compute the next mipmap level.
- */
- switch (target) {
- case GL_TEXTURE_1D:
- make_1d_mipmap(datatype, comps, border,
- srcWidth, srcData,
- dstWidth, dstData);
- break;
- case GL_TEXTURE_2D:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
- make_2d_mipmap(datatype, comps, border,
- srcWidth, srcHeight, srcData, srcRowStride,
- dstWidth, dstHeight, dstData, dstRowStride);
- break;
- case GL_TEXTURE_3D:
- make_3d_mipmap(datatype, comps, border,
- srcWidth, srcHeight, srcDepth,
- srcData, srcRowStride,
- dstWidth, dstHeight, dstDepth,
- dstData, dstRowStride);
- break;
- case GL_TEXTURE_1D_ARRAY_EXT:
- make_1d_stack_mipmap(datatype, comps, border,
- srcWidth, srcData, srcRowStride,
- dstWidth, dstHeight,
- dstData, dstRowStride);
- break;
- case GL_TEXTURE_2D_ARRAY_EXT:
- make_2d_stack_mipmap(datatype, comps, border,
- srcWidth, srcHeight,
- srcData, srcRowStride,
- dstWidth, dstHeight,
- dstDepth, dstData, dstRowStride);
- break;
- case GL_TEXTURE_RECTANGLE_NV:
- /* no mipmaps, do nothing */
- break;
- default:
- _mesa_problem(NULL, "bad dimensions in _mesa_generate_mipmaps");
- return;
- }
-}
-
-
-/**
- * compute next (level+1) image size
- * \return GL_FALSE if no smaller size can be generated (eg. src is 1x1x1 size)
- */
-static GLboolean
-next_mipmap_level_size(GLenum target, GLint border,
- GLint srcWidth, GLint srcHeight, GLint srcDepth,
- GLint *dstWidth, GLint *dstHeight, GLint *dstDepth)
-{
- if (srcWidth - 2 * border > 1) {
- *dstWidth = (srcWidth - 2 * border) / 2 + 2 * border;
- }
- else {
- *dstWidth = srcWidth; /* can't go smaller */
- }
-
- if ((srcHeight - 2 * border > 1) &&
- (target != GL_TEXTURE_1D_ARRAY_EXT)) {
- *dstHeight = (srcHeight - 2 * border) / 2 + 2 * border;
- }
- else {
- *dstHeight = srcHeight; /* can't go smaller */
- }
-
- if ((srcDepth - 2 * border > 1) &&
- (target != GL_TEXTURE_2D_ARRAY_EXT)) {
- *dstDepth = (srcDepth - 2 * border) / 2 + 2 * border;
- }
- else {
- *dstDepth = srcDepth; /* can't go smaller */
- }
-
- if (*dstWidth == srcWidth &&
- *dstHeight == srcHeight &&
- *dstDepth == srcDepth) {
- return GL_FALSE;
- }
- else {
- return GL_TRUE;
- }
-}
-
-
-
-
-/**
- * Automatic mipmap generation.
- * This is the fallback/default function for ctx->Driver.GenerateMipmap().
- * Generate a complete set of mipmaps from texObj's BaseLevel image.
- * Stop at texObj's MaxLevel or when we get to the 1x1 texture.
- * For cube maps, target will be one of
- * GL_TEXTURE_CUBE_MAP_POSITIVE/NEGATIVE_X/Y/Z; never GL_TEXTURE_CUBE_MAP.
- */
-void
-_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
- struct gl_texture_object *texObj)
-{
- const struct gl_texture_image *srcImage;
- gl_format convertFormat;
- const GLubyte *srcData = NULL;
- GLubyte *dstData = NULL;
- GLint level, maxLevels;
- GLenum datatype;
- GLuint comps;
-
- ASSERT(texObj);
- srcImage = _mesa_select_tex_image(ctx, texObj, target, texObj->BaseLevel);
- ASSERT(srcImage);
-
- maxLevels = _mesa_max_texture_levels(ctx, texObj->Target);
- ASSERT(maxLevels > 0); /* bad target */
-
- /* Find convertFormat - the format that do_row() will process */
-
- if (_mesa_is_format_compressed(srcImage->TexFormat)) {
- /* setup for compressed textures - need to allocate temporary
- * image buffers to hold uncompressed images.
- */
- GLuint row;
- GLint components, size;
- GLchan *dst;
-
- assert(texObj->Target == GL_TEXTURE_2D ||
- texObj->Target == GL_TEXTURE_CUBE_MAP_ARB);
-
- if (srcImage->_BaseFormat == GL_RGB) {
- convertFormat = MESA_FORMAT_RGB888;
- components = 3;
- } else if (srcImage->_BaseFormat == GL_RED) {
- convertFormat = MESA_FORMAT_R8;
- components = 1;
- } else if (srcImage->_BaseFormat == GL_RG) {
- convertFormat = MESA_FORMAT_RG88;
- components = 2;
- } else if (srcImage->_BaseFormat == GL_RGBA) {
- convertFormat = MESA_FORMAT_RGBA8888;
- components = 4;
- } else if (srcImage->_BaseFormat == GL_LUMINANCE) {
- convertFormat = MESA_FORMAT_L8;
- components = 1;
- } else if (srcImage->_BaseFormat == GL_LUMINANCE_ALPHA) {
- convertFormat = MESA_FORMAT_AL88;
- components = 2;
- } else {
- _mesa_problem(ctx, "bad srcImage->_BaseFormat in _mesa_generate_mipmaps");
- return;
- }
-
- /* allocate storage for uncompressed GL_RGB or GL_RGBA images */
- size = _mesa_bytes_per_pixel(srcImage->_BaseFormat, CHAN_TYPE)
- * srcImage->Width * srcImage->Height * srcImage->Depth + 20;
- /* 20 extra bytes, just be safe when calling last FetchTexel */
- srcData = (GLubyte *) malloc(size);
- if (!srcData) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "generate mipmaps");
- return;
- }
- dstData = (GLubyte *) malloc(size / 2); /* 1/4 would probably be OK */
- if (!dstData) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "generate mipmaps");
- free((void *) srcData);
- return;
- }
-
- /* decompress base image here */
- dst = (GLchan *) srcData;
- for (row = 0; row < srcImage->Height; row++) {
- GLuint col;
- for (col = 0; col < srcImage->Width; col++) {
- srcImage->FetchTexelc(srcImage, col, row, 0, dst);
- dst += components;
- }
- }
- }
- else {
- /* uncompressed */
- convertFormat = srcImage->TexFormat;
- }
-
- _mesa_format_to_type_and_comps(convertFormat, &datatype, &comps);
-
- for (level = texObj->BaseLevel; level < texObj->MaxLevel
- && level < maxLevels - 1; level++) {
- /* generate image[level+1] from image[level] */
- const struct gl_texture_image *srcImage;
- struct gl_texture_image *dstImage;
- GLint srcWidth, srcHeight, srcDepth;
- GLint dstWidth, dstHeight, dstDepth;
- GLint border;
- GLboolean nextLevel;
-
- /* get src image parameters */
- srcImage = _mesa_select_tex_image(ctx, texObj, target, level);
- ASSERT(srcImage);
- srcWidth = srcImage->Width;
- srcHeight = srcImage->Height;
- srcDepth = srcImage->Depth;
- border = srcImage->Border;
-
- nextLevel = next_mipmap_level_size(target, border,
- srcWidth, srcHeight, srcDepth,
- &dstWidth, &dstHeight, &dstDepth);
- if (!nextLevel) {
- /* all done */
- if (_mesa_is_format_compressed(srcImage->TexFormat)) {
- free((void *) srcData);
- free(dstData);
- }
- return;
- }
-
- /* get dest gl_texture_image */
- dstImage = _mesa_get_tex_image(ctx, texObj, target, level + 1);
- if (!dstImage) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "generating mipmaps");
- return;
- }
-
- /* Free old image data */
- if (dstImage->Data)
- ctx->Driver.FreeTexImageData(ctx, dstImage);
-
- /* initialize new image */
- _mesa_init_teximage_fields(ctx, target, dstImage, dstWidth, dstHeight,
- dstDepth, border, srcImage->InternalFormat,
- srcImage->TexFormat);
- dstImage->DriverData = NULL;
- dstImage->FetchTexelc = srcImage->FetchTexelc;
- dstImage->FetchTexelf = srcImage->FetchTexelf;
-
- /* Alloc new teximage data buffer */
- {
- GLuint size = _mesa_format_image_size(dstImage->TexFormat,
- dstWidth, dstHeight, dstDepth);
- dstImage->Data = _mesa_alloc_texmemory(size);
- if (!dstImage->Data) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "generating mipmaps");
- return;
- }
- }
-
- /* Setup src and dest data pointers */
- if (_mesa_is_format_compressed(dstImage->TexFormat)) {
- /* srcData and dstData are already set */
- ASSERT(srcData);
- ASSERT(dstData);
- }
- else {
- srcData = (const GLubyte *) srcImage->Data;
- dstData = (GLubyte *) dstImage->Data;
- }
-
- ASSERT(dstImage->TexFormat);
- ASSERT(dstImage->FetchTexelc);
- ASSERT(dstImage->FetchTexelf);
-
- _mesa_generate_mipmap_level(target, datatype, comps, border,
- srcWidth, srcHeight, srcDepth,
- srcData, srcImage->RowStride,
- dstWidth, dstHeight, dstDepth,
- dstData, dstImage->RowStride);
-
-
- if (_mesa_is_format_compressed(dstImage->TexFormat)) {
- GLubyte *temp;
- /* compress image from dstData into dstImage->Data */
- const GLenum srcFormat = _mesa_get_format_base_format(convertFormat);
- GLint dstRowStride
- = _mesa_format_row_stride(dstImage->TexFormat, dstWidth);
-
- _mesa_texstore(ctx, 2, dstImage->_BaseFormat,
- dstImage->TexFormat,
- dstImage->Data,
- 0, 0, 0, /* dstX/Y/Zoffset */
- dstRowStride, 0, /* strides */
- dstWidth, dstHeight, 1, /* size */
- srcFormat, CHAN_TYPE,
- dstData, /* src data, actually */
- &ctx->DefaultPacking);
-
- /* swap src and dest pointers */
- temp = (GLubyte *) srcData;
- srcData = dstData;
- dstData = temp;
- }
-
- } /* loop over mipmap levels */
-}
-
-
-/**
- * Helper function for drivers which need to rescale texture images to
- * certain aspect ratios.
- * Nearest filtering only (for broken hardware that can't support
- * all aspect ratios). This can be made a lot faster, but I don't
- * really care enough...
- */
-void
-_mesa_rescale_teximage2d(GLuint bytesPerPixel,
- GLuint srcStrideInPixels,
- GLuint dstRowStride,
- GLint srcWidth, GLint srcHeight,
- GLint dstWidth, GLint dstHeight,
- const GLvoid *srcImage, GLvoid *dstImage)
-{
- GLint row, col;
-
-#define INNER_LOOP( TYPE, HOP, WOP ) \
- for ( row = 0 ; row < dstHeight ; row++ ) { \
- GLint srcRow = row HOP hScale; \
- for ( col = 0 ; col < dstWidth ; col++ ) { \
- GLint srcCol = col WOP wScale; \
- dst[col] = src[srcRow * srcStrideInPixels + srcCol]; \
- } \
- dst = (TYPE *) ((GLubyte *) dst + dstRowStride); \
- } \
-
-#define RESCALE_IMAGE( TYPE ) \
-do { \
- const TYPE *src = (const TYPE *)srcImage; \
- TYPE *dst = (TYPE *)dstImage; \
- \
- if ( srcHeight < dstHeight ) { \
- const GLint hScale = dstHeight / srcHeight; \
- if ( srcWidth < dstWidth ) { \
- const GLint wScale = dstWidth / srcWidth; \
- INNER_LOOP( TYPE, /, / ); \
- } \
- else { \
- const GLint wScale = srcWidth / dstWidth; \
- INNER_LOOP( TYPE, /, * ); \
- } \
- } \
- else { \
- const GLint hScale = srcHeight / dstHeight; \
- if ( srcWidth < dstWidth ) { \
- const GLint wScale = dstWidth / srcWidth; \
- INNER_LOOP( TYPE, *, / ); \
- } \
- else { \
- const GLint wScale = srcWidth / dstWidth; \
- INNER_LOOP( TYPE, *, * ); \
- } \
- } \
-} while (0)
-
- switch ( bytesPerPixel ) {
- case 4:
- RESCALE_IMAGE( GLuint );
- break;
-
- case 2:
- RESCALE_IMAGE( GLushort );
- break;
-
- case 1:
- RESCALE_IMAGE( GLubyte );
- break;
- default:
- _mesa_problem(NULL,"unexpected bytes/pixel in _mesa_rescale_teximage2d");
- }
-}
-
-
-/**
- * Upscale an image by replication, not (typical) stretching.
- * We use this when the image width or height is less than a
- * certain size (4, 8) and we need to upscale an image.
- */
-void
-_mesa_upscale_teximage2d(GLsizei inWidth, GLsizei inHeight,
- GLsizei outWidth, GLsizei outHeight,
- GLint comps, const GLchan *src, GLint srcRowStride,
- GLchan *dest )
-{
- GLint i, j, k;
-
- ASSERT(outWidth >= inWidth);
- ASSERT(outHeight >= inHeight);
-#if 0
- ASSERT(inWidth == 1 || inWidth == 2 || inHeight == 1 || inHeight == 2);
- ASSERT((outWidth & 3) == 0);
- ASSERT((outHeight & 3) == 0);
-#endif
-
- for (i = 0; i < outHeight; i++) {
- const GLint ii = i % inHeight;
- for (j = 0; j < outWidth; j++) {
- const GLint jj = j % inWidth;
- for (k = 0; k < comps; k++) {
- dest[(i * outWidth + j) * comps + k]
- = src[ii * srcRowStride + jj * comps + k];
- }
- }
- }
-}
-
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.1
+ *
+ * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/**
+ * \file mipmap.c mipmap generation and teximage resizing functions.
+ */
+
+#include "imports.h"
+#include "formats.h"
+#include "mipmap.h"
+#include "mtypes.h"
+#include "teximage.h"
+#include "texstore.h"
+#include "image.h"
+#include "macros.h"
+#include "../../gallium/auxiliary/util/u_format_rgb9e5.h"
+#include "../../gallium/auxiliary/util/u_format_r11g11b10f.h"
+
+
+
+static GLint
+bytes_per_pixel(GLenum datatype, GLuint comps)
+{
+ GLint b = _mesa_sizeof_packed_type(datatype);
+ assert(b >= 0);
+
+ if (_mesa_type_is_packed(datatype))
+ return b;
+ else
+ return b * comps;
+}
+
+
+/**
+ * \name Support macros for do_row and do_row_3d
+ *
+ * The macro madness is here for two reasons. First, it compacts the code
+ * slightly. Second, it makes it much easier to adjust the specifics of the
+ * filter to tune the rounding characteristics.
+ */
+/*@{*/
+#define DECLARE_ROW_POINTERS(t, e) \
+ const t(*rowA)[e] = (const t(*)[e]) srcRowA; \
+ const t(*rowB)[e] = (const t(*)[e]) srcRowB; \
+ const t(*rowC)[e] = (const t(*)[e]) srcRowC; \
+ const t(*rowD)[e] = (const t(*)[e]) srcRowD; \
+ t(*dst)[e] = (t(*)[e]) dstRow
+
+#define DECLARE_ROW_POINTERS0(t) \
+ const t *rowA = (const t *) srcRowA; \
+ const t *rowB = (const t *) srcRowB; \
+ const t *rowC = (const t *) srcRowC; \
+ const t *rowD = (const t *) srcRowD; \
+ t *dst = (t *) dstRow
+
+#define FILTER_SUM_3D(Aj, Ak, Bj, Bk, Cj, Ck, Dj, Dk) \
+ ((unsigned) Aj + (unsigned) Ak \
+ + (unsigned) Bj + (unsigned) Bk \
+ + (unsigned) Cj + (unsigned) Ck \
+ + (unsigned) Dj + (unsigned) Dk \
+ + 4) >> 3
+
+#define FILTER_3D(e) \
+ do { \
+ dst[i][e] = FILTER_SUM_3D(rowA[j][e], rowA[k][e], \
+ rowB[j][e], rowB[k][e], \
+ rowC[j][e], rowC[k][e], \
+ rowD[j][e], rowD[k][e]); \
+ } while(0)
+
+#define FILTER_SUM_3D_SIGNED(Aj, Ak, Bj, Bk, Cj, Ck, Dj, Dk) \
+ (Aj + Ak \
+ + Bj + Bk \
+ + Cj + Ck \
+ + Dj + Dk \
+ + 4) / 8
+
+#define FILTER_3D_SIGNED(e) \
+ do { \
+ dst[i][e] = FILTER_SUM_3D_SIGNED(rowA[j][e], rowA[k][e], \
+ rowB[j][e], rowB[k][e], \
+ rowC[j][e], rowC[k][e], \
+ rowD[j][e], rowD[k][e]); \
+ } while(0)
+
+#define FILTER_F_3D(e) \
+ do { \
+ dst[i][e] = (rowA[j][e] + rowA[k][e] \
+ + rowB[j][e] + rowB[k][e] \
+ + rowC[j][e] + rowC[k][e] \
+ + rowD[j][e] + rowD[k][e]) * 0.125F; \
+ } while(0)
+
+#define FILTER_HF_3D(e) \
+ do { \
+ const GLfloat aj = _mesa_half_to_float(rowA[j][e]); \
+ const GLfloat ak = _mesa_half_to_float(rowA[k][e]); \
+ const GLfloat bj = _mesa_half_to_float(rowB[j][e]); \
+ const GLfloat bk = _mesa_half_to_float(rowB[k][e]); \
+ const GLfloat cj = _mesa_half_to_float(rowC[j][e]); \
+ const GLfloat ck = _mesa_half_to_float(rowC[k][e]); \
+ const GLfloat dj = _mesa_half_to_float(rowD[j][e]); \
+ const GLfloat dk = _mesa_half_to_float(rowD[k][e]); \
+ dst[i][e] = _mesa_float_to_half((aj + ak + bj + bk + cj + ck + dj + dk) \
+ * 0.125F); \
+ } while(0)
+/*@}*/
+
+
+/**
+ * Average together two rows of a source image to produce a single new
+ * row in the dest image. It's legal for the two source rows to point
+ * to the same data. The source width must be equal to either the
+ * dest width or two times the dest width.
+ * \param datatype GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_FLOAT, etc.
+ * \param comps number of components per pixel (1..4)
+ */
+static void
+do_row(GLenum datatype, GLuint comps, GLint srcWidth,
+ const GLvoid *srcRowA, const GLvoid *srcRowB,
+ GLint dstWidth, GLvoid *dstRow)
+{
+ const GLuint k0 = (srcWidth == dstWidth) ? 0 : 1;
+ const GLuint colStride = (srcWidth == dstWidth) ? 1 : 2;
+
+ ASSERT(comps >= 1);
+ ASSERT(comps <= 4);
+
+ /* This assertion is no longer valid with non-power-of-2 textures
+ assert(srcWidth == dstWidth || srcWidth == 2 * dstWidth);
+ */
+
+ if (datatype == GL_UNSIGNED_BYTE && comps == 4) {
+ GLuint i, j, k;
+ const GLubyte(*rowA)[4] = (const GLubyte(*)[4]) srcRowA;
+ const GLubyte(*rowB)[4] = (const GLubyte(*)[4]) srcRowB;
+ GLubyte(*dst)[4] = (GLubyte(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_BYTE && comps == 3) {
+ GLuint i, j, k;
+ const GLubyte(*rowA)[3] = (const GLubyte(*)[3]) srcRowA;
+ const GLubyte(*rowB)[3] = (const GLubyte(*)[3]) srcRowB;
+ GLubyte(*dst)[3] = (GLubyte(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_BYTE && comps == 2) {
+ GLuint i, j, k;
+ const GLubyte(*rowA)[2] = (const GLubyte(*)[2]) srcRowA;
+ const GLubyte(*rowB)[2] = (const GLubyte(*)[2]) srcRowB;
+ GLubyte(*dst)[2] = (GLubyte(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) >> 2;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) >> 2;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_BYTE && comps == 1) {
+ GLuint i, j, k;
+ const GLubyte *rowA = (const GLubyte *) srcRowA;
+ const GLubyte *rowB = (const GLubyte *) srcRowB;
+ GLubyte *dst = (GLubyte *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) >> 2;
+ }
+ }
+
+ else if (datatype == GL_BYTE && comps == 4) {
+ GLuint i, j, k;
+ const GLbyte(*rowA)[4] = (const GLbyte(*)[4]) srcRowA;
+ const GLbyte(*rowB)[4] = (const GLbyte(*)[4]) srcRowB;
+ GLbyte(*dst)[4] = (GLbyte(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
+ }
+ }
+ else if (datatype == GL_BYTE && comps == 3) {
+ GLuint i, j, k;
+ const GLbyte(*rowA)[3] = (const GLbyte(*)[3]) srcRowA;
+ const GLbyte(*rowB)[3] = (const GLbyte(*)[3]) srcRowB;
+ GLbyte(*dst)[3] = (GLbyte(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ }
+ }
+ else if (datatype == GL_BYTE && comps == 2) {
+ GLuint i, j, k;
+ const GLbyte(*rowA)[2] = (const GLbyte(*)[2]) srcRowA;
+ const GLbyte(*rowB)[2] = (const GLbyte(*)[2]) srcRowB;
+ GLbyte(*dst)[2] = (GLbyte(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ }
+ }
+ else if (datatype == GL_BYTE && comps == 1) {
+ GLuint i, j, k;
+ const GLbyte *rowA = (const GLbyte *) srcRowA;
+ const GLbyte *rowB = (const GLbyte *) srcRowB;
+ GLbyte *dst = (GLbyte *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_SHORT && comps == 4) {
+ GLuint i, j, k;
+ const GLushort(*rowA)[4] = (const GLushort(*)[4]) srcRowA;
+ const GLushort(*rowB)[4] = (const GLushort(*)[4]) srcRowB;
+ GLushort(*dst)[4] = (GLushort(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT && comps == 3) {
+ GLuint i, j, k;
+ const GLushort(*rowA)[3] = (const GLushort(*)[3]) srcRowA;
+ const GLushort(*rowB)[3] = (const GLushort(*)[3]) srcRowB;
+ GLushort(*dst)[3] = (GLushort(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT && comps == 2) {
+ GLuint i, j, k;
+ const GLushort(*rowA)[2] = (const GLushort(*)[2]) srcRowA;
+ const GLushort(*rowB)[2] = (const GLushort(*)[2]) srcRowB;
+ GLushort(*dst)[2] = (GLushort(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT && comps == 1) {
+ GLuint i, j, k;
+ const GLushort *rowA = (const GLushort *) srcRowA;
+ const GLushort *rowB = (const GLushort *) srcRowB;
+ GLushort *dst = (GLushort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
+ }
+ }
+
+ else if (datatype == GL_SHORT && comps == 4) {
+ GLuint i, j, k;
+ const GLshort(*rowA)[4] = (const GLshort(*)[4]) srcRowA;
+ const GLshort(*rowB)[4] = (const GLshort(*)[4]) srcRowB;
+ GLshort(*dst)[4] = (GLshort(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4;
+ }
+ }
+ else if (datatype == GL_SHORT && comps == 3) {
+ GLuint i, j, k;
+ const GLshort(*rowA)[3] = (const GLshort(*)[3]) srcRowA;
+ const GLshort(*rowB)[3] = (const GLshort(*)[3]) srcRowB;
+ GLshort(*dst)[3] = (GLshort(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4;
+ }
+ }
+ else if (datatype == GL_SHORT && comps == 2) {
+ GLuint i, j, k;
+ const GLshort(*rowA)[2] = (const GLshort(*)[2]) srcRowA;
+ const GLshort(*rowB)[2] = (const GLshort(*)[2]) srcRowB;
+ GLshort(*dst)[2] = (GLshort(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4;
+ }
+ }
+ else if (datatype == GL_SHORT && comps == 1) {
+ GLuint i, j, k;
+ const GLshort *rowA = (const GLshort *) srcRowA;
+ const GLshort *rowB = (const GLshort *) srcRowB;
+ GLshort *dst = (GLshort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4;
+ }
+ }
+
+ else if (datatype == GL_FLOAT && comps == 4) {
+ GLuint i, j, k;
+ const GLfloat(*rowA)[4] = (const GLfloat(*)[4]) srcRowA;
+ const GLfloat(*rowB)[4] = (const GLfloat(*)[4]) srcRowB;
+ GLfloat(*dst)[4] = (GLfloat(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] +
+ rowB[j][0] + rowB[k][0]) * 0.25F;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] +
+ rowB[j][1] + rowB[k][1]) * 0.25F;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] +
+ rowB[j][2] + rowB[k][2]) * 0.25F;
+ dst[i][3] = (rowA[j][3] + rowA[k][3] +
+ rowB[j][3] + rowB[k][3]) * 0.25F;
+ }
+ }
+ else if (datatype == GL_FLOAT && comps == 3) {
+ GLuint i, j, k;
+ const GLfloat(*rowA)[3] = (const GLfloat(*)[3]) srcRowA;
+ const GLfloat(*rowB)[3] = (const GLfloat(*)[3]) srcRowB;
+ GLfloat(*dst)[3] = (GLfloat(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] +
+ rowB[j][0] + rowB[k][0]) * 0.25F;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] +
+ rowB[j][1] + rowB[k][1]) * 0.25F;
+ dst[i][2] = (rowA[j][2] + rowA[k][2] +
+ rowB[j][2] + rowB[k][2]) * 0.25F;
+ }
+ }
+ else if (datatype == GL_FLOAT && comps == 2) {
+ GLuint i, j, k;
+ const GLfloat(*rowA)[2] = (const GLfloat(*)[2]) srcRowA;
+ const GLfloat(*rowB)[2] = (const GLfloat(*)[2]) srcRowB;
+ GLfloat(*dst)[2] = (GLfloat(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i][0] = (rowA[j][0] + rowA[k][0] +
+ rowB[j][0] + rowB[k][0]) * 0.25F;
+ dst[i][1] = (rowA[j][1] + rowA[k][1] +
+ rowB[j][1] + rowB[k][1]) * 0.25F;
+ }
+ }
+ else if (datatype == GL_FLOAT && comps == 1) {
+ GLuint i, j, k;
+ const GLfloat *rowA = (const GLfloat *) srcRowA;
+ const GLfloat *rowB = (const GLfloat *) srcRowB;
+ GLfloat *dst = (GLfloat *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) * 0.25F;
+ }
+ }
+
+ else if (datatype == GL_HALF_FLOAT_ARB && comps == 4) {
+ GLuint i, j, k, comp;
+ const GLhalfARB(*rowA)[4] = (const GLhalfARB(*)[4]) srcRowA;
+ const GLhalfARB(*rowB)[4] = (const GLhalfARB(*)[4]) srcRowB;
+ GLhalfARB(*dst)[4] = (GLhalfARB(*)[4]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ for (comp = 0; comp < 4; comp++) {
+ GLfloat aj, ak, bj, bk;
+ aj = _mesa_half_to_float(rowA[j][comp]);
+ ak = _mesa_half_to_float(rowA[k][comp]);
+ bj = _mesa_half_to_float(rowB[j][comp]);
+ bk = _mesa_half_to_float(rowB[k][comp]);
+ dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
+ }
+ }
+ }
+ else if (datatype == GL_HALF_FLOAT_ARB && comps == 3) {
+ GLuint i, j, k, comp;
+ const GLhalfARB(*rowA)[3] = (const GLhalfARB(*)[3]) srcRowA;
+ const GLhalfARB(*rowB)[3] = (const GLhalfARB(*)[3]) srcRowB;
+ GLhalfARB(*dst)[3] = (GLhalfARB(*)[3]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ for (comp = 0; comp < 3; comp++) {
+ GLfloat aj, ak, bj, bk;
+ aj = _mesa_half_to_float(rowA[j][comp]);
+ ak = _mesa_half_to_float(rowA[k][comp]);
+ bj = _mesa_half_to_float(rowB[j][comp]);
+ bk = _mesa_half_to_float(rowB[k][comp]);
+ dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
+ }
+ }
+ }
+ else if (datatype == GL_HALF_FLOAT_ARB && comps == 2) {
+ GLuint i, j, k, comp;
+ const GLhalfARB(*rowA)[2] = (const GLhalfARB(*)[2]) srcRowA;
+ const GLhalfARB(*rowB)[2] = (const GLhalfARB(*)[2]) srcRowB;
+ GLhalfARB(*dst)[2] = (GLhalfARB(*)[2]) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ for (comp = 0; comp < 2; comp++) {
+ GLfloat aj, ak, bj, bk;
+ aj = _mesa_half_to_float(rowA[j][comp]);
+ ak = _mesa_half_to_float(rowA[k][comp]);
+ bj = _mesa_half_to_float(rowB[j][comp]);
+ bk = _mesa_half_to_float(rowB[k][comp]);
+ dst[i][comp] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
+ }
+ }
+ }
+ else if (datatype == GL_HALF_FLOAT_ARB && comps == 1) {
+ GLuint i, j, k;
+ const GLhalfARB *rowA = (const GLhalfARB *) srcRowA;
+ const GLhalfARB *rowB = (const GLhalfARB *) srcRowB;
+ GLhalfARB *dst = (GLhalfARB *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ GLfloat aj, ak, bj, bk;
+ aj = _mesa_half_to_float(rowA[j]);
+ ak = _mesa_half_to_float(rowA[k]);
+ bj = _mesa_half_to_float(rowB[j]);
+ bk = _mesa_half_to_float(rowB[k]);
+ dst[i] = _mesa_float_to_half((aj + ak + bj + bk) * 0.25F);
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT && comps == 1) {
+ GLuint i, j, k;
+ const GLuint *rowA = (const GLuint *) srcRowA;
+ const GLuint *rowB = (const GLuint *) srcRowB;
+ GLuint *dst = (GLuint *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ dst[i] = (GLfloat)(rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4);
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_SHORT_5_6_5 && comps == 3) {
+ GLuint i, j, k;
+ const GLushort *rowA = (const GLushort *) srcRowA;
+ const GLushort *rowB = (const GLushort *) srcRowB;
+ GLushort *dst = (GLushort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x1f;
+ const GLint rowAr1 = rowA[k] & 0x1f;
+ const GLint rowBr0 = rowB[j] & 0x1f;
+ const GLint rowBr1 = rowB[k] & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 5) & 0x3f;
+ const GLint rowAg1 = (rowA[k] >> 5) & 0x3f;
+ const GLint rowBg0 = (rowB[j] >> 5) & 0x3f;
+ const GLint rowBg1 = (rowB[k] >> 5) & 0x3f;
+ const GLint rowAb0 = (rowA[j] >> 11) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 11) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 11) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 11) & 0x1f;
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ dst[i] = (blue << 11) | (green << 5) | red;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT_4_4_4_4 && comps == 4) {
+ GLuint i, j, k;
+ const GLushort *rowA = (const GLushort *) srcRowA;
+ const GLushort *rowB = (const GLushort *) srcRowB;
+ GLushort *dst = (GLushort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0xf;
+ const GLint rowAr1 = rowA[k] & 0xf;
+ const GLint rowBr0 = rowB[j] & 0xf;
+ const GLint rowBr1 = rowB[k] & 0xf;
+ const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
+ const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
+ const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
+ const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
+ const GLint rowAb0 = (rowA[j] >> 8) & 0xf;
+ const GLint rowAb1 = (rowA[k] >> 8) & 0xf;
+ const GLint rowBb0 = (rowB[j] >> 8) & 0xf;
+ const GLint rowBb1 = (rowB[k] >> 8) & 0xf;
+ const GLint rowAa0 = (rowA[j] >> 12) & 0xf;
+ const GLint rowAa1 = (rowA[k] >> 12) & 0xf;
+ const GLint rowBa0 = (rowB[j] >> 12) & 0xf;
+ const GLint rowBa1 = (rowB[k] >> 12) & 0xf;
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
+ dst[i] = (alpha << 12) | (blue << 8) | (green << 4) | red;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT_1_5_5_5_REV && comps == 4) {
+ GLuint i, j, k;
+ const GLushort *rowA = (const GLushort *) srcRowA;
+ const GLushort *rowB = (const GLushort *) srcRowB;
+ GLushort *dst = (GLushort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x1f;
+ const GLint rowAr1 = rowA[k] & 0x1f;
+ const GLint rowBr0 = rowB[j] & 0x1f;
+ const GLint rowBr1 = rowB[k] & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 5) & 0x1f;
+ const GLint rowAg1 = (rowA[k] >> 5) & 0x1f;
+ const GLint rowBg0 = (rowB[j] >> 5) & 0x1f;
+ const GLint rowBg1 = (rowB[k] >> 5) & 0x1f;
+ const GLint rowAb0 = (rowA[j] >> 10) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 10) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 10) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 10) & 0x1f;
+ const GLint rowAa0 = (rowA[j] >> 15) & 0x1;
+ const GLint rowAa1 = (rowA[k] >> 15) & 0x1;
+ const GLint rowBa0 = (rowB[j] >> 15) & 0x1;
+ const GLint rowBa1 = (rowB[k] >> 15) & 0x1;
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
+ dst[i] = (alpha << 15) | (blue << 10) | (green << 5) | red;
+ }
+ }
+ else if (datatype == GL_UNSIGNED_SHORT_5_5_5_1 && comps == 4) {
+ GLuint i, j, k;
+ const GLushort *rowA = (const GLushort *) srcRowA;
+ const GLushort *rowB = (const GLushort *) srcRowB;
+ GLushort *dst = (GLushort *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = (rowA[j] >> 11) & 0x1f;
+ const GLint rowAr1 = (rowA[k] >> 11) & 0x1f;
+ const GLint rowBr0 = (rowB[j] >> 11) & 0x1f;
+ const GLint rowBr1 = (rowB[k] >> 11) & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 6) & 0x1f;
+ const GLint rowAg1 = (rowA[k] >> 6) & 0x1f;
+ const GLint rowBg0 = (rowB[j] >> 6) & 0x1f;
+ const GLint rowBg1 = (rowB[k] >> 6) & 0x1f;
+ const GLint rowAb0 = (rowA[j] >> 1) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 1) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 1) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 1) & 0x1f;
+ const GLint rowAa0 = (rowA[j] & 0x1);
+ const GLint rowAa1 = (rowA[k] & 0x1);
+ const GLint rowBa0 = (rowB[j] & 0x1);
+ const GLint rowBa1 = (rowB[k] & 0x1);
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
+ dst[i] = (red << 11) | (green << 6) | (blue << 1) | alpha;
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_BYTE_3_3_2 && comps == 3) {
+ GLuint i, j, k;
+ const GLubyte *rowA = (const GLubyte *) srcRowA;
+ const GLubyte *rowB = (const GLubyte *) srcRowB;
+ GLubyte *dst = (GLubyte *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x3;
+ const GLint rowAr1 = rowA[k] & 0x3;
+ const GLint rowBr0 = rowB[j] & 0x3;
+ const GLint rowBr1 = rowB[k] & 0x3;
+ const GLint rowAg0 = (rowA[j] >> 2) & 0x7;
+ const GLint rowAg1 = (rowA[k] >> 2) & 0x7;
+ const GLint rowBg0 = (rowB[j] >> 2) & 0x7;
+ const GLint rowBg1 = (rowB[k] >> 2) & 0x7;
+ const GLint rowAb0 = (rowA[j] >> 5) & 0x7;
+ const GLint rowAb1 = (rowA[k] >> 5) & 0x7;
+ const GLint rowBb0 = (rowB[j] >> 5) & 0x7;
+ const GLint rowBb1 = (rowB[k] >> 5) & 0x7;
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ dst[i] = (blue << 5) | (green << 2) | red;
+ }
+ }
+
+ else if (datatype == MESA_UNSIGNED_BYTE_4_4 && comps == 2) {
+ GLuint i, j, k;
+ const GLubyte *rowA = (const GLubyte *) srcRowA;
+ const GLubyte *rowB = (const GLubyte *) srcRowB;
+ GLubyte *dst = (GLubyte *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0xf;
+ const GLint rowAr1 = rowA[k] & 0xf;
+ const GLint rowBr0 = rowB[j] & 0xf;
+ const GLint rowBr1 = rowB[k] & 0xf;
+ const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
+ const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
+ const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
+ const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
+ const GLint r = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint g = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ dst[i] = (g << 4) | r;
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT_2_10_10_10_REV && comps == 4) {
+ GLuint i, j, k;
+ const GLuint *rowA = (const GLuint *) srcRowA;
+ const GLuint *rowB = (const GLuint *) srcRowB;
+ GLuint *dst = (GLuint *) dstRow;
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x3ff;
+ const GLint rowAr1 = rowA[k] & 0x3ff;
+ const GLint rowBr0 = rowB[j] & 0x3ff;
+ const GLint rowBr1 = rowB[k] & 0x3ff;
+ const GLint rowAg0 = (rowA[j] >> 10) & 0x3ff;
+ const GLint rowAg1 = (rowA[k] >> 10) & 0x3ff;
+ const GLint rowBg0 = (rowB[j] >> 10) & 0x3ff;
+ const GLint rowBg1 = (rowB[k] >> 10) & 0x3ff;
+ const GLint rowAb0 = (rowA[j] >> 20) & 0x3ff;
+ const GLint rowAb1 = (rowA[k] >> 20) & 0x3ff;
+ const GLint rowBb0 = (rowB[j] >> 20) & 0x3ff;
+ const GLint rowBb1 = (rowB[k] >> 20) & 0x3ff;
+ const GLint rowAa0 = (rowA[j] >> 30) & 0x3;
+ const GLint rowAa1 = (rowA[k] >> 30) & 0x3;
+ const GLint rowBa0 = (rowB[j] >> 30) & 0x3;
+ const GLint rowBa1 = (rowB[k] >> 30) & 0x3;
+ const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2;
+ const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2;
+ const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2;
+ const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2;
+ dst[i] = (alpha << 30) | (blue << 20) | (green << 10) | red;
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT_5_9_9_9_REV && comps == 3) {
+ GLuint i, j, k;
+ const GLuint *rowA = (const GLuint*) srcRowA;
+ const GLuint *rowB = (const GLuint*) srcRowB;
+ GLuint *dst = (GLuint*)dstRow;
+ GLfloat res[3], rowAj[3], rowBj[3], rowAk[3], rowBk[3];
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ rgb9e5_to_float3(rowA[j], rowAj);
+ rgb9e5_to_float3(rowB[j], rowBj);
+ rgb9e5_to_float3(rowA[k], rowAk);
+ rgb9e5_to_float3(rowB[k], rowBk);
+ res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0]) * 0.25F;
+ res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1]) * 0.25F;
+ res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2]) * 0.25F;
+ dst[i] = float3_to_rgb9e5(res);
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT_10F_11F_11F_REV && comps == 3) {
+ GLuint i, j, k;
+ const GLuint *rowA = (const GLuint*) srcRowA;
+ const GLuint *rowB = (const GLuint*) srcRowB;
+ GLuint *dst = (GLuint*)dstRow;
+ GLfloat res[3], rowAj[3], rowBj[3], rowAk[3], rowBk[3];
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ r11g11b10f_to_float3(rowA[j], rowAj);
+ r11g11b10f_to_float3(rowB[j], rowBj);
+ r11g11b10f_to_float3(rowA[k], rowAk);
+ r11g11b10f_to_float3(rowB[k], rowBk);
+ res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0]) * 0.25F;
+ res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1]) * 0.25F;
+ res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2]) * 0.25F;
+ dst[i] = float3_to_r11g11b10f(res);
+ }
+ }
+
+ else {
+ _mesa_problem(NULL, "bad format in do_row()");
+ }
+}
+
+
+/**
+ * Average together four rows of a source image to produce a single new
+ * row in the dest image. It's legal for the two source rows to point
+ * to the same data. The source width must be equal to either the
+ * dest width or two times the dest width.
+ *
+ * \param datatype GL pixel type \c GL_UNSIGNED_BYTE, \c GL_UNSIGNED_SHORT,
+ * \c GL_FLOAT, etc.
+ * \param comps number of components per pixel (1..4)
+ * \param srcWidth Width of a row in the source data
+ * \param srcRowA Pointer to one of the rows of source data
+ * \param srcRowB Pointer to one of the rows of source data
+ * \param srcRowC Pointer to one of the rows of source data
+ * \param srcRowD Pointer to one of the rows of source data
+ * \param dstWidth Width of a row in the destination data
+ * \param srcRowA Pointer to the row of destination data
+ */
+static void
+do_row_3D(GLenum datatype, GLuint comps, GLint srcWidth,
+ const GLvoid *srcRowA, const GLvoid *srcRowB,
+ const GLvoid *srcRowC, const GLvoid *srcRowD,
+ GLint dstWidth, GLvoid *dstRow)
+{
+ const GLuint k0 = (srcWidth == dstWidth) ? 0 : 1;
+ const GLuint colStride = (srcWidth == dstWidth) ? 1 : 2;
+ GLuint i, j, k;
+
+ ASSERT(comps >= 1);
+ ASSERT(comps <= 4);
+
+ if ((datatype == GL_UNSIGNED_BYTE) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLubyte, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ FILTER_3D(3);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLubyte, 3);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLubyte, 2);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_BYTE) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLubyte, 1);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ }
+ }
+ else if ((datatype == GL_BYTE) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLbyte, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D_SIGNED(0);
+ FILTER_3D_SIGNED(1);
+ FILTER_3D_SIGNED(2);
+ FILTER_3D_SIGNED(3);
+ }
+ }
+ else if ((datatype == GL_BYTE) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLbyte, 3);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D_SIGNED(0);
+ FILTER_3D_SIGNED(1);
+ FILTER_3D_SIGNED(2);
+ }
+ }
+ else if ((datatype == GL_BYTE) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLbyte, 2);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D_SIGNED(0);
+ FILTER_3D_SIGNED(1);
+ }
+ }
+ else if ((datatype == GL_BYTE) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLbyte, 1);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D_SIGNED(0);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLushort, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ FILTER_3D(3);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLushort, 3);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLushort, 2);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLushort, 1);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ }
+ }
+ else if ((datatype == GL_SHORT) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLshort, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ FILTER_3D(3);
+ }
+ }
+ else if ((datatype == GL_SHORT) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLshort, 3);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ FILTER_3D(2);
+ }
+ }
+ else if ((datatype == GL_SHORT) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLshort, 2);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ FILTER_3D(1);
+ }
+ }
+ else if ((datatype == GL_SHORT) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLshort, 1);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_3D(0);
+ }
+ }
+ else if ((datatype == GL_FLOAT) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLfloat, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_F_3D(0);
+ FILTER_F_3D(1);
+ FILTER_F_3D(2);
+ FILTER_F_3D(3);
+ }
+ }
+ else if ((datatype == GL_FLOAT) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLfloat, 3);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_F_3D(0);
+ FILTER_F_3D(1);
+ FILTER_F_3D(2);
+ }
+ }
+ else if ((datatype == GL_FLOAT) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLfloat, 2);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_F_3D(0);
+ FILTER_F_3D(1);
+ }
+ }
+ else if ((datatype == GL_FLOAT) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLfloat, 1);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_F_3D(0);
+ }
+ }
+ else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 4)) {
+ DECLARE_ROW_POINTERS(GLhalfARB, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_HF_3D(0);
+ FILTER_HF_3D(1);
+ FILTER_HF_3D(2);
+ FILTER_HF_3D(3);
+ }
+ }
+ else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 3)) {
+ DECLARE_ROW_POINTERS(GLhalfARB, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_HF_3D(0);
+ FILTER_HF_3D(1);
+ FILTER_HF_3D(2);
+ }
+ }
+ else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 2)) {
+ DECLARE_ROW_POINTERS(GLhalfARB, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_HF_3D(0);
+ FILTER_HF_3D(1);
+ }
+ }
+ else if ((datatype == GL_HALF_FLOAT_ARB) && (comps == 1)) {
+ DECLARE_ROW_POINTERS(GLhalfARB, 4);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ FILTER_HF_3D(0);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_INT) && (comps == 1)) {
+ const GLuint *rowA = (const GLuint *) srcRowA;
+ const GLuint *rowB = (const GLuint *) srcRowB;
+ const GLuint *rowC = (const GLuint *) srcRowC;
+ const GLuint *rowD = (const GLuint *) srcRowD;
+ GLfloat *dst = (GLfloat *) dstRow;
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const uint64_t tmp = (((uint64_t) rowA[j] + (uint64_t) rowA[k])
+ + ((uint64_t) rowB[j] + (uint64_t) rowB[k])
+ + ((uint64_t) rowC[j] + (uint64_t) rowC[k])
+ + ((uint64_t) rowD[j] + (uint64_t) rowD[k]));
+ dst[i] = (GLfloat)((double) tmp * 0.125);
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT_5_6_5) && (comps == 3)) {
+ DECLARE_ROW_POINTERS0(GLushort);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x1f;
+ const GLint rowAr1 = rowA[k] & 0x1f;
+ const GLint rowBr0 = rowB[j] & 0x1f;
+ const GLint rowBr1 = rowB[k] & 0x1f;
+ const GLint rowCr0 = rowC[j] & 0x1f;
+ const GLint rowCr1 = rowC[k] & 0x1f;
+ const GLint rowDr0 = rowD[j] & 0x1f;
+ const GLint rowDr1 = rowD[k] & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 5) & 0x3f;
+ const GLint rowAg1 = (rowA[k] >> 5) & 0x3f;
+ const GLint rowBg0 = (rowB[j] >> 5) & 0x3f;
+ const GLint rowBg1 = (rowB[k] >> 5) & 0x3f;
+ const GLint rowCg0 = (rowC[j] >> 5) & 0x3f;
+ const GLint rowCg1 = (rowC[k] >> 5) & 0x3f;
+ const GLint rowDg0 = (rowD[j] >> 5) & 0x3f;
+ const GLint rowDg1 = (rowD[k] >> 5) & 0x3f;
+ const GLint rowAb0 = (rowA[j] >> 11) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 11) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 11) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 11) & 0x1f;
+ const GLint rowCb0 = (rowC[j] >> 11) & 0x1f;
+ const GLint rowCb1 = (rowC[k] >> 11) & 0x1f;
+ const GLint rowDb0 = (rowD[j] >> 11) & 0x1f;
+ const GLint rowDb1 = (rowD[k] >> 11) & 0x1f;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ dst[i] = (b << 11) | (g << 5) | r;
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT_4_4_4_4) && (comps == 4)) {
+ DECLARE_ROW_POINTERS0(GLushort);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0xf;
+ const GLint rowAr1 = rowA[k] & 0xf;
+ const GLint rowBr0 = rowB[j] & 0xf;
+ const GLint rowBr1 = rowB[k] & 0xf;
+ const GLint rowCr0 = rowC[j] & 0xf;
+ const GLint rowCr1 = rowC[k] & 0xf;
+ const GLint rowDr0 = rowD[j] & 0xf;
+ const GLint rowDr1 = rowD[k] & 0xf;
+ const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
+ const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
+ const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
+ const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
+ const GLint rowCg0 = (rowC[j] >> 4) & 0xf;
+ const GLint rowCg1 = (rowC[k] >> 4) & 0xf;
+ const GLint rowDg0 = (rowD[j] >> 4) & 0xf;
+ const GLint rowDg1 = (rowD[k] >> 4) & 0xf;
+ const GLint rowAb0 = (rowA[j] >> 8) & 0xf;
+ const GLint rowAb1 = (rowA[k] >> 8) & 0xf;
+ const GLint rowBb0 = (rowB[j] >> 8) & 0xf;
+ const GLint rowBb1 = (rowB[k] >> 8) & 0xf;
+ const GLint rowCb0 = (rowC[j] >> 8) & 0xf;
+ const GLint rowCb1 = (rowC[k] >> 8) & 0xf;
+ const GLint rowDb0 = (rowD[j] >> 8) & 0xf;
+ const GLint rowDb1 = (rowD[k] >> 8) & 0xf;
+ const GLint rowAa0 = (rowA[j] >> 12) & 0xf;
+ const GLint rowAa1 = (rowA[k] >> 12) & 0xf;
+ const GLint rowBa0 = (rowB[j] >> 12) & 0xf;
+ const GLint rowBa1 = (rowB[k] >> 12) & 0xf;
+ const GLint rowCa0 = (rowC[j] >> 12) & 0xf;
+ const GLint rowCa1 = (rowC[k] >> 12) & 0xf;
+ const GLint rowDa0 = (rowD[j] >> 12) & 0xf;
+ const GLint rowDa1 = (rowD[k] >> 12) & 0xf;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
+ rowCa0, rowCa1, rowDa0, rowDa1);
+
+ dst[i] = (a << 12) | (b << 8) | (g << 4) | r;
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT_1_5_5_5_REV) && (comps == 4)) {
+ DECLARE_ROW_POINTERS0(GLushort);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x1f;
+ const GLint rowAr1 = rowA[k] & 0x1f;
+ const GLint rowBr0 = rowB[j] & 0x1f;
+ const GLint rowBr1 = rowB[k] & 0x1f;
+ const GLint rowCr0 = rowC[j] & 0x1f;
+ const GLint rowCr1 = rowC[k] & 0x1f;
+ const GLint rowDr0 = rowD[j] & 0x1f;
+ const GLint rowDr1 = rowD[k] & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 5) & 0x1f;
+ const GLint rowAg1 = (rowA[k] >> 5) & 0x1f;
+ const GLint rowBg0 = (rowB[j] >> 5) & 0x1f;
+ const GLint rowBg1 = (rowB[k] >> 5) & 0x1f;
+ const GLint rowCg0 = (rowC[j] >> 5) & 0x1f;
+ const GLint rowCg1 = (rowC[k] >> 5) & 0x1f;
+ const GLint rowDg0 = (rowD[j] >> 5) & 0x1f;
+ const GLint rowDg1 = (rowD[k] >> 5) & 0x1f;
+ const GLint rowAb0 = (rowA[j] >> 10) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 10) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 10) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 10) & 0x1f;
+ const GLint rowCb0 = (rowC[j] >> 10) & 0x1f;
+ const GLint rowCb1 = (rowC[k] >> 10) & 0x1f;
+ const GLint rowDb0 = (rowD[j] >> 10) & 0x1f;
+ const GLint rowDb1 = (rowD[k] >> 10) & 0x1f;
+ const GLint rowAa0 = (rowA[j] >> 15) & 0x1;
+ const GLint rowAa1 = (rowA[k] >> 15) & 0x1;
+ const GLint rowBa0 = (rowB[j] >> 15) & 0x1;
+ const GLint rowBa1 = (rowB[k] >> 15) & 0x1;
+ const GLint rowCa0 = (rowC[j] >> 15) & 0x1;
+ const GLint rowCa1 = (rowC[k] >> 15) & 0x1;
+ const GLint rowDa0 = (rowD[j] >> 15) & 0x1;
+ const GLint rowDa1 = (rowD[k] >> 15) & 0x1;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
+ rowCa0, rowCa1, rowDa0, rowDa1);
+
+ dst[i] = (a << 15) | (b << 10) | (g << 5) | r;
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_SHORT_5_5_5_1) && (comps == 4)) {
+ DECLARE_ROW_POINTERS0(GLushort);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = (rowA[j] >> 11) & 0x1f;
+ const GLint rowAr1 = (rowA[k] >> 11) & 0x1f;
+ const GLint rowBr0 = (rowB[j] >> 11) & 0x1f;
+ const GLint rowBr1 = (rowB[k] >> 11) & 0x1f;
+ const GLint rowCr0 = (rowC[j] >> 11) & 0x1f;
+ const GLint rowCr1 = (rowC[k] >> 11) & 0x1f;
+ const GLint rowDr0 = (rowD[j] >> 11) & 0x1f;
+ const GLint rowDr1 = (rowD[k] >> 11) & 0x1f;
+ const GLint rowAg0 = (rowA[j] >> 6) & 0x1f;
+ const GLint rowAg1 = (rowA[k] >> 6) & 0x1f;
+ const GLint rowBg0 = (rowB[j] >> 6) & 0x1f;
+ const GLint rowBg1 = (rowB[k] >> 6) & 0x1f;
+ const GLint rowCg0 = (rowC[j] >> 6) & 0x1f;
+ const GLint rowCg1 = (rowC[k] >> 6) & 0x1f;
+ const GLint rowDg0 = (rowD[j] >> 6) & 0x1f;
+ const GLint rowDg1 = (rowD[k] >> 6) & 0x1f;
+ const GLint rowAb0 = (rowA[j] >> 1) & 0x1f;
+ const GLint rowAb1 = (rowA[k] >> 1) & 0x1f;
+ const GLint rowBb0 = (rowB[j] >> 1) & 0x1f;
+ const GLint rowBb1 = (rowB[k] >> 1) & 0x1f;
+ const GLint rowCb0 = (rowC[j] >> 1) & 0x1f;
+ const GLint rowCb1 = (rowC[k] >> 1) & 0x1f;
+ const GLint rowDb0 = (rowD[j] >> 1) & 0x1f;
+ const GLint rowDb1 = (rowD[k] >> 1) & 0x1f;
+ const GLint rowAa0 = (rowA[j] & 0x1);
+ const GLint rowAa1 = (rowA[k] & 0x1);
+ const GLint rowBa0 = (rowB[j] & 0x1);
+ const GLint rowBa1 = (rowB[k] & 0x1);
+ const GLint rowCa0 = (rowC[j] & 0x1);
+ const GLint rowCa1 = (rowC[k] & 0x1);
+ const GLint rowDa0 = (rowD[j] & 0x1);
+ const GLint rowDa1 = (rowD[k] & 0x1);
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
+ rowCa0, rowCa1, rowDa0, rowDa1);
+
+ dst[i] = (r << 11) | (g << 6) | (b << 1) | a;
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_BYTE_3_3_2) && (comps == 3)) {
+ DECLARE_ROW_POINTERS0(GLubyte);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x3;
+ const GLint rowAr1 = rowA[k] & 0x3;
+ const GLint rowBr0 = rowB[j] & 0x3;
+ const GLint rowBr1 = rowB[k] & 0x3;
+ const GLint rowCr0 = rowC[j] & 0x3;
+ const GLint rowCr1 = rowC[k] & 0x3;
+ const GLint rowDr0 = rowD[j] & 0x3;
+ const GLint rowDr1 = rowD[k] & 0x3;
+ const GLint rowAg0 = (rowA[j] >> 2) & 0x7;
+ const GLint rowAg1 = (rowA[k] >> 2) & 0x7;
+ const GLint rowBg0 = (rowB[j] >> 2) & 0x7;
+ const GLint rowBg1 = (rowB[k] >> 2) & 0x7;
+ const GLint rowCg0 = (rowC[j] >> 2) & 0x7;
+ const GLint rowCg1 = (rowC[k] >> 2) & 0x7;
+ const GLint rowDg0 = (rowD[j] >> 2) & 0x7;
+ const GLint rowDg1 = (rowD[k] >> 2) & 0x7;
+ const GLint rowAb0 = (rowA[j] >> 5) & 0x7;
+ const GLint rowAb1 = (rowA[k] >> 5) & 0x7;
+ const GLint rowBb0 = (rowB[j] >> 5) & 0x7;
+ const GLint rowBb1 = (rowB[k] >> 5) & 0x7;
+ const GLint rowCb0 = (rowC[j] >> 5) & 0x7;
+ const GLint rowCb1 = (rowC[k] >> 5) & 0x7;
+ const GLint rowDb0 = (rowD[j] >> 5) & 0x7;
+ const GLint rowDb1 = (rowD[k] >> 5) & 0x7;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ dst[i] = (b << 5) | (g << 2) | r;
+ }
+ }
+ else if (datatype == MESA_UNSIGNED_BYTE_4_4 && comps == 2) {
+ DECLARE_ROW_POINTERS0(GLubyte);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0xf;
+ const GLint rowAr1 = rowA[k] & 0xf;
+ const GLint rowBr0 = rowB[j] & 0xf;
+ const GLint rowBr1 = rowB[k] & 0xf;
+ const GLint rowCr0 = rowC[j] & 0xf;
+ const GLint rowCr1 = rowC[k] & 0xf;
+ const GLint rowDr0 = rowD[j] & 0xf;
+ const GLint rowDr1 = rowD[k] & 0xf;
+ const GLint rowAg0 = (rowA[j] >> 4) & 0xf;
+ const GLint rowAg1 = (rowA[k] >> 4) & 0xf;
+ const GLint rowBg0 = (rowB[j] >> 4) & 0xf;
+ const GLint rowBg1 = (rowB[k] >> 4) & 0xf;
+ const GLint rowCg0 = (rowC[j] >> 4) & 0xf;
+ const GLint rowCg1 = (rowC[k] >> 4) & 0xf;
+ const GLint rowDg0 = (rowD[j] >> 4) & 0xf;
+ const GLint rowDg1 = (rowD[k] >> 4) & 0xf;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ dst[i] = (g << 4) | r;
+ }
+ }
+ else if ((datatype == GL_UNSIGNED_INT_2_10_10_10_REV) && (comps == 4)) {
+ DECLARE_ROW_POINTERS0(GLuint);
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ const GLint rowAr0 = rowA[j] & 0x3ff;
+ const GLint rowAr1 = rowA[k] & 0x3ff;
+ const GLint rowBr0 = rowB[j] & 0x3ff;
+ const GLint rowBr1 = rowB[k] & 0x3ff;
+ const GLint rowCr0 = rowC[j] & 0x3ff;
+ const GLint rowCr1 = rowC[k] & 0x3ff;
+ const GLint rowDr0 = rowD[j] & 0x3ff;
+ const GLint rowDr1 = rowD[k] & 0x3ff;
+ const GLint rowAg0 = (rowA[j] >> 10) & 0x3ff;
+ const GLint rowAg1 = (rowA[k] >> 10) & 0x3ff;
+ const GLint rowBg0 = (rowB[j] >> 10) & 0x3ff;
+ const GLint rowBg1 = (rowB[k] >> 10) & 0x3ff;
+ const GLint rowCg0 = (rowC[j] >> 10) & 0x3ff;
+ const GLint rowCg1 = (rowC[k] >> 10) & 0x3ff;
+ const GLint rowDg0 = (rowD[j] >> 10) & 0x3ff;
+ const GLint rowDg1 = (rowD[k] >> 10) & 0x3ff;
+ const GLint rowAb0 = (rowA[j] >> 20) & 0x3ff;
+ const GLint rowAb1 = (rowA[k] >> 20) & 0x3ff;
+ const GLint rowBb0 = (rowB[j] >> 20) & 0x3ff;
+ const GLint rowBb1 = (rowB[k] >> 20) & 0x3ff;
+ const GLint rowCb0 = (rowC[j] >> 20) & 0x3ff;
+ const GLint rowCb1 = (rowC[k] >> 20) & 0x3ff;
+ const GLint rowDb0 = (rowD[j] >> 20) & 0x3ff;
+ const GLint rowDb1 = (rowD[k] >> 20) & 0x3ff;
+ const GLint rowAa0 = (rowA[j] >> 30) & 0x3;
+ const GLint rowAa1 = (rowA[k] >> 30) & 0x3;
+ const GLint rowBa0 = (rowB[j] >> 30) & 0x3;
+ const GLint rowBa1 = (rowB[k] >> 30) & 0x3;
+ const GLint rowCa0 = (rowC[j] >> 30) & 0x3;
+ const GLint rowCa1 = (rowC[k] >> 30) & 0x3;
+ const GLint rowDa0 = (rowD[j] >> 30) & 0x3;
+ const GLint rowDa1 = (rowD[k] >> 30) & 0x3;
+ const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1,
+ rowCr0, rowCr1, rowDr0, rowDr1);
+ const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1,
+ rowCg0, rowCg1, rowDg0, rowDg1);
+ const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1,
+ rowCb0, rowCb1, rowDb0, rowDb1);
+ const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1,
+ rowCa0, rowCa1, rowDa0, rowDa1);
+
+ dst[i] = (a << 30) | (b << 20) | (g << 10) | r;
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT_5_9_9_9_REV && comps == 3) {
+ DECLARE_ROW_POINTERS0(GLuint);
+
+ GLfloat res[3];
+ GLfloat rowAj[3], rowBj[3], rowCj[3], rowDj[3];
+ GLfloat rowAk[3], rowBk[3], rowCk[3], rowDk[3];
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ rgb9e5_to_float3(rowA[j], rowAj);
+ rgb9e5_to_float3(rowB[j], rowBj);
+ rgb9e5_to_float3(rowC[j], rowCj);
+ rgb9e5_to_float3(rowD[j], rowDj);
+ rgb9e5_to_float3(rowA[k], rowAk);
+ rgb9e5_to_float3(rowB[k], rowBk);
+ rgb9e5_to_float3(rowC[k], rowCk);
+ rgb9e5_to_float3(rowD[k], rowDk);
+ res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0] +
+ rowCj[0] + rowCk[0] + rowDj[0] + rowDk[0]) * 0.125F;
+ res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1] +
+ rowCj[1] + rowCk[1] + rowDj[1] + rowDk[1]) * 0.125F;
+ res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2] +
+ rowCj[2] + rowCk[2] + rowDj[2] + rowDk[2]) * 0.125F;
+ dst[i] = float3_to_rgb9e5(res);
+ }
+ }
+
+ else if (datatype == GL_UNSIGNED_INT_10F_11F_11F_REV && comps == 3) {
+ DECLARE_ROW_POINTERS0(GLuint);
+
+ GLfloat res[3];
+ GLfloat rowAj[3], rowBj[3], rowCj[3], rowDj[3];
+ GLfloat rowAk[3], rowBk[3], rowCk[3], rowDk[3];
+
+ for (i = j = 0, k = k0; i < (GLuint) dstWidth;
+ i++, j += colStride, k += colStride) {
+ r11g11b10f_to_float3(rowA[j], rowAj);
+ r11g11b10f_to_float3(rowB[j], rowBj);
+ r11g11b10f_to_float3(rowC[j], rowCj);
+ r11g11b10f_to_float3(rowD[j], rowDj);
+ r11g11b10f_to_float3(rowA[k], rowAk);
+ r11g11b10f_to_float3(rowB[k], rowBk);
+ r11g11b10f_to_float3(rowC[k], rowCk);
+ r11g11b10f_to_float3(rowD[k], rowDk);
+ res[0] = (rowAj[0] + rowAk[0] + rowBj[0] + rowBk[0] +
+ rowCj[0] + rowCk[0] + rowDj[0] + rowDk[0]) * 0.125F;
+ res[1] = (rowAj[1] + rowAk[1] + rowBj[1] + rowBk[1] +
+ rowCj[1] + rowCk[1] + rowDj[1] + rowDk[1]) * 0.125F;
+ res[2] = (rowAj[2] + rowAk[2] + rowBj[2] + rowBk[2] +
+ rowCj[2] + rowCk[2] + rowDj[2] + rowDk[2]) * 0.125F;
+ dst[i] = float3_to_r11g11b10f(res);
+ }
+ }
+
+ else {
+ _mesa_problem(NULL, "bad format in do_row()");
+ }
+}
+
+
+/*
+ * These functions generate a 1/2-size mipmap image from a source image.
+ * Texture borders are handled by copying or averaging the source image's
+ * border texels, depending on the scale-down factor.
+ */
+
+static void
+make_1d_mipmap(GLenum datatype, GLuint comps, GLint border,
+ GLint srcWidth, const GLubyte *srcPtr,
+ GLint dstWidth, GLubyte *dstPtr)
+{
+ const GLint bpt = bytes_per_pixel(datatype, comps);
+ const GLubyte *src;
+ GLubyte *dst;
+
+ /* skip the border pixel, if any */
+ src = srcPtr + border * bpt;
+ dst = dstPtr + border * bpt;
+
+ /* we just duplicate the input row, kind of hack, saves code */
+ do_row(datatype, comps, srcWidth - 2 * border, src, src,
+ dstWidth - 2 * border, dst);
+
+ if (border) {
+ /* copy left-most pixel from source */
+ assert(dstPtr);
+ assert(srcPtr);
+ memcpy(dstPtr, srcPtr, bpt);
+ /* copy right-most pixel from source */
+ memcpy(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt,
+ bpt);
+ }
+}
+
+
+static void
+make_2d_mipmap(GLenum datatype, GLuint comps, GLint border,
+ GLint srcWidth, GLint srcHeight,
+ const GLubyte *srcPtr, GLint srcRowStride,
+ GLint dstWidth, GLint dstHeight,
+ GLubyte *dstPtr, GLint dstRowStride)
+{
+ const GLint bpt = bytes_per_pixel(datatype, comps);
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint srcRowBytes = bpt * srcRowStride;
+ const GLint dstRowBytes = bpt * dstRowStride;
+ const GLubyte *srcA, *srcB;
+ GLubyte *dst;
+ GLint row, srcRowStep;
+
+ /* Compute src and dst pointers, skipping any border */
+ srcA = srcPtr + border * ((srcWidth + 1) * bpt);
+ if (srcHeight > 1 && srcHeight > dstHeight) {
+ /* sample from two source rows */
+ srcB = srcA + srcRowBytes;
+ srcRowStep = 2;
+ }
+ else {
+ /* sample from one source row */
+ srcB = srcA;
+ srcRowStep = 1;
+ }
+
+ dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row(datatype, comps, srcWidthNB, srcA, srcB,
+ dstWidthNB, dst);
+ srcA += srcRowStep * srcRowBytes;
+ srcB += srcRowStep * srcRowBytes;
+ dst += dstRowBytes;
+ }
+
+ /* This is ugly but probably won't be used much */
+ if (border > 0) {
+ /* fill in dest border */
+ /* lower-left border pixel */
+ assert(dstPtr);
+ assert(srcPtr);
+ memcpy(dstPtr, srcPtr, bpt);
+ /* lower-right border pixel */
+ memcpy(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt, bpt);
+ /* upper-left border pixel */
+ memcpy(dstPtr + dstWidth * (dstHeight - 1) * bpt,
+ srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
+ /* upper-right border pixel */
+ memcpy(dstPtr + (dstWidth * dstHeight - 1) * bpt,
+ srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
+ /* lower border */
+ do_row(datatype, comps, srcWidthNB,
+ srcPtr + bpt,
+ srcPtr + bpt,
+ dstWidthNB, dstPtr + bpt);
+ /* upper border */
+ do_row(datatype, comps, srcWidthNB,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ dstWidthNB,
+ dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
+ /* left and right borders */
+ if (srcHeight == dstHeight) {
+ /* copy border pixel from src to dst */
+ for (row = 1; row < srcHeight; row++) {
+ memcpy(dstPtr + dstWidth * row * bpt,
+ srcPtr + srcWidth * row * bpt, bpt);
+ memcpy(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
+ srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
+ }
+ }
+ else {
+ /* average two src pixels each dest pixel */
+ for (row = 0; row < dstHeightNB; row += 2) {
+ do_row(datatype, comps, 1,
+ srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
+ 1, dstPtr + (dstWidth * row + 1) * bpt);
+ do_row(datatype, comps, 1,
+ srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
+ 1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
+ }
+ }
+ }
+}
+
+
+static void
+make_3d_mipmap(GLenum datatype, GLuint comps, GLint border,
+ GLint srcWidth, GLint srcHeight, GLint srcDepth,
+ const GLubyte *srcPtr, GLint srcRowStride,
+ GLint dstWidth, GLint dstHeight, GLint dstDepth,
+ GLubyte *dstPtr, GLint dstRowStride)
+{
+ const GLint bpt = bytes_per_pixel(datatype, comps);
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint srcDepthNB = srcDepth - 2 * border;
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint dstDepthNB = dstDepth - 2 * border;
+ GLint img, row;
+ GLint bytesPerSrcImage, bytesPerDstImage;
+ GLint bytesPerSrcRow, bytesPerDstRow;
+ GLint srcImageOffset, srcRowOffset;
+
+ (void) srcDepthNB; /* silence warnings */
+
+
+ bytesPerSrcImage = srcWidth * srcHeight * bpt;
+ bytesPerDstImage = dstWidth * dstHeight * bpt;
+
+ bytesPerSrcRow = srcWidth * bpt;
+ bytesPerDstRow = dstWidth * bpt;
+
+ /* Offset between adjacent src images to be averaged together */
+ srcImageOffset = (srcDepth == dstDepth) ? 0 : bytesPerSrcImage;
+
+ /* Offset between adjacent src rows to be averaged together */
+ srcRowOffset = (srcHeight == dstHeight) ? 0 : srcWidth * bpt;
+
+ /*
+ * Need to average together up to 8 src pixels for each dest pixel.
+ * Break that down into 3 operations:
+ * 1. take two rows from source image and average them together.
+ * 2. take two rows from next source image and average them together.
+ * 3. take the two averaged rows and average them for the final dst row.
+ */
+
+ /*
+ printf("mip3d %d x %d x %d -> %d x %d x %d\n",
+ srcWidth, srcHeight, srcDepth, dstWidth, dstHeight, dstDepth);
+ */
+
+ for (img = 0; img < dstDepthNB; img++) {
+ /* first source image pointer, skipping border */
+ const GLubyte *imgSrcA = srcPtr
+ + (bytesPerSrcImage + bytesPerSrcRow + border) * bpt * border
+ + img * (bytesPerSrcImage + srcImageOffset);
+ /* second source image pointer, skipping border */
+ const GLubyte *imgSrcB = imgSrcA + srcImageOffset;
+ /* address of the dest image, skipping border */
+ GLubyte *imgDst = dstPtr
+ + (bytesPerDstImage + bytesPerDstRow + border) * bpt * border
+ + img * bytesPerDstImage;
+
+ /* setup the four source row pointers and the dest row pointer */
+ const GLubyte *srcImgARowA = imgSrcA;
+ const GLubyte *srcImgARowB = imgSrcA + srcRowOffset;
+ const GLubyte *srcImgBRowA = imgSrcB;
+ const GLubyte *srcImgBRowB = imgSrcB + srcRowOffset;
+ GLubyte *dstImgRow = imgDst;
+
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row_3D(datatype, comps, srcWidthNB,
+ srcImgARowA, srcImgARowB,
+ srcImgBRowA, srcImgBRowB,
+ dstWidthNB, dstImgRow);
+
+ /* advance to next rows */
+ srcImgARowA += bytesPerSrcRow + srcRowOffset;
+ srcImgARowB += bytesPerSrcRow + srcRowOffset;
+ srcImgBRowA += bytesPerSrcRow + srcRowOffset;
+ srcImgBRowB += bytesPerSrcRow + srcRowOffset;
+ dstImgRow += bytesPerDstRow;
+ }
+ }
+
+
+ /* Luckily we can leverage the make_2d_mipmap() function here! */
+ if (border > 0) {
+ /* do front border image */
+ make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight, srcPtr, srcRowStride,
+ dstWidth, dstHeight, dstPtr, dstRowStride);
+ /* do back border image */
+ make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight,
+ srcPtr + bytesPerSrcImage * (srcDepth - 1), srcRowStride,
+ dstWidth, dstHeight,
+ dstPtr + bytesPerDstImage * (dstDepth - 1), dstRowStride);
+ /* do four remaining border edges that span the image slices */
+ if (srcDepth == dstDepth) {
+ /* just copy border pixels from src to dst */
+ for (img = 0; img < dstDepthNB; img++) {
+ const GLubyte *src;
+ GLubyte *dst;
+
+ /* do border along [img][row=0][col=0] */
+ src = srcPtr + (img + 1) * bytesPerSrcImage;
+ dst = dstPtr + (img + 1) * bytesPerDstImage;
+ memcpy(dst, src, bpt);
+
+ /* do border along [img][row=dstHeight-1][col=0] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (srcHeight - 1) * bytesPerSrcRow;
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (dstHeight - 1) * bytesPerDstRow;
+ memcpy(dst, src, bpt);
+
+ /* do border along [img][row=0][col=dstWidth-1] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (srcWidth - 1) * bpt;
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (dstWidth - 1) * bpt;
+ memcpy(dst, src, bpt);
+
+ /* do border along [img][row=dstHeight-1][col=dstWidth-1] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (bytesPerSrcImage - bpt);
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (bytesPerDstImage - bpt);
+ memcpy(dst, src, bpt);
+ }
+ }
+ else {
+ /* average border pixels from adjacent src image pairs */
+ ASSERT(srcDepthNB == 2 * dstDepthNB);
+ for (img = 0; img < dstDepthNB; img++) {
+ const GLubyte *src;
+ GLubyte *dst;
+
+ /* do border along [img][row=0][col=0] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage;
+ dst = dstPtr + (img + 1) * bytesPerDstImage;
+ do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
+
+ /* do border along [img][row=dstHeight-1][col=0] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (srcHeight - 1) * bytesPerSrcRow;
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (dstHeight - 1) * bytesPerDstRow;
+ do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
+
+ /* do border along [img][row=0][col=dstWidth-1] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (srcWidth - 1) * bpt;
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (dstWidth - 1) * bpt;
+ do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
+
+ /* do border along [img][row=dstHeight-1][col=dstWidth-1] */
+ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage
+ + (bytesPerSrcImage - bpt);
+ dst = dstPtr + (img + 1) * bytesPerDstImage
+ + (bytesPerDstImage - bpt);
+ do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst);
+ }
+ }
+ }
+}
+
+
+static void
+make_1d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
+ GLint srcWidth, const GLubyte *srcPtr, GLuint srcRowStride,
+ GLint dstWidth, GLint dstHeight,
+ GLubyte *dstPtr, GLuint dstRowStride )
+{
+ const GLint bpt = bytes_per_pixel(datatype, comps);
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint srcRowBytes = bpt * srcRowStride;
+ const GLint dstRowBytes = bpt * dstRowStride;
+ const GLubyte *src;
+ GLubyte *dst;
+ GLint row;
+
+ /* Compute src and dst pointers, skipping any border */
+ src = srcPtr + border * ((srcWidth + 1) * bpt);
+ dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row(datatype, comps, srcWidthNB, src, src,
+ dstWidthNB, dst);
+ src += srcRowBytes;
+ dst += dstRowBytes;
+ }
+
+ if (border) {
+ /* copy left-most pixel from source */
+ assert(dstPtr);
+ assert(srcPtr);
+ memcpy(dstPtr, srcPtr, bpt);
+ /* copy right-most pixel from source */
+ memcpy(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt,
+ bpt);
+ }
+}
+
+
+/**
+ * \bug
+ * There is quite a bit of refactoring that could be done with this function
+ * and \c make_2d_mipmap.
+ */
+static void
+make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
+ GLint srcWidth, GLint srcHeight,
+ const GLubyte *srcPtr, GLint srcRowStride,
+ GLint dstWidth, GLint dstHeight, GLint dstDepth,
+ GLubyte *dstPtr, GLint dstRowStride)
+{
+ const GLint bpt = bytes_per_pixel(datatype, comps);
+ const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */
+ const GLint dstWidthNB = dstWidth - 2 * border;
+ const GLint dstHeightNB = dstHeight - 2 * border;
+ const GLint dstDepthNB = dstDepth - 2 * border;
+ const GLint srcRowBytes = bpt * srcRowStride;
+ const GLint dstRowBytes = bpt * dstRowStride;
+ const GLubyte *srcA, *srcB;
+ GLubyte *dst;
+ GLint layer;
+ GLint row;
+
+ /* Compute src and dst pointers, skipping any border */
+ srcA = srcPtr + border * ((srcWidth + 1) * bpt);
+ if (srcHeight > 1)
+ srcB = srcA + srcRowBytes;
+ else
+ srcB = srcA;
+ dst = dstPtr + border * ((dstWidth + 1) * bpt);
+
+ for (layer = 0; layer < dstDepthNB; layer++) {
+ for (row = 0; row < dstHeightNB; row++) {
+ do_row(datatype, comps, srcWidthNB, srcA, srcB,
+ dstWidthNB, dst);
+ srcA += 2 * srcRowBytes;
+ srcB += 2 * srcRowBytes;
+ dst += dstRowBytes;
+ }
+
+ /* This is ugly but probably won't be used much */
+ if (border > 0) {
+ /* fill in dest border */
+ /* lower-left border pixel */
+ assert(dstPtr);
+ assert(srcPtr);
+ memcpy(dstPtr, srcPtr, bpt);
+ /* lower-right border pixel */
+ memcpy(dstPtr + (dstWidth - 1) * bpt,
+ srcPtr + (srcWidth - 1) * bpt, bpt);
+ /* upper-left border pixel */
+ memcpy(dstPtr + dstWidth * (dstHeight - 1) * bpt,
+ srcPtr + srcWidth * (srcHeight - 1) * bpt, bpt);
+ /* upper-right border pixel */
+ memcpy(dstPtr + (dstWidth * dstHeight - 1) * bpt,
+ srcPtr + (srcWidth * srcHeight - 1) * bpt, bpt);
+ /* lower border */
+ do_row(datatype, comps, srcWidthNB,
+ srcPtr + bpt,
+ srcPtr + bpt,
+ dstWidthNB, dstPtr + bpt);
+ /* upper border */
+ do_row(datatype, comps, srcWidthNB,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ srcPtr + (srcWidth * (srcHeight - 1) + 1) * bpt,
+ dstWidthNB,
+ dstPtr + (dstWidth * (dstHeight - 1) + 1) * bpt);
+ /* left and right borders */
+ if (srcHeight == dstHeight) {
+ /* copy border pixel from src to dst */
+ for (row = 1; row < srcHeight; row++) {
+ memcpy(dstPtr + dstWidth * row * bpt,
+ srcPtr + srcWidth * row * bpt, bpt);
+ memcpy(dstPtr + (dstWidth * row + dstWidth - 1) * bpt,
+ srcPtr + (srcWidth * row + srcWidth - 1) * bpt, bpt);
+ }
+ }
+ else {
+ /* average two src pixels each dest pixel */
+ for (row = 0; row < dstHeightNB; row += 2) {
+ do_row(datatype, comps, 1,
+ srcPtr + (srcWidth * (row * 2 + 1)) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2)) * bpt,
+ 1, dstPtr + (dstWidth * row + 1) * bpt);
+ do_row(datatype, comps, 1,
+ srcPtr + (srcWidth * (row * 2 + 1) + srcWidth - 1) * bpt,
+ srcPtr + (srcWidth * (row * 2 + 2) + srcWidth - 1) * bpt,
+ 1, dstPtr + (dstWidth * row + 1 + dstWidth - 1) * bpt);
+ }
+ }
+ }
+ }
+}
+
+
+/**
+ * Down-sample a texture image to produce the next lower mipmap level.
+ * \param comps components per texel (1, 2, 3 or 4)
+ * \param srcRowStride stride between source rows, in texels
+ * \param dstRowStride stride between destination rows, in texels
+ */
+void
+_mesa_generate_mipmap_level(GLenum target,
+ GLenum datatype, GLuint comps,
+ GLint border,
+ GLint srcWidth, GLint srcHeight, GLint srcDepth,
+ const GLubyte *srcData,
+ GLint srcRowStride,
+ GLint dstWidth, GLint dstHeight, GLint dstDepth,
+ GLubyte *dstData,
+ GLint dstRowStride)
+{
+ /*
+ * We use simple 2x2 averaging to compute the next mipmap level.
+ */
+ switch (target) {
+ case GL_TEXTURE_1D:
+ make_1d_mipmap(datatype, comps, border,
+ srcWidth, srcData,
+ dstWidth, dstData);
+ break;
+ case GL_TEXTURE_2D:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
+ case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
+ case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
+ make_2d_mipmap(datatype, comps, border,
+ srcWidth, srcHeight, srcData, srcRowStride,
+ dstWidth, dstHeight, dstData, dstRowStride);
+ break;
+ case GL_TEXTURE_3D:
+ make_3d_mipmap(datatype, comps, border,
+ srcWidth, srcHeight, srcDepth,
+ srcData, srcRowStride,
+ dstWidth, dstHeight, dstDepth,
+ dstData, dstRowStride);
+ break;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ make_1d_stack_mipmap(datatype, comps, border,
+ srcWidth, srcData, srcRowStride,
+ dstWidth, dstHeight,
+ dstData, dstRowStride);
+ break;
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ make_2d_stack_mipmap(datatype, comps, border,
+ srcWidth, srcHeight,
+ srcData, srcRowStride,
+ dstWidth, dstHeight,
+ dstDepth, dstData, dstRowStride);
+ break;
+ case GL_TEXTURE_RECTANGLE_NV:
+ /* no mipmaps, do nothing */
+ break;
+ default:
+ _mesa_problem(NULL, "bad dimensions in _mesa_generate_mipmaps");
+ return;
+ }
+}
+
+
+/**
+ * compute next (level+1) image size
+ * \return GL_FALSE if no smaller size can be generated (eg. src is 1x1x1 size)
+ */
+static GLboolean
+next_mipmap_level_size(GLenum target, GLint border,
+ GLint srcWidth, GLint srcHeight, GLint srcDepth,
+ GLint *dstWidth, GLint *dstHeight, GLint *dstDepth)
+{
+ if (srcWidth - 2 * border > 1) {
+ *dstWidth = (srcWidth - 2 * border) / 2 + 2 * border;
+ }
+ else {
+ *dstWidth = srcWidth; /* can't go smaller */
+ }
+
+ if ((srcHeight - 2 * border > 1) &&
+ (target != GL_TEXTURE_1D_ARRAY_EXT)) {
+ *dstHeight = (srcHeight - 2 * border) / 2 + 2 * border;
+ }
+ else {
+ *dstHeight = srcHeight; /* can't go smaller */
+ }
+
+ if ((srcDepth - 2 * border > 1) &&
+ (target != GL_TEXTURE_2D_ARRAY_EXT)) {
+ *dstDepth = (srcDepth - 2 * border) / 2 + 2 * border;
+ }
+ else {
+ *dstDepth = srcDepth; /* can't go smaller */
+ }
+
+ if (*dstWidth == srcWidth &&
+ *dstHeight == srcHeight &&
+ *dstDepth == srcDepth) {
+ return GL_FALSE;
+ }
+ else {
+ return GL_TRUE;
+ }
+}
+
+static void
+generate_mipmap_uncompressed(struct gl_context *ctx, GLenum target,
+ struct gl_texture_object *texObj,
+ const struct gl_texture_image *srcImage,
+ GLuint maxLevel)
+{
+ GLint level;
+ GLenum datatype;
+ GLuint comps;
+
+ _mesa_format_to_type_and_comps(srcImage->TexFormat, &datatype, &comps);
+
+ for (level = texObj->BaseLevel; level < maxLevel; level++) {
+ /* generate image[level+1] from image[level] */
+ const struct gl_texture_image *srcImage;
+ struct gl_texture_image *dstImage;
+ GLint srcWidth, srcHeight, srcDepth;
+ GLint dstWidth, dstHeight, dstDepth;
+ GLint border;
+ GLboolean nextLevel;
+
+ /* get src image parameters */
+ srcImage = _mesa_select_tex_image(ctx, texObj, target, level);
+ ASSERT(srcImage);
+ srcWidth = srcImage->Width;
+ srcHeight = srcImage->Height;
+ srcDepth = srcImage->Depth;
+ border = srcImage->Border;
+
+ nextLevel = next_mipmap_level_size(target, border,
+ srcWidth, srcHeight, srcDepth,
+ &dstWidth, &dstHeight, &dstDepth);
+ if (!nextLevel)
+ return;
+
+ /* get dest gl_texture_image */
+ dstImage = _mesa_get_tex_image(ctx, texObj, target, level + 1);
+ if (!dstImage) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "generating mipmaps");
+ return;
+ }
+
+ /* Free old image data */
+ if (dstImage->Data)
+ ctx->Driver.FreeTexImageData(ctx, dstImage);
+
+ /* initialize new image */
+ _mesa_init_teximage_fields(ctx, target, dstImage, dstWidth, dstHeight,
+ dstDepth, border, srcImage->InternalFormat,
+ srcImage->TexFormat);
+ dstImage->DriverData = NULL;
+ dstImage->FetchTexelc = srcImage->FetchTexelc;
+ dstImage->FetchTexelf = srcImage->FetchTexelf;
+
+ /* Alloc new teximage data buffer */
+ {
+ GLuint size = _mesa_format_image_size(dstImage->TexFormat,
+ dstWidth, dstHeight, dstDepth);
+ dstImage->Data = _mesa_alloc_texmemory(size);
+ if (!dstImage->Data) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "generating mipmaps");
+ return;
+ }
+ }
+
+ ASSERT(dstImage->TexFormat);
+ ASSERT(dstImage->FetchTexelc);
+ ASSERT(dstImage->FetchTexelf);
+
+ _mesa_generate_mipmap_level(target, datatype, comps, border,
+ srcWidth, srcHeight, srcDepth,
+ srcImage->Data, srcImage->RowStride,
+ dstWidth, dstHeight, dstDepth,
+ dstImage->Data, dstImage->RowStride);
+
+ } /* loop over mipmap levels */
+}
+
+static void
+generate_mipmap_compressed(struct gl_context *ctx, GLenum target,
+ struct gl_texture_object *texObj,
+ const struct gl_texture_image *srcImage,
+ GLuint maxLevel)
+{
+ GLint level;
+ gl_format temp_format;
+ GLenum datatype;
+ GLuint comps;
+ GLuint row;
+ GLint components;
+ GLuint temp_src_stride, temp_dst_stride; /* in bytes */
+ GLchan *temp_src = NULL, *temp_dst = NULL;
+
+ /* Choose the format we will do _mesa_generate_mipmap_level() in,
+ * and uncompress the firstImage into a temporary of that format.
+ */
+ assert(texObj->Target == GL_TEXTURE_2D ||
+ texObj->Target == GL_TEXTURE_CUBE_MAP_ARB);
+
+ if (srcImage->_BaseFormat == GL_RGB) {
+ temp_format = MESA_FORMAT_RGB888;
+ components = 3;
+ } else if (srcImage->_BaseFormat == GL_RED) {
+ temp_format = MESA_FORMAT_R8;
+ components = 1;
+ } else if (srcImage->_BaseFormat == GL_RG) {
+ temp_format = MESA_FORMAT_RG88;
+ components = 2;
+ } else if (srcImage->_BaseFormat == GL_RGBA) {
+ temp_format = MESA_FORMAT_RGBA8888;
+ components = 4;
+ } else if (srcImage->_BaseFormat == GL_LUMINANCE) {
+ temp_format = MESA_FORMAT_L8;
+ components = 1;
+ } else if (srcImage->_BaseFormat == GL_LUMINANCE_ALPHA) {
+ temp_format = MESA_FORMAT_AL88;
+ components = 2;
+ } else {
+ _mesa_problem(ctx, "bad srcImage->_BaseFormat in _mesa_generate_mipmaps");
+ return;
+ }
+
+ /* allocate storage for uncompressed GL_RGB or GL_RGBA images */
+ temp_src_stride = _mesa_format_row_stride(temp_format, srcImage->Width);
+ /* 20 extra bytes, just be safe when calling last FetchTexel */
+ temp_src = (GLubyte *) malloc(temp_src_stride * srcImage->Height + 20);
+ if (!temp_src) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "generate mipmaps");
+ return;
+ }
+
+ /* decompress base image to the temporary */
+ for (row = 0; row < srcImage->Height; row++) {
+ GLuint col;
+ GLchan *dst = (GLchan *) temp_src + temp_src_stride * row;
+ for (col = 0; col < srcImage->Width; col++) {
+ srcImage->FetchTexelc(srcImage, col, row, 0, dst);
+ dst += components;
+ }
+ }
+
+ _mesa_format_to_type_and_comps(temp_format, &datatype, &comps);
+
+ for (level = texObj->BaseLevel; level < maxLevel; level++) {
+ /* generate image[level+1] from image[level] */
+ const struct gl_texture_image *srcImage;
+ struct gl_texture_image *dstImage;
+ GLint srcWidth, srcHeight, srcDepth;
+ GLint dstWidth, dstHeight, dstDepth;
+ GLint border;
+ GLboolean nextLevel;
+
+ /* get src image parameters */
+ srcImage = _mesa_select_tex_image(ctx, texObj, target, level);
+ ASSERT(srcImage);
+ srcWidth = srcImage->Width;
+ srcHeight = srcImage->Height;
+ srcDepth = srcImage->Depth;
+ border = srcImage->Border;
+
+ nextLevel = next_mipmap_level_size(target, border,
+ srcWidth, srcHeight, srcDepth,
+ &dstWidth, &dstHeight, &dstDepth);
+ if (!nextLevel)
+ break;
+
+ temp_dst_stride = _mesa_format_row_stride(temp_format, dstWidth);
+ if (!temp_dst) {
+ temp_dst = (GLubyte *) malloc(temp_dst_stride * dstHeight);
+ if (!temp_dst) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "generate mipmaps");
+ break;
+ }
+ }
+
+ /* get dest gl_texture_image */
+ dstImage = _mesa_get_tex_image(ctx, texObj, target, level + 1);
+ if (!dstImage) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "generating mipmaps");
+ return;
+ }
+
+ _mesa_generate_mipmap_level(target, datatype, comps, border,
+ srcWidth, srcHeight, srcDepth,
+ temp_src, temp_src_stride / components,
+ dstWidth, dstHeight, dstDepth,
+ temp_dst, temp_dst_stride / components);
+
+ /* initialize new image */
+ _mesa_init_teximage_fields(ctx, target, dstImage, dstWidth, dstHeight,
+ dstDepth, border, srcImage->InternalFormat,
+ srcImage->TexFormat);
+
+ ctx->Driver.TexImage2D(ctx, target, level + 1,
+ srcImage->InternalFormat,
+ dstWidth, dstHeight, border,
+ _mesa_get_format_base_format(temp_format),
+ GL_UNSIGNED_BYTE,
+ temp_dst, &ctx->DefaultPacking, texObj, dstImage);
+
+ /* swap src and dest pointers */
+ {
+ GLchan *temp = temp_src;
+ temp_src = temp_dst;
+ temp_dst = temp;
+
+ temp_src_stride = temp_dst_stride;
+ }
+ } /* loop over mipmap levels */
+
+ free((void *) temp_src);
+ free(temp_dst);
+}
+
+/**
+ * Automatic mipmap generation.
+ * This is the fallback/default function for ctx->Driver.GenerateMipmap().
+ * Generate a complete set of mipmaps from texObj's BaseLevel image.
+ * Stop at texObj's MaxLevel or when we get to the 1x1 texture.
+ * For cube maps, target will be one of
+ * GL_TEXTURE_CUBE_MAP_POSITIVE/NEGATIVE_X/Y/Z; never GL_TEXTURE_CUBE_MAP.
+ */
+void
+_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
+ struct gl_texture_object *texObj)
+{
+ const struct gl_texture_image *srcImage;
+ GLint maxLevel;
+
+ ASSERT(texObj);
+ srcImage = _mesa_select_tex_image(ctx, texObj, target, texObj->BaseLevel);
+ ASSERT(srcImage);
+
+ maxLevel = _mesa_max_texture_levels(ctx, texObj->Target) - 1;
+ ASSERT(maxLevel >= 0); /* bad target */
+
+ maxLevel = MIN2(maxLevel, texObj->MaxLevel);
+
+ if (_mesa_is_format_compressed(srcImage->TexFormat)) {
+ generate_mipmap_compressed(ctx, target, texObj, srcImage, maxLevel);
+ } else {
+ generate_mipmap_uncompressed(ctx, target, texObj, srcImage, maxLevel);
+ }
+}
+
+
+/**
+ * Helper function for drivers which need to rescale texture images to
+ * certain aspect ratios.
+ * Nearest filtering only (for broken hardware that can't support
+ * all aspect ratios). This can be made a lot faster, but I don't
+ * really care enough...
+ */
+void
+_mesa_rescale_teximage2d(GLuint bytesPerPixel,
+ GLuint srcStrideInPixels,
+ GLuint dstRowStride,
+ GLint srcWidth, GLint srcHeight,
+ GLint dstWidth, GLint dstHeight,
+ const GLvoid *srcImage, GLvoid *dstImage)
+{
+ GLint row, col;
+
+#define INNER_LOOP( TYPE, HOP, WOP ) \
+ for ( row = 0 ; row < dstHeight ; row++ ) { \
+ GLint srcRow = row HOP hScale; \
+ for ( col = 0 ; col < dstWidth ; col++ ) { \
+ GLint srcCol = col WOP wScale; \
+ dst[col] = src[srcRow * srcStrideInPixels + srcCol]; \
+ } \
+ dst = (TYPE *) ((GLubyte *) dst + dstRowStride); \
+ } \
+
+#define RESCALE_IMAGE( TYPE ) \
+do { \
+ const TYPE *src = (const TYPE *)srcImage; \
+ TYPE *dst = (TYPE *)dstImage; \
+ \
+ if ( srcHeight < dstHeight ) { \
+ const GLint hScale = dstHeight / srcHeight; \
+ if ( srcWidth < dstWidth ) { \
+ const GLint wScale = dstWidth / srcWidth; \
+ INNER_LOOP( TYPE, /, / ); \
+ } \
+ else { \
+ const GLint wScale = srcWidth / dstWidth; \
+ INNER_LOOP( TYPE, /, * ); \
+ } \
+ } \
+ else { \
+ const GLint hScale = srcHeight / dstHeight; \
+ if ( srcWidth < dstWidth ) { \
+ const GLint wScale = dstWidth / srcWidth; \
+ INNER_LOOP( TYPE, *, / ); \
+ } \
+ else { \
+ const GLint wScale = srcWidth / dstWidth; \
+ INNER_LOOP( TYPE, *, * ); \
+ } \
+ } \
+} while (0)
+
+ switch ( bytesPerPixel ) {
+ case 4:
+ RESCALE_IMAGE( GLuint );
+ break;
+
+ case 2:
+ RESCALE_IMAGE( GLushort );
+ break;
+
+ case 1:
+ RESCALE_IMAGE( GLubyte );
+ break;
+ default:
+ _mesa_problem(NULL,"unexpected bytes/pixel in _mesa_rescale_teximage2d");
+ }
+}
+
+
+/**
+ * Upscale an image by replication, not (typical) stretching.
+ * We use this when the image width or height is less than a
+ * certain size (4, 8) and we need to upscale an image.
+ */
+void
+_mesa_upscale_teximage2d(GLsizei inWidth, GLsizei inHeight,
+ GLsizei outWidth, GLsizei outHeight,
+ GLint comps, const GLchan *src, GLint srcRowStride,
+ GLchan *dest )
+{
+ GLint i, j, k;
+
+ ASSERT(outWidth >= inWidth);
+ ASSERT(outHeight >= inHeight);
+#if 0
+ ASSERT(inWidth == 1 || inWidth == 2 || inHeight == 1 || inHeight == 2);
+ ASSERT((outWidth & 3) == 0);
+ ASSERT((outHeight & 3) == 0);
+#endif
+
+ for (i = 0; i < outHeight; i++) {
+ const GLint ii = i % inHeight;
+ for (j = 0; j < outWidth; j++) {
+ const GLint jj = j % inWidth;
+ for (k = 0; k < comps; k++) {
+ dest[(i * outWidth + j) * comps + k]
+ = src[ii * srcRowStride + jj * comps + k];
+ }
+ }
+ }
+}
+
diff --git a/mesalib/src/mesa/state_tracker/st_atom_blend.c b/mesalib/src/mesa/state_tracker/st_atom_blend.c
index d1844e106..4c9a2b95a 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_blend.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_blend.c
@@ -156,7 +156,7 @@ translate_logicop(GLenum logicop)
* Figure out if colormasks are different per rt.
*/
static GLboolean
-colormask_per_rt(struct gl_context *ctx)
+colormask_per_rt(const struct gl_context *ctx)
{
/* a bit suboptimal have to compare lots of values */
unsigned i;
@@ -172,7 +172,7 @@ colormask_per_rt(struct gl_context *ctx)
* Figure out if blend enables/state are different per rt.
*/
static GLboolean
-blend_per_rt(struct gl_context *ctx)
+blend_per_rt(const struct gl_context *ctx)
{
if (ctx->Color.BlendEnabled &&
(ctx->Color.BlendEnabled != ((1 << ctx->Const.MaxDrawBuffers) - 1))) {
@@ -190,13 +190,14 @@ static void
update_blend( struct st_context *st )
{
struct pipe_blend_state *blend = &st->state.blend;
+ const struct gl_context *ctx = st->ctx;
unsigned num_state = 1;
unsigned i, j;
memset(blend, 0, sizeof(*blend));
- if (blend_per_rt(st->ctx) || colormask_per_rt(st->ctx)) {
- num_state = st->ctx->Const.MaxDrawBuffers;
+ if (blend_per_rt(ctx) || colormask_per_rt(ctx)) {
+ num_state = ctx->Const.MaxDrawBuffers;
blend->independent_blend_enable = 1;
}
/* Note it is impossible to correctly deal with EXT_blend_logic_op and
@@ -205,52 +206,52 @@ update_blend( struct st_context *st )
and separate alpha/rgb logicop/blend support respectively. Neither
possible in gallium nor most hardware. Assume these combinations
don't happen. */
- if (st->ctx->Color.ColorLogicOpEnabled ||
- (st->ctx->Color.BlendEnabled &&
- st->ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) {
+ if (ctx->Color.ColorLogicOpEnabled ||
+ (ctx->Color.BlendEnabled &&
+ ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) {
/* logicop enabled */
blend->logicop_enable = 1;
- blend->logicop_func = translate_logicop(st->ctx->Color.LogicOp);
+ blend->logicop_func = translate_logicop(ctx->Color.LogicOp);
}
- else if (st->ctx->Color.BlendEnabled) {
+ else if (ctx->Color.BlendEnabled) {
/* blending enabled */
for (i = 0, j = 0; i < num_state; i++) {
- blend->rt[i].blend_enable = (st->ctx->Color.BlendEnabled >> i) & 0x1;
+ blend->rt[i].blend_enable = (ctx->Color.BlendEnabled >> i) & 0x1;
- if (st->ctx->Extensions.ARB_draw_buffers_blend)
+ if (ctx->Extensions.ARB_draw_buffers_blend)
j = i;
blend->rt[i].rgb_func =
- translate_blend(st->ctx->Color.Blend[j].EquationRGB);
+ translate_blend(ctx->Color.Blend[j].EquationRGB);
- if (st->ctx->Color.Blend[i].EquationRGB == GL_MIN ||
- st->ctx->Color.Blend[i].EquationRGB == GL_MAX) {
+ if (ctx->Color.Blend[i].EquationRGB == GL_MIN ||
+ ctx->Color.Blend[i].EquationRGB == GL_MAX) {
/* Min/max are special */
blend->rt[i].rgb_src_factor = PIPE_BLENDFACTOR_ONE;
blend->rt[i].rgb_dst_factor = PIPE_BLENDFACTOR_ONE;
}
else {
blend->rt[i].rgb_src_factor =
- translate_blend(st->ctx->Color.Blend[j].SrcRGB);
+ translate_blend(ctx->Color.Blend[j].SrcRGB);
blend->rt[i].rgb_dst_factor =
- translate_blend(st->ctx->Color.Blend[j].DstRGB);
+ translate_blend(ctx->Color.Blend[j].DstRGB);
}
blend->rt[i].alpha_func =
- translate_blend(st->ctx->Color.Blend[j].EquationA);
+ translate_blend(ctx->Color.Blend[j].EquationA);
- if (st->ctx->Color.Blend[i].EquationA == GL_MIN ||
- st->ctx->Color.Blend[i].EquationA == GL_MAX) {
+ if (ctx->Color.Blend[i].EquationA == GL_MIN ||
+ ctx->Color.Blend[i].EquationA == GL_MAX) {
/* Min/max are special */
blend->rt[i].alpha_src_factor = PIPE_BLENDFACTOR_ONE;
blend->rt[i].alpha_dst_factor = PIPE_BLENDFACTOR_ONE;
}
else {
blend->rt[i].alpha_src_factor =
- translate_blend(st->ctx->Color.Blend[j].SrcA);
+ translate_blend(ctx->Color.Blend[j].SrcA);
blend->rt[i].alpha_dst_factor =
- translate_blend(st->ctx->Color.Blend[j].DstA);
+ translate_blend(ctx->Color.Blend[j].DstA);
}
}
}
@@ -260,25 +261,25 @@ update_blend( struct st_context *st )
/* Colormask - maybe reverse these bits? */
for (i = 0; i < num_state; i++) {
- if (st->ctx->Color.ColorMask[i][0])
+ if (ctx->Color.ColorMask[i][0])
blend->rt[i].colormask |= PIPE_MASK_R;
- if (st->ctx->Color.ColorMask[i][1])
+ if (ctx->Color.ColorMask[i][1])
blend->rt[i].colormask |= PIPE_MASK_G;
- if (st->ctx->Color.ColorMask[i][2])
+ if (ctx->Color.ColorMask[i][2])
blend->rt[i].colormask |= PIPE_MASK_B;
- if (st->ctx->Color.ColorMask[i][3])
+ if (ctx->Color.ColorMask[i][3])
blend->rt[i].colormask |= PIPE_MASK_A;
}
- if (st->ctx->Color.DitherFlag)
+ if (ctx->Color.DitherFlag)
blend->dither = 1;
- if (st->ctx->Multisample.Enabled) {
+ if (ctx->Multisample.Enabled) {
/* unlike in gallium/d3d10 these operations are only performed
if msaa is enabled */
- if (st->ctx->Multisample.SampleAlphaToCoverage)
+ if (ctx->Multisample.SampleAlphaToCoverage)
blend->alpha_to_coverage = 1;
- if (st->ctx->Multisample.SampleAlphaToOne)
+ if (ctx->Multisample.SampleAlphaToOne)
blend->alpha_to_one = 1;
}
@@ -286,7 +287,7 @@ update_blend( struct st_context *st )
{
struct pipe_blend_color bc;
- COPY_4FV(bc.color, st->ctx->Color.BlendColorUnclamped);
+ COPY_4FV(bc.color, ctx->Color.BlendColorUnclamped);
cso_set_blend_color(st->cso_context, &bc);
}
}
diff --git a/mesalib/src/mesa/state_tracker/st_atom_clip.c b/mesalib/src/mesa/state_tracker/st_atom_clip.c
index 24d479a74..1330db843 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_clip.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_clip.c
@@ -1,75 +1,76 @@
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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.
- *
- **************************************************************************/
-
- /*
- * Authors:
- * Keith Whitwell <keith@tungstengraphics.com>
- */
-
-
-#include "st_context.h"
-#include "pipe/p_context.h"
-#include "st_atom.h"
-
-#include "cso_cache/cso_context.h"
-
-
-/* Second state atom for user clip planes:
- */
-static void update_clip( struct st_context *st )
-{
- struct pipe_clip_state clip;
- GLuint i;
-
- memset(&clip, 0, sizeof(clip));
-
- for (i = 0; i < PIPE_MAX_CLIP_PLANES; i++) {
- if (st->ctx->Transform.ClipPlanesEnabled & (1 << i)) {
- memcpy(clip.ucp[clip.nr],
- st->ctx->Transform._ClipUserPlane[i],
- sizeof(clip.ucp[0]));
- clip.nr++;
- }
- }
-
- clip.depth_clamp = st->ctx->Transform.DepthClamp != GL_FALSE;
-
- if (memcmp(&clip, &st->state.clip, sizeof(clip)) != 0) {
- st->state.clip = clip;
- cso_set_clip(st->cso_context, &clip);
- }
-}
-
-
-const struct st_tracked_state st_update_clip = {
- "st_update_clip", /* name */
- { /* dirty */
- (_NEW_TRANSFORM), /* mesa */
- 0, /* st */
- },
- update_clip /* update */
-};
+/**************************************************************************
+ *
+ * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * 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.
+ *
+ **************************************************************************/
+
+ /*
+ * Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ */
+
+
+#include "st_context.h"
+#include "pipe/p_context.h"
+#include "st_atom.h"
+
+#include "cso_cache/cso_context.h"
+
+
+/* Second state atom for user clip planes:
+ */
+static void update_clip( struct st_context *st )
+{
+ struct pipe_clip_state clip;
+ const struct gl_context *ctx = st->ctx;
+ GLuint i;
+
+ memset(&clip, 0, sizeof(clip));
+
+ for (i = 0; i < PIPE_MAX_CLIP_PLANES; i++) {
+ if (ctx->Transform.ClipPlanesEnabled & (1 << i)) {
+ memcpy(clip.ucp[clip.nr],
+ ctx->Transform._ClipUserPlane[i],
+ sizeof(clip.ucp[0]));
+ clip.nr++;
+ }
+ }
+
+ clip.depth_clamp = ctx->Transform.DepthClamp != GL_FALSE;
+
+ if (memcmp(&clip, &st->state.clip, sizeof(clip)) != 0) {
+ st->state.clip = clip;
+ cso_set_clip(st->cso_context, &clip);
+ }
+}
+
+
+const struct st_tracked_state st_update_clip = {
+ "st_update_clip", /* name */
+ { /* dirty */
+ (_NEW_TRANSFORM), /* mesa */
+ 0, /* st */
+ },
+ update_clip /* update */
+};
diff --git a/mesalib/src/mesa/state_tracker/st_atom_sampler.c b/mesalib/src/mesa/state_tracker/st_atom_sampler.c
index 627a13387..731338f9b 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_sampler.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_sampler.c
@@ -1,271 +1,279 @@
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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.
- *
- **************************************************************************/
-
- /*
- * Authors:
- * Keith Whitwell <keith@tungstengraphics.com>
- * Brian Paul
- */
-
-
-#include "main/macros.h"
-#include "main/mtypes.h"
-#include "main/samplerobj.h"
-
-#include "st_context.h"
-#include "st_cb_texture.h"
-#include "st_format.h"
-#include "st_atom.h"
-#include "st_texture.h"
-#include "pipe/p_context.h"
-#include "pipe/p_defines.h"
-
-#include "cso_cache/cso_context.h"
-
-
-/**
- * Convert GLenum texcoord wrap tokens to pipe tokens.
- */
-static GLuint
-gl_wrap_xlate(GLenum wrap)
-{
- switch (wrap) {
- case GL_REPEAT:
- return PIPE_TEX_WRAP_REPEAT;
- case GL_CLAMP:
- return PIPE_TEX_WRAP_CLAMP;
- case GL_CLAMP_TO_EDGE:
- return PIPE_TEX_WRAP_CLAMP_TO_EDGE;
- case GL_CLAMP_TO_BORDER:
- return PIPE_TEX_WRAP_CLAMP_TO_BORDER;
- case GL_MIRRORED_REPEAT:
- return PIPE_TEX_WRAP_MIRROR_REPEAT;
- case GL_MIRROR_CLAMP_EXT:
- return PIPE_TEX_WRAP_MIRROR_CLAMP;
- case GL_MIRROR_CLAMP_TO_EDGE_EXT:
- return PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE;
- case GL_MIRROR_CLAMP_TO_BORDER_EXT:
- return PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER;
- default:
- assert(0);
- return 0;
- }
-}
-
-
-static GLuint
-gl_filter_to_mip_filter(GLenum filter)
-{
- switch (filter) {
- case GL_NEAREST:
- case GL_LINEAR:
- return PIPE_TEX_MIPFILTER_NONE;
-
- case GL_NEAREST_MIPMAP_NEAREST:
- case GL_LINEAR_MIPMAP_NEAREST:
- return PIPE_TEX_MIPFILTER_NEAREST;
-
- case GL_NEAREST_MIPMAP_LINEAR:
- case GL_LINEAR_MIPMAP_LINEAR:
- return PIPE_TEX_MIPFILTER_LINEAR;
-
- default:
- assert(0);
- return PIPE_TEX_MIPFILTER_NONE;
- }
-}
-
-
-static GLuint
-gl_filter_to_img_filter(GLenum filter)
-{
- switch (filter) {
- case GL_NEAREST:
- case GL_NEAREST_MIPMAP_NEAREST:
- case GL_NEAREST_MIPMAP_LINEAR:
- return PIPE_TEX_FILTER_NEAREST;
-
- case GL_LINEAR:
- case GL_LINEAR_MIPMAP_NEAREST:
- case GL_LINEAR_MIPMAP_LINEAR:
- return PIPE_TEX_FILTER_LINEAR;
-
- default:
- assert(0);
- return PIPE_TEX_FILTER_NEAREST;
- }
-}
-
-static void convert_sampler(struct st_context *st,
- struct pipe_sampler_state *sampler,
- GLuint texUnit)
-{
- struct gl_texture_object *texobj;
- struct gl_sampler_object *msamp;
-
- texobj = st->ctx->Texture.Unit[texUnit]._Current;
- if (!texobj) {
- texobj = st_get_default_texture(st);
- }
-
- msamp = _mesa_get_samplerobj(st->ctx, texUnit);
-
- memset(sampler, 0, sizeof(*sampler));
- sampler->wrap_s = gl_wrap_xlate(msamp->WrapS);
- sampler->wrap_t = gl_wrap_xlate(msamp->WrapT);
- sampler->wrap_r = gl_wrap_xlate(msamp->WrapR);
-
- sampler->min_img_filter = gl_filter_to_img_filter(msamp->MinFilter);
- sampler->min_mip_filter = gl_filter_to_mip_filter(msamp->MinFilter);
- sampler->mag_img_filter = gl_filter_to_img_filter(msamp->MagFilter);
-
- if (texobj->Target != GL_TEXTURE_RECTANGLE_ARB)
- sampler->normalized_coords = 1;
-
- sampler->lod_bias = st->ctx->Texture.Unit[texUnit].LodBias +
- msamp->LodBias;
-
- sampler->min_lod = CLAMP(msamp->MinLod,
- 0.0f,
- (GLfloat) texobj->MaxLevel - texobj->BaseLevel);
- sampler->max_lod = MIN2((GLfloat) texobj->MaxLevel - texobj->BaseLevel,
- msamp->MaxLod);
- if (sampler->max_lod < sampler->min_lod) {
- /* The GL spec doesn't seem to specify what to do in this case.
- * Swap the values.
- */
- float tmp = sampler->max_lod;
- sampler->max_lod = sampler->min_lod;
- sampler->min_lod = tmp;
- assert(sampler->min_lod <= sampler->max_lod);
- }
-
- if (msamp->BorderColor.ui[0] ||
- msamp->BorderColor.ui[1] ||
- msamp->BorderColor.ui[2] ||
- msamp->BorderColor.ui[3]) {
- struct gl_texture_image *teximg;
-
- teximg = texobj->Image[0][texobj->BaseLevel];
-
- st_translate_color(msamp->BorderColor.f,
- teximg ? teximg->_BaseFormat : GL_RGBA,
- sampler->border_color);
- }
-
- sampler->max_anisotropy = (msamp->MaxAnisotropy == 1.0 ?
- 0 : (GLuint) msamp->MaxAnisotropy);
-
- /* only care about ARB_shadow, not SGI shadow */
- if (msamp->CompareMode == GL_COMPARE_R_TO_TEXTURE) {
- sampler->compare_mode = PIPE_TEX_COMPARE_R_TO_TEXTURE;
- sampler->compare_func
- = st_compare_func_to_pipe(msamp->CompareFunc);
- }
-
- sampler->seamless_cube_map =
- st->ctx->Texture.CubeMapSeamless || msamp->CubeMapSeamless;
-}
-
-static void
-update_vertex_samplers(struct st_context *st)
-{
- struct gl_vertex_program *vprog = st->ctx->VertexProgram._Current;
- GLuint su;
-
- st->state.num_vertex_samplers = 0;
-
- /* loop over sampler units (aka tex image units) */
- for (su = 0; su < st->ctx->Const.MaxVertexTextureImageUnits; su++) {
- struct pipe_sampler_state *sampler = st->state.vertex_samplers + su;
-
- if (vprog->Base.SamplersUsed & (1 << su)) {
- GLuint texUnit;
-
- texUnit = vprog->Base.SamplerUnits[su];
-
- convert_sampler(st, sampler, texUnit);
-
- st->state.num_vertex_samplers = su + 1;
-
- cso_single_vertex_sampler(st->cso_context, su, sampler);
- } else {
- cso_single_vertex_sampler(st->cso_context, su, NULL);
- }
- }
- cso_single_vertex_sampler_done(st->cso_context);
-}
-
-static void
-update_fragment_samplers(struct st_context *st)
-{
- struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
- GLuint su;
-
- st->state.num_samplers = 0;
-
- /* loop over sampler units (aka tex image units) */
- for (su = 0; su < st->ctx->Const.MaxTextureImageUnits; su++) {
- struct pipe_sampler_state *sampler = st->state.samplers + su;
-
-
- if (fprog->Base.SamplersUsed & (1 << su)) {
- GLuint texUnit;
-
- texUnit = fprog->Base.SamplerUnits[su];
-
- convert_sampler(st, sampler, texUnit);
-
- st->state.num_samplers = su + 1;
-
- /*printf("%s su=%u non-null\n", __FUNCTION__, su);*/
- cso_single_sampler(st->cso_context, su, sampler);
- }
- else {
- /*printf("%s su=%u null\n", __FUNCTION__, su);*/
- cso_single_sampler(st->cso_context, su, NULL);
- }
- }
-
- cso_single_sampler_done(st->cso_context);
-}
-
-static void
-update_samplers(struct st_context *st)
-{
- update_fragment_samplers(st);
- update_vertex_samplers(st);
-}
-
-const struct st_tracked_state st_update_sampler = {
- "st_update_sampler", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- 0, /* st */
- },
- update_samplers /* update */
-};
+/**************************************************************************
+ *
+ * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * 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.
+ *
+ **************************************************************************/
+
+ /*
+ * Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ * Brian Paul
+ */
+
+
+#include "main/macros.h"
+#include "main/mtypes.h"
+#include "main/samplerobj.h"
+
+#include "st_context.h"
+#include "st_cb_texture.h"
+#include "st_format.h"
+#include "st_atom.h"
+#include "st_texture.h"
+#include "pipe/p_context.h"
+#include "pipe/p_defines.h"
+
+#include "cso_cache/cso_context.h"
+
+
+/**
+ * Convert GLenum texcoord wrap tokens to pipe tokens.
+ */
+static GLuint
+gl_wrap_xlate(GLenum wrap)
+{
+ switch (wrap) {
+ case GL_REPEAT:
+ return PIPE_TEX_WRAP_REPEAT;
+ case GL_CLAMP:
+ return PIPE_TEX_WRAP_CLAMP;
+ case GL_CLAMP_TO_EDGE:
+ return PIPE_TEX_WRAP_CLAMP_TO_EDGE;
+ case GL_CLAMP_TO_BORDER:
+ return PIPE_TEX_WRAP_CLAMP_TO_BORDER;
+ case GL_MIRRORED_REPEAT:
+ return PIPE_TEX_WRAP_MIRROR_REPEAT;
+ case GL_MIRROR_CLAMP_EXT:
+ return PIPE_TEX_WRAP_MIRROR_CLAMP;
+ case GL_MIRROR_CLAMP_TO_EDGE_EXT:
+ return PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE;
+ case GL_MIRROR_CLAMP_TO_BORDER_EXT:
+ return PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER;
+ default:
+ assert(0);
+ return 0;
+ }
+}
+
+
+static GLuint
+gl_filter_to_mip_filter(GLenum filter)
+{
+ switch (filter) {
+ case GL_NEAREST:
+ case GL_LINEAR:
+ return PIPE_TEX_MIPFILTER_NONE;
+
+ case GL_NEAREST_MIPMAP_NEAREST:
+ case GL_LINEAR_MIPMAP_NEAREST:
+ return PIPE_TEX_MIPFILTER_NEAREST;
+
+ case GL_NEAREST_MIPMAP_LINEAR:
+ case GL_LINEAR_MIPMAP_LINEAR:
+ return PIPE_TEX_MIPFILTER_LINEAR;
+
+ default:
+ assert(0);
+ return PIPE_TEX_MIPFILTER_NONE;
+ }
+}
+
+
+static GLuint
+gl_filter_to_img_filter(GLenum filter)
+{
+ switch (filter) {
+ case GL_NEAREST:
+ case GL_NEAREST_MIPMAP_NEAREST:
+ case GL_NEAREST_MIPMAP_LINEAR:
+ return PIPE_TEX_FILTER_NEAREST;
+
+ case GL_LINEAR:
+ case GL_LINEAR_MIPMAP_NEAREST:
+ case GL_LINEAR_MIPMAP_LINEAR:
+ return PIPE_TEX_FILTER_LINEAR;
+
+ default:
+ assert(0);
+ return PIPE_TEX_FILTER_NEAREST;
+ }
+}
+
+
+static void
+convert_sampler(struct st_context *st,
+ struct pipe_sampler_state *sampler,
+ GLuint texUnit)
+{
+ struct gl_texture_object *texobj;
+ struct gl_context *ctx = st->ctx;
+ struct gl_sampler_object *msamp;
+
+ texobj = ctx->Texture.Unit[texUnit]._Current;
+ if (!texobj) {
+ texobj = st_get_default_texture(st);
+ }
+
+ msamp = _mesa_get_samplerobj(ctx, texUnit);
+
+ memset(sampler, 0, sizeof(*sampler));
+ sampler->wrap_s = gl_wrap_xlate(msamp->WrapS);
+ sampler->wrap_t = gl_wrap_xlate(msamp->WrapT);
+ sampler->wrap_r = gl_wrap_xlate(msamp->WrapR);
+
+ sampler->min_img_filter = gl_filter_to_img_filter(msamp->MinFilter);
+ sampler->min_mip_filter = gl_filter_to_mip_filter(msamp->MinFilter);
+ sampler->mag_img_filter = gl_filter_to_img_filter(msamp->MagFilter);
+
+ if (texobj->Target != GL_TEXTURE_RECTANGLE_ARB)
+ sampler->normalized_coords = 1;
+
+ sampler->lod_bias = ctx->Texture.Unit[texUnit].LodBias + msamp->LodBias;
+
+ sampler->min_lod = CLAMP(msamp->MinLod,
+ 0.0f,
+ (GLfloat) texobj->MaxLevel - texobj->BaseLevel);
+ sampler->max_lod = MIN2((GLfloat) texobj->MaxLevel - texobj->BaseLevel,
+ msamp->MaxLod);
+ if (sampler->max_lod < sampler->min_lod) {
+ /* The GL spec doesn't seem to specify what to do in this case.
+ * Swap the values.
+ */
+ float tmp = sampler->max_lod;
+ sampler->max_lod = sampler->min_lod;
+ sampler->min_lod = tmp;
+ assert(sampler->min_lod <= sampler->max_lod);
+ }
+
+ if (msamp->BorderColor.ui[0] ||
+ msamp->BorderColor.ui[1] ||
+ msamp->BorderColor.ui[2] ||
+ msamp->BorderColor.ui[3]) {
+ struct gl_texture_image *teximg;
+
+ teximg = texobj->Image[0][texobj->BaseLevel];
+
+ st_translate_color(msamp->BorderColor.f,
+ teximg ? teximg->_BaseFormat : GL_RGBA,
+ sampler->border_color);
+ }
+
+ sampler->max_anisotropy = (msamp->MaxAnisotropy == 1.0 ?
+ 0 : (GLuint) msamp->MaxAnisotropy);
+
+ /* only care about ARB_shadow, not SGI shadow */
+ if (msamp->CompareMode == GL_COMPARE_R_TO_TEXTURE) {
+ sampler->compare_mode = PIPE_TEX_COMPARE_R_TO_TEXTURE;
+ sampler->compare_func
+ = st_compare_func_to_pipe(msamp->CompareFunc);
+ }
+
+ sampler->seamless_cube_map =
+ ctx->Texture.CubeMapSeamless || msamp->CubeMapSeamless;
+}
+
+
+static void
+update_vertex_samplers(struct st_context *st)
+{
+ const struct gl_context *ctx = st->ctx;
+ struct gl_vertex_program *vprog = ctx->VertexProgram._Current;
+ GLuint su;
+
+ st->state.num_vertex_samplers = 0;
+
+ /* loop over sampler units (aka tex image units) */
+ for (su = 0; su < ctx->Const.MaxVertexTextureImageUnits; su++) {
+ struct pipe_sampler_state *sampler = st->state.vertex_samplers + su;
+
+ if (vprog->Base.SamplersUsed & (1 << su)) {
+ GLuint texUnit;
+
+ texUnit = vprog->Base.SamplerUnits[su];
+
+ convert_sampler(st, sampler, texUnit);
+
+ st->state.num_vertex_samplers = su + 1;
+
+ cso_single_vertex_sampler(st->cso_context, su, sampler);
+ } else {
+ cso_single_vertex_sampler(st->cso_context, su, NULL);
+ }
+ }
+ cso_single_vertex_sampler_done(st->cso_context);
+}
+
+
+static void
+update_fragment_samplers(struct st_context *st)
+{
+ const struct gl_context *ctx = st->ctx;
+ struct gl_fragment_program *fprog = ctx->FragmentProgram._Current;
+ GLuint su;
+
+ st->state.num_samplers = 0;
+
+ /* loop over sampler units (aka tex image units) */
+ for (su = 0; su < ctx->Const.MaxTextureImageUnits; su++) {
+ struct pipe_sampler_state *sampler = st->state.samplers + su;
+
+
+ if (fprog->Base.SamplersUsed & (1 << su)) {
+ GLuint texUnit;
+
+ texUnit = fprog->Base.SamplerUnits[su];
+
+ convert_sampler(st, sampler, texUnit);
+
+ st->state.num_samplers = su + 1;
+
+ /*printf("%s su=%u non-null\n", __FUNCTION__, su);*/
+ cso_single_sampler(st->cso_context, su, sampler);
+ }
+ else {
+ /*printf("%s su=%u null\n", __FUNCTION__, su);*/
+ cso_single_sampler(st->cso_context, su, NULL);
+ }
+ }
+
+ cso_single_sampler_done(st->cso_context);
+}
+
+
+static void
+update_samplers(struct st_context *st)
+{
+ update_fragment_samplers(st);
+ update_vertex_samplers(st);
+}
+
+
+const struct st_tracked_state st_update_sampler = {
+ "st_update_sampler", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ 0, /* st */
+ },
+ update_samplers /* update */
+};
diff --git a/mesalib/src/mesa/state_tracker/st_atom_scissor.c b/mesalib/src/mesa/state_tracker/st_atom_scissor.c
index 495a3ea25..eb1387778 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_scissor.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_scissor.c
@@ -1,100 +1,101 @@
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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.
- *
- **************************************************************************/
-
- /*
- * Authors:
- * Keith Whitwell <keith@tungstengraphics.com>
- */
-
-
-#include "main/macros.h"
-#include "st_context.h"
-#include "pipe/p_context.h"
-#include "st_atom.h"
-
-
-/**
- * Scissor depends on the scissor box, and the framebuffer dimensions.
- */
-static void
-update_scissor( struct st_context *st )
-{
- struct pipe_scissor_state scissor;
- const struct gl_framebuffer *fb = st->ctx->DrawBuffer;
- GLint miny, maxy;
-
- scissor.minx = 0;
- scissor.miny = 0;
- scissor.maxx = fb->Width;
- scissor.maxy = fb->Height;
-
- if (st->ctx->Scissor.Enabled) {
- /* need to be careful here with xmax or ymax < 0 */
- GLint xmax = MAX2(0, st->ctx->Scissor.X + st->ctx->Scissor.Width);
- GLint ymax = MAX2(0, st->ctx->Scissor.Y + st->ctx->Scissor.Height);
-
- if (st->ctx->Scissor.X > (GLint)scissor.minx)
- scissor.minx = st->ctx->Scissor.X;
- if (st->ctx->Scissor.Y > (GLint)scissor.miny)
- scissor.miny = st->ctx->Scissor.Y;
-
- if (xmax < (GLint) scissor.maxx)
- scissor.maxx = xmax;
- if (ymax < (GLint) scissor.maxy)
- scissor.maxy = ymax;
-
- /* check for null space */
- if (scissor.minx >= scissor.maxx || scissor.miny >= scissor.maxy)
- scissor.minx = scissor.miny = scissor.maxx = scissor.maxy = 0;
- }
-
- /* Now invert Y if needed.
- * Gallium drivers use the convention Y=0=top for surfaces.
- */
- if (st_fb_orientation(fb) == Y_0_TOP) {
- miny = fb->Height - scissor.maxy;
- maxy = fb->Height - scissor.miny;
- scissor.miny = miny;
- scissor.maxy = maxy;
- }
-
- if (memcmp(&scissor, &st->state.scissor, sizeof(scissor)) != 0) {
- /* state has changed */
- st->state.scissor = scissor; /* struct copy */
- st->pipe->set_scissor_state(st->pipe, &scissor); /* activate */
- }
-}
-
-
-const struct st_tracked_state st_update_scissor = {
- "st_update_scissor", /* name */
- { /* dirty */
- (_NEW_SCISSOR | _NEW_BUFFERS), /* mesa */
- 0, /* st */
- },
- update_scissor /* update */
-};
+/**************************************************************************
+ *
+ * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * 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.
+ *
+ **************************************************************************/
+
+ /*
+ * Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ */
+
+
+#include "main/macros.h"
+#include "st_context.h"
+#include "pipe/p_context.h"
+#include "st_atom.h"
+
+
+/**
+ * Scissor depends on the scissor box, and the framebuffer dimensions.
+ */
+static void
+update_scissor( struct st_context *st )
+{
+ struct pipe_scissor_state scissor;
+ const struct gl_context *ctx = st->ctx;
+ const struct gl_framebuffer *fb = ctx->DrawBuffer;
+ GLint miny, maxy;
+
+ scissor.minx = 0;
+ scissor.miny = 0;
+ scissor.maxx = fb->Width;
+ scissor.maxy = fb->Height;
+
+ if (ctx->Scissor.Enabled) {
+ /* need to be careful here with xmax or ymax < 0 */
+ GLint xmax = MAX2(0, ctx->Scissor.X + ctx->Scissor.Width);
+ GLint ymax = MAX2(0, ctx->Scissor.Y + ctx->Scissor.Height);
+
+ if (ctx->Scissor.X > (GLint)scissor.minx)
+ scissor.minx = ctx->Scissor.X;
+ if (ctx->Scissor.Y > (GLint)scissor.miny)
+ scissor.miny = ctx->Scissor.Y;
+
+ if (xmax < (GLint) scissor.maxx)
+ scissor.maxx = xmax;
+ if (ymax < (GLint) scissor.maxy)
+ scissor.maxy = ymax;
+
+ /* check for null space */
+ if (scissor.minx >= scissor.maxx || scissor.miny >= scissor.maxy)
+ scissor.minx = scissor.miny = scissor.maxx = scissor.maxy = 0;
+ }
+
+ /* Now invert Y if needed.
+ * Gallium drivers use the convention Y=0=top for surfaces.
+ */
+ if (st_fb_orientation(fb) == Y_0_TOP) {
+ miny = fb->Height - scissor.maxy;
+ maxy = fb->Height - scissor.miny;
+ scissor.miny = miny;
+ scissor.maxy = maxy;
+ }
+
+ if (memcmp(&scissor, &st->state.scissor, sizeof(scissor)) != 0) {
+ /* state has changed */
+ st->state.scissor = scissor; /* struct copy */
+ st->pipe->set_scissor_state(st->pipe, &scissor); /* activate */
+ }
+}
+
+
+const struct st_tracked_state st_update_scissor = {
+ "st_update_scissor", /* name */
+ { /* dirty */
+ (_NEW_SCISSOR | _NEW_BUFFERS), /* mesa */
+ 0, /* st */
+ },
+ update_scissor /* update */
+};
diff --git a/mesalib/src/mesa/state_tracker/st_atom_stipple.c b/mesalib/src/mesa/state_tracker/st_atom_stipple.c
index 5efea315c..b3e0dc7f1 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_stipple.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_stipple.c
@@ -1,93 +1,94 @@
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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.
- *
- **************************************************************************/
-
- /*
- * \brief polygon stipple state
- *
- * Authors:
- * Brian Paul
- */
-
-
-#include <assert.h>
-
-#include "st_context.h"
-#include "st_atom.h"
-#include "pipe/p_context.h"
-#include "pipe/p_defines.h"
-
-
-/**
- * OpenGL's polygon stipple is indexed with window coordinates in which
- * the origin (0,0) is the lower-left corner of the window.
- * With Gallium, the origin is the upper-left corner of the window.
- * To convert GL's polygon stipple to what gallium expects we need to
- * invert the pattern vertically and rotate the stipple rows according
- * to the window height.
- */
-static void
-invert_stipple(GLuint dest[32], const GLuint src[32], GLuint winHeight)
-{
- GLuint i;
-
- for (i = 0; i < 32; i++) {
- dest[i] = src[(winHeight - 1 - i) & 0x1f];
- }
-}
-
-
-
-static void
-update_stipple( struct st_context *st )
-{
- const GLuint sz = sizeof(st->state.poly_stipple);
- assert(sz == sizeof(st->ctx->PolygonStipple));
-
- if (memcmp(st->state.poly_stipple, st->ctx->PolygonStipple, sz)) {
- /* state has changed */
- struct pipe_poly_stipple newStipple;
-
- memcpy(st->state.poly_stipple, st->ctx->PolygonStipple, sz);
-
- invert_stipple(newStipple.stipple, st->ctx->PolygonStipple,
- st->ctx->DrawBuffer->Height);
-
- st->pipe->set_polygon_stipple(st->pipe, &newStipple);
- }
-}
-
-
-/** Update the stipple when the pattern or window height changes */
-const struct st_tracked_state st_update_polygon_stipple = {
- "st_update_polygon_stipple", /* name */
- { /* dirty */
- (_NEW_POLYGONSTIPPLE |
- _NEW_BUFFERS), /* mesa */
- 0, /* st */
- },
- update_stipple /* update */
-};
+/**************************************************************************
+ *
+ * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * 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.
+ *
+ **************************************************************************/
+
+ /*
+ * \brief polygon stipple state
+ *
+ * Authors:
+ * Brian Paul
+ */
+
+
+#include <assert.h>
+
+#include "st_context.h"
+#include "st_atom.h"
+#include "pipe/p_context.h"
+#include "pipe/p_defines.h"
+
+
+/**
+ * OpenGL's polygon stipple is indexed with window coordinates in which
+ * the origin (0,0) is the lower-left corner of the window.
+ * With Gallium, the origin is the upper-left corner of the window.
+ * To convert GL's polygon stipple to what gallium expects we need to
+ * invert the pattern vertically and rotate the stipple rows according
+ * to the window height.
+ */
+static void
+invert_stipple(GLuint dest[32], const GLuint src[32], GLuint winHeight)
+{
+ GLuint i;
+
+ for (i = 0; i < 32; i++) {
+ dest[i] = src[(winHeight - 1 - i) & 0x1f];
+ }
+}
+
+
+
+static void
+update_stipple( struct st_context *st )
+{
+ const struct gl_context *ctx = st->ctx;
+ const GLuint sz = sizeof(st->state.poly_stipple);
+ assert(sz == sizeof(ctx->PolygonStipple));
+
+ if (memcmp(st->state.poly_stipple, ctx->PolygonStipple, sz)) {
+ /* state has changed */
+ struct pipe_poly_stipple newStipple;
+
+ memcpy(st->state.poly_stipple, ctx->PolygonStipple, sz);
+
+ invert_stipple(newStipple.stipple, ctx->PolygonStipple,
+ ctx->DrawBuffer->Height);
+
+ st->pipe->set_polygon_stipple(st->pipe, &newStipple);
+ }
+}
+
+
+/** Update the stipple when the pattern or window height changes */
+const struct st_tracked_state st_update_polygon_stipple = {
+ "st_update_polygon_stipple", /* name */
+ { /* dirty */
+ (_NEW_POLYGONSTIPPLE |
+ _NEW_BUFFERS), /* mesa */
+ 0, /* st */
+ },
+ update_stipple /* update */
+};
diff --git a/mesalib/src/mesa/state_tracker/st_atom_texture.c b/mesalib/src/mesa/state_tracker/st_atom_texture.c
index 7bb950a76..800a9f1f0 100644
--- a/mesalib/src/mesa/state_tracker/st_atom_texture.c
+++ b/mesalib/src/mesa/state_tracker/st_atom_texture.c
@@ -1,379 +1,383 @@
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * 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.
- *
- **************************************************************************/
-
- /*
- * Authors:
- * Keith Whitwell <keith@tungstengraphics.com>
- * Brian Paul
- */
-
-
-#include "main/macros.h"
-#include "main/mtypes.h"
-#include "main/samplerobj.h"
-#include "program/prog_instruction.h"
-
-#include "st_context.h"
-#include "st_atom.h"
-#include "st_texture.h"
-#include "st_format.h"
-#include "st_cb_texture.h"
-#include "pipe/p_context.h"
-#include "util/u_format.h"
-#include "util/u_inlines.h"
-#include "cso_cache/cso_context.h"
-
-
-/**
- * Combine depth texture mode with "swizzle" so that depth mode swizzling
- * takes place before texture swizzling, and return the resulting swizzle.
- * If the format is not a depth format, return "swizzle" unchanged.
- *
- * \param format PIPE_FORMAT_*.
- * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
- * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA, GL_RED.
- */
-static GLuint
-apply_depthmode(enum pipe_format format, GLuint swizzle, GLenum depthmode)
-{
- const struct util_format_description *desc =
- util_format_description(format);
- unsigned char swiz[4];
- unsigned i;
-
- if (desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS ||
- desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_NONE) {
- /* Not a depth format. */
- return swizzle;
- }
-
- for (i = 0; i < 4; i++)
- swiz[i] = GET_SWZ(swizzle, i);
-
- switch (depthmode) {
- case GL_LUMINANCE:
- /* Rewrite reads from W to ONE, and reads from XYZ to XXX. */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_ONE;
- else if (swiz[i] < SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- break;
-
- case GL_INTENSITY:
- /* Rewrite reads from XYZW to XXXX. */
- for (i = 0; i < 4; i++)
- if (swiz[i] <= SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- break;
-
- case GL_ALPHA:
- /* Rewrite reads from W to X, and reads from XYZ to 000. */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_X;
- else if (swiz[i] < SWIZZLE_W)
- swiz[i] = SWIZZLE_ZERO;
- break;
- case GL_RED:
- /* Rewrite reads W to 1, XYZ to X00 */
- for (i = 0; i < 4; i++)
- if (swiz[i] == SWIZZLE_W)
- swiz[i] = SWIZZLE_ONE;
- else if (swiz[i] == SWIZZLE_Y || swiz[i] == SWIZZLE_Z)
- swiz[i] = SWIZZLE_ZERO;
- break;
- }
-
- return MAKE_SWIZZLE4(swiz[0], swiz[1], swiz[2], swiz[3]);
-}
-
-
-/**
- * Return TRUE if the swizzling described by "swizzle" and
- * "depthmode" (for depth textures only) is different from the swizzling
- * set in the given sampler view.
- *
- * \param sv A sampler view.
- * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
- * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA.
- */
-static boolean
-check_sampler_swizzle(struct pipe_sampler_view *sv,
- GLuint swizzle, GLenum depthmode)
-{
- swizzle = apply_depthmode(sv->texture->format, swizzle, depthmode);
-
- 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,
- const struct gl_sampler_object *samp,
- enum pipe_format format)
-{
- struct pipe_sampler_view templ;
- GLuint swizzle = apply_depthmode(stObj->pt->format,
- stObj->base._Swizzle,
- samp->DepthMode);
-
- u_sampler_view_default_template(&templ,
- stObj->pt,
- format);
- templ.u.tex.first_level = stObj->base.BaseLevel;
-
- if (swizzle != SWIZZLE_NOOP) {
- templ.swizzle_r = GET_SWZ(swizzle, 0);
- templ.swizzle_g = GET_SWZ(swizzle, 1);
- templ.swizzle_b = GET_SWZ(swizzle, 2);
- templ.swizzle_a = GET_SWZ(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,
- const struct gl_sampler_object *samp,
- enum pipe_format format)
-{
- if (!stObj || !stObj->pt) {
- return NULL;
- }
-
- if (!stObj->sampler_view) {
- stObj->sampler_view =
- st_create_texture_sampler_view_from_stobj(pipe, stObj, samp, format);
- }
-
- return stObj->sampler_view;
-}
-
-static GLboolean
-update_single_texture(struct st_context *st, struct pipe_sampler_view **sampler_view,
- GLuint texUnit)
-{
- struct pipe_context *pipe = st->pipe;
- const struct gl_sampler_object *samp;
- struct gl_texture_object *texObj;
- struct st_texture_object *stObj;
- enum pipe_format st_view_format;
- GLboolean retval;
-
- samp = _mesa_get_samplerobj(st->ctx, texUnit);
-
- texObj = st->ctx->Texture.Unit[texUnit]._Current;
-
- if (!texObj) {
- texObj = st_get_default_texture(st);
- samp = &texObj->Sampler;
- }
- stObj = st_texture_object(texObj);
-
- retval = st_finalize_texture(st->ctx, st->pipe, texObj);
- if (!retval) {
- /* out of mem */
- return GL_FALSE;
- }
-
- /* Determine the format of the texture sampler view */
- st_view_format = stObj->pt->format;
- {
- const struct st_texture_image *firstImage =
- st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]);
- const gl_format texFormat = firstImage->base.TexFormat;
- enum pipe_format firstImageFormat =
- st_mesa_format_to_pipe_format(texFormat);
-
- if ((samp->sRGBDecode == GL_SKIP_DECODE_EXT) &&
- (_mesa_get_format_color_encoding(texFormat) == GL_SRGB)) {
- /* don't do sRGB->RGB conversion. Interpret the texture
- * texture data as linear values.
- */
- const gl_format linearFormat =
- _mesa_get_srgb_format_linear(texFormat);
- firstImageFormat = st_mesa_format_to_pipe_format(linearFormat);
- }
-
- if (firstImageFormat != stObj->pt->format)
- st_view_format = firstImageFormat;
- }
-
-
- /* if sampler view has changed dereference it */
- if (stObj->sampler_view) {
- if (check_sampler_swizzle(stObj->sampler_view,
- stObj->base._Swizzle,
- samp->DepthMode) ||
- (st_view_format != stObj->sampler_view->format) ||
- stObj->base.BaseLevel != stObj->sampler_view->u.tex.first_level) {
- pipe_sampler_view_reference(&stObj->sampler_view, NULL);
- }
- }
-
- *sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe,
- samp,
- st_view_format);
- return GL_TRUE;
-}
-
-static void
-update_vertex_textures(struct st_context *st)
-{
- struct gl_vertex_program *vprog = st->ctx->VertexProgram._Current;
- GLuint su;
-
- st->state.num_vertex_textures = 0;
-
- /* loop over sampler units (aka tex image units) */
- for (su = 0; su < st->ctx->Const.MaxTextureImageUnits; su++) {
- struct pipe_sampler_view *sampler_view = NULL;
- if (vprog->Base.SamplersUsed & (1 << su)) {
- GLboolean retval;
- GLuint texUnit;
-
- texUnit = vprog->Base.SamplerUnits[su];
-
- retval = update_single_texture(st, &sampler_view, texUnit);
- if (retval == GL_FALSE)
- continue;
-
- st->state.num_vertex_textures = su + 1;
-
- }
- pipe_sampler_view_reference(&st->state.sampler_vertex_views[su], sampler_view);
- }
-
- if (st->ctx->Const.MaxVertexTextureImageUnits > 0) {
- GLuint numUnits = MIN2(st->state.num_vertex_textures,
- st->ctx->Const.MaxVertexTextureImageUnits);
- cso_set_vertex_sampler_views(st->cso_context,
- numUnits,
- st->state.sampler_vertex_views);
- }
-}
-
-static void
-update_fragment_textures(struct st_context *st)
-{
- struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
- GLuint su;
-
- st->state.num_textures = 0;
-
- /* loop over sampler units (aka tex image units) */
- for (su = 0; su < st->ctx->Const.MaxTextureImageUnits; su++) {
- struct pipe_sampler_view *sampler_view = NULL;
- if (fprog->Base.SamplersUsed & (1 << su)) {
- GLboolean retval;
- GLuint texUnit;
-
- texUnit = fprog->Base.SamplerUnits[su];
-
- retval = update_single_texture(st, &sampler_view, texUnit);
- if (retval == GL_FALSE)
- continue;
-
- st->state.num_textures = su + 1;
- }
- pipe_sampler_view_reference(&st->state.sampler_views[su], sampler_view);
- }
-
- cso_set_fragment_sampler_views(st->cso_context,
- st->state.num_textures,
- st->state.sampler_views);
-}
-
-const struct st_tracked_state st_update_texture = {
- "st_update_texture", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- ST_NEW_FRAGMENT_PROGRAM, /* st */
- },
- update_fragment_textures /* update */
-};
-
-const struct st_tracked_state st_update_vertex_texture = {
- "st_update_vertex_texture", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- ST_NEW_VERTEX_PROGRAM, /* st */
- },
- update_vertex_textures /* update */
-};
-
-static void
-finalize_textures(struct st_context *st)
-{
- struct gl_fragment_program *fprog = st->ctx->FragmentProgram._Current;
- const GLboolean prev_missing_textures = st->missing_textures;
- GLuint su;
-
- st->missing_textures = GL_FALSE;
-
- for (su = 0; su < st->ctx->Const.MaxTextureCoordUnits; su++) {
- if (fprog->Base.SamplersUsed & (1 << su)) {
- const GLuint texUnit = fprog->Base.SamplerUnits[su];
- struct gl_texture_object *texObj
- = st->ctx->Texture.Unit[texUnit]._Current;
-
- if (texObj) {
- GLboolean retval;
-
- retval = st_finalize_texture(st->ctx, st->pipe, texObj);
- if (!retval) {
- /* out of mem */
- st->missing_textures = GL_TRUE;
- continue;
- }
- }
- }
- }
-
- if (prev_missing_textures != st->missing_textures)
- st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
-}
-
-
-
-const struct st_tracked_state st_finalize_textures = {
- "st_finalize_textures", /* name */
- { /* dirty */
- _NEW_TEXTURE, /* mesa */
- 0, /* st */
- },
- finalize_textures /* update */
-};
+/**************************************************************************
+ *
+ * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * 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.
+ *
+ **************************************************************************/
+
+ /*
+ * Authors:
+ * Keith Whitwell <keith@tungstengraphics.com>
+ * Brian Paul
+ */
+
+
+#include "main/macros.h"
+#include "main/mtypes.h"
+#include "main/samplerobj.h"
+#include "program/prog_instruction.h"
+
+#include "st_context.h"
+#include "st_atom.h"
+#include "st_texture.h"
+#include "st_format.h"
+#include "st_cb_texture.h"
+#include "pipe/p_context.h"
+#include "util/u_format.h"
+#include "util/u_inlines.h"
+#include "cso_cache/cso_context.h"
+
+
+/**
+ * Combine depth texture mode with "swizzle" so that depth mode swizzling
+ * takes place before texture swizzling, and return the resulting swizzle.
+ * If the format is not a depth format, return "swizzle" unchanged.
+ *
+ * \param format PIPE_FORMAT_*.
+ * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
+ * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA, GL_RED.
+ */
+static GLuint
+apply_depthmode(enum pipe_format format, GLuint swizzle, GLenum depthmode)
+{
+ const struct util_format_description *desc =
+ util_format_description(format);
+ unsigned char swiz[4];
+ unsigned i;
+
+ if (desc->colorspace != UTIL_FORMAT_COLORSPACE_ZS ||
+ desc->swizzle[0] == UTIL_FORMAT_SWIZZLE_NONE) {
+ /* Not a depth format. */
+ return swizzle;
+ }
+
+ for (i = 0; i < 4; i++)
+ swiz[i] = GET_SWZ(swizzle, i);
+
+ switch (depthmode) {
+ case GL_LUMINANCE:
+ /* Rewrite reads from W to ONE, and reads from XYZ to XXX. */
+ for (i = 0; i < 4; i++)
+ if (swiz[i] == SWIZZLE_W)
+ swiz[i] = SWIZZLE_ONE;
+ else if (swiz[i] < SWIZZLE_W)
+ swiz[i] = SWIZZLE_X;
+ break;
+
+ case GL_INTENSITY:
+ /* Rewrite reads from XYZW to XXXX. */
+ for (i = 0; i < 4; i++)
+ if (swiz[i] <= SWIZZLE_W)
+ swiz[i] = SWIZZLE_X;
+ break;
+
+ case GL_ALPHA:
+ /* Rewrite reads from W to X, and reads from XYZ to 000. */
+ for (i = 0; i < 4; i++)
+ if (swiz[i] == SWIZZLE_W)
+ swiz[i] = SWIZZLE_X;
+ else if (swiz[i] < SWIZZLE_W)
+ swiz[i] = SWIZZLE_ZERO;
+ break;
+ case GL_RED:
+ /* Rewrite reads W to 1, XYZ to X00 */
+ for (i = 0; i < 4; i++)
+ if (swiz[i] == SWIZZLE_W)
+ swiz[i] = SWIZZLE_ONE;
+ else if (swiz[i] == SWIZZLE_Y || swiz[i] == SWIZZLE_Z)
+ swiz[i] = SWIZZLE_ZERO;
+ break;
+ }
+
+ return MAKE_SWIZZLE4(swiz[0], swiz[1], swiz[2], swiz[3]);
+}
+
+
+/**
+ * Return TRUE if the swizzling described by "swizzle" and
+ * "depthmode" (for depth textures only) is different from the swizzling
+ * set in the given sampler view.
+ *
+ * \param sv A sampler view.
+ * \param swizzle Texture swizzle, a bitmask computed using MAKE_SWIZZLE4.
+ * \param depthmode One of GL_LUMINANCE, GL_INTENSITY, GL_ALPHA.
+ */
+static boolean
+check_sampler_swizzle(struct pipe_sampler_view *sv,
+ GLuint swizzle, GLenum depthmode)
+{
+ swizzle = apply_depthmode(sv->texture->format, swizzle, depthmode);
+
+ 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,
+ const struct gl_sampler_object *samp,
+ enum pipe_format format)
+{
+ struct pipe_sampler_view templ;
+ GLuint swizzle = apply_depthmode(stObj->pt->format,
+ stObj->base._Swizzle,
+ samp->DepthMode);
+
+ u_sampler_view_default_template(&templ,
+ stObj->pt,
+ format);
+ templ.u.tex.first_level = stObj->base.BaseLevel;
+
+ if (swizzle != SWIZZLE_NOOP) {
+ templ.swizzle_r = GET_SWZ(swizzle, 0);
+ templ.swizzle_g = GET_SWZ(swizzle, 1);
+ templ.swizzle_b = GET_SWZ(swizzle, 2);
+ templ.swizzle_a = GET_SWZ(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,
+ const struct gl_sampler_object *samp,
+ enum pipe_format format)
+{
+ if (!stObj || !stObj->pt) {
+ return NULL;
+ }
+
+ if (!stObj->sampler_view) {
+ stObj->sampler_view =
+ st_create_texture_sampler_view_from_stobj(pipe, stObj, samp, format);
+ }
+
+ return stObj->sampler_view;
+}
+
+static GLboolean
+update_single_texture(struct st_context *st, struct pipe_sampler_view **sampler_view,
+ GLuint texUnit)
+{
+ struct pipe_context *pipe = st->pipe;
+ struct gl_context *ctx = st->ctx;
+ const struct gl_sampler_object *samp;
+ struct gl_texture_object *texObj;
+ struct st_texture_object *stObj;
+ enum pipe_format st_view_format;
+ GLboolean retval;
+
+ samp = _mesa_get_samplerobj(ctx, texUnit);
+
+ texObj = ctx->Texture.Unit[texUnit]._Current;
+
+ if (!texObj) {
+ texObj = st_get_default_texture(st);
+ samp = &texObj->Sampler;
+ }
+ stObj = st_texture_object(texObj);
+
+ retval = st_finalize_texture(ctx, st->pipe, texObj);
+ if (!retval) {
+ /* out of mem */
+ return GL_FALSE;
+ }
+
+ /* Determine the format of the texture sampler view */
+ st_view_format = stObj->pt->format;
+ {
+ const struct st_texture_image *firstImage =
+ st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]);
+ const gl_format texFormat = firstImage->base.TexFormat;
+ enum pipe_format firstImageFormat =
+ st_mesa_format_to_pipe_format(texFormat);
+
+ if ((samp->sRGBDecode == GL_SKIP_DECODE_EXT) &&
+ (_mesa_get_format_color_encoding(texFormat) == GL_SRGB)) {
+ /* don't do sRGB->RGB conversion. Interpret the texture
+ * texture data as linear values.
+ */
+ const gl_format linearFormat =
+ _mesa_get_srgb_format_linear(texFormat);
+ firstImageFormat = st_mesa_format_to_pipe_format(linearFormat);
+ }
+
+ if (firstImageFormat != stObj->pt->format)
+ st_view_format = firstImageFormat;
+ }
+
+
+ /* if sampler view has changed dereference it */
+ if (stObj->sampler_view) {
+ if (check_sampler_swizzle(stObj->sampler_view,
+ stObj->base._Swizzle,
+ samp->DepthMode) ||
+ (st_view_format != stObj->sampler_view->format) ||
+ stObj->base.BaseLevel != stObj->sampler_view->u.tex.first_level) {
+ pipe_sampler_view_reference(&stObj->sampler_view, NULL);
+ }
+ }
+
+ *sampler_view = st_get_texture_sampler_view_from_stobj(stObj, pipe,
+ samp,
+ st_view_format);
+ return GL_TRUE;
+}
+
+static void
+update_vertex_textures(struct st_context *st)
+{
+ const struct gl_context *ctx = st->ctx;
+ struct gl_vertex_program *vprog = ctx->VertexProgram._Current;
+ GLuint su;
+
+ st->state.num_vertex_textures = 0;
+
+ /* loop over sampler units (aka tex image units) */
+ for (su = 0; su < ctx->Const.MaxTextureImageUnits; su++) {
+ struct pipe_sampler_view *sampler_view = NULL;
+ if (vprog->Base.SamplersUsed & (1 << su)) {
+ GLboolean retval;
+ GLuint texUnit;
+
+ texUnit = vprog->Base.SamplerUnits[su];
+
+ retval = update_single_texture(st, &sampler_view, texUnit);
+ if (retval == GL_FALSE)
+ continue;
+
+ st->state.num_vertex_textures = su + 1;
+
+ }
+ pipe_sampler_view_reference(&st->state.sampler_vertex_views[su], sampler_view);
+ }
+
+ if (ctx->Const.MaxVertexTextureImageUnits > 0) {
+ GLuint numUnits = MIN2(st->state.num_vertex_textures,
+ ctx->Const.MaxVertexTextureImageUnits);
+ cso_set_vertex_sampler_views(st->cso_context,
+ numUnits,
+ st->state.sampler_vertex_views);
+ }
+}
+
+static void
+update_fragment_textures(struct st_context *st)
+{
+ const struct gl_context *ctx = st->ctx;
+ struct gl_fragment_program *fprog = ctx->FragmentProgram._Current;
+ GLuint su;
+
+ st->state.num_textures = 0;
+
+ /* loop over sampler units (aka tex image units) */
+ for (su = 0; su < ctx->Const.MaxTextureImageUnits; su++) {
+ struct pipe_sampler_view *sampler_view = NULL;
+ if (fprog->Base.SamplersUsed & (1 << su)) {
+ GLboolean retval;
+ GLuint texUnit;
+
+ texUnit = fprog->Base.SamplerUnits[su];
+
+ retval = update_single_texture(st, &sampler_view, texUnit);
+ if (retval == GL_FALSE)
+ continue;
+
+ st->state.num_textures = su + 1;
+ }
+ pipe_sampler_view_reference(&st->state.sampler_views[su], sampler_view);
+ }
+
+ cso_set_fragment_sampler_views(st->cso_context,
+ st->state.num_textures,
+ st->state.sampler_views);
+}
+
+const struct st_tracked_state st_update_texture = {
+ "st_update_texture", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ ST_NEW_FRAGMENT_PROGRAM, /* st */
+ },
+ update_fragment_textures /* update */
+};
+
+const struct st_tracked_state st_update_vertex_texture = {
+ "st_update_vertex_texture", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ ST_NEW_VERTEX_PROGRAM, /* st */
+ },
+ update_vertex_textures /* update */
+};
+
+static void
+finalize_textures(struct st_context *st)
+{
+ struct gl_context *ctx = st->ctx;
+ struct gl_fragment_program *fprog = ctx->FragmentProgram._Current;
+ const GLboolean prev_missing_textures = st->missing_textures;
+ GLuint su;
+
+ st->missing_textures = GL_FALSE;
+
+ for (su = 0; su < ctx->Const.MaxTextureCoordUnits; su++) {
+ if (fprog->Base.SamplersUsed & (1 << su)) {
+ const GLuint texUnit = fprog->Base.SamplerUnits[su];
+ struct gl_texture_object *texObj
+ = ctx->Texture.Unit[texUnit]._Current;
+
+ if (texObj) {
+ GLboolean retval;
+
+ retval = st_finalize_texture(ctx, st->pipe, texObj);
+ if (!retval) {
+ /* out of mem */
+ st->missing_textures = GL_TRUE;
+ continue;
+ }
+ }
+ }
+ }
+
+ if (prev_missing_textures != st->missing_textures)
+ st->dirty.st |= ST_NEW_FRAGMENT_PROGRAM;
+}
+
+
+
+const struct st_tracked_state st_finalize_textures = {
+ "st_finalize_textures", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ 0, /* st */
+ },
+ finalize_textures /* update */
+};
diff --git a/mesalib/src/mesa/state_tracker/st_draw.c b/mesalib/src/mesa/state_tracker/st_draw.c
index dd26db2f6..fac0ab7a1 100644
--- a/mesalib/src/mesa/state_tracker/st_draw.c
+++ b/mesalib/src/mesa/state_tracker/st_draw.c
@@ -33,7 +33,7 @@
*
* We basically convert the VBO's vertex attribute/array information into
* Gallium vertex state, bind the vertex buffer objects and call
- * pipe->draw_elements(), pipe->draw_range_elements() or pipe->draw_arrays().
+ * pipe->draw_vbo().
*
* Authors:
* Keith Whitwell <keith@tungstengraphics.com>
@@ -237,7 +237,6 @@ st_pipe_vertex_format(GLenum type, GLuint size, GLenum format,
/**
* Examine the active arrays to determine if we have interleaved
* vertex arrays all living in one VBO, or all living in user space.
- * \param userSpace returns whether the arrays are in user space.
*/
static GLboolean
is_interleaved_arrays(const struct st_vertex_program *vp,
@@ -247,8 +246,8 @@ is_interleaved_arrays(const struct st_vertex_program *vp,
GLuint attr;
const struct gl_buffer_object *firstBufObj = NULL;
GLint firstStride = -1;
- const GLubyte *client_addr = NULL;
- GLboolean user_memory = GL_FALSE;
+ const GLubyte *firstPtr = NULL;
+ GLboolean userSpaceBuffer = GL_FALSE;
for (attr = 0; attr < vpv->num_inputs; attr++) {
const GLuint mesaAttr = vp->index_to_input[attr];
@@ -256,37 +255,26 @@ is_interleaved_arrays(const struct st_vertex_program *vp,
const struct gl_buffer_object *bufObj = array->BufferObj;
const GLsizei stride = array->StrideB; /* in bytes */
- if (firstStride < 0) {
+ if (attr == 0) {
+ /* save info about the first array */
firstStride = stride;
- user_memory = !bufObj || !bufObj->Name;
- }
- else if (firstStride != stride) {
- return GL_FALSE;
- }
-
- if (!bufObj || !bufObj->Name) {
- /* Try to detect if the client-space arrays are
- * "close" to each other.
- */
- if (!user_memory) {
- return GL_FALSE;
- }
- if (!client_addr) {
- client_addr = array->Ptr;
- }
- else if (abs(array->Ptr - client_addr) > firstStride) {
- /* arrays start too far apart */
- return GL_FALSE;
- }
- }
- else if (!firstBufObj) {
- if (user_memory) {
- return GL_FALSE;
- }
+ firstPtr = array->Ptr;
firstBufObj = bufObj;
+ userSpaceBuffer = !bufObj || !bufObj->Name;
}
- else if (bufObj != firstBufObj) {
- return GL_FALSE;
+ else {
+ /* check if other arrays interleave with the first, in same buffer */
+ if (stride != firstStride)
+ return GL_FALSE; /* strides don't match */
+
+ if (bufObj != firstBufObj)
+ return GL_FALSE; /* arrays in different VBOs */
+
+ if (abs(array->Ptr - firstPtr) > firstStride)
+ return GL_FALSE; /* arrays start too far apart */
+
+ if ((!bufObj || !_mesa_is_bufferobj(bufObj)) != userSpaceBuffer)
+ return GL_FALSE; /* mix of VBO and user-space arrays */
}
}
@@ -510,6 +498,7 @@ setup_index_buffer(struct gl_context *ctx,
}
}
+
/**
* Prior to drawing, check that any uniforms referenced by the
* current shader have been set. If a uniform has not been set,
@@ -556,8 +545,8 @@ translate_prim(const struct gl_context *ctx, unsigned prim)
assert(GL_TRIANGLE_STRIP_ADJACENCY == PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY);
/* Avoid quadstrips if it's easy to do so:
- * Note: it's imporant to do the correct trimming if we change the prim type!
- * We do that wherever this function is called.
+ * Note: it's important to do the correct trimming if we change the
+ * prim type! We do that wherever this function is called.
*/
if (prim == GL_QUAD_STRIP &&
ctx->Light.ShadeModel != GL_FLAT &&
@@ -739,8 +728,8 @@ st_draw_vbo(struct gl_context *ctx,
}
}
- info.primitive_restart = st->ctx->Array.PrimitiveRestart;
- info.restart_index = st->ctx->Array.RestartIndex;
+ info.primitive_restart = ctx->Array.PrimitiveRestart;
+ info.restart_index = ctx->Array.RestartIndex;
/* do actual drawing */
for (i = 0; i < nr_prims; i++) {