Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / glx / tests / indirect_api.cpp
1 /*
2 * Copyright © 2012 Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 */
23
24 /**
25 * \file indirect_api.cpp
26 * Validate the generated code in indirect_init.c
27 *
28 * Tests various apsects of the dispatch table generated by
29 * \c __glXNewIndirectAPI.
30 *
31 * * No entry in the table should be \c NULL.
32 *
33 * * Entries in the table that correspond to "known" functions with GLX
34 * protocol should point to the correct function.
35 *
36 * * Entries beyond the end of the "known" part of the table (i.e., entries
37 * that can be allocated by drivers for extensions) should point to a
38 * no-op function.
39 *
40 * * Entries in the table that correspond to "known" functions that lack
41 * GLX protocol should point to a no-op function.
42 *
43 * Very few entries in the last catogory are tests. See \c OpenGL_20_is_nop.
44 */
45
46 #include <gtest/gtest.h>
47 #include "main/glheader.h"
48 #include "../indirect_init.h"
49 #include "glapi/glapi.h"
50 #include "../../mesa/main/dispatch.h"
51
52 static const void *nil = 0;
53
54 #define EXTRA_DISPATCH 111
55
56 static bool dispatch_table_size_was_queried = false;
57
58 extern "C" GLuint
59 _glapi_get_dispatch_table_size(void)
60 {
61 dispatch_table_size_was_queried = true;
62 return _gloffset_COUNT + EXTRA_DISPATCH;
63 }
64
65 /**
66 * \name Indirect-rendering function stubs
67 *
68 * These are necessary so that indirect_init.c doesn't try to link with
69 * indirect.c. Linking with indirect.c would require linking with various X
70 * libraries and a bunch of other stuff. While this is ugly, it does simplify
71 * the build quite a bit.
72 */
73 /*@{*/
74 extern "C" {
75 void __indirect_glAccum(GLenum op, GLfloat value) { }
76 void __indirect_glAlphaFunc(GLenum func, GLclampf ref) { }
77 void __indirect_glBegin(GLenum mode) { }
78 void __indirect_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { }
79 void __indirect_glBlendFunc(GLenum sfactor, GLenum dfactor) { }
80 void __indirect_glCallList(GLuint list) { }
81 void __indirect_glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { }
82 void __indirect_glClear(GLbitfield mask) { }
83 void __indirect_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { }
84 void __indirect_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { }
85 void __indirect_glClearDepth(GLclampd depth) { }
86 void __indirect_glClearIndex(GLfloat c) { }
87 void __indirect_glClearStencil(GLint s) { }
88 void __indirect_glClipPlane(GLenum plane, const GLdouble *equation) { }
89 void __indirect_glColor3b(GLbyte red, GLbyte green, GLbyte blue) { }
90 void __indirect_glColor3bv(const GLbyte *v) { }
91 void __indirect_glColor3d(GLdouble red, GLdouble green, GLdouble blue) { }
92 void __indirect_glColor3dv(const GLdouble *v) { }
93 void __indirect_glColor3f(GLfloat red, GLfloat green, GLfloat blue) { }
94 void __indirect_glColor3fv(const GLfloat *v) { }
95 void __indirect_glColor3i(GLint red, GLint green, GLint blue) { }
96 void __indirect_glColor3iv(const GLint *v) { }
97 void __indirect_glColor3s(GLshort red, GLshort green, GLshort blue) { }
98 void __indirect_glColor3sv(const GLshort *v) { }
99 void __indirect_glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { }
100 void __indirect_glColor3ubv(const GLubyte *v) { }
101 void __indirect_glColor3ui(GLuint red, GLuint green, GLuint blue) { }
102 void __indirect_glColor3uiv(const GLuint *v) { }
103 void __indirect_glColor3us(GLushort red, GLushort green, GLushort blue) { }
104 void __indirect_glColor3usv(const GLushort *v) { }
105 void __indirect_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { }
106 void __indirect_glColor4bv(const GLbyte *v) { }
107 void __indirect_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { }
108 void __indirect_glColor4dv(const GLdouble *v) { }
109 void __indirect_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { }
110 void __indirect_glColor4fv(const GLfloat *v) { }
111 void __indirect_glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { }
112 void __indirect_glColor4iv(const GLint *v) { }
113 void __indirect_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { }
114 void __indirect_glColor4sv(const GLshort *v) { }
115 void __indirect_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { }
116 void __indirect_glColor4ubv(const GLubyte *v) { }
117 void __indirect_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { }
118 void __indirect_glColor4uiv(const GLuint *v) { }
119 void __indirect_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { }
120 void __indirect_glColor4usv(const GLushort *v) { }
121 void __indirect_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { }
122 void __indirect_glColorMaterial(GLenum face, GLenum mode) { }
123 void __indirect_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { }
124 void __indirect_glCullFace(GLenum mode) { }
125 void __indirect_glDeleteLists(GLuint list, GLsizei range) { }
126 void __indirect_glDepthFunc(GLenum func) { }
127 void __indirect_glDepthMask(GLboolean flag) { }
128 void __indirect_glDepthRange(GLclampd near_val, GLclampd far_val) { }
129 void __indirect_glDisable(GLenum cap) { }
130 void __indirect_glDrawBuffer(GLenum mode) { }
131 void __indirect_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { }
132 void __indirect_glEdgeFlag(GLboolean flag) { }
133 void __indirect_glEdgeFlagv(const GLboolean *flag) { }
134 void __indirect_glEnable(GLenum cap) { }
135 void __indirect_glEnd(void) { }
136 void __indirect_glEndList(void) { }
137 void __indirect_glEvalCoord1d(GLdouble u) { }
138 void __indirect_glEvalCoord1dv(const GLdouble *u) { }
139 void __indirect_glEvalCoord1f(GLfloat u) { }
140 void __indirect_glEvalCoord1fv(const GLfloat *u) { }
141 void __indirect_glEvalCoord2d(GLdouble u, GLdouble v) { }
142 void __indirect_glEvalCoord2dv(const GLdouble *u) { }
143 void __indirect_glEvalCoord2f(GLfloat u, GLfloat v) { }
144 void __indirect_glEvalCoord2fv(const GLfloat *u) { }
145 void __indirect_glEvalMesh1(GLenum mode, GLint i1, GLint i2) { }
146 void __indirect_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { }
147 void __indirect_glEvalPoint1(GLint i) { }
148 void __indirect_glEvalPoint2(GLint i, GLint j) { }
149 void __indirect_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { }
150 void __indirect_glFinish(void) { }
151 void __indirect_glFlush(void) { }
152 void __indirect_glFogf(GLenum pname, GLfloat param) { }
153 void __indirect_glFogfv(GLenum pname, const GLfloat *params) { }
154 void __indirect_glFogi(GLenum pname, GLint param) { }
155 void __indirect_glFogiv(GLenum pname, const GLint *params) { }
156 void __indirect_glFrontFace(GLenum mode) { }
157 void __indirect_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val) { }
158 void __indirect_glGenLists(GLsizei range) { }
159 void __indirect_glGetBooleanv(GLenum pname, GLboolean *params) { }
160 void __indirect_glGetClipPlane(GLenum plane, GLdouble *equation) { }
161 void __indirect_glGetDoublev(GLenum pname, GLdouble *params) { }
162 void __indirect_glGetError(void) { }
163 void __indirect_glGetFloatv(GLenum pname, GLfloat *params) { }
164 void __indirect_glGetIntegerv(GLenum pname, GLint *params) { }
165 void __indirect_glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { }
166 void __indirect_glGetLightiv(GLenum light, GLenum pname, GLint *params) { }
167 void __indirect_glGetMapdv(GLenum target, GLenum query, GLdouble *v) { }
168 void __indirect_glGetMapfv(GLenum target, GLenum query, GLfloat *v) { }
169 void __indirect_glGetMapiv(GLenum target, GLenum query, GLint *v) { }
170 void __indirect_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { }
171 void __indirect_glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { }
172 void __indirect_glGetPixelMapfv(GLenum map, GLfloat *values) { }
173 void __indirect_glGetPixelMapuiv(GLenum map, GLuint *values) { }
174 void __indirect_glGetPixelMapusv(GLenum map, GLushort *values) { }
175 void __indirect_glGetPolygonStipple(GLubyte *mask) { }
176 void __indirect_glGetString(GLenum name) { }
177 void __indirect_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { }
178 void __indirect_glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { }
179 void __indirect_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { }
180 void __indirect_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { }
181 void __indirect_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { }
182 void __indirect_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { }
183 void __indirect_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { }
184 void __indirect_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { }
185 void __indirect_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { }
186 void __indirect_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { }
187 void __indirect_glHint(GLenum target, GLenum mode) { }
188 void __indirect_glIndexMask(GLuint mask) { }
189 void __indirect_glIndexd(GLdouble c) { }
190 void __indirect_glIndexdv(const GLdouble *c) { }
191 void __indirect_glIndexf(GLfloat c) { }
192 void __indirect_glIndexfv(const GLfloat *c) { }
193 void __indirect_glIndexi(GLint c) { }
194 void __indirect_glIndexiv(const GLint *c) { }
195 void __indirect_glIndexs(GLshort c) { }
196 void __indirect_glIndexsv(const GLshort *c) { }
197 void __indirect_glInitNames(void) { }
198 void __indirect_glIsEnabled(GLenum cap) { }
199 void __indirect_glIsList(GLuint list) { }
200 void __indirect_glLightModelf(GLenum pname, GLfloat param) { }
201 void __indirect_glLightModelfv(GLenum pname, const GLfloat *params) { }
202 void __indirect_glLightModeli(GLenum pname, GLint param) { }
203 void __indirect_glLightModeliv(GLenum pname, const GLint *params) { }
204 void __indirect_glLightf(GLenum light, GLenum pname, GLfloat param) { }
205 void __indirect_glLightfv(GLenum light, GLenum pname, const GLfloat *params) { }
206 void __indirect_glLighti(GLenum light, GLenum pname, GLint param) { }
207 void __indirect_glLightiv(GLenum light, GLenum pname, const GLint *params) { }
208 void __indirect_glLineStipple(GLint factor, GLushort pattern) { }
209 void __indirect_glLineWidth(GLfloat width) { }
210 void __indirect_glListBase(GLuint base) { }
211 void __indirect_glLoadIdentity(void) { }
212 void __indirect_glLoadMatrixd(const GLdouble *m) { }
213 void __indirect_glLoadMatrixf(const GLfloat *m) { }
214 void __indirect_glLoadName(GLuint name) { }
215 void __indirect_glLogicOp(GLenum opcode) { }
216 void __indirect_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { }
217 void __indirect_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { }
218 void __indirect_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { }
219 void __indirect_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { }
220 void __indirect_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { }
221 void __indirect_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { }
222 void __indirect_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { }
223 void __indirect_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { }
224 void __indirect_glMaterialf(GLenum face, GLenum pname, GLfloat param) { }
225 void __indirect_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { }
226 void __indirect_glMateriali(GLenum face, GLenum pname, GLint param) { }
227 void __indirect_glMaterialiv(GLenum face, GLenum pname, const GLint *params) { }
228 void __indirect_glMatrixMode(GLenum mode) { }
229 void __indirect_glMultMatrixd(const GLdouble *m) { }
230 void __indirect_glMultMatrixf(const GLfloat *m) { }
231 void __indirect_glNewList(GLuint list, GLenum mode) { }
232 void __indirect_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { }
233 void __indirect_glNormal3bv(const GLbyte *v) { }
234 void __indirect_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { }
235 void __indirect_glNormal3dv(const GLdouble *v) { }
236 void __indirect_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { }
237 void __indirect_glNormal3fv(const GLfloat *v) { }
238 void __indirect_glNormal3i(GLint nx, GLint ny, GLint nz) { }
239 void __indirect_glNormal3iv(const GLint *v) { }
240 void __indirect_glNormal3s(GLshort nx, GLshort ny, GLshort nz) { }
241 void __indirect_glNormal3sv(const GLshort *v) { }
242 void __indirect_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val) { }
243 void __indirect_glPassThrough(GLfloat token) { }
244 void __indirect_glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values) { }
245 void __indirect_glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values) { }
246 void __indirect_glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values) { }
247 void __indirect_glPixelStoref(GLenum pname, GLfloat param) { }
248 void __indirect_glPixelStorei(GLenum pname, GLint param) { }
249 void __indirect_glPixelTransferf(GLenum pname, GLfloat param) { }
250 void __indirect_glPixelTransferi(GLenum pname, GLint param) { }
251 void __indirect_glPixelZoom(GLfloat xfactor, GLfloat yfactor) { }
252 void __indirect_glPointSize(GLfloat size) { }
253 void __indirect_glPolygonMode(GLenum face, GLenum mode) { }
254 void __indirect_glPolygonStipple(const GLubyte *mask) { }
255 void __indirect_glPopAttrib(void) { }
256 void __indirect_glPopMatrix(void) { }
257 void __indirect_glPopName(void) { }
258 void __indirect_glPushAttrib(GLbitfield mask) { }
259 void __indirect_glPushMatrix(void) { }
260 void __indirect_glPushName(GLuint name) { }
261 void __indirect_glRasterPos2d(GLdouble x, GLdouble y) { }
262 void __indirect_glRasterPos2dv(const GLdouble *v) { }
263 void __indirect_glRasterPos2f(GLfloat x, GLfloat y) { }
264 void __indirect_glRasterPos2fv(const GLfloat *v) { }
265 void __indirect_glRasterPos2i(GLint x, GLint y) { }
266 void __indirect_glRasterPos2iv(const GLint *v) { }
267 void __indirect_glRasterPos2s(GLshort x, GLshort y) { }
268 void __indirect_glRasterPos2sv(const GLshort *v) { }
269 void __indirect_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { }
270 void __indirect_glRasterPos3dv(const GLdouble *v) { }
271 void __indirect_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { }
272 void __indirect_glRasterPos3fv(const GLfloat *v) { }
273 void __indirect_glRasterPos3i(GLint x, GLint y, GLint z) { }
274 void __indirect_glRasterPos3iv(const GLint *v) { }
275 void __indirect_glRasterPos3s(GLshort x, GLshort y, GLshort z) { }
276 void __indirect_glRasterPos3sv(const GLshort *v) { }
277 void __indirect_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
278 void __indirect_glRasterPos4dv(const GLdouble *v) { }
279 void __indirect_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
280 void __indirect_glRasterPos4fv(const GLfloat *v) { }
281 void __indirect_glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { }
282 void __indirect_glRasterPos4iv(const GLint *v) { }
283 void __indirect_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { }
284 void __indirect_glRasterPos4sv(const GLshort *v) { }
285 void __indirect_glReadBuffer(GLenum mode) { }
286 void __indirect_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { }
287 void __indirect_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { }
288 void __indirect_glRectdv(const GLdouble *v1, const GLdouble *v2) { }
289 void __indirect_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { }
290 void __indirect_glRectfv(const GLfloat *v1, const GLfloat *v2) { }
291 void __indirect_glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { }
292 void __indirect_glRectiv(const GLint *v1, const GLint *v2) { }
293 void __indirect_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { }
294 void __indirect_glRectsv(const GLshort *v1, const GLshort *v2) { }
295 void __indirect_glRenderMode(GLenum mode) { }
296 void __indirect_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { }
297 void __indirect_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { }
298 void __indirect_glScaled(GLdouble x, GLdouble y, GLdouble z) { }
299 void __indirect_glScalef(GLfloat x, GLfloat y, GLfloat z) { }
300 void __indirect_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { }
301 void __indirect_glSelectBuffer(GLsizei size, GLuint *buffer) { }
302 void __indirect_glShadeModel(GLenum mode) { }
303 void __indirect_glStencilFunc(GLenum func, GLint ref, GLuint mask) { }
304 void __indirect_glStencilMask(GLuint mask) { }
305 void __indirect_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { }
306 void __indirect_glTexCoord1d(GLdouble s) { }
307 void __indirect_glTexCoord1dv(const GLdouble *v) { }
308 void __indirect_glTexCoord1f(GLfloat s) { }
309 void __indirect_glTexCoord1fv(const GLfloat *v) { }
310 void __indirect_glTexCoord1i(GLint s) { }
311 void __indirect_glTexCoord1iv(const GLint *v) { }
312 void __indirect_glTexCoord1s(GLshort s) { }
313 void __indirect_glTexCoord1sv(const GLshort *v) { }
314 void __indirect_glTexCoord2d(GLdouble s, GLdouble t) { }
315 void __indirect_glTexCoord2dv(const GLdouble *v) { }
316 void __indirect_glTexCoord2f(GLfloat s, GLfloat t) { }
317 void __indirect_glTexCoord2fv(const GLfloat *v) { }
318 void __indirect_glTexCoord2i(GLint s, GLint t) { }
319 void __indirect_glTexCoord2iv(const GLint *v) { }
320 void __indirect_glTexCoord2s(GLshort s, GLshort t) { }
321 void __indirect_glTexCoord2sv(const GLshort *v) { }
322 void __indirect_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { }
323 void __indirect_glTexCoord3dv(const GLdouble *v) { }
324 void __indirect_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { }
325 void __indirect_glTexCoord3fv(const GLfloat *v) { }
326 void __indirect_glTexCoord3i(GLint s, GLint t, GLint r) { }
327 void __indirect_glTexCoord3iv(const GLint *v) { }
328 void __indirect_glTexCoord3s(GLshort s, GLshort t, GLshort r) { }
329 void __indirect_glTexCoord3sv(const GLshort *v) { }
330 void __indirect_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { }
331 void __indirect_glTexCoord4dv(const GLdouble *v) { }
332 void __indirect_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { }
333 void __indirect_glTexCoord4fv(const GLfloat *v) { }
334 void __indirect_glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { }
335 void __indirect_glTexCoord4iv(const GLint *v) { }
336 void __indirect_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { }
337 void __indirect_glTexCoord4sv(const GLshort *v) { }
338 void __indirect_glTexEnvf(GLenum target, GLenum pname, GLfloat param) { }
339 void __indirect_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { }
340 void __indirect_glTexEnvi(GLenum target, GLenum pname, GLint param) { }
341 void __indirect_glTexEnviv(GLenum target, GLenum pname, const GLint *params) { }
342 void __indirect_glTexGend(GLenum coord, GLenum pname, GLdouble param) { }
343 void __indirect_glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { }
344 void __indirect_glTexGenf(GLenum coord, GLenum pname, GLfloat param) { }
345 void __indirect_glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { }
346 void __indirect_glTexGeni(GLenum coord, GLenum pname, GLint param) { }
347 void __indirect_glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { }
348 void __indirect_glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { }
349 void __indirect_glTexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { }
350 void __indirect_glTexParameterf(GLenum target, GLenum pname, GLfloat param) { }
351 void __indirect_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { }
352 void __indirect_glTexParameteri(GLenum target, GLenum pname, GLint param) { }
353 void __indirect_glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { }
354 void __indirect_glTranslated(GLdouble x, GLdouble y, GLdouble z) { }
355 void __indirect_glTranslatef(GLfloat x, GLfloat y, GLfloat z) { }
356 void __indirect_glVertex2d(GLdouble x, GLdouble y) { }
357 void __indirect_glVertex2dv(const GLdouble *v) { }
358 void __indirect_glVertex2f(GLfloat x, GLfloat y) { }
359 void __indirect_glVertex2fv(const GLfloat *v) { }
360 void __indirect_glVertex2i(GLint x, GLint y) { }
361 void __indirect_glVertex2iv(const GLint *v) { }
362 void __indirect_glVertex2s(GLshort x, GLshort y) { }
363 void __indirect_glVertex2sv(const GLshort *v) { }
364 void __indirect_glVertex3d(GLdouble x, GLdouble y, GLdouble z) { }
365 void __indirect_glVertex3dv(const GLdouble *v) { }
366 void __indirect_glVertex3f(GLfloat x, GLfloat y, GLfloat z) { }
367 void __indirect_glVertex3fv(const GLfloat *v) { }
368 void __indirect_glVertex3i(GLint x, GLint y, GLint z) { }
369 void __indirect_glVertex3iv(const GLint *v) { }
370 void __indirect_glVertex3s(GLshort x, GLshort y, GLshort z) { }
371 void __indirect_glVertex3sv(const GLshort *v) { }
372 void __indirect_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
373 void __indirect_glVertex4dv(const GLdouble *v) { }
374 void __indirect_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
375 void __indirect_glVertex4fv(const GLfloat *v) { }
376 void __indirect_glVertex4i(GLint x, GLint y, GLint z, GLint w) { }
377 void __indirect_glVertex4iv(const GLint *v) { }
378 void __indirect_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { }
379 void __indirect_glVertex4sv(const GLshort *v) { }
380 void __indirect_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { }
381 void __indirect_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { }
382 void __indirect_glArrayElement(GLint i) { }
383 void __indirect_glBindTexture(GLenum target, GLuint texture) { }
384 void __indirect_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { }
385 void __indirect_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { }
386 void __indirect_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { }
387 void __indirect_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { }
388 void __indirect_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { }
389 void __indirect_glDeleteTextures(GLsizei n, const GLuint *textures) { }
390 void __indirect_glDisableClientState(GLenum cap) { }
391 void __indirect_glDrawArrays(GLenum mode, GLint first, GLsizei count) { }
392 void __indirect_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { }
393 void __indirect_glEdgeFlagPointer(GLsizei stride, const GLvoid *ptr) { }
394 void __indirect_glEnableClientState(GLenum cap) { }
395 void __indirect_glGenTextures(GLsizei n, GLuint *textures) { }
396 void __indirect_glGetPointerv(GLenum pname, GLvoid **params) { }
397 void __indirect_glIndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr) { }
398 void __indirect_glIndexub(GLubyte c) { }
399 void __indirect_glIndexubv(const GLubyte *c) { }
400 void __indirect_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { }
401 void __indirect_glIsTexture(GLuint texture) { }
402 void __indirect_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr) { }
403 void __indirect_glPolygonOffset(GLfloat factor, GLfloat units) { }
404 void __indirect_glPopClientAttrib(void) { }
405 void __indirect_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities) { }
406 void __indirect_glPushClientAttrib(GLbitfield mask) { }
407 void __indirect_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { }
408 void __indirect_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { }
409 void __indirect_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { }
410 void __indirect_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { }
411 void __indirect_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { }
412 void __indirect_glBlendEquation(GLenum mode) { }
413 void __indirect_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { }
414 void __indirect_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { }
415 void __indirect_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { }
416 void __indirect_glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { }
417 void __indirect_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { }
418 void __indirect_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { }
419 void __indirect_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { }
420 void __indirect_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { }
421 void __indirect_glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { }
422 void __indirect_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { }
423 void __indirect_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { }
424 void __indirect_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { }
425 void __indirect_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { }
426 void __indirect_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { }
427 void __indirect_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { }
428 void __indirect_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { }
429 void __indirect_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { }
430 void __indirect_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { }
431 void __indirect_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { }
432 void __indirect_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { }
433 void __indirect_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { }
434 void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { }
435 void __indirect_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { }
436 void __indirect_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { }
437 void __indirect_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { }
438 void __indirect_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values) { }
439 void __indirect_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { }
440 void __indirect_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { }
441 void __indirect_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { }
442 void __indirect_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { }
443 void __indirect_glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { }
444 void __indirect_glResetHistogram(GLenum target) { }
445 void __indirect_glResetMinmax(GLenum target) { }
446 void __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { }
447 void __indirect_glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { }
448 void __indirect_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { }
449 void __indirect_glActiveTexture(GLenum texture) { }
450 void __indirect_glClientActiveTexture(GLenum texture) { }
451 void __indirect_glMultiTexCoord1d(GLenum target, GLdouble s) { }
452 void __indirect_glMultiTexCoord1dv(GLenum target, const GLdouble *v) { }
453 void __indirect_glMultiTexCoord1fARB(GLenum target, GLfloat s) { }
454 void __indirect_glMultiTexCoord1fvARB(GLenum target, const GLfloat *v) { }
455 void __indirect_glMultiTexCoord1i(GLenum target, GLint s) { }
456 void __indirect_glMultiTexCoord1iv(GLenum target, const GLint *v) { }
457 void __indirect_glMultiTexCoord1s(GLenum target, GLshort s) { }
458 void __indirect_glMultiTexCoord1sv(GLenum target, const GLshort *v) { }
459 void __indirect_glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { }
460 void __indirect_glMultiTexCoord2dv(GLenum target, const GLdouble *v) { }
461 void __indirect_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) { }
462 void __indirect_glMultiTexCoord2fvARB(GLenum target, const GLfloat *v) { }
463 void __indirect_glMultiTexCoord2i(GLenum target, GLint s, GLint t) { }
464 void __indirect_glMultiTexCoord2iv(GLenum target, const GLint *v) { }
465 void __indirect_glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { }
466 void __indirect_glMultiTexCoord2sv(GLenum target, const GLshort *v) { }
467 void __indirect_glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { }
468 void __indirect_glMultiTexCoord3dv(GLenum target, const GLdouble *v) { }
469 void __indirect_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) { }
470 void __indirect_glMultiTexCoord3fvARB(GLenum target, const GLfloat *v) { }
471 void __indirect_glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { }
472 void __indirect_glMultiTexCoord3iv(GLenum target, const GLint *v) { }
473 void __indirect_glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { }
474 void __indirect_glMultiTexCoord3sv(GLenum target, const GLshort *v) { }
475 void __indirect_glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { }
476 void __indirect_glMultiTexCoord4dv(GLenum target, const GLdouble *v) { }
477 void __indirect_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { }
478 void __indirect_glMultiTexCoord4fvARB(GLenum target, const GLfloat *v) { }
479 void __indirect_glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { }
480 void __indirect_glMultiTexCoord4iv(GLenum target, const GLint *v) { }
481 void __indirect_glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { }
482 void __indirect_glMultiTexCoord4sv(GLenum target, const GLshort *v) { }
483 void __indirect_glLoadTransposeMatrixd(const GLdouble m[16]) { }
484 void __indirect_glLoadTransposeMatrixf(const GLfloat m[16]) { }
485 void __indirect_glMultTransposeMatrixd(const GLdouble m[16]) { }
486 void __indirect_glMultTransposeMatrixf(const GLfloat m[16]) { }
487 void __indirect_glSampleCoverage(GLclampf value, GLboolean invert) { }
488 void __indirect_glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { }
489 void __indirect_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { }
490 void __indirect_glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { }
491 void __indirect_glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { }
492 void __indirect_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { }
493 void __indirect_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { }
494 void __indirect_glGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img) { }
495 void __indirect_glDisableVertexAttribArray(GLuint index) { }
496 void __indirect_glEnableVertexAttribArray(GLuint index) { }
497 void __indirect_glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble *params) { }
498 void __indirect_glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat *params) { }
499 void __indirect_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble *params) { }
500 void __indirect_glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat *params) { }
501 void __indirect_glGetProgramStringARB(GLenum target, GLenum pname, void *string) { }
502 void __indirect_glGetProgramivARB(GLenum target, GLenum pname, GLint *params) { }
503 void __indirect_glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { }
504 void __indirect_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { }
505 void __indirect_glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { }
506 void __indirect_glProgramEnvParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
507 void __indirect_glProgramEnvParameter4dvARB(GLenum target, GLuint index, const GLdouble *params) { }
508 void __indirect_glProgramEnvParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
509 void __indirect_glProgramEnvParameter4fvARB(GLenum target, GLuint index, const GLfloat *params) { }
510 void __indirect_glProgramLocalParameter4dARB(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
511 void __indirect_glProgramLocalParameter4dvARB(GLenum target, GLuint index, const GLdouble *params) { }
512 void __indirect_glProgramLocalParameter4fARB(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
513 void __indirect_glProgramLocalParameter4fvARB(GLenum target, GLuint index, const GLfloat *params) { }
514 void __indirect_glProgramStringARB(GLenum target, GLenum format, GLsizei len, const void *string) { }
515 void __indirect_glVertexAttrib1d(GLuint index, GLdouble x) { }
516 void __indirect_glVertexAttrib1dv(GLuint index, const GLdouble *v) { }
517 void __indirect_glVertexAttrib1fARB(GLuint index, GLfloat x) { }
518 void __indirect_glVertexAttrib1fvARB(GLuint index, const GLfloat *v) { }
519 void __indirect_glVertexAttrib1s(GLuint index, GLshort x) { }
520 void __indirect_glVertexAttrib1sv(GLuint index, const GLshort *v) { }
521 void __indirect_glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { }
522 void __indirect_glVertexAttrib2dv(GLuint index, const GLdouble *v) { }
523 void __indirect_glVertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y) { }
524 void __indirect_glVertexAttrib2fvARB(GLuint index, const GLfloat *v) { }
525 void __indirect_glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { }
526 void __indirect_glVertexAttrib2sv(GLuint index, const GLshort *v) { }
527 void __indirect_glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { }
528 void __indirect_glVertexAttrib3dv(GLuint index, const GLdouble *v) { }
529 void __indirect_glVertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z) { }
530 void __indirect_glVertexAttrib3fvARB(GLuint index, const GLfloat *v) { }
531 void __indirect_glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { }
532 void __indirect_glVertexAttrib3sv(GLuint index, const GLshort *v) { }
533 void __indirect_glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { }
534 void __indirect_glVertexAttrib4Niv(GLuint index, const GLint *v) { }
535 void __indirect_glVertexAttrib4Nsv(GLuint index, const GLshort *v) { }
536 void __indirect_glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { }
537 void __indirect_glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { }
538 void __indirect_glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { }
539 void __indirect_glVertexAttrib4Nusv(GLuint index, const GLushort *v) { }
540 void __indirect_glVertexAttrib4bv(GLuint index, const GLbyte *v) { }
541 void __indirect_glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
542 void __indirect_glVertexAttrib4dv(GLuint index, const GLdouble *v) { }
543 void __indirect_glVertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
544 void __indirect_glVertexAttrib4fvARB(GLuint index, const GLfloat *v) { }
545 void __indirect_glVertexAttrib4iv(GLuint index, const GLint *v) { }
546 void __indirect_glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { }
547 void __indirect_glVertexAttrib4sv(GLuint index, const GLshort *v) { }
548 void __indirect_glVertexAttrib4ubv(GLuint index, const GLubyte *v) { }
549 void __indirect_glVertexAttrib4uiv(GLuint index, const GLuint *v) { }
550 void __indirect_glVertexAttrib4usv(GLuint index, const GLushort *v) { }
551 void __indirect_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { }
552 void __indirect_glBeginQuery(GLenum target, GLuint id) { }
553 void __indirect_glDeleteQueries(GLsizei n, const GLuint *ids) { }
554 void __indirect_glEndQuery(GLenum target) { }
555 void __indirect_glGenQueries(GLsizei n, GLuint *ids) { }
556 void __indirect_glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { }
557 void __indirect_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { }
558 void __indirect_glGetQueryiv(GLenum target, GLenum pname, GLint *params) { }
559 void __indirect_glIsQuery(GLuint id) { }
560 void __indirect_glDrawBuffers(GLsizei n, const GLenum *bufs) { }
561 void __indirect_glClampColor(GLenum target, GLenum clamp) { }
562 void __indirect_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { }
563 void __indirect_glSampleMaskSGIS(GLclampf value, GLboolean invert) { }
564 void __indirect_glSamplePatternSGIS(GLenum pattern) { }
565 void __indirect_glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer) { }
566 void __indirect_glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *pointer) { }
567 void __indirect_glIndexPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void *pointer) { }
568 void __indirect_glNormalPointerEXT(GLenum type, GLsizei stride, GLsizei count, const void *pointer) { }
569 void __indirect_glTexCoordPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer) { }
570 void __indirect_glVertexPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer) { }
571 void __indirect_glPointParameterf(GLenum pname, GLfloat param) { }
572 void __indirect_glPointParameterfv(GLenum pname, const GLfloat *params) { }
573 void __indirect_glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { }
574 void __indirect_glSecondaryColor3bv(const GLbyte *v) { }
575 void __indirect_glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { }
576 void __indirect_glSecondaryColor3dv(const GLdouble *v) { }
577 void __indirect_glSecondaryColor3fEXT(GLfloat red, GLfloat green, GLfloat blue) { }
578 void __indirect_glSecondaryColor3fvEXT(const GLfloat *v) { }
579 void __indirect_glSecondaryColor3i(GLint red, GLint green, GLint blue) { }
580 void __indirect_glSecondaryColor3iv(const GLint *v) { }
581 void __indirect_glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { }
582 void __indirect_glSecondaryColor3sv(const GLshort *v) { }
583 void __indirect_glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { }
584 void __indirect_glSecondaryColor3ubv(const GLubyte *v) { }
585 void __indirect_glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { }
586 void __indirect_glSecondaryColor3uiv(const GLuint *v) { }
587 void __indirect_glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { }
588 void __indirect_glSecondaryColor3usv(const GLushort *v) { }
589 void __indirect_glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { }
590 void __indirect_glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { }
591 void __indirect_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount) { }
592 void __indirect_glFogCoordPointer(GLenum type, GLsizei stride, const void *pointer) { }
593 void __indirect_glFogCoordd(GLdouble coord) { }
594 void __indirect_glFogCoorddv(const GLdouble *coord) { }
595 void __indirect_glFogCoordfEXT(GLfloat coord) { }
596 void __indirect_glFogCoordfvEXT(const GLfloat *coord) { }
597 void __indirect_glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { }
598 void __indirect_glWindowPos2d(GLdouble x, GLdouble y) { }
599 void __indirect_glWindowPos2dv(const GLdouble *v) { }
600 void __indirect_glWindowPos2f(GLfloat x, GLfloat y) { }
601 void __indirect_glWindowPos2fv(const GLfloat *v) { }
602 void __indirect_glWindowPos2i(GLint x, GLint y) { }
603 void __indirect_glWindowPos2iv(const GLint *v) { }
604 void __indirect_glWindowPos2s(GLshort x, GLshort y) { }
605 void __indirect_glWindowPos2sv(const GLshort *v) { }
606 void __indirect_glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { }
607 void __indirect_glWindowPos3dv(const GLdouble *v) { }
608 void __indirect_glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { }
609 void __indirect_glWindowPos3fv(const GLfloat *v) { }
610 void __indirect_glWindowPos3i(GLint x, GLint y, GLint z) { }
611 void __indirect_glWindowPos3iv(const GLint *v) { }
612 void __indirect_glWindowPos3s(GLshort x, GLshort y, GLshort z) { }
613 void __indirect_glWindowPos3sv(const GLshort *v) { }
614 void __indirect_glAreProgramsResidentNV(GLsizei n, const GLuint *programs, GLboolean *residences) { }
615 void __indirect_glBindProgramARB(GLenum target, GLuint program) { }
616 void __indirect_glDeleteProgramsARB(GLsizei n, const GLuint *programs) { }
617 void __indirect_glExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params) { }
618 void __indirect_glGenProgramsARB(GLsizei n, GLuint *programs) { }
619 void __indirect_glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params) { }
620 void __indirect_glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params) { }
621 void __indirect_glGetProgramStringNV(GLuint id, GLenum pname, GLubyte *program) { }
622 void __indirect_glGetProgramivNV(GLuint id, GLenum pname, GLint *params) { }
623 void __indirect_glGetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params) { }
624 void __indirect_glGetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer) { }
625 void __indirect_glGetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params) { }
626 void __indirect_glGetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params) { }
627 void __indirect_glGetVertexAttribivNV(GLuint index, GLenum pname, GLint *params) { }
628 void __indirect_glIsProgramARB(GLuint program) { }
629 void __indirect_glLoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program) { }
630 void __indirect_glProgramParameters4dvNV(GLenum target, GLuint index, GLsizei count, const GLdouble *v) { }
631 void __indirect_glProgramParameters4fvNV(GLenum target, GLuint index, GLsizei count, const GLfloat *v) { }
632 void __indirect_glRequestResidentProgramsNV(GLsizei n, const GLuint *programs) { }
633 void __indirect_glTrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform) { }
634 void __indirect_glVertexAttrib1dNV(GLuint index, GLdouble x) { }
635 void __indirect_glVertexAttrib1dvNV(GLuint index, const GLdouble *v) { }
636 void __indirect_glVertexAttrib1fNV(GLuint index, GLfloat x) { }
637 void __indirect_glVertexAttrib1fvNV(GLuint index, const GLfloat *v) { }
638 void __indirect_glVertexAttrib1sNV(GLuint index, GLshort x) { }
639 void __indirect_glVertexAttrib1svNV(GLuint index, const GLshort *v) { }
640 void __indirect_glVertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) { }
641 void __indirect_glVertexAttrib2dvNV(GLuint index, const GLdouble *v) { }
642 void __indirect_glVertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y) { }
643 void __indirect_glVertexAttrib2fvNV(GLuint index, const GLfloat *v) { }
644 void __indirect_glVertexAttrib2sNV(GLuint index, GLshort x, GLshort y) { }
645 void __indirect_glVertexAttrib2svNV(GLuint index, const GLshort *v) { }
646 void __indirect_glVertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) { }
647 void __indirect_glVertexAttrib3dvNV(GLuint index, const GLdouble *v) { }
648 void __indirect_glVertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z) { }
649 void __indirect_glVertexAttrib3fvNV(GLuint index, const GLfloat *v) { }
650 void __indirect_glVertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) { }
651 void __indirect_glVertexAttrib3svNV(GLuint index, const GLshort *v) { }
652 void __indirect_glVertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
653 void __indirect_glVertexAttrib4dvNV(GLuint index, const GLdouble *v) { }
654 void __indirect_glVertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
655 void __indirect_glVertexAttrib4fvNV(GLuint index, const GLfloat *v) { }
656 void __indirect_glVertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { }
657 void __indirect_glVertexAttrib4svNV(GLuint index, const GLshort *v) { }
658 void __indirect_glVertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { }
659 void __indirect_glVertexAttrib4ubvNV(GLuint index, const GLubyte *v) { }
660 void __indirect_glVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer) { }
661 void __indirect_glVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble *v) { }
662 void __indirect_glVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat *v) { }
663 void __indirect_glVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort *v) { }
664 void __indirect_glVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble *v) { }
665 void __indirect_glVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat *v) { }
666 void __indirect_glVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort *v) { }
667 void __indirect_glVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble *v) { }
668 void __indirect_glVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat *v) { }
669 void __indirect_glVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort *v) { }
670 void __indirect_glVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble *v) { }
671 void __indirect_glVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat *v) { }
672 void __indirect_glVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort *v) { }
673 void __indirect_glVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte *v) { }
674 void __indirect_glPointParameteri(GLenum pname, GLint param) { }
675 void __indirect_glPointParameteriv(GLenum pname, const GLint *params) { }
676 void __indirect_glActiveStencilFaceEXT(GLenum face) { }
677 void __indirect_glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params) { }
678 void __indirect_glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params) { }
679 void __indirect_glProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { }
680 void __indirect_glProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v) { }
681 void __indirect_glProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { }
682 void __indirect_glProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v) { }
683 void __indirect_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { }
684 void __indirect_glBindFramebufferEXT(GLenum target, GLuint framebuffer) { }
685 void __indirect_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) { }
686 void __indirect_glBindFramebuffer(GLenum target, GLuint framebuffer) { }
687 void __indirect_glBindRenderbuffer(GLenum target, GLuint renderbuffer) { }
688 void __indirect_glCheckFramebufferStatus(GLenum target) { }
689 void __indirect_glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { }
690 void __indirect_glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { }
691 void __indirect_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { }
692 void __indirect_glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { }
693 void __indirect_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { }
694 void __indirect_glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { }
695 void __indirect_glGenFramebuffers(GLsizei n, GLuint *framebuffers) { }
696 void __indirect_glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { }
697 void __indirect_glGenerateMipmap(GLenum target) { }
698 void __indirect_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { }
699 void __indirect_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { }
700 void __indirect_glIsFramebuffer(GLuint framebuffer) { }
701 void __indirect_glIsRenderbuffer(GLuint renderbuffer) { }
702 void __indirect_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { }
703 void __indirect_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { }
704 void __indirect_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { }
705 }
706 /*@}*/
707
708 #ifndef GLX_USE_APPLEGL
709
710 class IndirectAPI : public ::testing::Test {
711 public:
712 virtual void SetUp();
713 virtual void TearDown();
714
715 _glapi_proc *table;
716 };
717
718 void
719 IndirectAPI::SetUp()
720 {
721 this->table = (_glapi_proc *) __glXNewIndirectAPI();
722 }
723
724 void
725 IndirectAPI::TearDown()
726 {
727 free(this->table);
728 this->table = NULL;
729 }
730
731 TEST_F(IndirectAPI, DispatchTableSizeWasQueried)
732 {
733 dispatch_table_size_was_queried = false;
734
735 /* __glXNewIndirectAPI determines the size of the dispatch table by calling
736 * _glapi_get_dispatch_table_size. Our stub version of this function sets
737 * a flag so that we can detect that __glXNewIndirectAPI called it.
738 */
739 EXPECT_FALSE(dispatch_table_size_was_queried);
740 _glapi_table *table = __glXNewIndirectAPI();
741 EXPECT_TRUE(dispatch_table_size_was_queried);
742
743 /* Since a second dispatch table was created, it must be freed by hand.
744 */
745 free(table);
746 }
747
748 TEST_F(IndirectAPI, NoNullEntries)
749 {
750 const unsigned entries = _glapi_get_dispatch_table_size();
751
752 /* There should not be any NULL entries in the dispatch table. All entires
753 * should either point to a real implementation or to a no-op function.
754 */
755 for (unsigned i = 0; i < entries; i++) {
756 EXPECT_NE(nil, table[i]);
757 }
758 }
759
760 TEST_F(IndirectAPI, OpenGL_10)
761 {
762 EXPECT_EQ((_glapi_proc) __indirect_glAccum, table[_gloffset_Accum]);
763 EXPECT_EQ((_glapi_proc) __indirect_glAlphaFunc, table[_gloffset_AlphaFunc]);
764 EXPECT_EQ((_glapi_proc) __indirect_glBegin, table[_gloffset_Begin]);
765 EXPECT_EQ((_glapi_proc) __indirect_glBitmap, table[_gloffset_Bitmap]);
766 EXPECT_EQ((_glapi_proc) __indirect_glBlendFunc, table[_gloffset_BlendFunc]);
767 EXPECT_EQ((_glapi_proc) __indirect_glCallList, table[_gloffset_CallList]);
768 EXPECT_EQ((_glapi_proc) __indirect_glCallLists, table[_gloffset_CallLists]);
769 EXPECT_EQ((_glapi_proc) __indirect_glClear, table[_gloffset_Clear]);
770 EXPECT_EQ((_glapi_proc) __indirect_glClearAccum, table[_gloffset_ClearAccum]);
771 EXPECT_EQ((_glapi_proc) __indirect_glClearColor, table[_gloffset_ClearColor]);
772 EXPECT_EQ((_glapi_proc) __indirect_glClearDepth, table[_gloffset_ClearDepth]);
773 EXPECT_EQ((_glapi_proc) __indirect_glClearIndex, table[_gloffset_ClearIndex]);
774 EXPECT_EQ((_glapi_proc) __indirect_glClearStencil, table[_gloffset_ClearStencil]);
775 EXPECT_EQ((_glapi_proc) __indirect_glClipPlane, table[_gloffset_ClipPlane]);
776 EXPECT_EQ((_glapi_proc) __indirect_glColor3b, table[_gloffset_Color3b]);
777 EXPECT_EQ((_glapi_proc) __indirect_glColor3bv, table[_gloffset_Color3bv]);
778 EXPECT_EQ((_glapi_proc) __indirect_glColor3d, table[_gloffset_Color3d]);
779 EXPECT_EQ((_glapi_proc) __indirect_glColor3dv, table[_gloffset_Color3dv]);
780 EXPECT_EQ((_glapi_proc) __indirect_glColor3f, table[_gloffset_Color3f]);
781 EXPECT_EQ((_glapi_proc) __indirect_glColor3fv, table[_gloffset_Color3fv]);
782 EXPECT_EQ((_glapi_proc) __indirect_glColor3i, table[_gloffset_Color3i]);
783 EXPECT_EQ((_glapi_proc) __indirect_glColor3iv, table[_gloffset_Color3iv]);
784 EXPECT_EQ((_glapi_proc) __indirect_glColor3s, table[_gloffset_Color3s]);
785 EXPECT_EQ((_glapi_proc) __indirect_glColor3sv, table[_gloffset_Color3sv]);
786 EXPECT_EQ((_glapi_proc) __indirect_glColor3ub, table[_gloffset_Color3ub]);
787 EXPECT_EQ((_glapi_proc) __indirect_glColor3ubv, table[_gloffset_Color3ubv]);
788 EXPECT_EQ((_glapi_proc) __indirect_glColor3ui, table[_gloffset_Color3ui]);
789 EXPECT_EQ((_glapi_proc) __indirect_glColor3uiv, table[_gloffset_Color3uiv]);
790 EXPECT_EQ((_glapi_proc) __indirect_glColor3us, table[_gloffset_Color3us]);
791 EXPECT_EQ((_glapi_proc) __indirect_glColor3usv, table[_gloffset_Color3usv]);
792 EXPECT_EQ((_glapi_proc) __indirect_glColor4b, table[_gloffset_Color4b]);
793 EXPECT_EQ((_glapi_proc) __indirect_glColor4bv, table[_gloffset_Color4bv]);
794 EXPECT_EQ((_glapi_proc) __indirect_glColor4d, table[_gloffset_Color4d]);
795 EXPECT_EQ((_glapi_proc) __indirect_glColor4dv, table[_gloffset_Color4dv]);
796 EXPECT_EQ((_glapi_proc) __indirect_glColor4f, table[_gloffset_Color4f]);
797 EXPECT_EQ((_glapi_proc) __indirect_glColor4fv, table[_gloffset_Color4fv]);
798 EXPECT_EQ((_glapi_proc) __indirect_glColor4i, table[_gloffset_Color4i]);
799 EXPECT_EQ((_glapi_proc) __indirect_glColor4iv, table[_gloffset_Color4iv]);
800 EXPECT_EQ((_glapi_proc) __indirect_glColor4s, table[_gloffset_Color4s]);
801 EXPECT_EQ((_glapi_proc) __indirect_glColor4sv, table[_gloffset_Color4sv]);
802 EXPECT_EQ((_glapi_proc) __indirect_glColor4ub, table[_gloffset_Color4ub]);
803 EXPECT_EQ((_glapi_proc) __indirect_glColor4ubv, table[_gloffset_Color4ubv]);
804 EXPECT_EQ((_glapi_proc) __indirect_glColor4ui, table[_gloffset_Color4ui]);
805 EXPECT_EQ((_glapi_proc) __indirect_glColor4uiv, table[_gloffset_Color4uiv]);
806 EXPECT_EQ((_glapi_proc) __indirect_glColor4us, table[_gloffset_Color4us]);
807 EXPECT_EQ((_glapi_proc) __indirect_glColor4usv, table[_gloffset_Color4usv]);
808 EXPECT_EQ((_glapi_proc) __indirect_glColorMask, table[_gloffset_ColorMask]);
809 EXPECT_EQ((_glapi_proc) __indirect_glColorMaterial, table[_gloffset_ColorMaterial]);
810 EXPECT_EQ((_glapi_proc) __indirect_glCopyPixels, table[_gloffset_CopyPixels]);
811 EXPECT_EQ((_glapi_proc) __indirect_glCullFace, table[_gloffset_CullFace]);
812 EXPECT_EQ((_glapi_proc) __indirect_glDeleteLists, table[_gloffset_DeleteLists]);
813 EXPECT_EQ((_glapi_proc) __indirect_glDepthFunc, table[_gloffset_DepthFunc]);
814 EXPECT_EQ((_glapi_proc) __indirect_glDepthMask, table[_gloffset_DepthMask]);
815 EXPECT_EQ((_glapi_proc) __indirect_glDepthRange, table[_gloffset_DepthRange]);
816 EXPECT_EQ((_glapi_proc) __indirect_glDisable, table[_gloffset_Disable]);
817 EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffer, table[_gloffset_DrawBuffer]);
818 EXPECT_EQ((_glapi_proc) __indirect_glDrawPixels, table[_gloffset_DrawPixels]);
819 EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlag, table[_gloffset_EdgeFlag]);
820 EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagv, table[_gloffset_EdgeFlagv]);
821 EXPECT_EQ((_glapi_proc) __indirect_glEnable, table[_gloffset_Enable]);
822 EXPECT_EQ((_glapi_proc) __indirect_glEnd, table[_gloffset_End]);
823 EXPECT_EQ((_glapi_proc) __indirect_glEndList, table[_gloffset_EndList]);
824 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1d, table[_gloffset_EvalCoord1d]);
825 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1dv, table[_gloffset_EvalCoord1dv]);
826 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1f, table[_gloffset_EvalCoord1f]);
827 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1fv, table[_gloffset_EvalCoord1fv]);
828 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2d, table[_gloffset_EvalCoord2d]);
829 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2dv, table[_gloffset_EvalCoord2dv]);
830 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2f, table[_gloffset_EvalCoord2f]);
831 EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2fv, table[_gloffset_EvalCoord2fv]);
832 EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh1, table[_gloffset_EvalMesh1]);
833 EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh2, table[_gloffset_EvalMesh2]);
834 EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint1, table[_gloffset_EvalPoint1]);
835 EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint2, table[_gloffset_EvalPoint2]);
836 EXPECT_EQ((_glapi_proc) __indirect_glFeedbackBuffer, table[_gloffset_FeedbackBuffer]);
837 EXPECT_EQ((_glapi_proc) __indirect_glFinish, table[_gloffset_Finish]);
838 EXPECT_EQ((_glapi_proc) __indirect_glFlush, table[_gloffset_Flush]);
839 EXPECT_EQ((_glapi_proc) __indirect_glFogf, table[_gloffset_Fogf]);
840 EXPECT_EQ((_glapi_proc) __indirect_glFogfv, table[_gloffset_Fogfv]);
841 EXPECT_EQ((_glapi_proc) __indirect_glFogi, table[_gloffset_Fogi]);
842 EXPECT_EQ((_glapi_proc) __indirect_glFogiv, table[_gloffset_Fogiv]);
843 EXPECT_EQ((_glapi_proc) __indirect_glFrontFace, table[_gloffset_FrontFace]);
844 EXPECT_EQ((_glapi_proc) __indirect_glFrustum, table[_gloffset_Frustum]);
845 EXPECT_EQ((_glapi_proc) __indirect_glGenLists, table[_gloffset_GenLists]);
846 EXPECT_EQ((_glapi_proc) __indirect_glGetBooleanv, table[_gloffset_GetBooleanv]);
847 EXPECT_EQ((_glapi_proc) __indirect_glGetClipPlane, table[_gloffset_GetClipPlane]);
848 EXPECT_EQ((_glapi_proc) __indirect_glGetDoublev, table[_gloffset_GetDoublev]);
849 EXPECT_EQ((_glapi_proc) __indirect_glGetError, table[_gloffset_GetError]);
850 EXPECT_EQ((_glapi_proc) __indirect_glGetFloatv, table[_gloffset_GetFloatv]);
851 EXPECT_EQ((_glapi_proc) __indirect_glGetIntegerv, table[_gloffset_GetIntegerv]);
852 EXPECT_EQ((_glapi_proc) __indirect_glGetLightfv, table[_gloffset_GetLightfv]);
853 EXPECT_EQ((_glapi_proc) __indirect_glGetLightiv, table[_gloffset_GetLightiv]);
854 EXPECT_EQ((_glapi_proc) __indirect_glGetMapdv, table[_gloffset_GetMapdv]);
855 EXPECT_EQ((_glapi_proc) __indirect_glGetMapfv, table[_gloffset_GetMapfv]);
856 EXPECT_EQ((_glapi_proc) __indirect_glGetMapiv, table[_gloffset_GetMapiv]);
857 EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialfv, table[_gloffset_GetMaterialfv]);
858 EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialiv, table[_gloffset_GetMaterialiv]);
859 EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapfv, table[_gloffset_GetPixelMapfv]);
860 EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapuiv, table[_gloffset_GetPixelMapuiv]);
861 EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapusv, table[_gloffset_GetPixelMapusv]);
862 EXPECT_EQ((_glapi_proc) __indirect_glGetPolygonStipple, table[_gloffset_GetPolygonStipple]);
863 EXPECT_EQ((_glapi_proc) __indirect_glGetString, table[_gloffset_GetString]);
864 EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnvfv, table[_gloffset_GetTexEnvfv]);
865 EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnviv, table[_gloffset_GetTexEnviv]);
866 EXPECT_EQ((_glapi_proc) __indirect_glGetTexGendv, table[_gloffset_GetTexGendv]);
867 EXPECT_EQ((_glapi_proc) __indirect_glGetTexGenfv, table[_gloffset_GetTexGenfv]);
868 EXPECT_EQ((_glapi_proc) __indirect_glGetTexGeniv, table[_gloffset_GetTexGeniv]);
869 EXPECT_EQ((_glapi_proc) __indirect_glGetTexImage, table[_gloffset_GetTexImage]);
870 EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameterfv, table[_gloffset_GetTexLevelParameterfv]);
871 EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameteriv, table[_gloffset_GetTexLevelParameteriv]);
872 EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameterfv, table[_gloffset_GetTexParameterfv]);
873 EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameteriv, table[_gloffset_GetTexParameteriv]);
874 EXPECT_EQ((_glapi_proc) __indirect_glHint, table[_gloffset_Hint]);
875 EXPECT_EQ((_glapi_proc) __indirect_glIndexMask, table[_gloffset_IndexMask]);
876 EXPECT_EQ((_glapi_proc) __indirect_glIndexd, table[_gloffset_Indexd]);
877 EXPECT_EQ((_glapi_proc) __indirect_glIndexdv, table[_gloffset_Indexdv]);
878 EXPECT_EQ((_glapi_proc) __indirect_glIndexf, table[_gloffset_Indexf]);
879 EXPECT_EQ((_glapi_proc) __indirect_glIndexfv, table[_gloffset_Indexfv]);
880 EXPECT_EQ((_glapi_proc) __indirect_glIndexi, table[_gloffset_Indexi]);
881 EXPECT_EQ((_glapi_proc) __indirect_glIndexiv, table[_gloffset_Indexiv]);
882 EXPECT_EQ((_glapi_proc) __indirect_glIndexs, table[_gloffset_Indexs]);
883 EXPECT_EQ((_glapi_proc) __indirect_glIndexsv, table[_gloffset_Indexsv]);
884 EXPECT_EQ((_glapi_proc) __indirect_glInitNames, table[_gloffset_InitNames]);
885 EXPECT_EQ((_glapi_proc) __indirect_glIsEnabled, table[_gloffset_IsEnabled]);
886 EXPECT_EQ((_glapi_proc) __indirect_glIsList, table[_gloffset_IsList]);
887 EXPECT_EQ((_glapi_proc) __indirect_glLightModelf, table[_gloffset_LightModelf]);
888 EXPECT_EQ((_glapi_proc) __indirect_glLightModelfv, table[_gloffset_LightModelfv]);
889 EXPECT_EQ((_glapi_proc) __indirect_glLightModeli, table[_gloffset_LightModeli]);
890 EXPECT_EQ((_glapi_proc) __indirect_glLightModeliv, table[_gloffset_LightModeliv]);
891 EXPECT_EQ((_glapi_proc) __indirect_glLightf, table[_gloffset_Lightf]);
892 EXPECT_EQ((_glapi_proc) __indirect_glLightfv, table[_gloffset_Lightfv]);
893 EXPECT_EQ((_glapi_proc) __indirect_glLighti, table[_gloffset_Lighti]);
894 EXPECT_EQ((_glapi_proc) __indirect_glLightiv, table[_gloffset_Lightiv]);
895 EXPECT_EQ((_glapi_proc) __indirect_glLineStipple, table[_gloffset_LineStipple]);
896 EXPECT_EQ((_glapi_proc) __indirect_glLineWidth, table[_gloffset_LineWidth]);
897 EXPECT_EQ((_glapi_proc) __indirect_glListBase, table[_gloffset_ListBase]);
898 EXPECT_EQ((_glapi_proc) __indirect_glLoadIdentity, table[_gloffset_LoadIdentity]);
899 EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixd, table[_gloffset_LoadMatrixd]);
900 EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixf, table[_gloffset_LoadMatrixf]);
901 EXPECT_EQ((_glapi_proc) __indirect_glLoadName, table[_gloffset_LoadName]);
902 EXPECT_EQ((_glapi_proc) __indirect_glLogicOp, table[_gloffset_LogicOp]);
903 EXPECT_EQ((_glapi_proc) __indirect_glMap1d, table[_gloffset_Map1d]);
904 EXPECT_EQ((_glapi_proc) __indirect_glMap1f, table[_gloffset_Map1f]);
905 EXPECT_EQ((_glapi_proc) __indirect_glMap2d, table[_gloffset_Map2d]);
906 EXPECT_EQ((_glapi_proc) __indirect_glMap2f, table[_gloffset_Map2f]);
907 EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1d, table[_gloffset_MapGrid1d]);
908 EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1f, table[_gloffset_MapGrid1f]);
909 EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2d, table[_gloffset_MapGrid2d]);
910 EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2f, table[_gloffset_MapGrid2f]);
911 EXPECT_EQ((_glapi_proc) __indirect_glMaterialf, table[_gloffset_Materialf]);
912 EXPECT_EQ((_glapi_proc) __indirect_glMaterialfv, table[_gloffset_Materialfv]);
913 EXPECT_EQ((_glapi_proc) __indirect_glMateriali, table[_gloffset_Materiali]);
914 EXPECT_EQ((_glapi_proc) __indirect_glMaterialiv, table[_gloffset_Materialiv]);
915 EXPECT_EQ((_glapi_proc) __indirect_glMatrixMode, table[_gloffset_MatrixMode]);
916 EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixd, table[_gloffset_MultMatrixd]);
917 EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixf, table[_gloffset_MultMatrixf]);
918 EXPECT_EQ((_glapi_proc) __indirect_glNewList, table[_gloffset_NewList]);
919 EXPECT_EQ((_glapi_proc) __indirect_glNormal3b, table[_gloffset_Normal3b]);
920 EXPECT_EQ((_glapi_proc) __indirect_glNormal3bv, table[_gloffset_Normal3bv]);
921 EXPECT_EQ((_glapi_proc) __indirect_glNormal3d, table[_gloffset_Normal3d]);
922 EXPECT_EQ((_glapi_proc) __indirect_glNormal3dv, table[_gloffset_Normal3dv]);
923 EXPECT_EQ((_glapi_proc) __indirect_glNormal3f, table[_gloffset_Normal3f]);
924 EXPECT_EQ((_glapi_proc) __indirect_glNormal3fv, table[_gloffset_Normal3fv]);
925 EXPECT_EQ((_glapi_proc) __indirect_glNormal3i, table[_gloffset_Normal3i]);
926 EXPECT_EQ((_glapi_proc) __indirect_glNormal3iv, table[_gloffset_Normal3iv]);
927 EXPECT_EQ((_glapi_proc) __indirect_glNormal3s, table[_gloffset_Normal3s]);
928 EXPECT_EQ((_glapi_proc) __indirect_glNormal3sv, table[_gloffset_Normal3sv]);
929 EXPECT_EQ((_glapi_proc) __indirect_glOrtho, table[_gloffset_Ortho]);
930 EXPECT_EQ((_glapi_proc) __indirect_glPassThrough, table[_gloffset_PassThrough]);
931 EXPECT_EQ((_glapi_proc) __indirect_glPixelMapfv, table[_gloffset_PixelMapfv]);
932 EXPECT_EQ((_glapi_proc) __indirect_glPixelMapuiv, table[_gloffset_PixelMapuiv]);
933 EXPECT_EQ((_glapi_proc) __indirect_glPixelMapusv, table[_gloffset_PixelMapusv]);
934 EXPECT_EQ((_glapi_proc) __indirect_glPixelStoref, table[_gloffset_PixelStoref]);
935 EXPECT_EQ((_glapi_proc) __indirect_glPixelStorei, table[_gloffset_PixelStorei]);
936 EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferf, table[_gloffset_PixelTransferf]);
937 EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferi, table[_gloffset_PixelTransferi]);
938 EXPECT_EQ((_glapi_proc) __indirect_glPixelZoom, table[_gloffset_PixelZoom]);
939 EXPECT_EQ((_glapi_proc) __indirect_glPointSize, table[_gloffset_PointSize]);
940 EXPECT_EQ((_glapi_proc) __indirect_glPolygonMode, table[_gloffset_PolygonMode]);
941 EXPECT_EQ((_glapi_proc) __indirect_glPolygonStipple, table[_gloffset_PolygonStipple]);
942 EXPECT_EQ((_glapi_proc) __indirect_glPopAttrib, table[_gloffset_PopAttrib]);
943 EXPECT_EQ((_glapi_proc) __indirect_glPopMatrix, table[_gloffset_PopMatrix]);
944 EXPECT_EQ((_glapi_proc) __indirect_glPopName, table[_gloffset_PopName]);
945 EXPECT_EQ((_glapi_proc) __indirect_glPushAttrib, table[_gloffset_PushAttrib]);
946 EXPECT_EQ((_glapi_proc) __indirect_glPushMatrix, table[_gloffset_PushMatrix]);
947 EXPECT_EQ((_glapi_proc) __indirect_glPushName, table[_gloffset_PushName]);
948 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2d, table[_gloffset_RasterPos2d]);
949 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2dv, table[_gloffset_RasterPos2dv]);
950 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2f, table[_gloffset_RasterPos2f]);
951 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2fv, table[_gloffset_RasterPos2fv]);
952 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2i, table[_gloffset_RasterPos2i]);
953 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2iv, table[_gloffset_RasterPos2iv]);
954 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2s, table[_gloffset_RasterPos2s]);
955 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2sv, table[_gloffset_RasterPos2sv]);
956 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3d, table[_gloffset_RasterPos3d]);
957 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3dv, table[_gloffset_RasterPos3dv]);
958 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3f, table[_gloffset_RasterPos3f]);
959 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3fv, table[_gloffset_RasterPos3fv]);
960 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3i, table[_gloffset_RasterPos3i]);
961 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3iv, table[_gloffset_RasterPos3iv]);
962 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3s, table[_gloffset_RasterPos3s]);
963 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3sv, table[_gloffset_RasterPos3sv]);
964 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4d, table[_gloffset_RasterPos4d]);
965 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4dv, table[_gloffset_RasterPos4dv]);
966 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4f, table[_gloffset_RasterPos4f]);
967 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4fv, table[_gloffset_RasterPos4fv]);
968 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4i, table[_gloffset_RasterPos4i]);
969 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4iv, table[_gloffset_RasterPos4iv]);
970 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4s, table[_gloffset_RasterPos4s]);
971 EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4sv, table[_gloffset_RasterPos4sv]);
972 EXPECT_EQ((_glapi_proc) __indirect_glReadBuffer, table[_gloffset_ReadBuffer]);
973 EXPECT_EQ((_glapi_proc) __indirect_glReadPixels, table[_gloffset_ReadPixels]);
974 EXPECT_EQ((_glapi_proc) __indirect_glRectd, table[_gloffset_Rectd]);
975 EXPECT_EQ((_glapi_proc) __indirect_glRectdv, table[_gloffset_Rectdv]);
976 EXPECT_EQ((_glapi_proc) __indirect_glRectf, table[_gloffset_Rectf]);
977 EXPECT_EQ((_glapi_proc) __indirect_glRectfv, table[_gloffset_Rectfv]);
978 EXPECT_EQ((_glapi_proc) __indirect_glRecti, table[_gloffset_Recti]);
979 EXPECT_EQ((_glapi_proc) __indirect_glRectiv, table[_gloffset_Rectiv]);
980 EXPECT_EQ((_glapi_proc) __indirect_glRects, table[_gloffset_Rects]);
981 EXPECT_EQ((_glapi_proc) __indirect_glRectsv, table[_gloffset_Rectsv]);
982 EXPECT_EQ((_glapi_proc) __indirect_glRenderMode, table[_gloffset_RenderMode]);
983 EXPECT_EQ((_glapi_proc) __indirect_glRotated, table[_gloffset_Rotated]);
984 EXPECT_EQ((_glapi_proc) __indirect_glRotatef, table[_gloffset_Rotatef]);
985 EXPECT_EQ((_glapi_proc) __indirect_glScaled, table[_gloffset_Scaled]);
986 EXPECT_EQ((_glapi_proc) __indirect_glScalef, table[_gloffset_Scalef]);
987 EXPECT_EQ((_glapi_proc) __indirect_glScissor, table[_gloffset_Scissor]);
988 EXPECT_EQ((_glapi_proc) __indirect_glSelectBuffer, table[_gloffset_SelectBuffer]);
989 EXPECT_EQ((_glapi_proc) __indirect_glShadeModel, table[_gloffset_ShadeModel]);
990 EXPECT_EQ((_glapi_proc) __indirect_glStencilFunc, table[_gloffset_StencilFunc]);
991 EXPECT_EQ((_glapi_proc) __indirect_glStencilMask, table[_gloffset_StencilMask]);
992 EXPECT_EQ((_glapi_proc) __indirect_glStencilOp, table[_gloffset_StencilOp]);
993 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1d, table[_gloffset_TexCoord1d]);
994 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1dv, table[_gloffset_TexCoord1dv]);
995 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1f, table[_gloffset_TexCoord1f]);
996 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1fv, table[_gloffset_TexCoord1fv]);
997 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1i, table[_gloffset_TexCoord1i]);
998 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1iv, table[_gloffset_TexCoord1iv]);
999 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1s, table[_gloffset_TexCoord1s]);
1000 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1sv, table[_gloffset_TexCoord1sv]);
1001 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2d, table[_gloffset_TexCoord2d]);
1002 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2dv, table[_gloffset_TexCoord2dv]);
1003 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2f, table[_gloffset_TexCoord2f]);
1004 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2fv, table[_gloffset_TexCoord2fv]);
1005 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2i, table[_gloffset_TexCoord2i]);
1006 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2iv, table[_gloffset_TexCoord2iv]);
1007 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2s, table[_gloffset_TexCoord2s]);
1008 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2sv, table[_gloffset_TexCoord2sv]);
1009 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3d, table[_gloffset_TexCoord3d]);
1010 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3dv, table[_gloffset_TexCoord3dv]);
1011 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3f, table[_gloffset_TexCoord3f]);
1012 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3fv, table[_gloffset_TexCoord3fv]);
1013 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3i, table[_gloffset_TexCoord3i]);
1014 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3iv, table[_gloffset_TexCoord3iv]);
1015 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3s, table[_gloffset_TexCoord3s]);
1016 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3sv, table[_gloffset_TexCoord3sv]);
1017 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4d, table[_gloffset_TexCoord4d]);
1018 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4dv, table[_gloffset_TexCoord4dv]);
1019 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4f, table[_gloffset_TexCoord4f]);
1020 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4fv, table[_gloffset_TexCoord4fv]);
1021 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4i, table[_gloffset_TexCoord4i]);
1022 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4iv, table[_gloffset_TexCoord4iv]);
1023 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4s, table[_gloffset_TexCoord4s]);
1024 EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4sv, table[_gloffset_TexCoord4sv]);
1025 EXPECT_EQ((_glapi_proc) __indirect_glTexEnvf, table[_gloffset_TexEnvf]);
1026 EXPECT_EQ((_glapi_proc) __indirect_glTexEnvfv, table[_gloffset_TexEnvfv]);
1027 EXPECT_EQ((_glapi_proc) __indirect_glTexEnvi, table[_gloffset_TexEnvi]);
1028 EXPECT_EQ((_glapi_proc) __indirect_glTexEnviv, table[_gloffset_TexEnviv]);
1029 EXPECT_EQ((_glapi_proc) __indirect_glTexGend, table[_gloffset_TexGend]);
1030 EXPECT_EQ((_glapi_proc) __indirect_glTexGendv, table[_gloffset_TexGendv]);
1031 EXPECT_EQ((_glapi_proc) __indirect_glTexGenf, table[_gloffset_TexGenf]);
1032 EXPECT_EQ((_glapi_proc) __indirect_glTexGenfv, table[_gloffset_TexGenfv]);
1033 EXPECT_EQ((_glapi_proc) __indirect_glTexGeni, table[_gloffset_TexGeni]);
1034 EXPECT_EQ((_glapi_proc) __indirect_glTexGeniv, table[_gloffset_TexGeniv]);
1035 EXPECT_EQ((_glapi_proc) __indirect_glTexImage1D, table[_gloffset_TexImage1D]);
1036 EXPECT_EQ((_glapi_proc) __indirect_glTexImage2D, table[_gloffset_TexImage2D]);
1037 EXPECT_EQ((_glapi_proc) __indirect_glTexParameterf, table[_gloffset_TexParameterf]);
1038 EXPECT_EQ((_glapi_proc) __indirect_glTexParameterfv, table[_gloffset_TexParameterfv]);
1039 EXPECT_EQ((_glapi_proc) __indirect_glTexParameteri, table[_gloffset_TexParameteri]);
1040 EXPECT_EQ((_glapi_proc) __indirect_glTexParameteriv, table[_gloffset_TexParameteriv]);
1041 EXPECT_EQ((_glapi_proc) __indirect_glTranslated, table[_gloffset_Translated]);
1042 EXPECT_EQ((_glapi_proc) __indirect_glTranslatef, table[_gloffset_Translatef]);
1043 EXPECT_EQ((_glapi_proc) __indirect_glVertex2d, table[_gloffset_Vertex2d]);
1044 EXPECT_EQ((_glapi_proc) __indirect_glVertex2dv, table[_gloffset_Vertex2dv]);
1045 EXPECT_EQ((_glapi_proc) __indirect_glVertex2f, table[_gloffset_Vertex2f]);
1046 EXPECT_EQ((_glapi_proc) __indirect_glVertex2fv, table[_gloffset_Vertex2fv]);
1047 EXPECT_EQ((_glapi_proc) __indirect_glVertex2i, table[_gloffset_Vertex2i]);
1048 EXPECT_EQ((_glapi_proc) __indirect_glVertex2iv, table[_gloffset_Vertex2iv]);
1049 EXPECT_EQ((_glapi_proc) __indirect_glVertex2s, table[_gloffset_Vertex2s]);
1050 EXPECT_EQ((_glapi_proc) __indirect_glVertex2sv, table[_gloffset_Vertex2sv]);
1051 EXPECT_EQ((_glapi_proc) __indirect_glVertex3d, table[_gloffset_Vertex3d]);
1052 EXPECT_EQ((_glapi_proc) __indirect_glVertex3dv, table[_gloffset_Vertex3dv]);
1053 EXPECT_EQ((_glapi_proc) __indirect_glVertex3f, table[_gloffset_Vertex3f]);
1054 EXPECT_EQ((_glapi_proc) __indirect_glVertex3fv, table[_gloffset_Vertex3fv]);
1055 EXPECT_EQ((_glapi_proc) __indirect_glVertex3i, table[_gloffset_Vertex3i]);
1056 EXPECT_EQ((_glapi_proc) __indirect_glVertex3iv, table[_gloffset_Vertex3iv]);
1057 EXPECT_EQ((_glapi_proc) __indirect_glVertex3s, table[_gloffset_Vertex3s]);
1058 EXPECT_EQ((_glapi_proc) __indirect_glVertex3sv, table[_gloffset_Vertex3sv]);
1059 EXPECT_EQ((_glapi_proc) __indirect_glVertex4d, table[_gloffset_Vertex4d]);
1060 EXPECT_EQ((_glapi_proc) __indirect_glVertex4dv, table[_gloffset_Vertex4dv]);
1061 EXPECT_EQ((_glapi_proc) __indirect_glVertex4f, table[_gloffset_Vertex4f]);
1062 EXPECT_EQ((_glapi_proc) __indirect_glVertex4fv, table[_gloffset_Vertex4fv]);
1063 EXPECT_EQ((_glapi_proc) __indirect_glVertex4i, table[_gloffset_Vertex4i]);
1064 EXPECT_EQ((_glapi_proc) __indirect_glVertex4iv, table[_gloffset_Vertex4iv]);
1065 EXPECT_EQ((_glapi_proc) __indirect_glVertex4s, table[_gloffset_Vertex4s]);
1066 EXPECT_EQ((_glapi_proc) __indirect_glVertex4sv, table[_gloffset_Vertex4sv]);
1067 EXPECT_EQ((_glapi_proc) __indirect_glViewport, table[_gloffset_Viewport]);
1068 }
1069
1070 TEST_F(IndirectAPI, OpenGL_11)
1071 {
1072 EXPECT_EQ((_glapi_proc) __indirect_glAreTexturesResident, table[_gloffset_AreTexturesResident]);
1073 EXPECT_EQ((_glapi_proc) __indirect_glArrayElement, table[_gloffset_ArrayElement]);
1074 EXPECT_EQ((_glapi_proc) __indirect_glBindTexture, table[_gloffset_BindTexture]);
1075 EXPECT_EQ((_glapi_proc) __indirect_glColorPointer, table[_gloffset_ColorPointer]);
1076 EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage1D, table[_gloffset_CopyTexImage1D]);
1077 EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage2D, table[_gloffset_CopyTexImage2D]);
1078 EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage1D, table[_gloffset_CopyTexSubImage1D]);
1079 EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage2D, table[_gloffset_CopyTexSubImage2D]);
1080 EXPECT_EQ((_glapi_proc) __indirect_glDeleteTextures, table[_gloffset_DeleteTextures]);
1081 EXPECT_EQ((_glapi_proc) __indirect_glDisableClientState, table[_gloffset_DisableClientState]);
1082 EXPECT_EQ((_glapi_proc) __indirect_glDrawArrays, table[_gloffset_DrawArrays]);
1083 EXPECT_EQ((_glapi_proc) __indirect_glDrawElements, table[_gloffset_DrawElements]);
1084 EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointer, table[_gloffset_EdgeFlagPointer]);
1085 EXPECT_EQ((_glapi_proc) __indirect_glEnableClientState, table[_gloffset_EnableClientState]);
1086 EXPECT_EQ((_glapi_proc) __indirect_glGenTextures, table[_gloffset_GenTextures]);
1087 EXPECT_EQ((_glapi_proc) __indirect_glGetPointerv, table[_gloffset_GetPointerv]);
1088 EXPECT_EQ((_glapi_proc) __indirect_glIndexPointer, table[_gloffset_IndexPointer]);
1089 EXPECT_EQ((_glapi_proc) __indirect_glIndexub, table[_gloffset_Indexub]);
1090 EXPECT_EQ((_glapi_proc) __indirect_glIndexubv, table[_gloffset_Indexubv]);
1091 EXPECT_EQ((_glapi_proc) __indirect_glInterleavedArrays, table[_gloffset_InterleavedArrays]);
1092 EXPECT_EQ((_glapi_proc) __indirect_glIsTexture, table[_gloffset_IsTexture]);
1093 EXPECT_EQ((_glapi_proc) __indirect_glNormalPointer, table[_gloffset_NormalPointer]);
1094 EXPECT_EQ((_glapi_proc) __indirect_glPolygonOffset, table[_gloffset_PolygonOffset]);
1095 EXPECT_EQ((_glapi_proc) __indirect_glPopClientAttrib, table[_gloffset_PopClientAttrib]);
1096 EXPECT_EQ((_glapi_proc) __indirect_glPrioritizeTextures, table[_gloffset_PrioritizeTextures]);
1097 EXPECT_EQ((_glapi_proc) __indirect_glPushClientAttrib, table[_gloffset_PushClientAttrib]);
1098 EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointer, table[_gloffset_TexCoordPointer]);
1099 EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage1D, table[_gloffset_TexSubImage1D]);
1100 EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage2D, table[_gloffset_TexSubImage2D]);
1101 EXPECT_EQ((_glapi_proc) __indirect_glVertexPointer, table[_gloffset_VertexPointer]);
1102 }
1103
1104 TEST_F(IndirectAPI, OpenGL_12)
1105 {
1106 EXPECT_EQ((_glapi_proc) __indirect_glBlendColor, table[_gloffset_BlendColor]);
1107 EXPECT_EQ((_glapi_proc) __indirect_glBlendEquation, table[_gloffset_BlendEquation]);
1108 EXPECT_EQ((_glapi_proc) __indirect_glColorSubTable, table[_gloffset_ColorSubTable]);
1109 EXPECT_EQ((_glapi_proc) __indirect_glColorTable, table[_gloffset_ColorTable]);
1110 EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameterfv, table[_gloffset_ColorTableParameterfv]);
1111 EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameteriv, table[_gloffset_ColorTableParameteriv]);
1112 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter1D, table[_gloffset_ConvolutionFilter1D]);
1113 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter2D, table[_gloffset_ConvolutionFilter2D]);
1114 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterf, table[_gloffset_ConvolutionParameterf]);
1115 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterfv, table[_gloffset_ConvolutionParameterfv]);
1116 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteri, table[_gloffset_ConvolutionParameteri]);
1117 EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteriv, table[_gloffset_ConvolutionParameteriv]);
1118 EXPECT_EQ((_glapi_proc) __indirect_glCopyColorSubTable, table[_gloffset_CopyColorSubTable]);
1119 EXPECT_EQ((_glapi_proc) __indirect_glCopyColorTable, table[_gloffset_CopyColorTable]);
1120 EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter1D, table[_gloffset_CopyConvolutionFilter1D]);
1121 EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter2D, table[_gloffset_CopyConvolutionFilter2D]);
1122 EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage3D, table[_gloffset_CopyTexSubImage3D]);
1123 EXPECT_EQ((_glapi_proc) __indirect_glDrawRangeElements, table[_gloffset_DrawRangeElements]);
1124 EXPECT_EQ((_glapi_proc) __indirect_glGetColorTable, table[_gloffset_GetColorTable]);
1125 EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameterfv, table[_gloffset_GetColorTableParameterfv]);
1126 EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameteriv, table[_gloffset_GetColorTableParameteriv]);
1127 EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionFilter, table[_gloffset_GetConvolutionFilter]);
1128 EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameterfv, table[_gloffset_GetConvolutionParameterfv]);
1129 EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameteriv, table[_gloffset_GetConvolutionParameteriv]);
1130 EXPECT_EQ((_glapi_proc) __indirect_glGetHistogram, table[_gloffset_GetHistogram]);
1131 EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameterfv, table[_gloffset_GetHistogramParameterfv]);
1132 EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameteriv, table[_gloffset_GetHistogramParameteriv]);
1133 EXPECT_EQ((_glapi_proc) __indirect_glGetMinmax, table[_gloffset_GetMinmax]);
1134 EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameterfv, table[_gloffset_GetMinmaxParameterfv]);
1135 EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameteriv, table[_gloffset_GetMinmaxParameteriv]);
1136 EXPECT_EQ((_glapi_proc) __indirect_glGetSeparableFilter, table[_gloffset_GetSeparableFilter]);
1137 EXPECT_EQ((_glapi_proc) __indirect_glHistogram, table[_gloffset_Histogram]);
1138 EXPECT_EQ((_glapi_proc) __indirect_glMinmax, table[_gloffset_Minmax]);
1139 EXPECT_EQ((_glapi_proc) __indirect_glResetHistogram, table[_gloffset_ResetHistogram]);
1140 EXPECT_EQ((_glapi_proc) __indirect_glResetMinmax, table[_gloffset_ResetMinmax]);
1141 EXPECT_EQ((_glapi_proc) __indirect_glSeparableFilter2D, table[_gloffset_SeparableFilter2D]);
1142 EXPECT_EQ((_glapi_proc) __indirect_glTexImage3D, table[_gloffset_TexImage3D]);
1143 EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage3D, table[_gloffset_TexSubImage3D]);
1144 }
1145
1146 TEST_F(IndirectAPI, OpenGL_20_is_nop)
1147 {
1148 _glapi_proc const nop = table[_gloffset_COUNT];
1149
1150 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glAttachShader")]);
1151 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateProgram")]);
1152 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateShader")]);
1153 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteProgram")]);
1154 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteShader")]);
1155 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDetachShader")]);
1156 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetAttachedShaders")]);
1157 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramInfoLog")]);
1158 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramiv")]);
1159 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderInfoLog")]);
1160 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderiv")]);
1161 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsProgram")]);
1162 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsShader")]);
1163 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilFuncSeparate")]);
1164 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilMaskSeparate")]);
1165 EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilOpSeparate")]);
1166 }
1167
1168 TEST_F(IndirectAPI, ARB_multitexture)
1169 {
1170 EXPECT_EQ((_glapi_proc) __indirect_glActiveTexture, table[_gloffset_ActiveTexture]);
1171 EXPECT_EQ((_glapi_proc) __indirect_glClientActiveTexture, table[_gloffset_ClientActiveTexture]);
1172 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1d, table[_gloffset_MultiTexCoord1d]);
1173 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1dv, table[_gloffset_MultiTexCoord1dv]);
1174 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fARB, table[_gloffset_MultiTexCoord1fARB]);
1175 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fvARB, table[_gloffset_MultiTexCoord1fvARB]);
1176 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1i, table[_gloffset_MultiTexCoord1i]);
1177 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1iv, table[_gloffset_MultiTexCoord1iv]);
1178 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1s, table[_gloffset_MultiTexCoord1s]);
1179 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1sv, table[_gloffset_MultiTexCoord1sv]);
1180 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2d, table[_gloffset_MultiTexCoord2d]);
1181 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2dv, table[_gloffset_MultiTexCoord2dv]);
1182 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fARB, table[_gloffset_MultiTexCoord2fARB]);
1183 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fvARB, table[_gloffset_MultiTexCoord2fvARB]);
1184 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2i, table[_gloffset_MultiTexCoord2i]);
1185 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2iv, table[_gloffset_MultiTexCoord2iv]);
1186 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2s, table[_gloffset_MultiTexCoord2s]);
1187 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2sv, table[_gloffset_MultiTexCoord2sv]);
1188 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3d, table[_gloffset_MultiTexCoord3d]);
1189 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3dv, table[_gloffset_MultiTexCoord3dv]);
1190 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fARB, table[_gloffset_MultiTexCoord3fARB]);
1191 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fvARB, table[_gloffset_MultiTexCoord3fvARB]);
1192 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3i, table[_gloffset_MultiTexCoord3i]);
1193 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3iv, table[_gloffset_MultiTexCoord3iv]);
1194 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3s, table[_gloffset_MultiTexCoord3s]);
1195 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3sv, table[_gloffset_MultiTexCoord3sv]);
1196 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4d, table[_gloffset_MultiTexCoord4d]);
1197 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4dv, table[_gloffset_MultiTexCoord4dv]);
1198 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fARB, table[_gloffset_MultiTexCoord4fARB]);
1199 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fvARB, table[_gloffset_MultiTexCoord4fvARB]);
1200 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4i, table[_gloffset_MultiTexCoord4i]);
1201 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4iv, table[_gloffset_MultiTexCoord4iv]);
1202 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4s, table[_gloffset_MultiTexCoord4s]);
1203 EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4sv, table[_gloffset_MultiTexCoord4sv]);
1204 }
1205
1206 TEST_F(IndirectAPI, ARB_transpose_matrix)
1207 {
1208 EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixd, table[_glapi_get_proc_offset("glLoadTransposeMatrixdARB")]);
1209 EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixf, table[_glapi_get_proc_offset("glLoadTransposeMatrixfARB")]);
1210 EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixd, table[_glapi_get_proc_offset("glMultTransposeMatrixdARB")]);
1211 EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixf, table[_glapi_get_proc_offset("glMultTransposeMatrixfARB")]);
1212 }
1213
1214 TEST_F(IndirectAPI, ARB_multisample)
1215 {
1216 EXPECT_EQ((_glapi_proc) __indirect_glSampleCoverage, table[_glapi_get_proc_offset("glSampleCoverageARB")]);
1217 }
1218
1219 TEST_F(IndirectAPI, ARB_texture_compression)
1220 {
1221 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage1D, table[_glapi_get_proc_offset("glCompressedTexImage1DARB")]);
1222 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage2D, table[_glapi_get_proc_offset("glCompressedTexImage2DARB")]);
1223 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage3D, table[_glapi_get_proc_offset("glCompressedTexImage3DARB")]);
1224 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage1D, table[_glapi_get_proc_offset("glCompressedTexSubImage1DARB")]);
1225 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage2D, table[_glapi_get_proc_offset("glCompressedTexSubImage2DARB")]);
1226 EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage3D, table[_glapi_get_proc_offset("glCompressedTexSubImage3DARB")]);
1227 EXPECT_EQ((_glapi_proc) __indirect_glGetCompressedTexImage, table[_glapi_get_proc_offset("glGetCompressedTexImageARB")]);
1228 }
1229
1230 TEST_F(IndirectAPI, ARB_vertex_program)
1231 {
1232 EXPECT_EQ((_glapi_proc) __indirect_glDisableVertexAttribArray, table[_glapi_get_proc_offset("glDisableVertexAttribArrayARB")]);
1233 EXPECT_EQ((_glapi_proc) __indirect_glEnableVertexAttribArray, table[_glapi_get_proc_offset("glEnableVertexAttribArrayARB")]);
1234 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterdvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterdvARB")]);
1235 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterfvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterfvARB")]);
1236 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterdvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterdvARB")]);
1237 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterfvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterfvARB")]);
1238 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringARB, table[_glapi_get_proc_offset("glGetProgramStringARB")]);
1239 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivARB, table[_glapi_get_proc_offset("glGetProgramivARB")]);
1240 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdv, table[_glapi_get_proc_offset("glGetVertexAttribdvARB")]);
1241 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfv, table[_glapi_get_proc_offset("glGetVertexAttribfvARB")]);
1242 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribiv, table[_glapi_get_proc_offset("glGetVertexAttribivARB")]);
1243 EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dARB")]);
1244 EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dvARB")]);
1245 EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fARB")]);
1246 EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fvARB")]);
1247 EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dARB")]);
1248 EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dvARB")]);
1249 EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fARB")]);
1250 EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fvARB")]);
1251 EXPECT_EQ((_glapi_proc) __indirect_glProgramStringARB, table[_glapi_get_proc_offset("glProgramStringARB")]);
1252 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1d, table[_glapi_get_proc_offset("glVertexAttrib1dARB")]);
1253 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dv, table[_glapi_get_proc_offset("glVertexAttrib1dvARB")]);
1254 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fARB, table[_glapi_get_proc_offset("glVertexAttrib1fARB")]);
1255 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvARB, table[_glapi_get_proc_offset("glVertexAttrib1fvARB")]);
1256 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1s, table[_glapi_get_proc_offset("glVertexAttrib1sARB")]);
1257 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sv, table[_glapi_get_proc_offset("glVertexAttrib1svARB")]);
1258 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2d, table[_glapi_get_proc_offset("glVertexAttrib2dARB")]);
1259 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dv, table[_glapi_get_proc_offset("glVertexAttrib2dvARB")]);
1260 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fARB, table[_glapi_get_proc_offset("glVertexAttrib2fARB")]);
1261 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvARB, table[_glapi_get_proc_offset("glVertexAttrib2fvARB")]);
1262 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2s, table[_glapi_get_proc_offset("glVertexAttrib2sARB")]);
1263 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sv, table[_glapi_get_proc_offset("glVertexAttrib2svARB")]);
1264 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3d, table[_glapi_get_proc_offset("glVertexAttrib3dARB")]);
1265 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dv, table[_glapi_get_proc_offset("glVertexAttrib3dvARB")]);
1266 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fARB, table[_glapi_get_proc_offset("glVertexAttrib3fARB")]);
1267 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvARB, table[_glapi_get_proc_offset("glVertexAttrib3fvARB")]);
1268 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3s, table[_glapi_get_proc_offset("glVertexAttrib3sARB")]);
1269 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sv, table[_glapi_get_proc_offset("glVertexAttrib3svARB")]);
1270 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nbv, table[_glapi_get_proc_offset("glVertexAttrib4NbvARB")]);
1271 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Niv, table[_glapi_get_proc_offset("glVertexAttrib4NivARB")]);
1272 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nsv, table[_glapi_get_proc_offset("glVertexAttrib4NsvARB")]);
1273 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nub, table[_glapi_get_proc_offset("glVertexAttrib4NubARB")]);
1274 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nubv, table[_glapi_get_proc_offset("glVertexAttrib4NubvARB")]);
1275 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nuiv, table[_glapi_get_proc_offset("glVertexAttrib4NuivARB")]);
1276 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nusv, table[_glapi_get_proc_offset("glVertexAttrib4NusvARB")]);
1277 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4bv, table[_glapi_get_proc_offset("glVertexAttrib4bvARB")]);
1278 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4d, table[_glapi_get_proc_offset("glVertexAttrib4dARB")]);
1279 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dv, table[_glapi_get_proc_offset("glVertexAttrib4dvARB")]);
1280 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fARB, table[_glapi_get_proc_offset("glVertexAttrib4fARB")]);
1281 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvARB, table[_glapi_get_proc_offset("glVertexAttrib4fvARB")]);
1282 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4iv, table[_glapi_get_proc_offset("glVertexAttrib4ivARB")]);
1283 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4s, table[_glapi_get_proc_offset("glVertexAttrib4sARB")]);
1284 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sv, table[_glapi_get_proc_offset("glVertexAttrib4svARB")]);
1285 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubv, table[_glapi_get_proc_offset("glVertexAttrib4ubvARB")]);
1286 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4uiv, table[_glapi_get_proc_offset("glVertexAttrib4uivARB")]);
1287 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4usv, table[_glapi_get_proc_offset("glVertexAttrib4usvARB")]);
1288 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointer, table[_glapi_get_proc_offset("glVertexAttribPointerARB")]);
1289 }
1290
1291 TEST_F(IndirectAPI, ARB_occlusion_query)
1292 {
1293 EXPECT_EQ((_glapi_proc) __indirect_glBeginQuery, table[_glapi_get_proc_offset("glBeginQueryARB")]);
1294 EXPECT_EQ((_glapi_proc) __indirect_glDeleteQueries, table[_glapi_get_proc_offset("glDeleteQueriesARB")]);
1295 EXPECT_EQ((_glapi_proc) __indirect_glEndQuery, table[_glapi_get_proc_offset("glEndQueryARB")]);
1296 EXPECT_EQ((_glapi_proc) __indirect_glGenQueries, table[_glapi_get_proc_offset("glGenQueriesARB")]);
1297 EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectiv, table[_glapi_get_proc_offset("glGetQueryObjectivARB")]);
1298 EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectuiv, table[_glapi_get_proc_offset("glGetQueryObjectuivARB")]);
1299 EXPECT_EQ((_glapi_proc) __indirect_glGetQueryiv, table[_glapi_get_proc_offset("glGetQueryivARB")]);
1300 EXPECT_EQ((_glapi_proc) __indirect_glIsQuery, table[_glapi_get_proc_offset("glIsQueryARB")]);
1301 }
1302
1303 TEST_F(IndirectAPI, ARB_draw_buffers)
1304 {
1305 EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffers, table[_glapi_get_proc_offset("glDrawBuffersARB")]);
1306 }
1307
1308 TEST_F(IndirectAPI, ARB_color_buffer_float)
1309 {
1310 EXPECT_EQ((_glapi_proc) __indirect_glClampColor, table[_glapi_get_proc_offset("glClampColorARB")]);
1311 }
1312
1313 TEST_F(IndirectAPI, ARB_framebuffer_object)
1314 {
1315 EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorageMultisample, table[_glapi_get_proc_offset("glRenderbufferStorageMultisample")]);
1316 }
1317
1318 TEST_F(IndirectAPI, SGIS_multisample)
1319 {
1320 EXPECT_EQ((_glapi_proc) __indirect_glSampleMaskSGIS, table[_glapi_get_proc_offset("glSampleMaskSGIS")]);
1321 EXPECT_EQ((_glapi_proc) __indirect_glSamplePatternSGIS, table[_glapi_get_proc_offset("glSamplePatternSGIS")]);
1322 }
1323
1324 TEST_F(IndirectAPI, EXT_vertex_array)
1325 {
1326 EXPECT_EQ((_glapi_proc) __indirect_glColorPointerEXT, table[_glapi_get_proc_offset("glColorPointerEXT")]);
1327 EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointerEXT, table[_glapi_get_proc_offset("glEdgeFlagPointerEXT")]);
1328 EXPECT_EQ((_glapi_proc) __indirect_glIndexPointerEXT, table[_glapi_get_proc_offset("glIndexPointerEXT")]);
1329 EXPECT_EQ((_glapi_proc) __indirect_glNormalPointerEXT, table[_glapi_get_proc_offset("glNormalPointerEXT")]);
1330 EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointerEXT, table[_glapi_get_proc_offset("glTexCoordPointerEXT")]);
1331 EXPECT_EQ((_glapi_proc) __indirect_glVertexPointerEXT, table[_glapi_get_proc_offset("glVertexPointerEXT")]);
1332 }
1333
1334 TEST_F(IndirectAPI, EXT_point_parameters)
1335 {
1336 EXPECT_EQ((_glapi_proc) __indirect_glPointParameterf, table[_glapi_get_proc_offset("glPointParameterfEXT")]);
1337 EXPECT_EQ((_glapi_proc) __indirect_glPointParameterfv, table[_glapi_get_proc_offset("glPointParameterfvEXT")]);
1338 }
1339
1340 TEST_F(IndirectAPI, EXT_secondary_color)
1341 {
1342 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3b, table[_glapi_get_proc_offset("glSecondaryColor3bEXT")]);
1343 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3bv, table[_glapi_get_proc_offset("glSecondaryColor3bvEXT")]);
1344 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3d, table[_glapi_get_proc_offset("glSecondaryColor3dEXT")]);
1345 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3dv, table[_glapi_get_proc_offset("glSecondaryColor3dvEXT")]);
1346 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fEXT, table[_glapi_get_proc_offset("glSecondaryColor3fEXT")]);
1347 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fvEXT, table[_glapi_get_proc_offset("glSecondaryColor3fvEXT")]);
1348 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3i, table[_glapi_get_proc_offset("glSecondaryColor3iEXT")]);
1349 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3iv, table[_glapi_get_proc_offset("glSecondaryColor3ivEXT")]);
1350 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3s, table[_glapi_get_proc_offset("glSecondaryColor3sEXT")]);
1351 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3sv, table[_glapi_get_proc_offset("glSecondaryColor3svEXT")]);
1352 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ub, table[_glapi_get_proc_offset("glSecondaryColor3ubEXT")]);
1353 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ubv, table[_glapi_get_proc_offset("glSecondaryColor3ubvEXT")]);
1354 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ui, table[_glapi_get_proc_offset("glSecondaryColor3uiEXT")]);
1355 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3uiv, table[_glapi_get_proc_offset("glSecondaryColor3uivEXT")]);
1356 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3us, table[_glapi_get_proc_offset("glSecondaryColor3usEXT")]);
1357 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3usv, table[_glapi_get_proc_offset("glSecondaryColor3usvEXT")]);
1358 EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColorPointer, table[_glapi_get_proc_offset("glSecondaryColorPointerEXT")]);
1359 }
1360
1361 TEST_F(IndirectAPI, EXT_multi_draw_arrays)
1362 {
1363 EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawArrays, table[_glapi_get_proc_offset("glMultiDrawArraysEXT")]);
1364 EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawElementsEXT, table[_glapi_get_proc_offset("glMultiDrawElementsEXT")]);
1365 }
1366
1367 TEST_F(IndirectAPI, EXT_fog_coord)
1368 {
1369 EXPECT_EQ((_glapi_proc) __indirect_glFogCoordPointer, table[_glapi_get_proc_offset("glFogCoordPointerEXT")]);
1370 EXPECT_EQ((_glapi_proc) __indirect_glFogCoordd, table[_glapi_get_proc_offset("glFogCoorddEXT")]);
1371 EXPECT_EQ((_glapi_proc) __indirect_glFogCoorddv, table[_glapi_get_proc_offset("glFogCoorddvEXT")]);
1372 EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfEXT, table[_glapi_get_proc_offset("glFogCoordfEXT")]);
1373 EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfvEXT, table[_glapi_get_proc_offset("glFogCoordfvEXT")]);
1374 }
1375
1376 TEST_F(IndirectAPI, EXT_blend_func_separate)
1377 {
1378 EXPECT_EQ((_glapi_proc) __indirect_glBlendFuncSeparate, table[_glapi_get_proc_offset("glBlendFuncSeparateEXT")]);
1379 }
1380
1381 TEST_F(IndirectAPI, MESA_window_pos)
1382 {
1383 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2d, table[_glapi_get_proc_offset("glWindowPos2dMESA")]);
1384 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2dv, table[_glapi_get_proc_offset("glWindowPos2dvMESA")]);
1385 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2f, table[_glapi_get_proc_offset("glWindowPos2fMESA")]);
1386 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2fv, table[_glapi_get_proc_offset("glWindowPos2fvMESA")]);
1387 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2i, table[_glapi_get_proc_offset("glWindowPos2iMESA")]);
1388 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2iv, table[_glapi_get_proc_offset("glWindowPos2ivMESA")]);
1389 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2s, table[_glapi_get_proc_offset("glWindowPos2sMESA")]);
1390 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2sv, table[_glapi_get_proc_offset("glWindowPos2svMESA")]);
1391 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3d, table[_glapi_get_proc_offset("glWindowPos3dMESA")]);
1392 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3dv, table[_glapi_get_proc_offset("glWindowPos3dvMESA")]);
1393 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3f, table[_glapi_get_proc_offset("glWindowPos3fMESA")]);
1394 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3fv, table[_glapi_get_proc_offset("glWindowPos3fvMESA")]);
1395 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3i, table[_glapi_get_proc_offset("glWindowPos3iMESA")]);
1396 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3iv, table[_glapi_get_proc_offset("glWindowPos3ivMESA")]);
1397 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3s, table[_glapi_get_proc_offset("glWindowPos3sMESA")]);
1398 EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3sv, table[_glapi_get_proc_offset("glWindowPos3svMESA")]);
1399 }
1400
1401 TEST_F(IndirectAPI, NV_vertex_program)
1402 {
1403 EXPECT_EQ((_glapi_proc) __indirect_glAreProgramsResidentNV, table[_glapi_get_proc_offset("glAreProgramsResidentNV")]);
1404 EXPECT_EQ((_glapi_proc) __indirect_glBindProgramARB, table[_glapi_get_proc_offset("glBindProgramNV")]);
1405 EXPECT_EQ((_glapi_proc) __indirect_glDeleteProgramsARB, table[_glapi_get_proc_offset("glDeleteProgramsNV")]);
1406 EXPECT_EQ((_glapi_proc) __indirect_glExecuteProgramNV, table[_glapi_get_proc_offset("glExecuteProgramNV")]);
1407 EXPECT_EQ((_glapi_proc) __indirect_glGenProgramsARB, table[_glapi_get_proc_offset("glGenProgramsNV")]);
1408 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterdvNV, table[_glapi_get_proc_offset("glGetProgramParameterdvNV")]);
1409 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterfvNV, table[_glapi_get_proc_offset("glGetProgramParameterfvNV")]);
1410 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringNV, table[_glapi_get_proc_offset("glGetProgramStringNV")]);
1411 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivNV, table[_glapi_get_proc_offset("glGetProgramivNV")]);
1412 EXPECT_EQ((_glapi_proc) __indirect_glGetTrackMatrixivNV, table[_glapi_get_proc_offset("glGetTrackMatrixivNV")]);
1413 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribPointerv, table[_glapi_get_proc_offset("glGetVertexAttribPointervNV")]);
1414 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdvNV, table[_glapi_get_proc_offset("glGetVertexAttribdvNV")]);
1415 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfvNV, table[_glapi_get_proc_offset("glGetVertexAttribfvNV")]);
1416 EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribivNV, table[_glapi_get_proc_offset("glGetVertexAttribivNV")]);
1417 EXPECT_EQ((_glapi_proc) __indirect_glIsProgramARB, table[_glapi_get_proc_offset("glIsProgramNV")]);
1418 EXPECT_EQ((_glapi_proc) __indirect_glLoadProgramNV, table[_glapi_get_proc_offset("glLoadProgramNV")]);
1419 EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4dvNV, table[_glapi_get_proc_offset("glProgramParameters4dvNV")]);
1420 EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4fvNV, table[_glapi_get_proc_offset("glProgramParameters4fvNV")]);
1421 EXPECT_EQ((_glapi_proc) __indirect_glRequestResidentProgramsNV, table[_glapi_get_proc_offset("glRequestResidentProgramsNV")]);
1422 EXPECT_EQ((_glapi_proc) __indirect_glTrackMatrixNV, table[_glapi_get_proc_offset("glTrackMatrixNV")]);
1423 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dNV, table[_glapi_get_proc_offset("glVertexAttrib1dNV")]);
1424 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dvNV, table[_glapi_get_proc_offset("glVertexAttrib1dvNV")]);
1425 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fNV, table[_glapi_get_proc_offset("glVertexAttrib1fNV")]);
1426 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvNV, table[_glapi_get_proc_offset("glVertexAttrib1fvNV")]);
1427 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sNV, table[_glapi_get_proc_offset("glVertexAttrib1sNV")]);
1428 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1svNV, table[_glapi_get_proc_offset("glVertexAttrib1svNV")]);
1429 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dNV, table[_glapi_get_proc_offset("glVertexAttrib2dNV")]);
1430 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dvNV, table[_glapi_get_proc_offset("glVertexAttrib2dvNV")]);
1431 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fNV, table[_glapi_get_proc_offset("glVertexAttrib2fNV")]);
1432 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvNV, table[_glapi_get_proc_offset("glVertexAttrib2fvNV")]);
1433 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sNV, table[_glapi_get_proc_offset("glVertexAttrib2sNV")]);
1434 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2svNV, table[_glapi_get_proc_offset("glVertexAttrib2svNV")]);
1435 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dNV, table[_glapi_get_proc_offset("glVertexAttrib3dNV")]);
1436 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dvNV, table[_glapi_get_proc_offset("glVertexAttrib3dvNV")]);
1437 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fNV, table[_glapi_get_proc_offset("glVertexAttrib3fNV")]);
1438 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvNV, table[_glapi_get_proc_offset("glVertexAttrib3fvNV")]);
1439 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sNV, table[_glapi_get_proc_offset("glVertexAttrib3sNV")]);
1440 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3svNV, table[_glapi_get_proc_offset("glVertexAttrib3svNV")]);
1441 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dNV, table[_glapi_get_proc_offset("glVertexAttrib4dNV")]);
1442 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dvNV, table[_glapi_get_proc_offset("glVertexAttrib4dvNV")]);
1443 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fNV, table[_glapi_get_proc_offset("glVertexAttrib4fNV")]);
1444 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvNV, table[_glapi_get_proc_offset("glVertexAttrib4fvNV")]);
1445 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sNV, table[_glapi_get_proc_offset("glVertexAttrib4sNV")]);
1446 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4svNV, table[_glapi_get_proc_offset("glVertexAttrib4svNV")]);
1447 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubNV, table[_glapi_get_proc_offset("glVertexAttrib4ubNV")]);
1448 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubvNV, table[_glapi_get_proc_offset("glVertexAttrib4ubvNV")]);
1449 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointerNV, table[_glapi_get_proc_offset("glVertexAttribPointerNV")]);
1450 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1dvNV, table[_glapi_get_proc_offset("glVertexAttribs1dvNV")]);
1451 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1fvNV, table[_glapi_get_proc_offset("glVertexAttribs1fvNV")]);
1452 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1svNV, table[_glapi_get_proc_offset("glVertexAttribs1svNV")]);
1453 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2dvNV, table[_glapi_get_proc_offset("glVertexAttribs2dvNV")]);
1454 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2fvNV, table[_glapi_get_proc_offset("glVertexAttribs2fvNV")]);
1455 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2svNV, table[_glapi_get_proc_offset("glVertexAttribs2svNV")]);
1456 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3dvNV, table[_glapi_get_proc_offset("glVertexAttribs3dvNV")]);
1457 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3fvNV, table[_glapi_get_proc_offset("glVertexAttribs3fvNV")]);
1458 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3svNV, table[_glapi_get_proc_offset("glVertexAttribs3svNV")]);
1459 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4dvNV, table[_glapi_get_proc_offset("glVertexAttribs4dvNV")]);
1460 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4fvNV, table[_glapi_get_proc_offset("glVertexAttribs4fvNV")]);
1461 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4svNV, table[_glapi_get_proc_offset("glVertexAttribs4svNV")]);
1462 EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4ubvNV, table[_glapi_get_proc_offset("glVertexAttribs4ubvNV")]);
1463 }
1464
1465 TEST_F(IndirectAPI, NV_point_sprite)
1466 {
1467 EXPECT_EQ((_glapi_proc) __indirect_glPointParameteri, table[_glapi_get_proc_offset("glPointParameteriNV")]);
1468 EXPECT_EQ((_glapi_proc) __indirect_glPointParameteriv, table[_glapi_get_proc_offset("glPointParameterivNV")]);
1469 }
1470
1471 TEST_F(IndirectAPI, EXT_stencil_two_side)
1472 {
1473 EXPECT_EQ((_glapi_proc) __indirect_glActiveStencilFaceEXT, table[_glapi_get_proc_offset("glActiveStencilFaceEXT")]);
1474 }
1475
1476 TEST_F(IndirectAPI, NV_fragment_program)
1477 {
1478 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterdvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterdvNV")]);
1479 EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterfvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterfvNV")]);
1480 EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dNV")]);
1481 EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dvNV")]);
1482 EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fNV")]);
1483 EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fvNV")]);
1484 }
1485
1486 TEST_F(IndirectAPI, EXT_blend_equation_separate)
1487 {
1488 EXPECT_EQ((_glapi_proc) __indirect_glBlendEquationSeparate, table[_glapi_get_proc_offset("glBlendEquationSeparateEXT")]);
1489 }
1490
1491 TEST_F(IndirectAPI, EXT_framebuffer_object)
1492 {
1493 EXPECT_EQ((_glapi_proc) __indirect_glBindFramebufferEXT, table[_glapi_get_proc_offset("glBindFramebufferEXT")]);
1494 EXPECT_EQ((_glapi_proc) __indirect_glBindRenderbufferEXT, table[_glapi_get_proc_offset("glBindRenderbufferEXT")]);
1495 EXPECT_EQ((_glapi_proc) __indirect_glBindFramebuffer, table[_glapi_get_proc_offset("glBindFramebuffer")]);
1496 EXPECT_EQ((_glapi_proc) __indirect_glBindRenderbuffer, table[_glapi_get_proc_offset("glBindRenderbuffer")]);
1497 EXPECT_EQ((_glapi_proc) __indirect_glCheckFramebufferStatus, table[_glapi_get_proc_offset("glCheckFramebufferStatusEXT")]);
1498 EXPECT_EQ((_glapi_proc) __indirect_glDeleteFramebuffers, table[_glapi_get_proc_offset("glDeleteFramebuffersEXT")]);
1499 EXPECT_EQ((_glapi_proc) __indirect_glDeleteRenderbuffers, table[_glapi_get_proc_offset("glDeleteRenderbuffersEXT")]);
1500 EXPECT_EQ((_glapi_proc) __indirect_glFramebufferRenderbuffer, table[_glapi_get_proc_offset("glFramebufferRenderbufferEXT")]);
1501 EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture1D, table[_glapi_get_proc_offset("glFramebufferTexture1DEXT")]);
1502 EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture2D, table[_glapi_get_proc_offset("glFramebufferTexture2DEXT")]);
1503 EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture3D, table[_glapi_get_proc_offset("glFramebufferTexture3DEXT")]);
1504 EXPECT_EQ((_glapi_proc) __indirect_glGenFramebuffers, table[_glapi_get_proc_offset("glGenFramebuffersEXT")]);
1505 EXPECT_EQ((_glapi_proc) __indirect_glGenRenderbuffers, table[_glapi_get_proc_offset("glGenRenderbuffersEXT")]);
1506 EXPECT_EQ((_glapi_proc) __indirect_glGenerateMipmap, table[_glapi_get_proc_offset("glGenerateMipmapEXT")]);
1507 EXPECT_EQ((_glapi_proc) __indirect_glGetFramebufferAttachmentParameteriv, table[_glapi_get_proc_offset("glGetFramebufferAttachmentParameterivEXT")]);
1508 EXPECT_EQ((_glapi_proc) __indirect_glGetRenderbufferParameteriv, table[_glapi_get_proc_offset("glGetRenderbufferParameterivEXT")]);
1509 EXPECT_EQ((_glapi_proc) __indirect_glIsFramebuffer, table[_glapi_get_proc_offset("glIsFramebufferEXT")]);
1510 EXPECT_EQ((_glapi_proc) __indirect_glIsRenderbuffer, table[_glapi_get_proc_offset("glIsRenderbufferEXT")]);
1511 EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorage, table[_glapi_get_proc_offset("glRenderbufferStorageEXT")]);
1512 }
1513
1514 TEST_F(IndirectAPI, EXT_framebuffer_blit)
1515 {
1516 EXPECT_EQ((_glapi_proc) __indirect_glBlitFramebuffer, table[_glapi_get_proc_offset("glBlitFramebufferEXT")]);
1517 }
1518
1519 TEST_F(IndirectAPI, EXT_texture_array)
1520 {
1521 EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTextureLayer, table[_glapi_get_proc_offset("glFramebufferTextureLayerEXT")]);
1522 }
1523
1524 #endif