mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
Merge branch 'ext-provoking-vertex'
Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
This commit is contained in:
commit
9038b6c8bb
36 changed files with 3974 additions and 2881 deletions
|
|
@ -38,11 +38,12 @@ tbd
|
|||
This was written by Zack Rusin at Tungsten Graphics.
|
||||
<li>GL_APPLE_vertex_array_object for Gallium drivers and Intel DRI drivers.
|
||||
<li>GL_ARB_copy_buffer extension (supported in Gallium and swrast drivers)
|
||||
<LI>GL_ARB_map_buffer_range extension (supported in Gallium and software drivers)
|
||||
<li>GL_EXT_provoking_vertex extension (supported in Gallium and software drivers)
|
||||
<li>Rewritten radeon/r200/r300 driver using a buffer manager
|
||||
<li>radeon/r200/r300 GL_EXT_framebuffer_object support when used with
|
||||
kernel memory manager
|
||||
<li>r300 driver support for GL_EXT_vertex_array_bgra, GL_EXT_texture_sRGB
|
||||
<LI>GL_ARB_map_buffer_range extension (supported in Gallium and software drivers)
|
||||
</ul>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ SOURCES = \
|
|||
packedpixels.c \
|
||||
pbo.c \
|
||||
persp_hint.c \
|
||||
prim.c \
|
||||
prog_parameter.c \
|
||||
quads.c \
|
||||
random.c \
|
||||
|
|
|
|||
559
progs/tests/prim.c
Normal file
559
progs/tests/prim.c
Normal file
|
|
@ -0,0 +1,559 @@
|
|||
#define GL_GLEXT_PROTOTYPES
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <GL/glut.h>
|
||||
|
||||
|
||||
#define PIXEL_CENTER(x) ((long)(x) + 0.5)
|
||||
|
||||
#define GAP 10
|
||||
#define ROWS 3
|
||||
#define COLS 4
|
||||
|
||||
#define OPENGL_WIDTH 48
|
||||
#define OPENGL_HEIGHT 13
|
||||
|
||||
|
||||
GLenum provoking = GL_LAST_VERTEX_CONVENTION_EXT;
|
||||
GLenum rgb, doubleBuffer, windType;
|
||||
GLint windW, windH;
|
||||
|
||||
GLenum mode1, mode2;
|
||||
GLint boxW, boxH;
|
||||
GLubyte OpenGL_bits[] = {
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
|
||||
0x7f, 0xfb, 0xff, 0xff, 0xff, 0x01,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3e, 0x8f, 0xb7, 0xf9, 0xfc, 0x01,
|
||||
0x63, 0xdb, 0xb0, 0x8d, 0x0d, 0x00,
|
||||
0x63, 0xdb, 0xb7, 0x8d, 0x0d, 0x00,
|
||||
0x63, 0xdb, 0xb6, 0x8d, 0x0d, 0x00,
|
||||
0x63, 0x8f, 0xf3, 0xcc, 0x0d, 0x00,
|
||||
0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0a,
|
||||
0x63, 0x00, 0x00, 0x0c, 0x4c, 0x0e,
|
||||
0x63, 0x00, 0x00, 0x8c, 0xed, 0x0e,
|
||||
0x3e, 0x00, 0x00, 0xf8, 0x0c, 0x00,
|
||||
};
|
||||
|
||||
|
||||
#include "tkmap.c"
|
||||
|
||||
static void Init(void)
|
||||
{
|
||||
|
||||
mode1 = GL_TRUE;
|
||||
mode2 = GL_TRUE;
|
||||
}
|
||||
|
||||
static void Reshape(int width, int height)
|
||||
{
|
||||
|
||||
windW = (GLint)width;
|
||||
windH = (GLint)height;
|
||||
}
|
||||
|
||||
static void RotateColorMask(void)
|
||||
{
|
||||
static GLint rotation = 0;
|
||||
|
||||
rotation = (rotation + 1) & 0x3;
|
||||
switch (rotation) {
|
||||
case 0:
|
||||
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||
glIndexMask( 0xff );
|
||||
break;
|
||||
case 1:
|
||||
glColorMask(GL_FALSE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||
glIndexMask(0xFE);
|
||||
break;
|
||||
case 2:
|
||||
glColorMask(GL_TRUE, GL_FALSE, GL_TRUE, GL_TRUE);
|
||||
glIndexMask(0xFD);
|
||||
break;
|
||||
case 3:
|
||||
glColorMask(GL_TRUE, GL_TRUE, GL_FALSE, GL_TRUE);
|
||||
glIndexMask(0xFB);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void Key(unsigned char key, int x, int y)
|
||||
{
|
||||
|
||||
switch (key) {
|
||||
case 27:
|
||||
exit(1);
|
||||
case '1':
|
||||
mode1 = !mode1;
|
||||
break;
|
||||
case '2':
|
||||
mode2 = !mode2;
|
||||
break;
|
||||
case '3':
|
||||
RotateColorMask();
|
||||
break;
|
||||
case 'p':
|
||||
if (provoking == GL_FIRST_VERTEX_CONVENTION_EXT) {
|
||||
printf("provoke last\n");
|
||||
provoking = GL_LAST_VERTEX_CONVENTION_EXT;
|
||||
}
|
||||
else {
|
||||
printf("provoke first\n");
|
||||
provoking = GL_FIRST_VERTEX_CONVENTION_EXT;
|
||||
}
|
||||
glProvokingVertexEXT(provoking);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
static void Viewport(GLint row, GLint column)
|
||||
{
|
||||
GLint x, y;
|
||||
|
||||
boxW = (windW - (COLS + 1) * GAP) / COLS;
|
||||
boxH = (windH - (ROWS + 1) * GAP) / ROWS;
|
||||
|
||||
x = GAP + column * (boxW + GAP);
|
||||
y = GAP + row * (boxH + GAP);
|
||||
|
||||
glViewport(x, y, boxW, boxH);
|
||||
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity();
|
||||
glOrtho(-boxW/2, boxW/2, -boxH/2, boxH/2, 0.0, 1.0);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
glScissor(x, y, boxW, boxH);
|
||||
}
|
||||
|
||||
static void Point(void)
|
||||
{
|
||||
GLint i;
|
||||
|
||||
glBegin(GL_POINTS);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(0, 0);
|
||||
for (i = 1; i < 8; i++) {
|
||||
GLint j = i * 2;
|
||||
SetColor(COLOR_BLACK+i);
|
||||
glVertex2i(-j, -j);
|
||||
glVertex2i(-j, 0);
|
||||
glVertex2i(-j, j);
|
||||
glVertex2i(0, j);
|
||||
glVertex2i(j, j);
|
||||
glVertex2i(j, 0);
|
||||
glVertex2i(j, -j);
|
||||
glVertex2i(0, -j);
|
||||
}
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void Lines(void)
|
||||
{
|
||||
GLint i;
|
||||
|
||||
glPushMatrix();
|
||||
|
||||
glTranslatef(-12, 0, 0);
|
||||
for (i = 1; i < 8; i++) {
|
||||
glBegin(GL_LINES);
|
||||
SetColor(COLOR_BLACK+i);
|
||||
glVertex2i(-boxW/4, -boxH/4);
|
||||
SetColor(COLOR_BLACK+i+1);
|
||||
glVertex2i(boxW/4, boxH/4);
|
||||
glEnd();
|
||||
glTranslatef(4, 0, 0);
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
|
||||
glBegin(GL_LINES);
|
||||
glVertex2i(0, 0);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void LineStrip(void)
|
||||
{
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2i(0, 0);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void LineLoop(void)
|
||||
{
|
||||
|
||||
glBegin(GL_LINE_LOOP);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(-boxH/4));
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/4), PIXEL_CENTER(boxH/4));
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(boxH/4));
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2f(PIXEL_CENTER(boxW/4), PIXEL_CENTER(-boxH/4));
|
||||
glEnd();
|
||||
|
||||
glEnable(GL_LOGIC_OP);
|
||||
glLogicOp(GL_XOR);
|
||||
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
|
||||
SetColor(COLOR_MAGENTA);
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(-boxH/8));
|
||||
glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8));
|
||||
glEnd();
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2f(PIXEL_CENTER(-boxW/8), PIXEL_CENTER(boxH/8+5));
|
||||
glVertex2f(PIXEL_CENTER(boxW/8), PIXEL_CENTER(boxH/8+5));
|
||||
glEnd();
|
||||
glDisable(GL_LOGIC_OP);
|
||||
glDisable(GL_BLEND);
|
||||
|
||||
SetColor(COLOR_GREEN);
|
||||
glBegin(GL_POINTS);
|
||||
glVertex2i(0, 0);
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_LINE_LOOP);
|
||||
glVertex2i(0, 0);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void Bitmap(void)
|
||||
{
|
||||
|
||||
glBegin(GL_LINES);
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/2, 0);
|
||||
glVertex2i(boxW/2, 0);
|
||||
glVertex2i(0, -boxH/2);
|
||||
glVertex2i(0, boxH/2);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(0, -3);
|
||||
glVertex2i(0, -3+OPENGL_HEIGHT);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(0, -3);
|
||||
glVertex2i(OPENGL_WIDTH, -3);
|
||||
glEnd();
|
||||
|
||||
SetColor(COLOR_GREEN);
|
||||
|
||||
glPixelStorei(GL_UNPACK_LSB_FIRST, GL_TRUE);
|
||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
|
||||
glRasterPos2i(0, 0);
|
||||
glBitmap(OPENGL_WIDTH, OPENGL_HEIGHT, 0, 3, 0.0, 0.0, OpenGL_bits);
|
||||
}
|
||||
|
||||
static void Triangles(void)
|
||||
{
|
||||
|
||||
glBegin(GL_TRIANGLES);
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, -boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/8, -boxH/16);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(boxW/8, -boxH/16);
|
||||
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/8, boxH/16);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(boxW/8, boxH/16);
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_TRIANGLES);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(-100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void TriangleStrip(void)
|
||||
{
|
||||
|
||||
glBegin(GL_TRIANGLE_STRIP);
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, -boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/4, boxH/4);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(0, -boxH/4);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(0, boxH/4);
|
||||
SetColor(COLOR_CYAN);
|
||||
glVertex2i(boxW/4, -boxH/4);
|
||||
SetColor(COLOR_YELLOW);
|
||||
glVertex2i(boxW/4, boxH/4);
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_TRIANGLE_STRIP);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(-100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void TriangleFan(void)
|
||||
{
|
||||
GLint vx[8][2];
|
||||
GLint x0, y0, x1, y1, x2, y2, x3, y3;
|
||||
GLint i;
|
||||
|
||||
y0 = -boxH/4;
|
||||
y1 = y0 + boxH/2/3;
|
||||
y2 = y1 + boxH/2/3;
|
||||
y3 = boxH/4;
|
||||
x0 = -boxW/4;
|
||||
x1 = x0 + boxW/2/3;
|
||||
x2 = x1 + boxW/2/3;
|
||||
x3 = boxW/4;
|
||||
|
||||
vx[0][0] = x0; vx[0][1] = y1;
|
||||
vx[1][0] = x0; vx[1][1] = y2;
|
||||
vx[2][0] = x1; vx[2][1] = y3;
|
||||
vx[3][0] = x2; vx[3][1] = y3;
|
||||
vx[4][0] = x3; vx[4][1] = y2;
|
||||
vx[5][0] = x3; vx[5][1] = y1;
|
||||
vx[6][0] = x2; vx[6][1] = y0;
|
||||
vx[7][0] = x1; vx[7][1] = y0;
|
||||
|
||||
glBegin(GL_TRIANGLE_FAN);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(0, 0);
|
||||
for (i = 0; i < 8; i++) {
|
||||
SetColor(COLOR_WHITE-i);
|
||||
glVertex2iv(vx[i]);
|
||||
}
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_TRIANGLE_FAN);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(-100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void Rect(void)
|
||||
{
|
||||
|
||||
SetColor(COLOR_GREEN);
|
||||
glRecti(-boxW/4, -boxH/4, boxW/4, boxH/4);
|
||||
}
|
||||
|
||||
static void PolygonFunc(void)
|
||||
{
|
||||
GLint vx[8][2];
|
||||
GLint x0, y0, x1, y1, x2, y2, x3, y3;
|
||||
GLint i;
|
||||
|
||||
y0 = -boxH/4;
|
||||
y1 = y0 + boxH/2/3;
|
||||
y2 = y1 + boxH/2/3;
|
||||
y3 = boxH/4;
|
||||
x0 = -boxW/4;
|
||||
x1 = x0 + boxW/2/3;
|
||||
x2 = x1 + boxW/2/3;
|
||||
x3 = boxW/4;
|
||||
|
||||
vx[0][0] = x0; vx[0][1] = y1;
|
||||
vx[1][0] = x0; vx[1][1] = y2;
|
||||
vx[2][0] = x1; vx[2][1] = y3;
|
||||
vx[3][0] = x2; vx[3][1] = y3;
|
||||
vx[4][0] = x3; vx[4][1] = y2;
|
||||
vx[5][0] = x3; vx[5][1] = y1;
|
||||
vx[6][0] = x2; vx[6][1] = y0;
|
||||
vx[7][0] = x1; vx[7][1] = y0;
|
||||
|
||||
glBegin(GL_POLYGON);
|
||||
for (i = 0; i < 8; i++) {
|
||||
SetColor(COLOR_WHITE-i);
|
||||
glVertex2iv(vx[i]);
|
||||
}
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_POLYGON);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void Quads(void)
|
||||
{
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, -boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/8, -boxH/16);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(boxW/8, -boxH/16);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(boxW/4, -boxH/4);
|
||||
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/8, boxH/16);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(boxW/8, boxH/16);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(boxW/4, boxH/4);
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_QUADS);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(100, 100);
|
||||
glVertex2i(-100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void QuadStrip(void)
|
||||
{
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
SetColor(COLOR_GREEN);
|
||||
glVertex2i(-boxW/4, -boxH/4);
|
||||
SetColor(COLOR_RED);
|
||||
glVertex2i(-boxW/4, boxH/4);
|
||||
SetColor(COLOR_BLUE);
|
||||
glVertex2i(0, -boxH/4);
|
||||
SetColor(COLOR_WHITE);
|
||||
glVertex2i(0, boxH/4);
|
||||
SetColor(COLOR_CYAN);
|
||||
glVertex2i(boxW/4, -boxH/4);
|
||||
SetColor(COLOR_YELLOW);
|
||||
glVertex2i(boxW/4, boxH/4);
|
||||
glEnd();
|
||||
|
||||
glBegin(GL_QUAD_STRIP);
|
||||
glVertex2i(0, 0);
|
||||
glVertex2i(100, 100);
|
||||
glVertex2i(-100, 100);
|
||||
glEnd();
|
||||
}
|
||||
|
||||
static void Draw(void)
|
||||
{
|
||||
|
||||
glViewport(0, 0, windW, windH);
|
||||
glDisable(GL_SCISSOR_TEST);
|
||||
|
||||
glPushAttrib(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
glColorMask(1, 1, 1, 1);
|
||||
glIndexMask(~0);
|
||||
|
||||
glClearColor(0.0, 0.0, 0.0, 0.0);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
glPopAttrib();
|
||||
|
||||
if (mode1) {
|
||||
glShadeModel(GL_SMOOTH);
|
||||
} else {
|
||||
glShadeModel(GL_FLAT);
|
||||
}
|
||||
|
||||
if (mode2) {
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
} else {
|
||||
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
|
||||
}
|
||||
|
||||
Viewport(0, 0); Point();
|
||||
Viewport(0, 1); Lines();
|
||||
Viewport(0, 2); LineStrip();
|
||||
Viewport(0, 3); LineLoop();
|
||||
|
||||
Viewport(1, 0); Bitmap();
|
||||
Viewport(1, 1); TriangleFan();
|
||||
Viewport(1, 2); Triangles();
|
||||
Viewport(1, 3); TriangleStrip();
|
||||
|
||||
Viewport(2, 0); Rect();
|
||||
Viewport(2, 1); PolygonFunc();
|
||||
Viewport(2, 2); Quads();
|
||||
Viewport(2, 3); QuadStrip();
|
||||
|
||||
glFlush();
|
||||
|
||||
if (doubleBuffer) {
|
||||
glutSwapBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
static GLenum Args(int argc, char **argv)
|
||||
{
|
||||
GLint i;
|
||||
|
||||
rgb = GL_TRUE;
|
||||
doubleBuffer = GL_FALSE;
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], "-ci") == 0) {
|
||||
rgb = GL_FALSE;
|
||||
} else if (strcmp(argv[i], "-rgb") == 0) {
|
||||
rgb = GL_TRUE;
|
||||
} else if (strcmp(argv[i], "-sb") == 0) {
|
||||
doubleBuffer = GL_FALSE;
|
||||
} else if (strcmp(argv[i], "-db") == 0) {
|
||||
doubleBuffer = GL_TRUE;
|
||||
} else {
|
||||
printf("%s (Bad option).\n", argv[i]);
|
||||
return GL_FALSE;
|
||||
}
|
||||
}
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
glutInit(&argc, argv);
|
||||
|
||||
if (Args(argc, argv) == GL_FALSE) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
windW = 600;
|
||||
windH = 300;
|
||||
glutInitWindowPosition(0, 0); glutInitWindowSize( windW, windH);
|
||||
|
||||
windType = (rgb) ? GLUT_RGB : GLUT_INDEX;
|
||||
windType |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
|
||||
glutInitDisplayMode(windType);
|
||||
|
||||
if (glutCreateWindow("Primitive Test") == GL_FALSE) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
InitMap();
|
||||
|
||||
Init();
|
||||
|
||||
glutReshapeFunc(Reshape);
|
||||
glutKeyboardFunc(Key);
|
||||
glutDisplayFunc(Draw);
|
||||
glutMainLoop();
|
||||
return 0;
|
||||
}
|
||||
71
progs/tests/tkmap.c
Normal file
71
progs/tests/tkmap.c
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
|
||||
enum {
|
||||
COLOR_BLACK = 0,
|
||||
COLOR_RED,
|
||||
COLOR_GREEN,
|
||||
COLOR_YELLOW,
|
||||
COLOR_BLUE,
|
||||
COLOR_MAGENTA,
|
||||
COLOR_CYAN,
|
||||
COLOR_WHITE
|
||||
};
|
||||
|
||||
static float RGBMap[9][3] = {
|
||||
{0, 0, 0},
|
||||
{1, 0, 0},
|
||||
{0, 1, 0},
|
||||
{1, 1, 0},
|
||||
{0, 0, 1},
|
||||
{1, 0, 1},
|
||||
{0, 1, 1},
|
||||
{1, 1, 1},
|
||||
{0.5, 0.5, 0.5}
|
||||
};
|
||||
|
||||
static void SetColor(int c)
|
||||
{
|
||||
if (glutGet(GLUT_WINDOW_RGBA))
|
||||
glColor3fv(RGBMap[c]);
|
||||
else
|
||||
glIndexf(c);
|
||||
}
|
||||
|
||||
static void InitMap(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (rgb)
|
||||
return;
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
glutSetColor(i, RGBMap[i][0], RGBMap[i][1], RGBMap[i][2]);
|
||||
}
|
||||
|
||||
static void SetFogRamp(int density, int startIndex)
|
||||
{
|
||||
int fogValues, colorValues;
|
||||
int i, j, k;
|
||||
float intensity;
|
||||
|
||||
fogValues = 1 << density;
|
||||
colorValues = 1 << startIndex;
|
||||
for (i = 0; i < colorValues; i++) {
|
||||
for (j = 0; j < fogValues; j++) {
|
||||
k = i * fogValues + j;
|
||||
intensity = (i * fogValues + j * colorValues) / 255.0;
|
||||
glutSetColor(k, intensity, intensity, intensity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SetGreyRamp(void)
|
||||
{
|
||||
int i;
|
||||
float intensity;
|
||||
|
||||
for (i = 0; i < 255; i++) {
|
||||
intensity = i / 255.0;
|
||||
glutSetColor(i, intensity, intensity, intensity);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -216,22 +216,22 @@ void draw_pipeline_run( struct draw_context *draw,
|
|||
( DRAW_PIPE_RESET_STIPPLE | \
|
||||
DRAW_PIPE_EDGE_FLAG_0 | \
|
||||
DRAW_PIPE_EDGE_FLAG_2 ), \
|
||||
verts + stride * ((i0) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i1), \
|
||||
verts + stride * ((i0) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i1), \
|
||||
verts + stride * (i3)); \
|
||||
do_triangle( draw, \
|
||||
( DRAW_PIPE_EDGE_FLAG_0 | \
|
||||
DRAW_PIPE_EDGE_FLAG_1 ), \
|
||||
verts + stride * ((i1) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i2), \
|
||||
verts + stride * (i3))
|
||||
do_triangle( draw, \
|
||||
( DRAW_PIPE_EDGE_FLAG_0 | \
|
||||
DRAW_PIPE_EDGE_FLAG_1 ), \
|
||||
verts + stride * ((i1) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i2), \
|
||||
verts + stride * (i3))
|
||||
|
||||
#define TRIANGLE(flags,i0,i1,i2) \
|
||||
do_triangle( draw, \
|
||||
flags, /* flags */ \
|
||||
verts + stride * ((i0) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i1), \
|
||||
verts + stride * (i2))
|
||||
verts + stride * ((i0) & ~DRAW_PIPE_FLAG_MASK), \
|
||||
verts + stride * (i1), \
|
||||
verts + stride * (i2))
|
||||
|
||||
#define LINE(flags,i0,i1) \
|
||||
do_line( draw, \
|
||||
|
|
|
|||
|
|
@ -159,8 +159,19 @@ vbuf_tri( struct draw_stage *stage,
|
|||
|
||||
check_space( vbuf, 3 );
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
vbuf->indices[vbuf->nr_indices++] = emit_vertex( vbuf, prim->v[i] );
|
||||
if (vbuf->stage.draw->rasterizer->flatshade_first) {
|
||||
/* Put provoking vertex in position expected by the driver.
|
||||
* Emit last provoking vertex in first pos.
|
||||
* Swap verts 0 & 1 to preserve polygon winding.
|
||||
*/
|
||||
vbuf->indices[vbuf->nr_indices++] = emit_vertex( vbuf, prim->v[2] );
|
||||
vbuf->indices[vbuf->nr_indices++] = emit_vertex( vbuf, prim->v[0] );
|
||||
vbuf->indices[vbuf->nr_indices++] = emit_vertex( vbuf, prim->v[1] );
|
||||
}
|
||||
else {
|
||||
for (i = 0; i < 3; i++) {
|
||||
vbuf->indices[vbuf->nr_indices++] = emit_vertex( vbuf, prim->v[i] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,10 +47,19 @@ static void FUNC( ARGS,
|
|||
|
||||
case PIPE_PRIM_TRIANGLES:
|
||||
for (i = 0; i+2 < count; i += 3) {
|
||||
TRIANGLE( DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 2 ));
|
||||
if (flatfirst) {
|
||||
/* put provoking vertex in last pos for clipper */
|
||||
TRIANGLE( DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(i + 0 ));
|
||||
}
|
||||
else {
|
||||
TRIANGLE( DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 2 ));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -58,9 +67,9 @@ static void FUNC( ARGS,
|
|||
if (flatfirst) {
|
||||
for (i = 0; i+2 < count; i++) {
|
||||
TRIANGLE( DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
|
||||
(i + 0),
|
||||
(i + 1 + (i&1)),
|
||||
(i + 2 - (i&1)));
|
||||
(i + 2 - (i&1)),
|
||||
(i + 0) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -78,9 +87,9 @@ static void FUNC( ARGS,
|
|||
if (flatfirst) {
|
||||
for (i = 0; i+2 < count; i++) {
|
||||
TRIANGLE( DRAW_PIPE_RESET_STIPPLE | DRAW_PIPE_EDGE_FLAG_ALL,
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(0 ));
|
||||
0,
|
||||
(i + 1) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -96,20 +105,40 @@ static void FUNC( ARGS,
|
|||
|
||||
|
||||
case PIPE_PRIM_QUADS:
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 0),
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(i + 3));
|
||||
if (flatfirst) {
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 1),
|
||||
(i + 2),
|
||||
(i + 3),
|
||||
(i + 0) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( (i + 0),
|
||||
(i + 1),
|
||||
(i + 2),
|
||||
(i + 3));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 2),
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 3));
|
||||
if (flatfirst) {
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 1),
|
||||
(i + 3),
|
||||
(i + 2),
|
||||
(i + 0) );
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( (i + 2),
|
||||
(i + 0),
|
||||
(i + 1),
|
||||
(i + 3));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -193,16 +193,30 @@ vcache_ef_quad( struct vcache_frontend *vcache,
|
|||
unsigned i2,
|
||||
unsigned i3 )
|
||||
{
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_RESET_STIPPLE |
|
||||
DRAW_PIPE_EDGE_FLAG_0 |
|
||||
DRAW_PIPE_EDGE_FLAG_2 ),
|
||||
i0, i1, i3 );
|
||||
if (vcache->draw->rasterizer->flatshade_first) {
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_RESET_STIPPLE |
|
||||
DRAW_PIPE_EDGE_FLAG_0 |
|
||||
DRAW_PIPE_EDGE_FLAG_1 ),
|
||||
i0, i1, i2 );
|
||||
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_EDGE_FLAG_0 |
|
||||
DRAW_PIPE_EDGE_FLAG_1 ),
|
||||
i1, i2, i3 );
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_EDGE_FLAG_2 |
|
||||
DRAW_PIPE_EDGE_FLAG_1 ),
|
||||
i0, i2, i3 );
|
||||
}
|
||||
else {
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_RESET_STIPPLE |
|
||||
DRAW_PIPE_EDGE_FLAG_0 |
|
||||
DRAW_PIPE_EDGE_FLAG_2 ),
|
||||
i0, i1, i3 );
|
||||
|
||||
vcache_triangle_flags( vcache,
|
||||
( DRAW_PIPE_EDGE_FLAG_0 |
|
||||
DRAW_PIPE_EDGE_FLAG_1 ),
|
||||
i1, i2, i3 );
|
||||
}
|
||||
}
|
||||
|
||||
/* At least for now, we're back to using a template include file for
|
||||
|
|
|
|||
|
|
@ -118,21 +118,39 @@ static void FUNC( struct draw_pt_front_end *frontend,
|
|||
|
||||
case PIPE_PRIM_QUADS:
|
||||
for (i = 0; i+3 < count; i += 4) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3));
|
||||
if (flatfirst) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
else {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
for (i = 0; i+3 < count; i += 2) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3));
|
||||
if (flatfirst) {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3),
|
||||
get_elt(elts, i + 2) );
|
||||
}
|
||||
else {
|
||||
QUAD( vcache,
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, i + 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 3) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -144,19 +162,38 @@ static void FUNC( struct draw_pt_front_end *frontend,
|
|||
const ushort edge_first = DRAW_PIPE_EDGE_FLAG_2;
|
||||
const ushort edge_middle = DRAW_PIPE_EDGE_FLAG_0;
|
||||
const ushort edge_last = DRAW_PIPE_EDGE_FLAG_1;
|
||||
ushort edge_next, edge_finish;
|
||||
|
||||
flags = DRAW_PIPE_RESET_STIPPLE | edge_first | edge_middle;
|
||||
if (flatfirst) {
|
||||
flags = DRAW_PIPE_RESET_STIPPLE | edge_middle | edge_last;
|
||||
edge_next = edge_last;
|
||||
edge_finish = edge_first;
|
||||
}
|
||||
else {
|
||||
flags = DRAW_PIPE_RESET_STIPPLE | edge_first | edge_middle;
|
||||
edge_next = edge_middle;
|
||||
edge_finish = edge_last;
|
||||
}
|
||||
|
||||
for (i = 0; i+2 < count; i++, flags = edge_middle) {
|
||||
for (i = 0; i+2 < count; i++, flags = edge_next) {
|
||||
|
||||
if (i + 3 == count)
|
||||
flags |= edge_last;
|
||||
flags |= edge_finish;
|
||||
|
||||
TRIANGLE( vcache,
|
||||
flags,
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, 0));
|
||||
if (flatfirst) {
|
||||
TRIANGLE( vcache,
|
||||
flags,
|
||||
get_elt(elts, 0),
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2) );
|
||||
}
|
||||
else {
|
||||
TRIANGLE( vcache,
|
||||
flags,
|
||||
get_elt(elts, i + 1),
|
||||
get_elt(elts, i + 2),
|
||||
get_elt(elts, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -238,65 +238,117 @@ sp_vbuf_draw(struct vbuf_render *vbr, const ushort *indices, uint nr)
|
|||
|
||||
case PIPE_PRIM_TRIANGLES:
|
||||
for (i = 2; i < nr; i += 3) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_TRIANGLE_STRIP:
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i+(i&1)-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-(i&1)-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i+(i&1)-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-(i&1)], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i+(i&1)-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-(i&1)-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_TRIANGLE_FAN:
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[0], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[0], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[0], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUADS:
|
||||
for (i = 3; i < nr; i += 4) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
for (i = 3; i < nr; i += 2) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride));
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-2], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-3], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_POLYGON:
|
||||
/* Almost same as tri fan but the _first_ vertex specifies the flat
|
||||
* shading color. Note that the first polygon vertex is passed as
|
||||
* the last triangle vertex here.
|
||||
* flatshade_first state makes no difference.
|
||||
*/
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, indices[0-1], stride),
|
||||
get_vert(vertex_buffer, indices[i-0], stride),
|
||||
get_vert(vertex_buffer, indices[0], stride));
|
||||
get_vert(vertex_buffer, indices[i-1], stride),
|
||||
get_vert(vertex_buffer, indices[0], stride) );
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -368,58 +420,104 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
|
|||
}
|
||||
break;
|
||||
|
||||
|
||||
case PIPE_PRIM_TRIANGLES:
|
||||
for (i = 2; i < nr; i += 3) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, i-2, stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_TRIANGLE_STRIP:
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i+(i&1)-2, stride),
|
||||
get_vert(vertex_buffer, i-(i&1)-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
for (i = 2; i < nr; i++) {
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i+(i&1)-1, stride),
|
||||
get_vert(vertex_buffer, i-(i&1), stride),
|
||||
get_vert(vertex_buffer, i-2, stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i+(i&1)-2, stride),
|
||||
get_vert(vertex_buffer, i-(i&1)-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_TRIANGLE_FAN:
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, 0, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, 0, stride),
|
||||
get_vert(vertex_buffer, i-1, stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, 0, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUADS:
|
||||
for (i = 3; i < nr; i += 4) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-3, stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, i-3, stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PIPE_PRIM_QUAD_STRIP:
|
||||
for (i = 3; i < nr; i += 2) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-0, stride));
|
||||
if (softpipe->rasterizer->flatshade_first) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-3, stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, i-3, stride) );
|
||||
}
|
||||
else {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-2, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-3, stride),
|
||||
get_vert(vertex_buffer, i-0, stride) );
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -427,12 +525,13 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
|
|||
/* Almost same as tri fan but the _first_ vertex specifies the flat
|
||||
* shading color. Note that the first polygon vertex is passed as
|
||||
* the last triangle vertex here.
|
||||
* flatshade_first state makes no difference.
|
||||
*/
|
||||
for (i = 2; i < nr; i += 1) {
|
||||
setup_tri( setup_ctx,
|
||||
get_vert(vertex_buffer, i-1, stride),
|
||||
get_vert(vertex_buffer, i-0, stride),
|
||||
get_vert(vertex_buffer, 0, stride));
|
||||
get_vert(vertex_buffer, 0, stride) );
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,10 @@ setup_line_coefficients(struct setup_context *setup,
|
|||
float area;
|
||||
|
||||
/* use setup->vmin, vmax to point to vertices */
|
||||
setup->vprovoke = v1;
|
||||
if (softpipe->rasterizer->flatshade_first)
|
||||
setup->vprovoke = v0;
|
||||
else
|
||||
setup->vprovoke = v1;
|
||||
setup->vmin = v0;
|
||||
setup->vmax = v1;
|
||||
|
||||
|
|
|
|||
|
|
@ -4310,6 +4310,13 @@ static const char SpriteParameterivSGIX_names[] =
|
|||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_EXT_provoking_vertex)
|
||||
static const char ProvokingVertexEXT_names[] =
|
||||
"i\0" /* Parameter signature */
|
||||
"glProvokingVertexEXT\0"
|
||||
"";
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_VERSION_1_3)
|
||||
static const char MultiTexCoord1fARB_names[] =
|
||||
"if\0" /* Parameter signature */
|
||||
|
|
@ -5563,6 +5570,13 @@ static const struct dri_extension_function GL_EXT_polygon_offset_functions[] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_EXT_provoking_vertex)
|
||||
static const struct dri_extension_function GL_EXT_provoking_vertex_functions[] = {
|
||||
{ ProvokingVertexEXT_names, ProvokingVertexEXT_remap_index, -1 },
|
||||
{ NULL, 0, 0 }
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(need_GL_EXT_secondary_color)
|
||||
static const struct dri_extension_function GL_EXT_secondary_color_functions[] = {
|
||||
{ SecondaryColor3iEXT_names, SecondaryColor3iEXT_remap_index, -1 },
|
||||
|
|
|
|||
22
src/mesa/glapi/EXT_provoking_vertex.xml
Normal file
22
src/mesa/glapi/EXT_provoking_vertex.xml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd">
|
||||
|
||||
<!-- Note: no GLX protocol info yet. -->
|
||||
|
||||
|
||||
<OpenGLAPI>
|
||||
|
||||
<category name="GL_EXT_provoking_vertex" number="364">
|
||||
|
||||
<enum name="FIRST_VERTEX_CONVENTION_EXT" value="0x8E4D"/>
|
||||
<enum name="LAST_VERTEX_CONVENTION_EXT" value="0x8E4E"/>
|
||||
<enum name="PROVOKING_VERTEX_EXT" value="0x8E4F"/>
|
||||
<enum name="QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT" value="0x8E4C"/>
|
||||
|
||||
<function name="ProvokingVertexEXT" offset="assign">
|
||||
<param name="mode" type="GLenum"/>
|
||||
</function>
|
||||
|
||||
</category>
|
||||
|
||||
</OpenGLAPI>
|
||||
|
|
@ -50,7 +50,8 @@ API_XML = gl_API.xml \
|
|||
ARB_copy_buffer.xml \
|
||||
ARB_framebuffer_object.xml \
|
||||
ARB_map_buffer_range.xml \
|
||||
APPLE_vertex_array_object.xml
|
||||
APPLE_vertex_array_object.xml \
|
||||
EXT_provoking_vertex.xml
|
||||
|
||||
COMMON = gl_XML.py glX_XML.py license.py $(API_XML) typeexpr.py
|
||||
COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py
|
||||
|
|
|
|||
|
|
@ -2379,6 +2379,9 @@
|
|||
#define CALL_FramebufferTextureLayerEXT(disp, parameters) (*((disp)->FramebufferTextureLayerEXT)) parameters
|
||||
#define GET_FramebufferTextureLayerEXT(disp) ((disp)->FramebufferTextureLayerEXT)
|
||||
#define SET_FramebufferTextureLayerEXT(disp, fn) ((disp)->FramebufferTextureLayerEXT = fn)
|
||||
#define CALL_ProvokingVertexEXT(disp, parameters) (*((disp)->ProvokingVertexEXT)) parameters
|
||||
#define GET_ProvokingVertexEXT(disp) ((disp)->ProvokingVertexEXT)
|
||||
#define SET_ProvokingVertexEXT(disp, fn) ((disp)->ProvokingVertexEXT = fn)
|
||||
#define CALL_StencilFuncSeparateATI(disp, parameters) (*((disp)->StencilFuncSeparateATI)) parameters
|
||||
#define GET_StencilFuncSeparateATI(disp) ((disp)->StencilFuncSeparateATI)
|
||||
#define SET_StencilFuncSeparateATI(disp, fn) ((disp)->StencilFuncSeparateATI = fn)
|
||||
|
|
@ -2397,7 +2400,7 @@
|
|||
|
||||
#else
|
||||
|
||||
#define driDispatchRemapTable_size 370
|
||||
#define driDispatchRemapTable_size 371
|
||||
extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
|
||||
|
||||
#define AttachShader_remap_index 0
|
||||
|
|
@ -2765,11 +2768,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
|
|||
#define RenderbufferStorageEXT_remap_index 362
|
||||
#define BlitFramebufferEXT_remap_index 363
|
||||
#define FramebufferTextureLayerEXT_remap_index 364
|
||||
#define StencilFuncSeparateATI_remap_index 365
|
||||
#define ProgramEnvParameters4fvEXT_remap_index 366
|
||||
#define ProgramLocalParameters4fvEXT_remap_index 367
|
||||
#define GetQueryObjecti64vEXT_remap_index 368
|
||||
#define GetQueryObjectui64vEXT_remap_index 369
|
||||
#define ProvokingVertexEXT_remap_index 365
|
||||
#define StencilFuncSeparateATI_remap_index 366
|
||||
#define ProgramEnvParameters4fvEXT_remap_index 367
|
||||
#define ProgramLocalParameters4fvEXT_remap_index 368
|
||||
#define GetQueryObjecti64vEXT_remap_index 369
|
||||
#define GetQueryObjectui64vEXT_remap_index 370
|
||||
|
||||
#define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), driDispatchRemapTable[AttachShader_remap_index], parameters)
|
||||
#define GET_AttachShader(disp) GET_by_offset(disp, driDispatchRemapTable[AttachShader_remap_index])
|
||||
|
|
@ -3866,6 +3870,9 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ];
|
|||
#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], parameters)
|
||||
#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index])
|
||||
#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], fn)
|
||||
#define CALL_ProvokingVertexEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[ProvokingVertexEXT_remap_index], parameters)
|
||||
#define GET_ProvokingVertexEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProvokingVertexEXT_remap_index])
|
||||
#define SET_ProvokingVertexEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProvokingVertexEXT_remap_index], fn)
|
||||
#define CALL_StencilFuncSeparateATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), driDispatchRemapTable[StencilFuncSeparateATI_remap_index], parameters)
|
||||
#define GET_StencilFuncSeparateATI(disp) GET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index])
|
||||
#define SET_StencilFuncSeparateATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilFuncSeparateATI_remap_index], fn)
|
||||
|
|
|
|||
|
|
@ -12228,6 +12228,8 @@
|
|||
|
||||
<xi:include href="EXT_framebuffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
|
||||
|
||||
<xi:include href="EXT_provoking_vertex.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
|
||||
|
||||
<category name="GL_EXT_framebuffer_blit" number="316">
|
||||
<enum name="READ_FRAMEBUFFER_EXT" value="0x8CA8"/>
|
||||
<enum name="DRAW_FRAMEBUFFER_EXT" value="0x8CA9"/>
|
||||
|
|
|
|||
|
|
@ -805,12 +805,13 @@
|
|||
#define _gloffset_RenderbufferStorageEXT 770
|
||||
#define _gloffset_BlitFramebufferEXT 771
|
||||
#define _gloffset_FramebufferTextureLayerEXT 772
|
||||
#define _gloffset_StencilFuncSeparateATI 773
|
||||
#define _gloffset_ProgramEnvParameters4fvEXT 774
|
||||
#define _gloffset_ProgramLocalParameters4fvEXT 775
|
||||
#define _gloffset_GetQueryObjecti64vEXT 776
|
||||
#define _gloffset_GetQueryObjectui64vEXT 777
|
||||
#define _gloffset_FIRST_DYNAMIC 778
|
||||
#define _gloffset_ProvokingVertexEXT 773
|
||||
#define _gloffset_StencilFuncSeparateATI 774
|
||||
#define _gloffset_ProgramEnvParameters4fvEXT 775
|
||||
#define _gloffset_ProgramLocalParameters4fvEXT 776
|
||||
#define _gloffset_GetQueryObjecti64vEXT 777
|
||||
#define _gloffset_GetQueryObjectui64vEXT 778
|
||||
#define _gloffset_FIRST_DYNAMIC 779
|
||||
|
||||
#else
|
||||
|
||||
|
|
@ -1179,6 +1180,7 @@
|
|||
#define _gloffset_RenderbufferStorageEXT driDispatchRemapTable[RenderbufferStorageEXT_remap_index]
|
||||
#define _gloffset_BlitFramebufferEXT driDispatchRemapTable[BlitFramebufferEXT_remap_index]
|
||||
#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]
|
||||
#define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index]
|
||||
#define _gloffset_StencilFuncSeparateATI driDispatchRemapTable[StencilFuncSeparateATI_remap_index]
|
||||
#define _gloffset_ProgramEnvParameters4fvEXT driDispatchRemapTable[ProgramEnvParameters4fvEXT_remap_index]
|
||||
#define _gloffset_ProgramLocalParameters4fvEXT driDispatchRemapTable[ProgramLocalParameters4fvEXT_remap_index]
|
||||
|
|
|
|||
|
|
@ -813,11 +813,12 @@ struct _glapi_table
|
|||
void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 770 */
|
||||
void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 771 */
|
||||
void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 772 */
|
||||
void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 773 */
|
||||
void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 774 */
|
||||
void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 775 */
|
||||
void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 776 */
|
||||
void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 777 */
|
||||
void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 773 */
|
||||
void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 774 */
|
||||
void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 775 */
|
||||
void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 776 */
|
||||
void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 777 */
|
||||
void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 778 */
|
||||
};
|
||||
|
||||
#endif /* !defined( _GLAPI_TABLE_H_ ) */
|
||||
|
|
|
|||
|
|
@ -5588,37 +5588,42 @@ KEYWORD1 void KEYWORD2 NAME(FramebufferTextureLayerEXT)(GLenum target, GLenum at
|
|||
DISPATCH(FramebufferTextureLayerEXT, (target, attachment, texture, level, layer), (F, "glFramebufferTextureLayerEXT(0x%x, 0x%x, %d, %d, %d);\n", target, attachment, texture, level, layer));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask)
|
||||
KEYWORD1 void KEYWORD2 NAME(ProvokingVertexEXT)(GLenum mode)
|
||||
{
|
||||
DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask));
|
||||
DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertexEXT(0x%x);\n", mode));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask)
|
||||
{
|
||||
DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
|
||||
DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
|
||||
{
|
||||
DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLenum target, GLuint index, GLsizei count, const GLfloat * params)
|
||||
{
|
||||
DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLuint id, GLenum pname, GLint64EXT * params);
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint id, GLenum pname, GLint64EXT * params);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLuint id, GLenum pname, GLint64EXT * params)
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint id, GLenum pname, GLint64EXT * params)
|
||||
{
|
||||
DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
|
||||
}
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint id, GLenum pname, GLuint64EXT * params);
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLuint id, GLenum pname, GLuint64EXT * params);
|
||||
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint id, GLenum pname, GLuint64EXT * params)
|
||||
KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLuint id, GLenum pname, GLuint64EXT * params)
|
||||
{
|
||||
DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params));
|
||||
}
|
||||
|
|
@ -6410,11 +6415,12 @@ static _glapi_proc DISPATCH_TABLE_NAME[] = {
|
|||
TABLE_ENTRY(RenderbufferStorageEXT),
|
||||
TABLE_ENTRY(_dispatch_stub_771),
|
||||
TABLE_ENTRY(FramebufferTextureLayerEXT),
|
||||
TABLE_ENTRY(_dispatch_stub_773),
|
||||
TABLE_ENTRY(ProvokingVertexEXT),
|
||||
TABLE_ENTRY(_dispatch_stub_774),
|
||||
TABLE_ENTRY(_dispatch_stub_775),
|
||||
TABLE_ENTRY(_dispatch_stub_776),
|
||||
TABLE_ENTRY(_dispatch_stub_777),
|
||||
TABLE_ENTRY(_dispatch_stub_778),
|
||||
/* A whole bunch of no-op functions. These might be called
|
||||
* when someone tries to call a dynamically-registered
|
||||
* extension function without a current rendering context.
|
||||
|
|
|
|||
|
|
@ -825,6 +825,7 @@ static const char gl_string_table[] =
|
|||
"glRenderbufferStorageEXT\0"
|
||||
"glBlitFramebufferEXT\0"
|
||||
"glFramebufferTextureLayerEXT\0"
|
||||
"glProvokingVertexEXT\0"
|
||||
"glStencilFuncSeparateATI\0"
|
||||
"glProgramEnvParameters4fvEXT\0"
|
||||
"glProgramLocalParameters4fvEXT\0"
|
||||
|
|
@ -1173,11 +1174,11 @@ static const char gl_string_table[] =
|
|||
#define gl_dispatch_stub_752 mgl_dispatch_stub_752
|
||||
#define gl_dispatch_stub_753 mgl_dispatch_stub_753
|
||||
#define gl_dispatch_stub_771 mgl_dispatch_stub_771
|
||||
#define gl_dispatch_stub_773 mgl_dispatch_stub_773
|
||||
#define gl_dispatch_stub_774 mgl_dispatch_stub_774
|
||||
#define gl_dispatch_stub_775 mgl_dispatch_stub_775
|
||||
#define gl_dispatch_stub_776 mgl_dispatch_stub_776
|
||||
#define gl_dispatch_stub_777 mgl_dispatch_stub_777
|
||||
#define gl_dispatch_stub_778 mgl_dispatch_stub_778
|
||||
#endif /* USE_MGL_NAMESPACE */
|
||||
|
||||
|
||||
|
|
@ -1223,11 +1224,11 @@ GLboolean GLAPIENTRY gl_dispatch_stub_745(GLuint array);
|
|||
void GLAPIENTRY gl_dispatch_stub_752(GLclampd zmin, GLclampd zmax);
|
||||
void GLAPIENTRY gl_dispatch_stub_753(GLenum modeRGB, GLenum modeA);
|
||||
void GLAPIENTRY gl_dispatch_stub_771(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||
void GLAPIENTRY gl_dispatch_stub_773(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
|
||||
void GLAPIENTRY gl_dispatch_stub_774(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_774(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
|
||||
void GLAPIENTRY gl_dispatch_stub_775(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_776(GLuint id, GLenum pname, GLint64EXT * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_777(GLuint id, GLenum pname, GLuint64EXT * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_776(GLenum target, GLuint index, GLsizei count, const GLfloat * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_777(GLuint id, GLenum pname, GLint64EXT * params);
|
||||
void GLAPIENTRY gl_dispatch_stub_778(GLuint id, GLenum pname, GLuint64EXT * params);
|
||||
#endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */
|
||||
|
||||
static const glprocs_table_t static_functions[] = {
|
||||
|
|
@ -2004,309 +2005,310 @@ static const glprocs_table_t static_functions[] = {
|
|||
NAME_FUNC_OFFSET(13527, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT),
|
||||
NAME_FUNC_OFFSET(13552, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_BlitFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(13573, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT),
|
||||
NAME_FUNC_OFFSET(13602, gl_dispatch_stub_773, gl_dispatch_stub_773, NULL, _gloffset_StencilFuncSeparateATI),
|
||||
NAME_FUNC_OFFSET(13627, gl_dispatch_stub_774, gl_dispatch_stub_774, NULL, _gloffset_ProgramEnvParameters4fvEXT),
|
||||
NAME_FUNC_OFFSET(13656, gl_dispatch_stub_775, gl_dispatch_stub_775, NULL, _gloffset_ProgramLocalParameters4fvEXT),
|
||||
NAME_FUNC_OFFSET(13687, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, _gloffset_GetQueryObjecti64vEXT),
|
||||
NAME_FUNC_OFFSET(13711, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_GetQueryObjectui64vEXT),
|
||||
NAME_FUNC_OFFSET(13736, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
|
||||
NAME_FUNC_OFFSET(13754, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
|
||||
NAME_FUNC_OFFSET(13771, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
|
||||
NAME_FUNC_OFFSET(13787, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
|
||||
NAME_FUNC_OFFSET(13812, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
|
||||
NAME_FUNC_OFFSET(13832, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
|
||||
NAME_FUNC_OFFSET(13852, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
|
||||
NAME_FUNC_OFFSET(13875, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
|
||||
NAME_FUNC_OFFSET(13898, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
|
||||
NAME_FUNC_OFFSET(13918, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
|
||||
NAME_FUNC_OFFSET(13935, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
|
||||
NAME_FUNC_OFFSET(13952, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
|
||||
NAME_FUNC_OFFSET(13967, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
|
||||
NAME_FUNC_OFFSET(13991, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
|
||||
NAME_FUNC_OFFSET(14010, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
|
||||
NAME_FUNC_OFFSET(14029, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
|
||||
NAME_FUNC_OFFSET(14045, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
|
||||
NAME_FUNC_OFFSET(14064, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
|
||||
NAME_FUNC_OFFSET(14087, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
|
||||
NAME_FUNC_OFFSET(14103, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
|
||||
NAME_FUNC_OFFSET(14119, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14146, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14173, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
|
||||
NAME_FUNC_OFFSET(14193, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
|
||||
NAME_FUNC_OFFSET(14212, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
|
||||
NAME_FUNC_OFFSET(14231, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14261, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14291, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14321, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14351, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
|
||||
NAME_FUNC_OFFSET(14370, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
|
||||
NAME_FUNC_OFFSET(14393, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
|
||||
NAME_FUNC_OFFSET(14418, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
|
||||
NAME_FUNC_OFFSET(14443, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
|
||||
NAME_FUNC_OFFSET(14470, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
|
||||
NAME_FUNC_OFFSET(14498, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
|
||||
NAME_FUNC_OFFSET(14525, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
|
||||
NAME_FUNC_OFFSET(14553, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
|
||||
NAME_FUNC_OFFSET(14582, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
|
||||
NAME_FUNC_OFFSET(14611, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
|
||||
NAME_FUNC_OFFSET(14637, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
|
||||
NAME_FUNC_OFFSET(14668, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
|
||||
NAME_FUNC_OFFSET(14699, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
|
||||
NAME_FUNC_OFFSET(14723, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
|
||||
NAME_FUNC_OFFSET(14746, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
|
||||
NAME_FUNC_OFFSET(14764, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
|
||||
NAME_FUNC_OFFSET(14793, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
|
||||
NAME_FUNC_OFFSET(14822, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
|
||||
NAME_FUNC_OFFSET(14837, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
|
||||
NAME_FUNC_OFFSET(14863, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
|
||||
NAME_FUNC_OFFSET(14889, glHistogram, glHistogram, NULL, _gloffset_Histogram),
|
||||
NAME_FUNC_OFFSET(14904, glMinmax, glMinmax, NULL, _gloffset_Minmax),
|
||||
NAME_FUNC_OFFSET(14916, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
|
||||
NAME_FUNC_OFFSET(14936, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
|
||||
NAME_FUNC_OFFSET(14953, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
|
||||
NAME_FUNC_OFFSET(14969, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
|
||||
NAME_FUNC_OFFSET(14988, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
|
||||
NAME_FUNC_OFFSET(15011, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
|
||||
NAME_FUNC_OFFSET(15027, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
|
||||
NAME_FUNC_OFFSET(15049, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
|
||||
NAME_FUNC_OFFSET(15067, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
|
||||
NAME_FUNC_OFFSET(15086, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
|
||||
NAME_FUNC_OFFSET(15104, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
|
||||
NAME_FUNC_OFFSET(15123, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
|
||||
NAME_FUNC_OFFSET(15141, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
|
||||
NAME_FUNC_OFFSET(15160, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
|
||||
NAME_FUNC_OFFSET(15178, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
|
||||
NAME_FUNC_OFFSET(15197, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
|
||||
NAME_FUNC_OFFSET(15215, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
|
||||
NAME_FUNC_OFFSET(15234, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
|
||||
NAME_FUNC_OFFSET(15252, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
|
||||
NAME_FUNC_OFFSET(15271, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
|
||||
NAME_FUNC_OFFSET(15289, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
|
||||
NAME_FUNC_OFFSET(15308, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
|
||||
NAME_FUNC_OFFSET(15326, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
|
||||
NAME_FUNC_OFFSET(15345, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
|
||||
NAME_FUNC_OFFSET(15363, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
|
||||
NAME_FUNC_OFFSET(15382, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
|
||||
NAME_FUNC_OFFSET(15400, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
|
||||
NAME_FUNC_OFFSET(15419, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
|
||||
NAME_FUNC_OFFSET(15437, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
|
||||
NAME_FUNC_OFFSET(15456, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
|
||||
NAME_FUNC_OFFSET(15474, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
|
||||
NAME_FUNC_OFFSET(15493, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
|
||||
NAME_FUNC_OFFSET(15511, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
|
||||
NAME_FUNC_OFFSET(15530, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
|
||||
NAME_FUNC_OFFSET(15548, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
|
||||
NAME_FUNC_OFFSET(15567, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
|
||||
NAME_FUNC_OFFSET(15585, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
|
||||
NAME_FUNC_OFFSET(15604, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
|
||||
NAME_FUNC_OFFSET(15622, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
|
||||
NAME_FUNC_OFFSET(15641, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate),
|
||||
NAME_FUNC_OFFSET(15664, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
|
||||
NAME_FUNC_OFFSET(15687, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
|
||||
NAME_FUNC_OFFSET(15710, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
|
||||
NAME_FUNC_OFFSET(15733, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
|
||||
NAME_FUNC_OFFSET(15756, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
|
||||
NAME_FUNC_OFFSET(15773, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
|
||||
NAME_FUNC_OFFSET(15796, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
|
||||
NAME_FUNC_OFFSET(15819, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
|
||||
NAME_FUNC_OFFSET(15842, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
|
||||
NAME_FUNC_OFFSET(15868, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
|
||||
NAME_FUNC_OFFSET(15894, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
|
||||
NAME_FUNC_OFFSET(15920, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
|
||||
NAME_FUNC_OFFSET(15944, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
|
||||
NAME_FUNC_OFFSET(15971, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
|
||||
NAME_FUNC_OFFSET(15997, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
|
||||
NAME_FUNC_OFFSET(16017, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
|
||||
NAME_FUNC_OFFSET(16037, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
|
||||
NAME_FUNC_OFFSET(16057, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB),
|
||||
NAME_FUNC_OFFSET(16080, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB),
|
||||
NAME_FUNC_OFFSET(16104, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB),
|
||||
NAME_FUNC_OFFSET(16127, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB),
|
||||
NAME_FUNC_OFFSET(16151, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
|
||||
NAME_FUNC_OFFSET(16168, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
|
||||
NAME_FUNC_OFFSET(16186, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
|
||||
NAME_FUNC_OFFSET(16203, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
|
||||
NAME_FUNC_OFFSET(16221, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
|
||||
NAME_FUNC_OFFSET(16238, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
|
||||
NAME_FUNC_OFFSET(16256, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
|
||||
NAME_FUNC_OFFSET(16273, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
|
||||
NAME_FUNC_OFFSET(16291, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
|
||||
NAME_FUNC_OFFSET(16308, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
|
||||
NAME_FUNC_OFFSET(16326, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
|
||||
NAME_FUNC_OFFSET(16343, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
|
||||
NAME_FUNC_OFFSET(16361, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
|
||||
NAME_FUNC_OFFSET(16378, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
|
||||
NAME_FUNC_OFFSET(16396, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
|
||||
NAME_FUNC_OFFSET(16413, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
|
||||
NAME_FUNC_OFFSET(16431, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
|
||||
NAME_FUNC_OFFSET(16448, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
|
||||
NAME_FUNC_OFFSET(16466, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
|
||||
NAME_FUNC_OFFSET(16485, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
|
||||
NAME_FUNC_OFFSET(16504, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
|
||||
NAME_FUNC_OFFSET(16523, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
|
||||
NAME_FUNC_OFFSET(16542, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
|
||||
NAME_FUNC_OFFSET(16562, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
|
||||
NAME_FUNC_OFFSET(16582, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
|
||||
NAME_FUNC_OFFSET(16602, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB),
|
||||
NAME_FUNC_OFFSET(16620, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
|
||||
NAME_FUNC_OFFSET(16637, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
|
||||
NAME_FUNC_OFFSET(16655, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
|
||||
NAME_FUNC_OFFSET(16672, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
|
||||
NAME_FUNC_OFFSET(16690, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB),
|
||||
NAME_FUNC_OFFSET(16708, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
|
||||
NAME_FUNC_OFFSET(16725, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
|
||||
NAME_FUNC_OFFSET(16743, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB),
|
||||
NAME_FUNC_OFFSET(16762, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB),
|
||||
NAME_FUNC_OFFSET(16781, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB),
|
||||
NAME_FUNC_OFFSET(16800, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
|
||||
NAME_FUNC_OFFSET(16822, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
|
||||
NAME_FUNC_OFFSET(16835, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
|
||||
NAME_FUNC_OFFSET(16848, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16864, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
|
||||
NAME_FUNC_OFFSET(16880, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
|
||||
NAME_FUNC_OFFSET(16893, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
|
||||
NAME_FUNC_OFFSET(16916, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
|
||||
NAME_FUNC_OFFSET(16936, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16955, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
|
||||
NAME_FUNC_OFFSET(16966, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
|
||||
NAME_FUNC_OFFSET(16978, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
|
||||
NAME_FUNC_OFFSET(16992, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
|
||||
NAME_FUNC_OFFSET(17005, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
|
||||
NAME_FUNC_OFFSET(17021, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
|
||||
NAME_FUNC_OFFSET(17032, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
|
||||
NAME_FUNC_OFFSET(17045, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
|
||||
NAME_FUNC_OFFSET(17064, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
|
||||
NAME_FUNC_OFFSET(17084, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
|
||||
NAME_FUNC_OFFSET(17097, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
|
||||
NAME_FUNC_OFFSET(17107, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
|
||||
NAME_FUNC_OFFSET(17123, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
|
||||
NAME_FUNC_OFFSET(17142, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(17160, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
|
||||
NAME_FUNC_OFFSET(17181, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
|
||||
NAME_FUNC_OFFSET(17196, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
|
||||
NAME_FUNC_OFFSET(17211, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
|
||||
NAME_FUNC_OFFSET(17225, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(17240, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
|
||||
NAME_FUNC_OFFSET(17252, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
|
||||
NAME_FUNC_OFFSET(17265, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
|
||||
NAME_FUNC_OFFSET(17277, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
|
||||
NAME_FUNC_OFFSET(17290, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
|
||||
NAME_FUNC_OFFSET(17302, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
|
||||
NAME_FUNC_OFFSET(17315, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
|
||||
NAME_FUNC_OFFSET(17327, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
|
||||
NAME_FUNC_OFFSET(17340, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
|
||||
NAME_FUNC_OFFSET(17352, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
|
||||
NAME_FUNC_OFFSET(17365, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
|
||||
NAME_FUNC_OFFSET(17377, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
|
||||
NAME_FUNC_OFFSET(17390, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
|
||||
NAME_FUNC_OFFSET(17402, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
|
||||
NAME_FUNC_OFFSET(17415, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
|
||||
NAME_FUNC_OFFSET(17427, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
|
||||
NAME_FUNC_OFFSET(17440, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
|
||||
NAME_FUNC_OFFSET(17459, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
|
||||
NAME_FUNC_OFFSET(17478, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
|
||||
NAME_FUNC_OFFSET(17497, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
|
||||
NAME_FUNC_OFFSET(17510, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
|
||||
NAME_FUNC_OFFSET(17528, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17549, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
|
||||
NAME_FUNC_OFFSET(17567, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17587, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17601, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17618, gl_dispatch_stub_572, gl_dispatch_stub_572, NULL, _gloffset_SampleMaskSGIS),
|
||||
NAME_FUNC_OFFSET(17634, gl_dispatch_stub_573, gl_dispatch_stub_573, NULL, _gloffset_SamplePatternSGIS),
|
||||
NAME_FUNC_OFFSET(17653, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17671, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(13602, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT),
|
||||
NAME_FUNC_OFFSET(13623, gl_dispatch_stub_774, gl_dispatch_stub_774, NULL, _gloffset_StencilFuncSeparateATI),
|
||||
NAME_FUNC_OFFSET(13648, gl_dispatch_stub_775, gl_dispatch_stub_775, NULL, _gloffset_ProgramEnvParameters4fvEXT),
|
||||
NAME_FUNC_OFFSET(13677, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, _gloffset_ProgramLocalParameters4fvEXT),
|
||||
NAME_FUNC_OFFSET(13708, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_GetQueryObjecti64vEXT),
|
||||
NAME_FUNC_OFFSET(13732, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, _gloffset_GetQueryObjectui64vEXT),
|
||||
NAME_FUNC_OFFSET(13757, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement),
|
||||
NAME_FUNC_OFFSET(13775, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture),
|
||||
NAME_FUNC_OFFSET(13792, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays),
|
||||
NAME_FUNC_OFFSET(13808, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident),
|
||||
NAME_FUNC_OFFSET(13833, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D),
|
||||
NAME_FUNC_OFFSET(13853, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D),
|
||||
NAME_FUNC_OFFSET(13873, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D),
|
||||
NAME_FUNC_OFFSET(13896, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D),
|
||||
NAME_FUNC_OFFSET(13919, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures),
|
||||
NAME_FUNC_OFFSET(13939, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures),
|
||||
NAME_FUNC_OFFSET(13956, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv),
|
||||
NAME_FUNC_OFFSET(13973, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture),
|
||||
NAME_FUNC_OFFSET(13988, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures),
|
||||
NAME_FUNC_OFFSET(14012, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D),
|
||||
NAME_FUNC_OFFSET(14031, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D),
|
||||
NAME_FUNC_OFFSET(14050, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor),
|
||||
NAME_FUNC_OFFSET(14066, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation),
|
||||
NAME_FUNC_OFFSET(14085, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements),
|
||||
NAME_FUNC_OFFSET(14108, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
|
||||
NAME_FUNC_OFFSET(14124, glColorTable, glColorTable, NULL, _gloffset_ColorTable),
|
||||
NAME_FUNC_OFFSET(14140, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14167, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14194, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable),
|
||||
NAME_FUNC_OFFSET(14214, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
|
||||
NAME_FUNC_OFFSET(14233, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable),
|
||||
NAME_FUNC_OFFSET(14252, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14282, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv),
|
||||
NAME_FUNC_OFFSET(14312, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14342, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv),
|
||||
NAME_FUNC_OFFSET(14372, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable),
|
||||
NAME_FUNC_OFFSET(14391, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable),
|
||||
NAME_FUNC_OFFSET(14414, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D),
|
||||
NAME_FUNC_OFFSET(14439, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D),
|
||||
NAME_FUNC_OFFSET(14464, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf),
|
||||
NAME_FUNC_OFFSET(14491, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv),
|
||||
NAME_FUNC_OFFSET(14519, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri),
|
||||
NAME_FUNC_OFFSET(14546, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv),
|
||||
NAME_FUNC_OFFSET(14574, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D),
|
||||
NAME_FUNC_OFFSET(14603, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D),
|
||||
NAME_FUNC_OFFSET(14632, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter),
|
||||
NAME_FUNC_OFFSET(14658, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv),
|
||||
NAME_FUNC_OFFSET(14689, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv),
|
||||
NAME_FUNC_OFFSET(14720, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter),
|
||||
NAME_FUNC_OFFSET(14744, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D),
|
||||
NAME_FUNC_OFFSET(14767, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram),
|
||||
NAME_FUNC_OFFSET(14785, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv),
|
||||
NAME_FUNC_OFFSET(14814, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv),
|
||||
NAME_FUNC_OFFSET(14843, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax),
|
||||
NAME_FUNC_OFFSET(14858, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv),
|
||||
NAME_FUNC_OFFSET(14884, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv),
|
||||
NAME_FUNC_OFFSET(14910, glHistogram, glHistogram, NULL, _gloffset_Histogram),
|
||||
NAME_FUNC_OFFSET(14925, glMinmax, glMinmax, NULL, _gloffset_Minmax),
|
||||
NAME_FUNC_OFFSET(14937, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram),
|
||||
NAME_FUNC_OFFSET(14957, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax),
|
||||
NAME_FUNC_OFFSET(14974, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D),
|
||||
NAME_FUNC_OFFSET(14990, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D),
|
||||
NAME_FUNC_OFFSET(15009, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D),
|
||||
NAME_FUNC_OFFSET(15032, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB),
|
||||
NAME_FUNC_OFFSET(15048, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB),
|
||||
NAME_FUNC_OFFSET(15070, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB),
|
||||
NAME_FUNC_OFFSET(15088, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB),
|
||||
NAME_FUNC_OFFSET(15107, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB),
|
||||
NAME_FUNC_OFFSET(15125, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB),
|
||||
NAME_FUNC_OFFSET(15144, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB),
|
||||
NAME_FUNC_OFFSET(15162, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB),
|
||||
NAME_FUNC_OFFSET(15181, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB),
|
||||
NAME_FUNC_OFFSET(15199, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB),
|
||||
NAME_FUNC_OFFSET(15218, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB),
|
||||
NAME_FUNC_OFFSET(15236, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB),
|
||||
NAME_FUNC_OFFSET(15255, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB),
|
||||
NAME_FUNC_OFFSET(15273, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB),
|
||||
NAME_FUNC_OFFSET(15292, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB),
|
||||
NAME_FUNC_OFFSET(15310, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB),
|
||||
NAME_FUNC_OFFSET(15329, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB),
|
||||
NAME_FUNC_OFFSET(15347, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB),
|
||||
NAME_FUNC_OFFSET(15366, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB),
|
||||
NAME_FUNC_OFFSET(15384, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB),
|
||||
NAME_FUNC_OFFSET(15403, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB),
|
||||
NAME_FUNC_OFFSET(15421, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB),
|
||||
NAME_FUNC_OFFSET(15440, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB),
|
||||
NAME_FUNC_OFFSET(15458, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB),
|
||||
NAME_FUNC_OFFSET(15477, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB),
|
||||
NAME_FUNC_OFFSET(15495, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB),
|
||||
NAME_FUNC_OFFSET(15514, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB),
|
||||
NAME_FUNC_OFFSET(15532, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB),
|
||||
NAME_FUNC_OFFSET(15551, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB),
|
||||
NAME_FUNC_OFFSET(15569, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB),
|
||||
NAME_FUNC_OFFSET(15588, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB),
|
||||
NAME_FUNC_OFFSET(15606, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB),
|
||||
NAME_FUNC_OFFSET(15625, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB),
|
||||
NAME_FUNC_OFFSET(15643, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB),
|
||||
NAME_FUNC_OFFSET(15662, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate),
|
||||
NAME_FUNC_OFFSET(15685, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB),
|
||||
NAME_FUNC_OFFSET(15708, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB),
|
||||
NAME_FUNC_OFFSET(15731, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB),
|
||||
NAME_FUNC_OFFSET(15754, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB),
|
||||
NAME_FUNC_OFFSET(15777, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB),
|
||||
NAME_FUNC_OFFSET(15794, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB),
|
||||
NAME_FUNC_OFFSET(15817, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB),
|
||||
NAME_FUNC_OFFSET(15840, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB),
|
||||
NAME_FUNC_OFFSET(15863, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB),
|
||||
NAME_FUNC_OFFSET(15889, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB),
|
||||
NAME_FUNC_OFFSET(15915, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB),
|
||||
NAME_FUNC_OFFSET(15941, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB),
|
||||
NAME_FUNC_OFFSET(15965, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB),
|
||||
NAME_FUNC_OFFSET(15992, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB),
|
||||
NAME_FUNC_OFFSET(16018, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB),
|
||||
NAME_FUNC_OFFSET(16038, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB),
|
||||
NAME_FUNC_OFFSET(16058, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB),
|
||||
NAME_FUNC_OFFSET(16078, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB),
|
||||
NAME_FUNC_OFFSET(16101, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB),
|
||||
NAME_FUNC_OFFSET(16125, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB),
|
||||
NAME_FUNC_OFFSET(16148, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB),
|
||||
NAME_FUNC_OFFSET(16172, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB),
|
||||
NAME_FUNC_OFFSET(16189, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB),
|
||||
NAME_FUNC_OFFSET(16207, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB),
|
||||
NAME_FUNC_OFFSET(16224, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB),
|
||||
NAME_FUNC_OFFSET(16242, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB),
|
||||
NAME_FUNC_OFFSET(16259, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB),
|
||||
NAME_FUNC_OFFSET(16277, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB),
|
||||
NAME_FUNC_OFFSET(16294, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB),
|
||||
NAME_FUNC_OFFSET(16312, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB),
|
||||
NAME_FUNC_OFFSET(16329, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB),
|
||||
NAME_FUNC_OFFSET(16347, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB),
|
||||
NAME_FUNC_OFFSET(16364, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB),
|
||||
NAME_FUNC_OFFSET(16382, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB),
|
||||
NAME_FUNC_OFFSET(16399, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB),
|
||||
NAME_FUNC_OFFSET(16417, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB),
|
||||
NAME_FUNC_OFFSET(16434, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB),
|
||||
NAME_FUNC_OFFSET(16452, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB),
|
||||
NAME_FUNC_OFFSET(16469, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB),
|
||||
NAME_FUNC_OFFSET(16487, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB),
|
||||
NAME_FUNC_OFFSET(16506, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB),
|
||||
NAME_FUNC_OFFSET(16525, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB),
|
||||
NAME_FUNC_OFFSET(16544, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB),
|
||||
NAME_FUNC_OFFSET(16563, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB),
|
||||
NAME_FUNC_OFFSET(16583, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB),
|
||||
NAME_FUNC_OFFSET(16603, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB),
|
||||
NAME_FUNC_OFFSET(16623, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB),
|
||||
NAME_FUNC_OFFSET(16641, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB),
|
||||
NAME_FUNC_OFFSET(16658, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB),
|
||||
NAME_FUNC_OFFSET(16676, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB),
|
||||
NAME_FUNC_OFFSET(16693, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB),
|
||||
NAME_FUNC_OFFSET(16711, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB),
|
||||
NAME_FUNC_OFFSET(16729, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB),
|
||||
NAME_FUNC_OFFSET(16746, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB),
|
||||
NAME_FUNC_OFFSET(16764, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB),
|
||||
NAME_FUNC_OFFSET(16783, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB),
|
||||
NAME_FUNC_OFFSET(16802, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB),
|
||||
NAME_FUNC_OFFSET(16821, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB),
|
||||
NAME_FUNC_OFFSET(16843, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB),
|
||||
NAME_FUNC_OFFSET(16856, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB),
|
||||
NAME_FUNC_OFFSET(16869, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16885, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB),
|
||||
NAME_FUNC_OFFSET(16901, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB),
|
||||
NAME_FUNC_OFFSET(16914, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB),
|
||||
NAME_FUNC_OFFSET(16937, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB),
|
||||
NAME_FUNC_OFFSET(16957, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB),
|
||||
NAME_FUNC_OFFSET(16976, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB),
|
||||
NAME_FUNC_OFFSET(16987, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB),
|
||||
NAME_FUNC_OFFSET(16999, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB),
|
||||
NAME_FUNC_OFFSET(17013, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB),
|
||||
NAME_FUNC_OFFSET(17026, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB),
|
||||
NAME_FUNC_OFFSET(17042, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB),
|
||||
NAME_FUNC_OFFSET(17053, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB),
|
||||
NAME_FUNC_OFFSET(17066, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB),
|
||||
NAME_FUNC_OFFSET(17085, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB),
|
||||
NAME_FUNC_OFFSET(17105, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB),
|
||||
NAME_FUNC_OFFSET(17118, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB),
|
||||
NAME_FUNC_OFFSET(17128, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB),
|
||||
NAME_FUNC_OFFSET(17144, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB),
|
||||
NAME_FUNC_OFFSET(17163, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(17181, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB),
|
||||
NAME_FUNC_OFFSET(17202, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB),
|
||||
NAME_FUNC_OFFSET(17217, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB),
|
||||
NAME_FUNC_OFFSET(17232, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB),
|
||||
NAME_FUNC_OFFSET(17246, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB),
|
||||
NAME_FUNC_OFFSET(17261, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB),
|
||||
NAME_FUNC_OFFSET(17273, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB),
|
||||
NAME_FUNC_OFFSET(17286, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB),
|
||||
NAME_FUNC_OFFSET(17298, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB),
|
||||
NAME_FUNC_OFFSET(17311, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB),
|
||||
NAME_FUNC_OFFSET(17323, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB),
|
||||
NAME_FUNC_OFFSET(17336, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB),
|
||||
NAME_FUNC_OFFSET(17348, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB),
|
||||
NAME_FUNC_OFFSET(17361, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB),
|
||||
NAME_FUNC_OFFSET(17373, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB),
|
||||
NAME_FUNC_OFFSET(17386, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB),
|
||||
NAME_FUNC_OFFSET(17398, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB),
|
||||
NAME_FUNC_OFFSET(17411, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB),
|
||||
NAME_FUNC_OFFSET(17423, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB),
|
||||
NAME_FUNC_OFFSET(17436, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB),
|
||||
NAME_FUNC_OFFSET(17448, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB),
|
||||
NAME_FUNC_OFFSET(17461, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB),
|
||||
NAME_FUNC_OFFSET(17480, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB),
|
||||
NAME_FUNC_OFFSET(17499, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB),
|
||||
NAME_FUNC_OFFSET(17518, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB),
|
||||
NAME_FUNC_OFFSET(17531, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB),
|
||||
NAME_FUNC_OFFSET(17549, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17570, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB),
|
||||
NAME_FUNC_OFFSET(17588, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB),
|
||||
NAME_FUNC_OFFSET(17608, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17622, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB),
|
||||
NAME_FUNC_OFFSET(17639, gl_dispatch_stub_572, gl_dispatch_stub_572, NULL, _gloffset_SampleMaskSGIS),
|
||||
NAME_FUNC_OFFSET(17655, gl_dispatch_stub_573, gl_dispatch_stub_573, NULL, _gloffset_SamplePatternSGIS),
|
||||
NAME_FUNC_OFFSET(17674, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17692, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17714, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17733, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17755, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17778, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
|
||||
NAME_FUNC_OFFSET(17797, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
|
||||
NAME_FUNC_OFFSET(17817, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
|
||||
NAME_FUNC_OFFSET(17836, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
|
||||
NAME_FUNC_OFFSET(17856, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
|
||||
NAME_FUNC_OFFSET(17875, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
|
||||
NAME_FUNC_OFFSET(17895, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
|
||||
NAME_FUNC_OFFSET(17914, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
|
||||
NAME_FUNC_OFFSET(17934, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
|
||||
NAME_FUNC_OFFSET(17953, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
|
||||
NAME_FUNC_OFFSET(17973, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
|
||||
NAME_FUNC_OFFSET(17993, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
|
||||
NAME_FUNC_OFFSET(18014, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
|
||||
NAME_FUNC_OFFSET(18034, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
|
||||
NAME_FUNC_OFFSET(18055, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
|
||||
NAME_FUNC_OFFSET(18075, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
|
||||
NAME_FUNC_OFFSET(18096, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
|
||||
NAME_FUNC_OFFSET(18120, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
|
||||
NAME_FUNC_OFFSET(18138, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
|
||||
NAME_FUNC_OFFSET(18158, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
|
||||
NAME_FUNC_OFFSET(18176, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
|
||||
NAME_FUNC_OFFSET(18188, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
|
||||
NAME_FUNC_OFFSET(18201, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
|
||||
NAME_FUNC_OFFSET(18213, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
|
||||
NAME_FUNC_OFFSET(18226, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18246, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18270, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18284, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18301, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18316, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18334, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18348, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18365, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18380, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18398, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18412, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18429, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18444, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18462, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18476, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18493, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18508, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18526, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18540, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18557, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18572, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18590, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18604, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18621, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18636, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18654, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18668, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18685, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18700, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18718, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18732, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18749, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18764, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18782, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
|
||||
NAME_FUNC_OFFSET(18799, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
|
||||
NAME_FUNC_OFFSET(18819, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
|
||||
NAME_FUNC_OFFSET(18836, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18862, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18891, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
|
||||
NAME_FUNC_OFFSET(18906, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
|
||||
NAME_FUNC_OFFSET(18924, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
|
||||
NAME_FUNC_OFFSET(18943, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18967, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18994, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19012, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19031, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT),
|
||||
NAME_FUNC_OFFSET(19056, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT),
|
||||
NAME_FUNC_OFFSET(19077, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT),
|
||||
NAME_FUNC_OFFSET(19099, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19125, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT),
|
||||
NAME_FUNC_OFFSET(19148, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT),
|
||||
NAME_FUNC_OFFSET(19171, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT),
|
||||
NAME_FUNC_OFFSET(19194, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT),
|
||||
NAME_FUNC_OFFSET(19212, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT),
|
||||
NAME_FUNC_OFFSET(19231, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT),
|
||||
NAME_FUNC_OFFSET(19248, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT),
|
||||
NAME_FUNC_OFFSET(19286, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT),
|
||||
NAME_FUNC_OFFSET(19315, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19331, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19348, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT),
|
||||
NAME_FUNC_OFFSET(19370, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_BlitFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19388, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT),
|
||||
NAME_FUNC_OFFSET(17713, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT),
|
||||
NAME_FUNC_OFFSET(17735, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17754, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17776, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT),
|
||||
NAME_FUNC_OFFSET(17799, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT),
|
||||
NAME_FUNC_OFFSET(17818, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT),
|
||||
NAME_FUNC_OFFSET(17838, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT),
|
||||
NAME_FUNC_OFFSET(17857, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT),
|
||||
NAME_FUNC_OFFSET(17877, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT),
|
||||
NAME_FUNC_OFFSET(17896, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT),
|
||||
NAME_FUNC_OFFSET(17916, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT),
|
||||
NAME_FUNC_OFFSET(17935, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT),
|
||||
NAME_FUNC_OFFSET(17955, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT),
|
||||
NAME_FUNC_OFFSET(17974, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT),
|
||||
NAME_FUNC_OFFSET(17994, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT),
|
||||
NAME_FUNC_OFFSET(18014, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT),
|
||||
NAME_FUNC_OFFSET(18035, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT),
|
||||
NAME_FUNC_OFFSET(18055, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT),
|
||||
NAME_FUNC_OFFSET(18076, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT),
|
||||
NAME_FUNC_OFFSET(18096, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT),
|
||||
NAME_FUNC_OFFSET(18117, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT),
|
||||
NAME_FUNC_OFFSET(18141, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT),
|
||||
NAME_FUNC_OFFSET(18159, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT),
|
||||
NAME_FUNC_OFFSET(18179, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT),
|
||||
NAME_FUNC_OFFSET(18197, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT),
|
||||
NAME_FUNC_OFFSET(18209, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT),
|
||||
NAME_FUNC_OFFSET(18222, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT),
|
||||
NAME_FUNC_OFFSET(18234, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT),
|
||||
NAME_FUNC_OFFSET(18247, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18267, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18291, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18305, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA),
|
||||
NAME_FUNC_OFFSET(18322, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18337, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA),
|
||||
NAME_FUNC_OFFSET(18355, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18369, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA),
|
||||
NAME_FUNC_OFFSET(18386, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18401, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA),
|
||||
NAME_FUNC_OFFSET(18419, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18433, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA),
|
||||
NAME_FUNC_OFFSET(18450, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18465, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA),
|
||||
NAME_FUNC_OFFSET(18483, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18497, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA),
|
||||
NAME_FUNC_OFFSET(18514, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18529, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA),
|
||||
NAME_FUNC_OFFSET(18547, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18561, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA),
|
||||
NAME_FUNC_OFFSET(18578, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18593, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA),
|
||||
NAME_FUNC_OFFSET(18611, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18625, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA),
|
||||
NAME_FUNC_OFFSET(18642, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18657, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA),
|
||||
NAME_FUNC_OFFSET(18675, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18689, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA),
|
||||
NAME_FUNC_OFFSET(18706, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18721, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA),
|
||||
NAME_FUNC_OFFSET(18739, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18753, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA),
|
||||
NAME_FUNC_OFFSET(18770, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18785, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA),
|
||||
NAME_FUNC_OFFSET(18803, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV),
|
||||
NAME_FUNC_OFFSET(18820, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV),
|
||||
NAME_FUNC_OFFSET(18840, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV),
|
||||
NAME_FUNC_OFFSET(18857, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18883, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV),
|
||||
NAME_FUNC_OFFSET(18912, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV),
|
||||
NAME_FUNC_OFFSET(18927, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV),
|
||||
NAME_FUNC_OFFSET(18945, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV),
|
||||
NAME_FUNC_OFFSET(18964, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(18988, gl_dispatch_stub_753, gl_dispatch_stub_753, NULL, _gloffset_BlendEquationSeparateEXT),
|
||||
NAME_FUNC_OFFSET(19015, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19033, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19052, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT),
|
||||
NAME_FUNC_OFFSET(19077, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT),
|
||||
NAME_FUNC_OFFSET(19098, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT),
|
||||
NAME_FUNC_OFFSET(19120, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19146, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT),
|
||||
NAME_FUNC_OFFSET(19169, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT),
|
||||
NAME_FUNC_OFFSET(19192, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT),
|
||||
NAME_FUNC_OFFSET(19215, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT),
|
||||
NAME_FUNC_OFFSET(19233, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT),
|
||||
NAME_FUNC_OFFSET(19252, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT),
|
||||
NAME_FUNC_OFFSET(19269, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT),
|
||||
NAME_FUNC_OFFSET(19307, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT),
|
||||
NAME_FUNC_OFFSET(19336, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19352, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT),
|
||||
NAME_FUNC_OFFSET(19369, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT),
|
||||
NAME_FUNC_OFFSET(19391, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, _gloffset_BlitFramebufferEXT),
|
||||
NAME_FUNC_OFFSET(19409, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT),
|
||||
NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -641,6 +641,8 @@ _mesa_init_exec_table(struct _glapi_table *exec)
|
|||
/* ???. GL_EXT_depth_bounds_test */
|
||||
SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
|
||||
|
||||
SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT);
|
||||
|
||||
/* ARB 1. GL_ARB_multitexture */
|
||||
#if _HAVE_FULL_GL
|
||||
SET_ActiveTextureARB(exec, _mesa_ActiveTextureARB);
|
||||
|
|
|
|||
|
|
@ -592,6 +592,9 @@ _mesa_init_constants(GLcontext *ctx)
|
|||
/* GL_ATI_envmap_bumpmap */
|
||||
ctx->Const.SupportedBumpUnits = SUPPORTED_ATI_BUMP_UNITS;
|
||||
|
||||
/* GL_EXT_provoking_vertex */
|
||||
ctx->Const.QuadsFollowProvokingVertexConvention = GL_TRUE;
|
||||
|
||||
/* sanity checks */
|
||||
ASSERT(ctx->Const.MaxTextureUnits == MIN2(ctx->Const.MaxTextureImageUnits,
|
||||
ctx->Const.MaxTextureCoordUnits));
|
||||
|
|
|
|||
|
|
@ -352,6 +352,9 @@ typedef enum
|
|||
OPCODE_EVAL_P1,
|
||||
OPCODE_EVAL_P2,
|
||||
|
||||
/* GL_EXT_provoking_vertex */
|
||||
OPCODE_PROVOKING_VERTEX,
|
||||
|
||||
/* The following three are meta instructions */
|
||||
OPCODE_ERROR, /* raise compiled-in error */
|
||||
OPCODE_CONTINUE,
|
||||
|
|
@ -5705,6 +5708,25 @@ save_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
|
|||
#endif
|
||||
|
||||
|
||||
/** GL_EXT_provoking_vertex */
|
||||
static void GLAPIENTRY
|
||||
save_ProvokingVertexEXT(GLenum mode)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
Node *n;
|
||||
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
|
||||
n = ALLOC_INSTRUCTION(ctx, OPCODE_PROVOKING_VERTEX, 1);
|
||||
if (n) {
|
||||
n[1].e = mode;
|
||||
}
|
||||
if (ctx->ExecuteFlag) {
|
||||
/*CALL_ProvokingVertexEXT(ctx->Exec, (mode));*/
|
||||
_mesa_ProvokingVertexEXT(mode);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Save an error-generating command into display list.
|
||||
*
|
||||
|
|
@ -6269,6 +6291,9 @@ execute_list(GLcontext *ctx, GLuint list)
|
|||
case OPCODE_SHADE_MODEL:
|
||||
CALL_ShadeModel(ctx->Exec, (n[1].e));
|
||||
break;
|
||||
case OPCODE_PROVOKING_VERTEX:
|
||||
CALL_ProvokingVertexEXT(ctx->Exec, (n[1].e));
|
||||
break;
|
||||
case OPCODE_STENCIL_FUNC:
|
||||
CALL_StencilFunc(ctx->Exec, (n[1].e, n[2].i, n[3].ui));
|
||||
break;
|
||||
|
|
@ -8247,6 +8272,9 @@ _mesa_init_dlist_table(struct _glapi_table *table)
|
|||
|
||||
/* ARB 59. GL_ARB_copy_buffer */
|
||||
SET_CopyBufferSubData(table, _mesa_CopyBufferSubData); /* no dlist save */
|
||||
|
||||
/* 364. GL_EXT_provoking_vertex */
|
||||
SET_ProvokingVertexEXT(table, save_ProvokingVertexEXT);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -8483,6 +8511,11 @@ print_list(GLcontext *ctx, GLuint list)
|
|||
_mesa_printf("EVAL_P2 %d %d\n", n[1].i, n[2].i);
|
||||
break;
|
||||
|
||||
case OPCODE_PROVOKING_VERTEX:
|
||||
_mesa_printf("ProvokingVertex %s\n",
|
||||
_mesa_lookup_enum_by_nr(n[1].ui));
|
||||
break;
|
||||
|
||||
/*
|
||||
* meta opcodes/commands
|
||||
*/
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -109,6 +109,7 @@ static const struct {
|
|||
{ OFF, "GL_EXT_pixel_buffer_object", F(EXT_pixel_buffer_object) },
|
||||
{ OFF, "GL_EXT_point_parameters", F(EXT_point_parameters) },
|
||||
{ ON, "GL_EXT_polygon_offset", F(EXT_polygon_offset) },
|
||||
{ OFF, "GL_EXT_provoking_vertex", F(EXT_provoking_vertex) },
|
||||
{ ON, "GL_EXT_rescale_normal", F(EXT_rescale_normal) },
|
||||
{ OFF, "GL_EXT_secondary_color", F(EXT_secondary_color) },
|
||||
{ ON, "GL_EXT_separate_specular_color", F(EXT_separate_specular_color) },
|
||||
|
|
@ -266,6 +267,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
|
|||
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
|
||||
#endif
|
||||
ctx->Extensions.EXT_point_parameters = GL_TRUE;
|
||||
ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
|
||||
ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
|
||||
ctx->Extensions.EXT_secondary_color = GL_TRUE;
|
||||
ctx->Extensions.EXT_shared_texture_palette = GL_TRUE;
|
||||
|
|
|
|||
|
|
@ -1835,6 +1835,14 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
|
|||
CHECK_EXT1(EXT_framebuffer_blit, "GetBooleanv");
|
||||
params[0] = INT_TO_BOOLEAN(ctx->ReadBuffer->Name);
|
||||
break;
|
||||
case GL_PROVOKING_VERTEX_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetBooleanv");
|
||||
params[0] = ctx->Light.ProvokingVertex;
|
||||
break;
|
||||
case GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetBooleanv");
|
||||
params[0] = ctx->Const.QuadsFollowProvokingVertexConvention;
|
||||
break;
|
||||
case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB:
|
||||
CHECK_EXT1(ARB_fragment_shader, "GetBooleanv");
|
||||
params[0] = INT_TO_BOOLEAN(ctx->Const.FragmentProgram.MaxUniformComponents);
|
||||
|
|
@ -3649,6 +3657,14 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
|
|||
CHECK_EXT1(EXT_framebuffer_blit, "GetFloatv");
|
||||
params[0] = (GLfloat)(ctx->ReadBuffer->Name);
|
||||
break;
|
||||
case GL_PROVOKING_VERTEX_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetFloatv");
|
||||
params[0] = BOOLEAN_TO_FLOAT(ctx->Light.ProvokingVertex);
|
||||
break;
|
||||
case GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetFloatv");
|
||||
params[0] = BOOLEAN_TO_FLOAT(ctx->Const.QuadsFollowProvokingVertexConvention);
|
||||
break;
|
||||
case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB:
|
||||
CHECK_EXT1(ARB_fragment_shader, "GetFloatv");
|
||||
params[0] = (GLfloat)(ctx->Const.FragmentProgram.MaxUniformComponents);
|
||||
|
|
@ -5463,6 +5479,14 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
|
|||
CHECK_EXT1(EXT_framebuffer_blit, "GetIntegerv");
|
||||
params[0] = ctx->ReadBuffer->Name;
|
||||
break;
|
||||
case GL_PROVOKING_VERTEX_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetIntegerv");
|
||||
params[0] = BOOLEAN_TO_INT(ctx->Light.ProvokingVertex);
|
||||
break;
|
||||
case GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT:
|
||||
CHECK_EXT1(EXT_provoking_vertex, "GetIntegerv");
|
||||
params[0] = BOOLEAN_TO_INT(ctx->Const.QuadsFollowProvokingVertexConvention);
|
||||
break;
|
||||
case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB:
|
||||
CHECK_EXT1(ARB_fragment_shader, "GetIntegerv");
|
||||
params[0] = ctx->Const.FragmentProgram.MaxUniformComponents;
|
||||
|
|
|
|||
|
|
@ -976,6 +976,13 @@ StateVars = [
|
|||
( "GL_READ_FRAMEBUFFER_BINDING_EXT", GLint, ["ctx->ReadBuffer->Name"], "",
|
||||
["EXT_framebuffer_blit"] ),
|
||||
|
||||
# GL_EXT_provoking_vertex
|
||||
( "GL_PROVOKING_VERTEX_EXT", GLboolean,
|
||||
["ctx->Light.ProvokingVertex"], "", ["EXT_provoking_vertex"] ),
|
||||
( "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT", GLboolean,
|
||||
["ctx->Const.QuadsFollowProvokingVertexConvention"], "",
|
||||
["EXT_provoking_vertex"] ),
|
||||
|
||||
# GL_ARB_fragment_shader
|
||||
( "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", GLint,
|
||||
["ctx->Const.FragmentProgram.MaxUniformComponents"], "",
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 7.0
|
||||
* Version: 7.5
|
||||
*
|
||||
* Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 2009 VMware, Inc. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -63,6 +64,37 @@ _mesa_ShadeModel( GLenum mode )
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the provoking vertex (the vertex which specifies the prim's
|
||||
* color when flat shading) to either the first or last vertex of the
|
||||
* triangle or line.
|
||||
*/
|
||||
void GLAPIENTRY
|
||||
_mesa_ProvokingVertexEXT(GLenum mode)
|
||||
{
|
||||
GET_CURRENT_CONTEXT(ctx);
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
if (MESA_VERBOSE&VERBOSE_API)
|
||||
_mesa_debug(ctx, "glProvokingVertexEXT 0x%x\n", mode);
|
||||
|
||||
switch (mode) {
|
||||
case GL_FIRST_VERTEX_CONVENTION_EXT:
|
||||
case GL_LAST_VERTEX_CONVENTION_EXT:
|
||||
break;
|
||||
default:
|
||||
_mesa_error(ctx, GL_INVALID_ENUM, "glProvokingVertexEXT(0x%x)", mode);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx->Light.ProvokingVertex == mode)
|
||||
return;
|
||||
|
||||
FLUSH_VERTICES(ctx, _NEW_LIGHT);
|
||||
ctx->Light.ProvokingVertex = mode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Helper function called by _mesa_Lightfv and _mesa_PopAttrib to set
|
||||
* per-light state.
|
||||
|
|
@ -1348,6 +1380,7 @@ _mesa_init_lighting( GLcontext *ctx )
|
|||
init_lightmodel( &ctx->Light.Model );
|
||||
init_material( &ctx->Light.Material );
|
||||
ctx->Light.ShadeModel = GL_SMOOTH;
|
||||
ctx->Light.ProvokingVertex = GL_LAST_VERTEX_CONVENTION_EXT;
|
||||
ctx->Light.Enabled = GL_FALSE;
|
||||
ctx->Light.ColorMaterialFace = GL_FRONT_AND_BACK;
|
||||
ctx->Light.ColorMaterialMode = GL_AMBIENT_AND_DIFFUSE;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
/**
|
||||
* \file light.h
|
||||
* Lighting.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.5
|
||||
* Version: 7.5
|
||||
*
|
||||
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 2009 VMware, Inc. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -37,6 +33,10 @@
|
|||
extern void GLAPIENTRY
|
||||
_mesa_ShadeModel( GLenum mode );
|
||||
|
||||
extern void GLAPIENTRY
|
||||
_mesa_ProvokingVertexEXT(GLenum mode);
|
||||
|
||||
|
||||
#if _HAVE_FULL_GL
|
||||
extern void GLAPIENTRY
|
||||
_mesa_ColorMaterial( GLenum face, GLenum mode );
|
||||
|
|
|
|||
|
|
@ -770,6 +770,7 @@ struct gl_light_attrib
|
|||
|
||||
GLboolean Enabled; /**< Lighting enabled flag */
|
||||
GLenum ShadeModel; /**< GL_FLAT or GL_SMOOTH */
|
||||
GLenum ProvokingVertex; /**< GL_EXT_provoking_vertex */
|
||||
GLenum ColorMaterialFace; /**< GL_FRONT, BACK or FRONT_AND_BACK */
|
||||
GLenum ColorMaterialMode; /**< GL_AMBIENT, GL_DIFFUSE, etc */
|
||||
GLbitfield ColorMaterialBitmask; /**< bitmask formed from Face and Mode */
|
||||
|
|
@ -2424,6 +2425,9 @@ struct gl_constants
|
|||
GLuint MaxVarying; /**< Number of float[4] varying parameters */
|
||||
|
||||
GLbitfield SupportedBumpUnits; /**> units supporting GL_ATI_envmap_bumpmap as targets */
|
||||
|
||||
/**< GL_EXT_provoking_vertex */
|
||||
GLboolean QuadsFollowProvokingVertexConvention;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -2494,6 +2498,7 @@ struct gl_extensions
|
|||
GLboolean EXT_pixel_buffer_object;
|
||||
GLboolean EXT_point_parameters;
|
||||
GLboolean EXT_polygon_offset;
|
||||
GLboolean EXT_provoking_vertex;
|
||||
GLboolean EXT_rescale_normal;
|
||||
GLboolean EXT_shadow_funcs;
|
||||
GLboolean EXT_secondary_color;
|
||||
|
|
|
|||
|
|
@ -998,16 +998,17 @@ gl_dispatch_functions_start:
|
|||
GL_STUB(gl_dispatch_stub_771, _gloffset_BlitFramebufferEXT)
|
||||
HIDDEN(gl_dispatch_stub_771)
|
||||
GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT)
|
||||
GL_STUB(gl_dispatch_stub_773, _gloffset_StencilFuncSeparateATI)
|
||||
HIDDEN(gl_dispatch_stub_773)
|
||||
GL_STUB(gl_dispatch_stub_774, _gloffset_ProgramEnvParameters4fvEXT)
|
||||
GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT)
|
||||
GL_STUB(gl_dispatch_stub_774, _gloffset_StencilFuncSeparateATI)
|
||||
HIDDEN(gl_dispatch_stub_774)
|
||||
GL_STUB(gl_dispatch_stub_775, _gloffset_ProgramLocalParameters4fvEXT)
|
||||
GL_STUB(gl_dispatch_stub_775, _gloffset_ProgramEnvParameters4fvEXT)
|
||||
HIDDEN(gl_dispatch_stub_775)
|
||||
GL_STUB(gl_dispatch_stub_776, _gloffset_GetQueryObjecti64vEXT)
|
||||
GL_STUB(gl_dispatch_stub_776, _gloffset_ProgramLocalParameters4fvEXT)
|
||||
HIDDEN(gl_dispatch_stub_776)
|
||||
GL_STUB(gl_dispatch_stub_777, _gloffset_GetQueryObjectui64vEXT)
|
||||
GL_STUB(gl_dispatch_stub_777, _gloffset_GetQueryObjecti64vEXT)
|
||||
HIDDEN(gl_dispatch_stub_777)
|
||||
GL_STUB(gl_dispatch_stub_778, _gloffset_GetQueryObjectui64vEXT)
|
||||
HIDDEN(gl_dispatch_stub_778)
|
||||
GL_STUB_ALIAS(glArrayElementEXT, glArrayElement)
|
||||
GL_STUB_ALIAS(glBindTextureEXT, glBindTexture)
|
||||
GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays)
|
||||
|
|
|
|||
|
|
@ -102,6 +102,9 @@ static void update_raster_state( struct st_context *st )
|
|||
if (ctx->Light.ShadeModel == GL_FLAT)
|
||||
raster->flatshade = 1;
|
||||
|
||||
if (ctx->Light.ProvokingVertex == GL_FIRST_VERTEX_CONVENTION_EXT)
|
||||
raster->flatshade_first = 1;
|
||||
|
||||
/* _NEW_LIGHT | _NEW_PROGRAM
|
||||
*
|
||||
* Back-face colors can come from traditional lighting (when
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@ void st_init_extensions(struct st_context *st)
|
|||
ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;
|
||||
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
|
||||
ctx->Extensions.EXT_point_parameters = GL_TRUE;
|
||||
ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
|
||||
ctx->Extensions.EXT_secondary_color = GL_TRUE;
|
||||
ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
|
||||
ctx->Extensions.EXT_texture_env_add = GL_TRUE;
|
||||
|
|
|
|||
|
|
@ -82,7 +82,10 @@ static void TAG(render_lines)( GLcontext *ctx,
|
|||
INIT(GL_LINES);
|
||||
for (j=start+1; j<count; j+=2 ) {
|
||||
RESET_STIPPLE;
|
||||
RENDER_LINE( ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_LINE( ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_LINE( ELT(j), ELT(j-1) );
|
||||
}
|
||||
POSTFIX;
|
||||
}
|
||||
|
|
@ -103,9 +106,12 @@ static void TAG(render_line_strip)( GLcontext *ctx,
|
|||
RESET_STIPPLE;
|
||||
}
|
||||
|
||||
for (j=start+1; j<count; j++ )
|
||||
RENDER_LINE( ELT(j-1), ELT(j) );
|
||||
|
||||
for (j=start+1; j<count; j++ ) {
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_LINE( ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_LINE( ELT(j), ELT(j-1) );
|
||||
}
|
||||
POSTFIX;
|
||||
}
|
||||
|
||||
|
|
@ -125,15 +131,24 @@ static void TAG(render_line_loop)( GLcontext *ctx,
|
|||
if (start+1 < count) {
|
||||
if (TEST_PRIM_BEGIN(flags)) {
|
||||
RESET_STIPPLE;
|
||||
RENDER_LINE( ELT(start), ELT(start+1) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_LINE( ELT(start), ELT(start+1) );
|
||||
else
|
||||
RENDER_LINE( ELT(start+1), ELT(start) );
|
||||
}
|
||||
|
||||
for ( i = start+2 ; i < count ; i++) {
|
||||
RENDER_LINE( ELT(i-1), ELT(i) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_LINE( ELT(i-1), ELT(i) );
|
||||
else
|
||||
RENDER_LINE( ELT(i), ELT(i-1) );
|
||||
}
|
||||
|
||||
if ( TEST_PRIM_END(flags)) {
|
||||
RENDER_LINE( ELT(count-1), ELT(start) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_LINE( ELT(count-1), ELT(start) );
|
||||
else
|
||||
RENDER_LINE( ELT(start), ELT(count-1) );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -156,11 +171,17 @@ static void TAG(render_triangles)( GLcontext *ctx,
|
|||
/* Leave the edgeflags as supplied by the user.
|
||||
*/
|
||||
RESET_STIPPLE;
|
||||
RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_TRI( ELT(j-1), ELT(j), ELT(j-2) );
|
||||
}
|
||||
} else {
|
||||
for (j=start+2; j<count; j+=3) {
|
||||
RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_TRI( ELT(j-2), ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_TRI( ELT(j-1), ELT(j), ELT(j-2) );
|
||||
}
|
||||
}
|
||||
POSTFIX;
|
||||
|
|
@ -180,26 +201,38 @@ static void TAG(render_tri_strip)( GLcontext *ctx,
|
|||
INIT(GL_TRIANGLE_STRIP);
|
||||
if (NEED_EDGEFLAG_SETUP) {
|
||||
for (j=start+2;j<count;j++,parity^=1) {
|
||||
GLuint ej2 = ELT(j-2+parity);
|
||||
GLuint ej1 = ELT(j-1-parity);
|
||||
GLuint ej = ELT(j);
|
||||
GLboolean ef2 = EDGEFLAG_GET( ej2 );
|
||||
GLboolean ef1 = EDGEFLAG_GET( ej1 );
|
||||
GLboolean ef = EDGEFLAG_GET( ej );
|
||||
GLuint ej2, ej1, ej;
|
||||
GLboolean ef2, ef1, ef;
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT) {
|
||||
ej2 = ELT(j-2+parity);
|
||||
ej1 = ELT(j-1-parity);
|
||||
ej = ELT(j);
|
||||
}
|
||||
else {
|
||||
ej2 = ELT(j-1+parity);
|
||||
ej1 = ELT(j-parity);
|
||||
ej = ELT(j-2);
|
||||
}
|
||||
ef2 = EDGEFLAG_GET( ej2 );
|
||||
ef1 = EDGEFLAG_GET( ej1 );
|
||||
ef = EDGEFLAG_GET( ej );
|
||||
if (TEST_PRIM_BEGIN(flags)) {
|
||||
RESET_STIPPLE;
|
||||
}
|
||||
EDGEFLAG_SET( ej2, GL_TRUE );
|
||||
EDGEFLAG_SET( ej1, GL_TRUE );
|
||||
EDGEFLAG_SET( ej, GL_TRUE );
|
||||
RENDER_TRI( ej2, ej1, ej );
|
||||
RENDER_TRI( ej2, ej1, ej );
|
||||
EDGEFLAG_SET( ej2, ef2 );
|
||||
EDGEFLAG_SET( ej1, ef1 );
|
||||
EDGEFLAG_SET( ej, ef );
|
||||
}
|
||||
} else {
|
||||
for (j=start+2; j<count ; j++, parity^=1) {
|
||||
RENDER_TRI( ELT(j-2+parity), ELT(j-1-parity), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_TRI( ELT(j-2+parity), ELT(j-1-parity), ELT(j) );
|
||||
else
|
||||
RENDER_TRI( ELT(j-1+parity), ELT(j-parity), ELT(j-2) );
|
||||
}
|
||||
}
|
||||
POSTFIX;
|
||||
|
|
@ -232,14 +265,20 @@ static void TAG(render_tri_fan)( GLcontext *ctx,
|
|||
EDGEFLAG_SET( ejs, GL_TRUE );
|
||||
EDGEFLAG_SET( ej1, GL_TRUE );
|
||||
EDGEFLAG_SET( ej, GL_TRUE );
|
||||
RENDER_TRI( ejs, ej1, ej);
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_TRI( ejs, ej1, ej);
|
||||
else
|
||||
RENDER_TRI( ej, ejs, ej1);
|
||||
EDGEFLAG_SET( ejs, efs );
|
||||
EDGEFLAG_SET( ej1, ef1 );
|
||||
EDGEFLAG_SET( ej, ef );
|
||||
}
|
||||
} else {
|
||||
for (j=start+2;j<count;j++) {
|
||||
RENDER_TRI( ELT(start), ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT)
|
||||
RENDER_TRI( ELT(start), ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_TRI( ELT(j), ELT(start), ELT(j-1) );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -331,11 +370,19 @@ static void TAG(render_quads)( GLcontext *ctx,
|
|||
/* Use user-specified edgeflags for quads.
|
||||
*/
|
||||
RESET_STIPPLE;
|
||||
RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
|
||||
!ctx->Const.QuadsFollowProvokingVertexConvention)
|
||||
RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_QUAD( ELT(j-2), ELT(j-1), ELT(j), ELT(j-3) );
|
||||
}
|
||||
} else {
|
||||
for (j=start+3; j<count; j+=4) {
|
||||
RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
|
||||
!ctx->Const.QuadsFollowProvokingVertexConvention)
|
||||
RENDER_QUAD( ELT(j-3), ELT(j-2), ELT(j-1), ELT(j) );
|
||||
else
|
||||
RENDER_QUAD( ELT(j-2), ELT(j-1), ELT(j), ELT(j-3) );
|
||||
}
|
||||
}
|
||||
POSTFIX;
|
||||
|
|
@ -367,7 +414,11 @@ static void TAG(render_quad_strip)( GLcontext *ctx,
|
|||
EDGEFLAG_SET( ELT(j-2), GL_TRUE );
|
||||
EDGEFLAG_SET( ELT(j-1), GL_TRUE );
|
||||
EDGEFLAG_SET( ELT(j), GL_TRUE );
|
||||
RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
|
||||
!ctx->Const.QuadsFollowProvokingVertexConvention)
|
||||
RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
|
||||
else
|
||||
RENDER_QUAD( ELT(j-2), ELT(j), ELT(j-1), ELT(j-3) );
|
||||
EDGEFLAG_SET( ELT(j-3), ef3 );
|
||||
EDGEFLAG_SET( ELT(j-2), ef2 );
|
||||
EDGEFLAG_SET( ELT(j-1), ef1 );
|
||||
|
|
@ -375,7 +426,11 @@ static void TAG(render_quad_strip)( GLcontext *ctx,
|
|||
}
|
||||
} else {
|
||||
for (j=start+3;j<count;j+=2) {
|
||||
RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
|
||||
if (ctx->Light.ProvokingVertex == GL_LAST_VERTEX_CONVENTION_EXT ||
|
||||
!ctx->Const.QuadsFollowProvokingVertexConvention)
|
||||
RENDER_QUAD( ELT(j-1), ELT(j-3), ELT(j-2), ELT(j) );
|
||||
else
|
||||
RENDER_QUAD( ELT(j-2), ELT(j), ELT(j-1), ELT(j-3) );
|
||||
}
|
||||
}
|
||||
POSTFIX;
|
||||
|
|
|
|||
|
|
@ -29256,25 +29256,16 @@ GL_PREFIX(FramebufferTextureLayerEXT):
|
|||
.size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT)
|
||||
|
||||
.p2align 4,,15
|
||||
.globl GL_PREFIX(_dispatch_stub_773)
|
||||
.type GL_PREFIX(_dispatch_stub_773), @function
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_773))
|
||||
GL_PREFIX(_dispatch_stub_773):
|
||||
.globl GL_PREFIX(ProvokingVertexEXT)
|
||||
.type GL_PREFIX(ProvokingVertexEXT), @function
|
||||
GL_PREFIX(ProvokingVertexEXT):
|
||||
#if defined(GLX_USE_TLS)
|
||||
call _x86_64_get_dispatch@PLT
|
||||
movq 6184(%rax), %r11
|
||||
jmp *%r11
|
||||
#elif defined(PTHREADS)
|
||||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
pushq %rcx
|
||||
pushq %rbp
|
||||
call _x86_64_get_dispatch@PLT
|
||||
popq %rbp
|
||||
popq %rcx
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
movq 6184(%rax), %r11
|
||||
jmp *%r11
|
||||
|
|
@ -29286,20 +29277,12 @@ GL_PREFIX(_dispatch_stub_773):
|
|||
jmp *%r11
|
||||
1:
|
||||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
pushq %rcx
|
||||
pushq %rbp
|
||||
call _glapi_get_dispatch
|
||||
popq %rbp
|
||||
popq %rcx
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
movq 6184(%rax), %r11
|
||||
jmp *%r11
|
||||
#endif /* defined(GLX_USE_TLS) */
|
||||
.size GL_PREFIX(_dispatch_stub_773), .-GL_PREFIX(_dispatch_stub_773)
|
||||
.size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT)
|
||||
|
||||
.p2align 4,,15
|
||||
.globl GL_PREFIX(_dispatch_stub_774)
|
||||
|
|
@ -29406,7 +29389,11 @@ GL_PREFIX(_dispatch_stub_776):
|
|||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
pushq %rcx
|
||||
pushq %rbp
|
||||
call _x86_64_get_dispatch@PLT
|
||||
popq %rbp
|
||||
popq %rcx
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
|
|
@ -29422,7 +29409,11 @@ GL_PREFIX(_dispatch_stub_776):
|
|||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
pushq %rcx
|
||||
pushq %rbp
|
||||
call _glapi_get_dispatch
|
||||
popq %rbp
|
||||
popq %rcx
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
|
|
@ -29469,6 +29460,44 @@ GL_PREFIX(_dispatch_stub_777):
|
|||
#endif /* defined(GLX_USE_TLS) */
|
||||
.size GL_PREFIX(_dispatch_stub_777), .-GL_PREFIX(_dispatch_stub_777)
|
||||
|
||||
.p2align 4,,15
|
||||
.globl GL_PREFIX(_dispatch_stub_778)
|
||||
.type GL_PREFIX(_dispatch_stub_778), @function
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_778))
|
||||
GL_PREFIX(_dispatch_stub_778):
|
||||
#if defined(GLX_USE_TLS)
|
||||
call _x86_64_get_dispatch@PLT
|
||||
movq 6224(%rax), %r11
|
||||
jmp *%r11
|
||||
#elif defined(PTHREADS)
|
||||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
call _x86_64_get_dispatch@PLT
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
movq 6224(%rax), %r11
|
||||
jmp *%r11
|
||||
#else
|
||||
movq _glapi_Dispatch(%rip), %rax
|
||||
testq %rax, %rax
|
||||
je 1f
|
||||
movq 6224(%rax), %r11
|
||||
jmp *%r11
|
||||
1:
|
||||
pushq %rdi
|
||||
pushq %rsi
|
||||
pushq %rdx
|
||||
call _glapi_get_dispatch
|
||||
popq %rdx
|
||||
popq %rsi
|
||||
popq %rdi
|
||||
movq 6224(%rax), %r11
|
||||
jmp *%r11
|
||||
#endif /* defined(GLX_USE_TLS) */
|
||||
.size GL_PREFIX(_dispatch_stub_778), .-GL_PREFIX(_dispatch_stub_778)
|
||||
|
||||
.globl GL_PREFIX(ArrayElementEXT) ; .set GL_PREFIX(ArrayElementEXT), GL_PREFIX(ArrayElement)
|
||||
.globl GL_PREFIX(BindTextureEXT) ; .set GL_PREFIX(BindTextureEXT), GL_PREFIX(BindTexture)
|
||||
.globl GL_PREFIX(DrawArraysEXT) ; .set GL_PREFIX(DrawArraysEXT), GL_PREFIX(DrawArrays)
|
||||
|
|
|
|||
|
|
@ -952,16 +952,17 @@ GLNAME(gl_dispatch_functions_start):
|
|||
GL_STUB(_dispatch_stub_771, _gloffset_BlitFramebufferEXT, _dispatch_stub_771@40)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_771, _dispatch_stub_771@40))
|
||||
GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20)
|
||||
GL_STUB(_dispatch_stub_773, _gloffset_StencilFuncSeparateATI, _dispatch_stub_773@16)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_773, _dispatch_stub_773@16))
|
||||
GL_STUB(_dispatch_stub_774, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_774@16)
|
||||
GL_STUB(ProvokingVertexEXT, _gloffset_ProvokingVertexEXT, ProvokingVertexEXT@4)
|
||||
GL_STUB(_dispatch_stub_774, _gloffset_StencilFuncSeparateATI, _dispatch_stub_774@16)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_774, _dispatch_stub_774@16))
|
||||
GL_STUB(_dispatch_stub_775, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_775@16)
|
||||
GL_STUB(_dispatch_stub_775, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_775@16)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_775, _dispatch_stub_775@16))
|
||||
GL_STUB(_dispatch_stub_776, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_776@12)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@12))
|
||||
GL_STUB(_dispatch_stub_777, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_777@12)
|
||||
GL_STUB(_dispatch_stub_776, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_776@16)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@16))
|
||||
GL_STUB(_dispatch_stub_777, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_777@12)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_777, _dispatch_stub_777@12))
|
||||
GL_STUB(_dispatch_stub_778, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_778@12)
|
||||
HIDDEN(GL_PREFIX(_dispatch_stub_778, _dispatch_stub_778@12))
|
||||
GL_STUB_ALIAS(ArrayElementEXT, _gloffset_ArrayElement, ArrayElementEXT@4, ArrayElement, ArrayElement@4)
|
||||
GL_STUB_ALIAS(BindTextureEXT, _gloffset_BindTexture, BindTextureEXT@8, BindTexture, BindTexture@8)
|
||||
GL_STUB_ALIAS(DrawArraysEXT, _gloffset_DrawArrays, DrawArraysEXT@12, DrawArrays, DrawArrays@12)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue