Home | History | Annotate | Download | only in tests
      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 <GL/gl.h>
     48 extern "C" {
     49 #include "../indirect_init.h"
     50 #include "glapi/glapi.h"
     51 #include "../../mesa/main/dispatch.h"
     52 }
     53 
     54 static const void *nil = 0;
     55 
     56 #define EXTRA_DISPATCH 111
     57 
     58 static bool dispatch_table_size_was_queried = false;
     59 
     60 extern "C" GLuint
     61 _glapi_get_dispatch_table_size(void)
     62 {
     63    dispatch_table_size_was_queried = true;
     64    return _gloffset_COUNT + EXTRA_DISPATCH;
     65 }
     66 
     67 /**
     68  * \name Indirect-rendering function stubs
     69  *
     70  * These are necessary so that indirect_init.c doesn't try to link with
     71  * indirect.c.  Linking with indirect.c would require linking with various X
     72  * libraries and a bunch of other stuff.  While this is ugly, it does simplify
     73  * the build quite a bit.
     74  */
     75 /*@{*/
     76 extern "C" {
     77 void __indirect_glAccum(void) { }
     78 void __indirect_glAlphaFunc(void) { }
     79 void __indirect_glBegin(void) { }
     80 void __indirect_glBitmap(void) { }
     81 void __indirect_glBlendFunc(void) { }
     82 void __indirect_glCallList(void) { }
     83 void __indirect_glCallLists(void) { }
     84 void __indirect_glClear(void) { }
     85 void __indirect_glClearAccum(void) { }
     86 void __indirect_glClearColor(void) { }
     87 void __indirect_glClearDepth(void) { }
     88 void __indirect_glClearIndex(void) { }
     89 void __indirect_glClearStencil(void) { }
     90 void __indirect_glClipPlane(void) { }
     91 void __indirect_glColor3b(void) { }
     92 void __indirect_glColor3bv(void) { }
     93 void __indirect_glColor3d(void) { }
     94 void __indirect_glColor3dv(void) { }
     95 void __indirect_glColor3f(void) { }
     96 void __indirect_glColor3fv(void) { }
     97 void __indirect_glColor3i(void) { }
     98 void __indirect_glColor3iv(void) { }
     99 void __indirect_glColor3s(void) { }
    100 void __indirect_glColor3sv(void) { }
    101 void __indirect_glColor3ub(void) { }
    102 void __indirect_glColor3ubv(void) { }
    103 void __indirect_glColor3ui(void) { }
    104 void __indirect_glColor3uiv(void) { }
    105 void __indirect_glColor3us(void) { }
    106 void __indirect_glColor3usv(void) { }
    107 void __indirect_glColor4b(void) { }
    108 void __indirect_glColor4bv(void) { }
    109 void __indirect_glColor4d(void) { }
    110 void __indirect_glColor4dv(void) { }
    111 void __indirect_glColor4f(void) { }
    112 void __indirect_glColor4fv(void) { }
    113 void __indirect_glColor4i(void) { }
    114 void __indirect_glColor4iv(void) { }
    115 void __indirect_glColor4s(void) { }
    116 void __indirect_glColor4sv(void) { }
    117 void __indirect_glColor4ub(void) { }
    118 void __indirect_glColor4ubv(void) { }
    119 void __indirect_glColor4ui(void) { }
    120 void __indirect_glColor4uiv(void) { }
    121 void __indirect_glColor4us(void) { }
    122 void __indirect_glColor4usv(void) { }
    123 void __indirect_glColorMask(void) { }
    124 void __indirect_glColorMaterial(void) { }
    125 void __indirect_glCopyPixels(void) { }
    126 void __indirect_glCullFace(void) { }
    127 void __indirect_glDeleteLists(void) { }
    128 void __indirect_glDepthFunc(void) { }
    129 void __indirect_glDepthMask(void) { }
    130 void __indirect_glDepthRange(void) { }
    131 void __indirect_glDisable(void) { }
    132 void __indirect_glDrawBuffer(void) { }
    133 void __indirect_glDrawPixels(void) { }
    134 void __indirect_glEdgeFlag(void) { }
    135 void __indirect_glEdgeFlagv(void) { }
    136 void __indirect_glEnable(void) { }
    137 void __indirect_glEnd(void) { }
    138 void __indirect_glEndList(void) { }
    139 void __indirect_glEvalCoord1d(void) { }
    140 void __indirect_glEvalCoord1dv(void) { }
    141 void __indirect_glEvalCoord1f(void) { }
    142 void __indirect_glEvalCoord1fv(void) { }
    143 void __indirect_glEvalCoord2d(void) { }
    144 void __indirect_glEvalCoord2dv(void) { }
    145 void __indirect_glEvalCoord2f(void) { }
    146 void __indirect_glEvalCoord2fv(void) { }
    147 void __indirect_glEvalMesh1(void) { }
    148 void __indirect_glEvalMesh2(void) { }
    149 void __indirect_glEvalPoint1(void) { }
    150 void __indirect_glEvalPoint2(void) { }
    151 void __indirect_glFeedbackBuffer(void) { }
    152 void __indirect_glFinish(void) { }
    153 void __indirect_glFlush(void) { }
    154 void __indirect_glFogf(void) { }
    155 void __indirect_glFogfv(void) { }
    156 void __indirect_glFogi(void) { }
    157 void __indirect_glFogiv(void) { }
    158 void __indirect_glFrontFace(void) { }
    159 void __indirect_glFrustum(void) { }
    160 void __indirect_glGenLists(void) { }
    161 void __indirect_glGetBooleanv(void) { }
    162 void __indirect_glGetClipPlane(void) { }
    163 void __indirect_glGetDoublev(void) { }
    164 void __indirect_glGetError(void) { }
    165 void __indirect_glGetFloatv(void) { }
    166 void __indirect_glGetIntegerv(void) { }
    167 void __indirect_glGetLightfv(void) { }
    168 void __indirect_glGetLightiv(void) { }
    169 void __indirect_glGetMapdv(void) { }
    170 void __indirect_glGetMapfv(void) { }
    171 void __indirect_glGetMapiv(void) { }
    172 void __indirect_glGetMaterialfv(void) { }
    173 void __indirect_glGetMaterialiv(void) { }
    174 void __indirect_glGetPixelMapfv(void) { }
    175 void __indirect_glGetPixelMapuiv(void) { }
    176 void __indirect_glGetPixelMapusv(void) { }
    177 void __indirect_glGetPolygonStipple(void) { }
    178 void __indirect_glGetString(void) { }
    179 void __indirect_glGetTexEnvfv(void) { }
    180 void __indirect_glGetTexEnviv(void) { }
    181 void __indirect_glGetTexGendv(void) { }
    182 void __indirect_glGetTexGenfv(void) { }
    183 void __indirect_glGetTexGeniv(void) { }
    184 void __indirect_glGetTexImage(void) { }
    185 void __indirect_glGetTexLevelParameterfv(void) { }
    186 void __indirect_glGetTexLevelParameteriv(void) { }
    187 void __indirect_glGetTexParameterfv(void) { }
    188 void __indirect_glGetTexParameteriv(void) { }
    189 void __indirect_glHint(void) { }
    190 void __indirect_glIndexMask(void) { }
    191 void __indirect_glIndexd(void) { }
    192 void __indirect_glIndexdv(void) { }
    193 void __indirect_glIndexf(void) { }
    194 void __indirect_glIndexfv(void) { }
    195 void __indirect_glIndexi(void) { }
    196 void __indirect_glIndexiv(void) { }
    197 void __indirect_glIndexs(void) { }
    198 void __indirect_glIndexsv(void) { }
    199 void __indirect_glInitNames(void) { }
    200 void __indirect_glIsEnabled(void) { }
    201 void __indirect_glIsList(void) { }
    202 void __indirect_glLightModelf(void) { }
    203 void __indirect_glLightModelfv(void) { }
    204 void __indirect_glLightModeli(void) { }
    205 void __indirect_glLightModeliv(void) { }
    206 void __indirect_glLightf(void) { }
    207 void __indirect_glLightfv(void) { }
    208 void __indirect_glLighti(void) { }
    209 void __indirect_glLightiv(void) { }
    210 void __indirect_glLineStipple(void) { }
    211 void __indirect_glLineWidth(void) { }
    212 void __indirect_glListBase(void) { }
    213 void __indirect_glLoadIdentity(void) { }
    214 void __indirect_glLoadMatrixd(void) { }
    215 void __indirect_glLoadMatrixf(void) { }
    216 void __indirect_glLoadName(void) { }
    217 void __indirect_glLogicOp(void) { }
    218 void __indirect_glMap1d(void) { }
    219 void __indirect_glMap1f(void) { }
    220 void __indirect_glMap2d(void) { }
    221 void __indirect_glMap2f(void) { }
    222 void __indirect_glMapGrid1d(void) { }
    223 void __indirect_glMapGrid1f(void) { }
    224 void __indirect_glMapGrid2d(void) { }
    225 void __indirect_glMapGrid2f(void) { }
    226 void __indirect_glMaterialf(void) { }
    227 void __indirect_glMaterialfv(void) { }
    228 void __indirect_glMateriali(void) { }
    229 void __indirect_glMaterialiv(void) { }
    230 void __indirect_glMatrixMode(void) { }
    231 void __indirect_glMultMatrixd(void) { }
    232 void __indirect_glMultMatrixf(void) { }
    233 void __indirect_glNewList(void) { }
    234 void __indirect_glNormal3b(void) { }
    235 void __indirect_glNormal3bv(void) { }
    236 void __indirect_glNormal3d(void) { }
    237 void __indirect_glNormal3dv(void) { }
    238 void __indirect_glNormal3f(void) { }
    239 void __indirect_glNormal3fv(void) { }
    240 void __indirect_glNormal3i(void) { }
    241 void __indirect_glNormal3iv(void) { }
    242 void __indirect_glNormal3s(void) { }
    243 void __indirect_glNormal3sv(void) { }
    244 void __indirect_glOrtho(void) { }
    245 void __indirect_glPassThrough(void) { }
    246 void __indirect_glPixelMapfv(void) { }
    247 void __indirect_glPixelMapuiv(void) { }
    248 void __indirect_glPixelMapusv(void) { }
    249 void __indirect_glPixelStoref(void) { }
    250 void __indirect_glPixelStorei(void) { }
    251 void __indirect_glPixelTransferf(void) { }
    252 void __indirect_glPixelTransferi(void) { }
    253 void __indirect_glPixelZoom(void) { }
    254 void __indirect_glPointSize(void) { }
    255 void __indirect_glPolygonMode(void) { }
    256 void __indirect_glPolygonStipple(void) { }
    257 void __indirect_glPopAttrib(void) { }
    258 void __indirect_glPopMatrix(void) { }
    259 void __indirect_glPopName(void) { }
    260 void __indirect_glPushAttrib(void) { }
    261 void __indirect_glPushMatrix(void) { }
    262 void __indirect_glPushName(void) { }
    263 void __indirect_glRasterPos2d(void) { }
    264 void __indirect_glRasterPos2dv(void) { }
    265 void __indirect_glRasterPos2f(void) { }
    266 void __indirect_glRasterPos2fv(void) { }
    267 void __indirect_glRasterPos2i(void) { }
    268 void __indirect_glRasterPos2iv(void) { }
    269 void __indirect_glRasterPos2s(void) { }
    270 void __indirect_glRasterPos2sv(void) { }
    271 void __indirect_glRasterPos3d(void) { }
    272 void __indirect_glRasterPos3dv(void) { }
    273 void __indirect_glRasterPos3f(void) { }
    274 void __indirect_glRasterPos3fv(void) { }
    275 void __indirect_glRasterPos3i(void) { }
    276 void __indirect_glRasterPos3iv(void) { }
    277 void __indirect_glRasterPos3s(void) { }
    278 void __indirect_glRasterPos3sv(void) { }
    279 void __indirect_glRasterPos4d(void) { }
    280 void __indirect_glRasterPos4dv(void) { }
    281 void __indirect_glRasterPos4f(void) { }
    282 void __indirect_glRasterPos4fv(void) { }
    283 void __indirect_glRasterPos4i(void) { }
    284 void __indirect_glRasterPos4iv(void) { }
    285 void __indirect_glRasterPos4s(void) { }
    286 void __indirect_glRasterPos4sv(void) { }
    287 void __indirect_glReadBuffer(void) { }
    288 void __indirect_glReadPixels(void) { }
    289 void __indirect_glRectd(void) { }
    290 void __indirect_glRectdv(void) { }
    291 void __indirect_glRectf(void) { }
    292 void __indirect_glRectfv(void) { }
    293 void __indirect_glRecti(void) { }
    294 void __indirect_glRectiv(void) { }
    295 void __indirect_glRects(void) { }
    296 void __indirect_glRectsv(void) { }
    297 void __indirect_glRenderMode(void) { }
    298 void __indirect_glRotated(void) { }
    299 void __indirect_glRotatef(void) { }
    300 void __indirect_glScaled(void) { }
    301 void __indirect_glScalef(void) { }
    302 void __indirect_glScissor(void) { }
    303 void __indirect_glSelectBuffer(void) { }
    304 void __indirect_glShadeModel(void) { }
    305 void __indirect_glStencilFunc(void) { }
    306 void __indirect_glStencilMask(void) { }
    307 void __indirect_glStencilOp(void) { }
    308 void __indirect_glTexCoord1d(void) { }
    309 void __indirect_glTexCoord1dv(void) { }
    310 void __indirect_glTexCoord1f(void) { }
    311 void __indirect_glTexCoord1fv(void) { }
    312 void __indirect_glTexCoord1i(void) { }
    313 void __indirect_glTexCoord1iv(void) { }
    314 void __indirect_glTexCoord1s(void) { }
    315 void __indirect_glTexCoord1sv(void) { }
    316 void __indirect_glTexCoord2d(void) { }
    317 void __indirect_glTexCoord2dv(void) { }
    318 void __indirect_glTexCoord2f(void) { }
    319 void __indirect_glTexCoord2fv(void) { }
    320 void __indirect_glTexCoord2i(void) { }
    321 void __indirect_glTexCoord2iv(void) { }
    322 void __indirect_glTexCoord2s(void) { }
    323 void __indirect_glTexCoord2sv(void) { }
    324 void __indirect_glTexCoord3d(void) { }
    325 void __indirect_glTexCoord3dv(void) { }
    326 void __indirect_glTexCoord3f(void) { }
    327 void __indirect_glTexCoord3fv(void) { }
    328 void __indirect_glTexCoord3i(void) { }
    329 void __indirect_glTexCoord3iv(void) { }
    330 void __indirect_glTexCoord3s(void) { }
    331 void __indirect_glTexCoord3sv(void) { }
    332 void __indirect_glTexCoord4d(void) { }
    333 void __indirect_glTexCoord4dv(void) { }
    334 void __indirect_glTexCoord4f(void) { }
    335 void __indirect_glTexCoord4fv(void) { }
    336 void __indirect_glTexCoord4i(void) { }
    337 void __indirect_glTexCoord4iv(void) { }
    338 void __indirect_glTexCoord4s(void) { }
    339 void __indirect_glTexCoord4sv(void) { }
    340 void __indirect_glTexEnvf(void) { }
    341 void __indirect_glTexEnvfv(void) { }
    342 void __indirect_glTexEnvi(void) { }
    343 void __indirect_glTexEnviv(void) { }
    344 void __indirect_glTexGend(void) { }
    345 void __indirect_glTexGendv(void) { }
    346 void __indirect_glTexGenf(void) { }
    347 void __indirect_glTexGenfv(void) { }
    348 void __indirect_glTexGeni(void) { }
    349 void __indirect_glTexGeniv(void) { }
    350 void __indirect_glTexImage1D(void) { }
    351 void __indirect_glTexImage2D(void) { }
    352 void __indirect_glTexParameterf(void) { }
    353 void __indirect_glTexParameterfv(void) { }
    354 void __indirect_glTexParameteri(void) { }
    355 void __indirect_glTexParameteriv(void) { }
    356 void __indirect_glTranslated(void) { }
    357 void __indirect_glTranslatef(void) { }
    358 void __indirect_glVertex2d(void) { }
    359 void __indirect_glVertex2dv(void) { }
    360 void __indirect_glVertex2f(void) { }
    361 void __indirect_glVertex2fv(void) { }
    362 void __indirect_glVertex2i(void) { }
    363 void __indirect_glVertex2iv(void) { }
    364 void __indirect_glVertex2s(void) { }
    365 void __indirect_glVertex2sv(void) { }
    366 void __indirect_glVertex3d(void) { }
    367 void __indirect_glVertex3dv(void) { }
    368 void __indirect_glVertex3f(void) { }
    369 void __indirect_glVertex3fv(void) { }
    370 void __indirect_glVertex3i(void) { }
    371 void __indirect_glVertex3iv(void) { }
    372 void __indirect_glVertex3s(void) { }
    373 void __indirect_glVertex3sv(void) { }
    374 void __indirect_glVertex4d(void) { }
    375 void __indirect_glVertex4dv(void) { }
    376 void __indirect_glVertex4f(void) { }
    377 void __indirect_glVertex4fv(void) { }
    378 void __indirect_glVertex4i(void) { }
    379 void __indirect_glVertex4iv(void) { }
    380 void __indirect_glVertex4s(void) { }
    381 void __indirect_glVertex4sv(void) { }
    382 void __indirect_glViewport(void) { }
    383 void __indirect_glAreTexturesResident(void) { }
    384 void __indirect_glArrayElement(void) { }
    385 void __indirect_glBindTexture(void) { }
    386 void __indirect_glColorPointer(void) { }
    387 void __indirect_glCopyTexImage1D(void) { }
    388 void __indirect_glCopyTexImage2D(void) { }
    389 void __indirect_glCopyTexSubImage1D(void) { }
    390 void __indirect_glCopyTexSubImage2D(void) { }
    391 void __indirect_glDeleteTextures(void) { }
    392 void __indirect_glDisableClientState(void) { }
    393 void __indirect_glDrawArrays(void) { }
    394 void __indirect_glDrawElements(void) { }
    395 void __indirect_glEdgeFlagPointer(void) { }
    396 void __indirect_glEnableClientState(void) { }
    397 void __indirect_glGenTextures(void) { }
    398 void __indirect_glGetPointerv(void) { }
    399 void __indirect_glIndexPointer(void) { }
    400 void __indirect_glIndexub(void) { }
    401 void __indirect_glIndexubv(void) { }
    402 void __indirect_glInterleavedArrays(void) { }
    403 void __indirect_glIsTexture(void) { }
    404 void __indirect_glNormalPointer(void) { }
    405 void __indirect_glPolygonOffset(void) { }
    406 void __indirect_glPopClientAttrib(void) { }
    407 void __indirect_glPrioritizeTextures(void) { }
    408 void __indirect_glPushClientAttrib(void) { }
    409 void __indirect_glTexCoordPointer(void) { }
    410 void __indirect_glTexSubImage1D(void) { }
    411 void __indirect_glTexSubImage2D(void) { }
    412 void __indirect_glVertexPointer(void) { }
    413 void __indirect_glBlendColor(void) { }
    414 void __indirect_glBlendEquation(void) { }
    415 void __indirect_glColorSubTable(void) { }
    416 void __indirect_glColorTable(void) { }
    417 void __indirect_glColorTableParameterfv(void) { }
    418 void __indirect_glColorTableParameteriv(void) { }
    419 void __indirect_glConvolutionFilter1D(void) { }
    420 void __indirect_glConvolutionFilter2D(void) { }
    421 void __indirect_glConvolutionParameterf(void) { }
    422 void __indirect_glConvolutionParameterfv(void) { }
    423 void __indirect_glConvolutionParameteri(void) { }
    424 void __indirect_glConvolutionParameteriv(void) { }
    425 void __indirect_glCopyColorSubTable(void) { }
    426 void __indirect_glCopyColorTable(void) { }
    427 void __indirect_glCopyConvolutionFilter1D(void) { }
    428 void __indirect_glCopyConvolutionFilter2D(void) { }
    429 void __indirect_glCopyTexSubImage3D(void) { }
    430 void __indirect_glDrawRangeElements(void) { }
    431 void __indirect_glGetColorTable(void) { }
    432 void __indirect_glGetColorTableParameterfv(void) { }
    433 void __indirect_glGetColorTableParameteriv(void) { }
    434 void __indirect_glGetConvolutionFilter(void) { }
    435 void __indirect_glGetConvolutionParameterfv(void) { }
    436 void __indirect_glGetConvolutionParameteriv(void) { }
    437 void __indirect_glGetHistogram(void) { }
    438 void __indirect_glGetHistogramParameterfv(void) { }
    439 void __indirect_glGetHistogramParameteriv(void) { }
    440 void __indirect_glGetMinmax(void) { }
    441 void __indirect_glGetMinmaxParameterfv(void) { }
    442 void __indirect_glGetMinmaxParameteriv(void) { }
    443 void __indirect_glGetSeparableFilter(void) { }
    444 void __indirect_glHistogram(void) { }
    445 void __indirect_glMinmax(void) { }
    446 void __indirect_glResetHistogram(void) { }
    447 void __indirect_glResetMinmax(void) { }
    448 void __indirect_glSeparableFilter2D(void) { }
    449 void __indirect_glTexImage3D(void) { }
    450 void __indirect_glTexSubImage3D(void) { }
    451 void __indirect_glActiveTextureARB(void) { }
    452 void __indirect_glClientActiveTextureARB(void) { }
    453 void __indirect_glMultiTexCoord1dARB(void) { }
    454 void __indirect_glMultiTexCoord1dvARB(void) { }
    455 void __indirect_glMultiTexCoord1fARB(void) { }
    456 void __indirect_glMultiTexCoord1fvARB(void) { }
    457 void __indirect_glMultiTexCoord1iARB(void) { }
    458 void __indirect_glMultiTexCoord1ivARB(void) { }
    459 void __indirect_glMultiTexCoord1sARB(void) { }
    460 void __indirect_glMultiTexCoord1svARB(void) { }
    461 void __indirect_glMultiTexCoord2dARB(void) { }
    462 void __indirect_glMultiTexCoord2dvARB(void) { }
    463 void __indirect_glMultiTexCoord2fARB(void) { }
    464 void __indirect_glMultiTexCoord2fvARB(void) { }
    465 void __indirect_glMultiTexCoord2iARB(void) { }
    466 void __indirect_glMultiTexCoord2ivARB(void) { }
    467 void __indirect_glMultiTexCoord2sARB(void) { }
    468 void __indirect_glMultiTexCoord2svARB(void) { }
    469 void __indirect_glMultiTexCoord3dARB(void) { }
    470 void __indirect_glMultiTexCoord3dvARB(void) { }
    471 void __indirect_glMultiTexCoord3fARB(void) { }
    472 void __indirect_glMultiTexCoord3fvARB(void) { }
    473 void __indirect_glMultiTexCoord3iARB(void) { }
    474 void __indirect_glMultiTexCoord3ivARB(void) { }
    475 void __indirect_glMultiTexCoord3sARB(void) { }
    476 void __indirect_glMultiTexCoord3svARB(void) { }
    477 void __indirect_glMultiTexCoord4dARB(void) { }
    478 void __indirect_glMultiTexCoord4dvARB(void) { }
    479 void __indirect_glMultiTexCoord4fARB(void) { }
    480 void __indirect_glMultiTexCoord4fvARB(void) { }
    481 void __indirect_glMultiTexCoord4iARB(void) { }
    482 void __indirect_glMultiTexCoord4ivARB(void) { }
    483 void __indirect_glMultiTexCoord4sARB(void) { }
    484 void __indirect_glMultiTexCoord4svARB(void) { }
    485 void __indirect_glLoadTransposeMatrixdARB(void) { }
    486 void __indirect_glLoadTransposeMatrixfARB(void) { }
    487 void __indirect_glMultTransposeMatrixdARB(void) { }
    488 void __indirect_glMultTransposeMatrixfARB(void) { }
    489 void __indirect_glSampleCoverageARB(void) { }
    490 void __indirect_glCompressedTexImage1DARB(void) { }
    491 void __indirect_glCompressedTexImage2DARB(void) { }
    492 void __indirect_glCompressedTexImage3DARB(void) { }
    493 void __indirect_glCompressedTexSubImage1DARB(void) { }
    494 void __indirect_glCompressedTexSubImage2DARB(void) { }
    495 void __indirect_glCompressedTexSubImage3DARB(void) { }
    496 void __indirect_glGetCompressedTexImageARB(void) { }
    497 void __indirect_glDisableVertexAttribArrayARB(void) { }
    498 void __indirect_glEnableVertexAttribArrayARB(void) { }
    499 void __indirect_glGetProgramEnvParameterdvARB(void) { }
    500 void __indirect_glGetProgramEnvParameterfvARB(void) { }
    501 void __indirect_glGetProgramLocalParameterdvARB(void) { }
    502 void __indirect_glGetProgramLocalParameterfvARB(void) { }
    503 void __indirect_glGetProgramStringARB(void) { }
    504 void __indirect_glGetProgramivARB(void) { }
    505 void __indirect_glGetVertexAttribdvARB(void) { }
    506 void __indirect_glGetVertexAttribfvARB(void) { }
    507 void __indirect_glGetVertexAttribivARB(void) { }
    508 void __indirect_glProgramEnvParameter4dARB(void) { }
    509 void __indirect_glProgramEnvParameter4dvARB(void) { }
    510 void __indirect_glProgramEnvParameter4fARB(void) { }
    511 void __indirect_glProgramEnvParameter4fvARB(void) { }
    512 void __indirect_glProgramLocalParameter4dARB(void) { }
    513 void __indirect_glProgramLocalParameter4dvARB(void) { }
    514 void __indirect_glProgramLocalParameter4fARB(void) { }
    515 void __indirect_glProgramLocalParameter4fvARB(void) { }
    516 void __indirect_glProgramStringARB(void) { }
    517 void __indirect_glVertexAttrib1dARB(void) { }
    518 void __indirect_glVertexAttrib1dvARB(void) { }
    519 void __indirect_glVertexAttrib1fARB(void) { }
    520 void __indirect_glVertexAttrib1fvARB(void) { }
    521 void __indirect_glVertexAttrib1sARB(void) { }
    522 void __indirect_glVertexAttrib1svARB(void) { }
    523 void __indirect_glVertexAttrib2dARB(void) { }
    524 void __indirect_glVertexAttrib2dvARB(void) { }
    525 void __indirect_glVertexAttrib2fARB(void) { }
    526 void __indirect_glVertexAttrib2fvARB(void) { }
    527 void __indirect_glVertexAttrib2sARB(void) { }
    528 void __indirect_glVertexAttrib2svARB(void) { }
    529 void __indirect_glVertexAttrib3dARB(void) { }
    530 void __indirect_glVertexAttrib3dvARB(void) { }
    531 void __indirect_glVertexAttrib3fARB(void) { }
    532 void __indirect_glVertexAttrib3fvARB(void) { }
    533 void __indirect_glVertexAttrib3sARB(void) { }
    534 void __indirect_glVertexAttrib3svARB(void) { }
    535 void __indirect_glVertexAttrib4NbvARB(void) { }
    536 void __indirect_glVertexAttrib4NivARB(void) { }
    537 void __indirect_glVertexAttrib4NsvARB(void) { }
    538 void __indirect_glVertexAttrib4NubARB(void) { }
    539 void __indirect_glVertexAttrib4NubvARB(void) { }
    540 void __indirect_glVertexAttrib4NuivARB(void) { }
    541 void __indirect_glVertexAttrib4NusvARB(void) { }
    542 void __indirect_glVertexAttrib4bvARB(void) { }
    543 void __indirect_glVertexAttrib4dARB(void) { }
    544 void __indirect_glVertexAttrib4dvARB(void) { }
    545 void __indirect_glVertexAttrib4fARB(void) { }
    546 void __indirect_glVertexAttrib4fvARB(void) { }
    547 void __indirect_glVertexAttrib4ivARB(void) { }
    548 void __indirect_glVertexAttrib4sARB(void) { }
    549 void __indirect_glVertexAttrib4svARB(void) { }
    550 void __indirect_glVertexAttrib4ubvARB(void) { }
    551 void __indirect_glVertexAttrib4uivARB(void) { }
    552 void __indirect_glVertexAttrib4usvARB(void) { }
    553 void __indirect_glVertexAttribPointerARB(void) { }
    554 void __indirect_glBeginQueryARB(void) { }
    555 void __indirect_glDeleteQueriesARB(void) { }
    556 void __indirect_glEndQueryARB(void) { }
    557 void __indirect_glGenQueriesARB(void) { }
    558 void __indirect_glGetQueryObjectivARB(void) { }
    559 void __indirect_glGetQueryObjectuivARB(void) { }
    560 void __indirect_glGetQueryivARB(void) { }
    561 void __indirect_glIsQueryARB(void) { }
    562 void __indirect_glDrawBuffersARB(void) { }
    563 void __indirect_glClampColorARB(void) { }
    564 void __indirect_glRenderbufferStorageMultisample(void) { }
    565 void __indirect_glSampleMaskSGIS(void) { }
    566 void __indirect_glSamplePatternSGIS(void) { }
    567 void __indirect_glColorPointerEXT(void) { }
    568 void __indirect_glEdgeFlagPointerEXT(void) { }
    569 void __indirect_glIndexPointerEXT(void) { }
    570 void __indirect_glNormalPointerEXT(void) { }
    571 void __indirect_glTexCoordPointerEXT(void) { }
    572 void __indirect_glVertexPointerEXT(void) { }
    573 void __indirect_glPointParameterfEXT(void) { }
    574 void __indirect_glPointParameterfvEXT(void) { }
    575 void __indirect_glSecondaryColor3bEXT(void) { }
    576 void __indirect_glSecondaryColor3bvEXT(void) { }
    577 void __indirect_glSecondaryColor3dEXT(void) { }
    578 void __indirect_glSecondaryColor3dvEXT(void) { }
    579 void __indirect_glSecondaryColor3fEXT(void) { }
    580 void __indirect_glSecondaryColor3fvEXT(void) { }
    581 void __indirect_glSecondaryColor3iEXT(void) { }
    582 void __indirect_glSecondaryColor3ivEXT(void) { }
    583 void __indirect_glSecondaryColor3sEXT(void) { }
    584 void __indirect_glSecondaryColor3svEXT(void) { }
    585 void __indirect_glSecondaryColor3ubEXT(void) { }
    586 void __indirect_glSecondaryColor3ubvEXT(void) { }
    587 void __indirect_glSecondaryColor3uiEXT(void) { }
    588 void __indirect_glSecondaryColor3uivEXT(void) { }
    589 void __indirect_glSecondaryColor3usEXT(void) { }
    590 void __indirect_glSecondaryColor3usvEXT(void) { }
    591 void __indirect_glSecondaryColorPointerEXT(void) { }
    592 void __indirect_glMultiDrawArraysEXT(void) { }
    593 void __indirect_glMultiDrawElementsEXT(void) { }
    594 void __indirect_glFogCoordPointerEXT(void) { }
    595 void __indirect_glFogCoorddEXT(void) { }
    596 void __indirect_glFogCoorddvEXT(void) { }
    597 void __indirect_glFogCoordfEXT(void) { }
    598 void __indirect_glFogCoordfvEXT(void) { }
    599 void __indirect_glBlendFuncSeparateEXT(void) { }
    600 void __indirect_glWindowPos2dMESA(void) { }
    601 void __indirect_glWindowPos2dvMESA(void) { }
    602 void __indirect_glWindowPos2fMESA(void) { }
    603 void __indirect_glWindowPos2fvMESA(void) { }
    604 void __indirect_glWindowPos2iMESA(void) { }
    605 void __indirect_glWindowPos2ivMESA(void) { }
    606 void __indirect_glWindowPos2sMESA(void) { }
    607 void __indirect_glWindowPos2svMESA(void) { }
    608 void __indirect_glWindowPos3dMESA(void) { }
    609 void __indirect_glWindowPos3dvMESA(void) { }
    610 void __indirect_glWindowPos3fMESA(void) { }
    611 void __indirect_glWindowPos3fvMESA(void) { }
    612 void __indirect_glWindowPos3iMESA(void) { }
    613 void __indirect_glWindowPos3ivMESA(void) { }
    614 void __indirect_glWindowPos3sMESA(void) { }
    615 void __indirect_glWindowPos3svMESA(void) { }
    616 void __indirect_glAreProgramsResidentNV(void) { }
    617 void __indirect_glBindProgramNV(void) { }
    618 void __indirect_glDeleteProgramsNV(void) { }
    619 void __indirect_glExecuteProgramNV(void) { }
    620 void __indirect_glGenProgramsNV(void) { }
    621 void __indirect_glGetProgramParameterdvNV(void) { }
    622 void __indirect_glGetProgramParameterfvNV(void) { }
    623 void __indirect_glGetProgramStringNV(void) { }
    624 void __indirect_glGetProgramivNV(void) { }
    625 void __indirect_glGetTrackMatrixivNV(void) { }
    626 void __indirect_glGetVertexAttribPointervNV(void) { }
    627 void __indirect_glGetVertexAttribdvNV(void) { }
    628 void __indirect_glGetVertexAttribfvNV(void) { }
    629 void __indirect_glGetVertexAttribivNV(void) { }
    630 void __indirect_glIsProgramNV(void) { }
    631 void __indirect_glLoadProgramNV(void) { }
    632 void __indirect_glProgramParameters4dvNV(void) { }
    633 void __indirect_glProgramParameters4fvNV(void) { }
    634 void __indirect_glRequestResidentProgramsNV(void) { }
    635 void __indirect_glTrackMatrixNV(void) { }
    636 void __indirect_glVertexAttrib1dNV(void) { }
    637 void __indirect_glVertexAttrib1dvNV(void) { }
    638 void __indirect_glVertexAttrib1fNV(void) { }
    639 void __indirect_glVertexAttrib1fvNV(void) { }
    640 void __indirect_glVertexAttrib1sNV(void) { }
    641 void __indirect_glVertexAttrib1svNV(void) { }
    642 void __indirect_glVertexAttrib2dNV(void) { }
    643 void __indirect_glVertexAttrib2dvNV(void) { }
    644 void __indirect_glVertexAttrib2fNV(void) { }
    645 void __indirect_glVertexAttrib2fvNV(void) { }
    646 void __indirect_glVertexAttrib2sNV(void) { }
    647 void __indirect_glVertexAttrib2svNV(void) { }
    648 void __indirect_glVertexAttrib3dNV(void) { }
    649 void __indirect_glVertexAttrib3dvNV(void) { }
    650 void __indirect_glVertexAttrib3fNV(void) { }
    651 void __indirect_glVertexAttrib3fvNV(void) { }
    652 void __indirect_glVertexAttrib3sNV(void) { }
    653 void __indirect_glVertexAttrib3svNV(void) { }
    654 void __indirect_glVertexAttrib4dNV(void) { }
    655 void __indirect_glVertexAttrib4dvNV(void) { }
    656 void __indirect_glVertexAttrib4fNV(void) { }
    657 void __indirect_glVertexAttrib4fvNV(void) { }
    658 void __indirect_glVertexAttrib4sNV(void) { }
    659 void __indirect_glVertexAttrib4svNV(void) { }
    660 void __indirect_glVertexAttrib4ubNV(void) { }
    661 void __indirect_glVertexAttrib4ubvNV(void) { }
    662 void __indirect_glVertexAttribPointerNV(void) { }
    663 void __indirect_glVertexAttribs1dvNV(void) { }
    664 void __indirect_glVertexAttribs1fvNV(void) { }
    665 void __indirect_glVertexAttribs1svNV(void) { }
    666 void __indirect_glVertexAttribs2dvNV(void) { }
    667 void __indirect_glVertexAttribs2fvNV(void) { }
    668 void __indirect_glVertexAttribs2svNV(void) { }
    669 void __indirect_glVertexAttribs3dvNV(void) { }
    670 void __indirect_glVertexAttribs3fvNV(void) { }
    671 void __indirect_glVertexAttribs3svNV(void) { }
    672 void __indirect_glVertexAttribs4dvNV(void) { }
    673 void __indirect_glVertexAttribs4fvNV(void) { }
    674 void __indirect_glVertexAttribs4svNV(void) { }
    675 void __indirect_glVertexAttribs4ubvNV(void) { }
    676 void __indirect_glPointParameteriNV(void) { }
    677 void __indirect_glPointParameterivNV(void) { }
    678 void __indirect_glActiveStencilFaceEXT(void) { }
    679 void __indirect_glGetProgramNamedParameterdvNV(void) { }
    680 void __indirect_glGetProgramNamedParameterfvNV(void) { }
    681 void __indirect_glProgramNamedParameter4dNV(void) { }
    682 void __indirect_glProgramNamedParameter4dvNV(void) { }
    683 void __indirect_glProgramNamedParameter4fNV(void) { }
    684 void __indirect_glProgramNamedParameter4fvNV(void) { }
    685 void __indirect_glBlendEquationSeparateEXT(void) { }
    686 void __indirect_glBindFramebufferEXT(void) { }
    687 void __indirect_glBindRenderbufferEXT(void) { }
    688 void __indirect_glCheckFramebufferStatusEXT(void) { }
    689 void __indirect_glDeleteFramebuffersEXT(void) { }
    690 void __indirect_glDeleteRenderbuffersEXT(void) { }
    691 void __indirect_glFramebufferRenderbufferEXT(void) { }
    692 void __indirect_glFramebufferTexture1DEXT(void) { }
    693 void __indirect_glFramebufferTexture2DEXT(void) { }
    694 void __indirect_glFramebufferTexture3DEXT(void) { }
    695 void __indirect_glGenFramebuffersEXT(void) { }
    696 void __indirect_glGenRenderbuffersEXT(void) { }
    697 void __indirect_glGenerateMipmapEXT(void) { }
    698 void __indirect_glGetFramebufferAttachmentParameterivEXT(void) { }
    699 void __indirect_glGetRenderbufferParameterivEXT(void) { }
    700 void __indirect_glIsFramebufferEXT(void) { }
    701 void __indirect_glIsRenderbufferEXT(void) { }
    702 void __indirect_glRenderbufferStorageEXT(void) { }
    703 void __indirect_glBlitFramebufferEXT(void) { }
    704 void __indirect_glFramebufferTextureLayerEXT(void) { }
    705 }
    706 /*@}*/
    707 
    708 class IndirectAPI : public ::testing::Test {
    709 public:
    710    virtual void SetUp();
    711    virtual void TearDown();
    712 
    713    _glapi_proc *table;
    714 };
    715 
    716 void
    717 IndirectAPI::SetUp()
    718 {
    719    this->table = (_glapi_proc *) __glXNewIndirectAPI();
    720 }
    721 
    722 void
    723 IndirectAPI::TearDown()
    724 {
    725    free(this->table);
    726    this->table = NULL;
    727 }
    728 
    729 TEST_F(IndirectAPI, DispatchTableSizeWasQueried)
    730 {
    731    dispatch_table_size_was_queried = false;
    732 
    733    /* __glXNewIndirectAPI determines the size of the dispatch table by calling
    734     * _glapi_get_dispatch_table_size.  Our stub version of this function sets
    735     * a flag so that we can detect that __glXNewIndirectAPI called it.
    736     */
    737    EXPECT_FALSE(dispatch_table_size_was_queried);
    738    _glapi_table *table = __glXNewIndirectAPI();
    739    EXPECT_TRUE(dispatch_table_size_was_queried);
    740 
    741    /* Since a second dispatch table was created, it must be freed by hand.
    742     */
    743    free(table);
    744 }
    745 
    746 TEST_F(IndirectAPI, NoNullEntries)
    747 {
    748    const unsigned entries = _glapi_get_dispatch_table_size();
    749 
    750    /* There should not be any NULL entries in the dispatch table.  All entires
    751     * should either point to a real implementation or to a no-op function.
    752     */
    753    for (unsigned i = 0; i < entries; i++) {
    754       EXPECT_NE(nil, table[i]);
    755    }
    756 }
    757 
    758 TEST_F(IndirectAPI, OpenGL_10)
    759 {
    760    EXPECT_EQ((_glapi_proc) __indirect_glAccum, table[_gloffset_Accum]);
    761    EXPECT_EQ((_glapi_proc) __indirect_glAlphaFunc, table[_gloffset_AlphaFunc]);
    762    EXPECT_EQ((_glapi_proc) __indirect_glBegin, table[_gloffset_Begin]);
    763    EXPECT_EQ((_glapi_proc) __indirect_glBitmap, table[_gloffset_Bitmap]);
    764    EXPECT_EQ((_glapi_proc) __indirect_glBlendFunc, table[_gloffset_BlendFunc]);
    765    EXPECT_EQ((_glapi_proc) __indirect_glCallList, table[_gloffset_CallList]);
    766    EXPECT_EQ((_glapi_proc) __indirect_glCallLists, table[_gloffset_CallLists]);
    767    EXPECT_EQ((_glapi_proc) __indirect_glClear, table[_gloffset_Clear]);
    768    EXPECT_EQ((_glapi_proc) __indirect_glClearAccum, table[_gloffset_ClearAccum]);
    769    EXPECT_EQ((_glapi_proc) __indirect_glClearColor, table[_gloffset_ClearColor]);
    770    EXPECT_EQ((_glapi_proc) __indirect_glClearDepth, table[_gloffset_ClearDepth]);
    771    EXPECT_EQ((_glapi_proc) __indirect_glClearIndex, table[_gloffset_ClearIndex]);
    772    EXPECT_EQ((_glapi_proc) __indirect_glClearStencil, table[_gloffset_ClearStencil]);
    773    EXPECT_EQ((_glapi_proc) __indirect_glClipPlane, table[_gloffset_ClipPlane]);
    774    EXPECT_EQ((_glapi_proc) __indirect_glColor3b, table[_gloffset_Color3b]);
    775    EXPECT_EQ((_glapi_proc) __indirect_glColor3bv, table[_gloffset_Color3bv]);
    776    EXPECT_EQ((_glapi_proc) __indirect_glColor3d, table[_gloffset_Color3d]);
    777    EXPECT_EQ((_glapi_proc) __indirect_glColor3dv, table[_gloffset_Color3dv]);
    778    EXPECT_EQ((_glapi_proc) __indirect_glColor3f, table[_gloffset_Color3f]);
    779    EXPECT_EQ((_glapi_proc) __indirect_glColor3fv, table[_gloffset_Color3fv]);
    780    EXPECT_EQ((_glapi_proc) __indirect_glColor3i, table[_gloffset_Color3i]);
    781    EXPECT_EQ((_glapi_proc) __indirect_glColor3iv, table[_gloffset_Color3iv]);
    782    EXPECT_EQ((_glapi_proc) __indirect_glColor3s, table[_gloffset_Color3s]);
    783    EXPECT_EQ((_glapi_proc) __indirect_glColor3sv, table[_gloffset_Color3sv]);
    784    EXPECT_EQ((_glapi_proc) __indirect_glColor3ub, table[_gloffset_Color3ub]);
    785    EXPECT_EQ((_glapi_proc) __indirect_glColor3ubv, table[_gloffset_Color3ubv]);
    786    EXPECT_EQ((_glapi_proc) __indirect_glColor3ui, table[_gloffset_Color3ui]);
    787    EXPECT_EQ((_glapi_proc) __indirect_glColor3uiv, table[_gloffset_Color3uiv]);
    788    EXPECT_EQ((_glapi_proc) __indirect_glColor3us, table[_gloffset_Color3us]);
    789    EXPECT_EQ((_glapi_proc) __indirect_glColor3usv, table[_gloffset_Color3usv]);
    790    EXPECT_EQ((_glapi_proc) __indirect_glColor4b, table[_gloffset_Color4b]);
    791    EXPECT_EQ((_glapi_proc) __indirect_glColor4bv, table[_gloffset_Color4bv]);
    792    EXPECT_EQ((_glapi_proc) __indirect_glColor4d, table[_gloffset_Color4d]);
    793    EXPECT_EQ((_glapi_proc) __indirect_glColor4dv, table[_gloffset_Color4dv]);
    794    EXPECT_EQ((_glapi_proc) __indirect_glColor4f, table[_gloffset_Color4f]);
    795    EXPECT_EQ((_glapi_proc) __indirect_glColor4fv, table[_gloffset_Color4fv]);
    796    EXPECT_EQ((_glapi_proc) __indirect_glColor4i, table[_gloffset_Color4i]);
    797    EXPECT_EQ((_glapi_proc) __indirect_glColor4iv, table[_gloffset_Color4iv]);
    798    EXPECT_EQ((_glapi_proc) __indirect_glColor4s, table[_gloffset_Color4s]);
    799    EXPECT_EQ((_glapi_proc) __indirect_glColor4sv, table[_gloffset_Color4sv]);
    800    EXPECT_EQ((_glapi_proc) __indirect_glColor4ub, table[_gloffset_Color4ub]);
    801    EXPECT_EQ((_glapi_proc) __indirect_glColor4ubv, table[_gloffset_Color4ubv]);
    802    EXPECT_EQ((_glapi_proc) __indirect_glColor4ui, table[_gloffset_Color4ui]);
    803    EXPECT_EQ((_glapi_proc) __indirect_glColor4uiv, table[_gloffset_Color4uiv]);
    804    EXPECT_EQ((_glapi_proc) __indirect_glColor4us, table[_gloffset_Color4us]);
    805    EXPECT_EQ((_glapi_proc) __indirect_glColor4usv, table[_gloffset_Color4usv]);
    806    EXPECT_EQ((_glapi_proc) __indirect_glColorMask, table[_gloffset_ColorMask]);
    807    EXPECT_EQ((_glapi_proc) __indirect_glColorMaterial, table[_gloffset_ColorMaterial]);
    808    EXPECT_EQ((_glapi_proc) __indirect_glCopyPixels, table[_gloffset_CopyPixels]);
    809    EXPECT_EQ((_glapi_proc) __indirect_glCullFace, table[_gloffset_CullFace]);
    810    EXPECT_EQ((_glapi_proc) __indirect_glDeleteLists, table[_gloffset_DeleteLists]);
    811    EXPECT_EQ((_glapi_proc) __indirect_glDepthFunc, table[_gloffset_DepthFunc]);
    812    EXPECT_EQ((_glapi_proc) __indirect_glDepthMask, table[_gloffset_DepthMask]);
    813    EXPECT_EQ((_glapi_proc) __indirect_glDepthRange, table[_gloffset_DepthRange]);
    814    EXPECT_EQ((_glapi_proc) __indirect_glDisable, table[_gloffset_Disable]);
    815    EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffer, table[_gloffset_DrawBuffer]);
    816    EXPECT_EQ((_glapi_proc) __indirect_glDrawPixels, table[_gloffset_DrawPixels]);
    817    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlag, table[_gloffset_EdgeFlag]);
    818    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagv, table[_gloffset_EdgeFlagv]);
    819    EXPECT_EQ((_glapi_proc) __indirect_glEnable, table[_gloffset_Enable]);
    820    EXPECT_EQ((_glapi_proc) __indirect_glEnd, table[_gloffset_End]);
    821    EXPECT_EQ((_glapi_proc) __indirect_glEndList, table[_gloffset_EndList]);
    822    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1d, table[_gloffset_EvalCoord1d]);
    823    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1dv, table[_gloffset_EvalCoord1dv]);
    824    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1f, table[_gloffset_EvalCoord1f]);
    825    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1fv, table[_gloffset_EvalCoord1fv]);
    826    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2d, table[_gloffset_EvalCoord2d]);
    827    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2dv, table[_gloffset_EvalCoord2dv]);
    828    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2f, table[_gloffset_EvalCoord2f]);
    829    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2fv, table[_gloffset_EvalCoord2fv]);
    830    EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh1, table[_gloffset_EvalMesh1]);
    831    EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh2, table[_gloffset_EvalMesh2]);
    832    EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint1, table[_gloffset_EvalPoint1]);
    833    EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint2, table[_gloffset_EvalPoint2]);
    834    EXPECT_EQ((_glapi_proc) __indirect_glFeedbackBuffer, table[_gloffset_FeedbackBuffer]);
    835    EXPECT_EQ((_glapi_proc) __indirect_glFinish, table[_gloffset_Finish]);
    836    EXPECT_EQ((_glapi_proc) __indirect_glFlush, table[_gloffset_Flush]);
    837    EXPECT_EQ((_glapi_proc) __indirect_glFogf, table[_gloffset_Fogf]);
    838    EXPECT_EQ((_glapi_proc) __indirect_glFogfv, table[_gloffset_Fogfv]);
    839    EXPECT_EQ((_glapi_proc) __indirect_glFogi, table[_gloffset_Fogi]);
    840    EXPECT_EQ((_glapi_proc) __indirect_glFogiv, table[_gloffset_Fogiv]);
    841    EXPECT_EQ((_glapi_proc) __indirect_glFrontFace, table[_gloffset_FrontFace]);
    842    EXPECT_EQ((_glapi_proc) __indirect_glFrustum, table[_gloffset_Frustum]);
    843    EXPECT_EQ((_glapi_proc) __indirect_glGenLists, table[_gloffset_GenLists]);
    844    EXPECT_EQ((_glapi_proc) __indirect_glGetBooleanv, table[_gloffset_GetBooleanv]);
    845    EXPECT_EQ((_glapi_proc) __indirect_glGetClipPlane, table[_gloffset_GetClipPlane]);
    846    EXPECT_EQ((_glapi_proc) __indirect_glGetDoublev, table[_gloffset_GetDoublev]);
    847    EXPECT_EQ((_glapi_proc) __indirect_glGetError, table[_gloffset_GetError]);
    848    EXPECT_EQ((_glapi_proc) __indirect_glGetFloatv, table[_gloffset_GetFloatv]);
    849    EXPECT_EQ((_glapi_proc) __indirect_glGetIntegerv, table[_gloffset_GetIntegerv]);
    850    EXPECT_EQ((_glapi_proc) __indirect_glGetLightfv, table[_gloffset_GetLightfv]);
    851    EXPECT_EQ((_glapi_proc) __indirect_glGetLightiv, table[_gloffset_GetLightiv]);
    852    EXPECT_EQ((_glapi_proc) __indirect_glGetMapdv, table[_gloffset_GetMapdv]);
    853    EXPECT_EQ((_glapi_proc) __indirect_glGetMapfv, table[_gloffset_GetMapfv]);
    854    EXPECT_EQ((_glapi_proc) __indirect_glGetMapiv, table[_gloffset_GetMapiv]);
    855    EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialfv, table[_gloffset_GetMaterialfv]);
    856    EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialiv, table[_gloffset_GetMaterialiv]);
    857    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapfv, table[_gloffset_GetPixelMapfv]);
    858    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapuiv, table[_gloffset_GetPixelMapuiv]);
    859    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapusv, table[_gloffset_GetPixelMapusv]);
    860    EXPECT_EQ((_glapi_proc) __indirect_glGetPolygonStipple, table[_gloffset_GetPolygonStipple]);
    861    EXPECT_EQ((_glapi_proc) __indirect_glGetString, table[_gloffset_GetString]);
    862    EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnvfv, table[_gloffset_GetTexEnvfv]);
    863    EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnviv, table[_gloffset_GetTexEnviv]);
    864    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGendv, table[_gloffset_GetTexGendv]);
    865    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGenfv, table[_gloffset_GetTexGenfv]);
    866    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGeniv, table[_gloffset_GetTexGeniv]);
    867    EXPECT_EQ((_glapi_proc) __indirect_glGetTexImage, table[_gloffset_GetTexImage]);
    868    EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameterfv, table[_gloffset_GetTexLevelParameterfv]);
    869    EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameteriv, table[_gloffset_GetTexLevelParameteriv]);
    870    EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameterfv, table[_gloffset_GetTexParameterfv]);
    871    EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameteriv, table[_gloffset_GetTexParameteriv]);
    872    EXPECT_EQ((_glapi_proc) __indirect_glHint, table[_gloffset_Hint]);
    873    EXPECT_EQ((_glapi_proc) __indirect_glIndexMask, table[_gloffset_IndexMask]);
    874    EXPECT_EQ((_glapi_proc) __indirect_glIndexd, table[_gloffset_Indexd]);
    875    EXPECT_EQ((_glapi_proc) __indirect_glIndexdv, table[_gloffset_Indexdv]);
    876    EXPECT_EQ((_glapi_proc) __indirect_glIndexf, table[_gloffset_Indexf]);
    877    EXPECT_EQ((_glapi_proc) __indirect_glIndexfv, table[_gloffset_Indexfv]);
    878    EXPECT_EQ((_glapi_proc) __indirect_glIndexi, table[_gloffset_Indexi]);
    879    EXPECT_EQ((_glapi_proc) __indirect_glIndexiv, table[_gloffset_Indexiv]);
    880    EXPECT_EQ((_glapi_proc) __indirect_glIndexs, table[_gloffset_Indexs]);
    881    EXPECT_EQ((_glapi_proc) __indirect_glIndexsv, table[_gloffset_Indexsv]);
    882    EXPECT_EQ((_glapi_proc) __indirect_glInitNames, table[_gloffset_InitNames]);
    883    EXPECT_EQ((_glapi_proc) __indirect_glIsEnabled, table[_gloffset_IsEnabled]);
    884    EXPECT_EQ((_glapi_proc) __indirect_glIsList, table[_gloffset_IsList]);
    885    EXPECT_EQ((_glapi_proc) __indirect_glLightModelf, table[_gloffset_LightModelf]);
    886    EXPECT_EQ((_glapi_proc) __indirect_glLightModelfv, table[_gloffset_LightModelfv]);
    887    EXPECT_EQ((_glapi_proc) __indirect_glLightModeli, table[_gloffset_LightModeli]);
    888    EXPECT_EQ((_glapi_proc) __indirect_glLightModeliv, table[_gloffset_LightModeliv]);
    889    EXPECT_EQ((_glapi_proc) __indirect_glLightf, table[_gloffset_Lightf]);
    890    EXPECT_EQ((_glapi_proc) __indirect_glLightfv, table[_gloffset_Lightfv]);
    891    EXPECT_EQ((_glapi_proc) __indirect_glLighti, table[_gloffset_Lighti]);
    892    EXPECT_EQ((_glapi_proc) __indirect_glLightiv, table[_gloffset_Lightiv]);
    893    EXPECT_EQ((_glapi_proc) __indirect_glLineStipple, table[_gloffset_LineStipple]);
    894    EXPECT_EQ((_glapi_proc) __indirect_glLineWidth, table[_gloffset_LineWidth]);
    895    EXPECT_EQ((_glapi_proc) __indirect_glListBase, table[_gloffset_ListBase]);
    896    EXPECT_EQ((_glapi_proc) __indirect_glLoadIdentity, table[_gloffset_LoadIdentity]);
    897    EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixd, table[_gloffset_LoadMatrixd]);
    898    EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixf, table[_gloffset_LoadMatrixf]);
    899    EXPECT_EQ((_glapi_proc) __indirect_glLoadName, table[_gloffset_LoadName]);
    900    EXPECT_EQ((_glapi_proc) __indirect_glLogicOp, table[_gloffset_LogicOp]);
    901    EXPECT_EQ((_glapi_proc) __indirect_glMap1d, table[_gloffset_Map1d]);
    902    EXPECT_EQ((_glapi_proc) __indirect_glMap1f, table[_gloffset_Map1f]);
    903    EXPECT_EQ((_glapi_proc) __indirect_glMap2d, table[_gloffset_Map2d]);
    904    EXPECT_EQ((_glapi_proc) __indirect_glMap2f, table[_gloffset_Map2f]);
    905    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1d, table[_gloffset_MapGrid1d]);
    906    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1f, table[_gloffset_MapGrid1f]);
    907    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2d, table[_gloffset_MapGrid2d]);
    908    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2f, table[_gloffset_MapGrid2f]);
    909    EXPECT_EQ((_glapi_proc) __indirect_glMaterialf, table[_gloffset_Materialf]);
    910    EXPECT_EQ((_glapi_proc) __indirect_glMaterialfv, table[_gloffset_Materialfv]);
    911    EXPECT_EQ((_glapi_proc) __indirect_glMateriali, table[_gloffset_Materiali]);
    912    EXPECT_EQ((_glapi_proc) __indirect_glMaterialiv, table[_gloffset_Materialiv]);
    913    EXPECT_EQ((_glapi_proc) __indirect_glMatrixMode, table[_gloffset_MatrixMode]);
    914    EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixd, table[_gloffset_MultMatrixd]);
    915    EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixf, table[_gloffset_MultMatrixf]);
    916    EXPECT_EQ((_glapi_proc) __indirect_glNewList, table[_gloffset_NewList]);
    917    EXPECT_EQ((_glapi_proc) __indirect_glNormal3b, table[_gloffset_Normal3b]);
    918    EXPECT_EQ((_glapi_proc) __indirect_glNormal3bv, table[_gloffset_Normal3bv]);
    919    EXPECT_EQ((_glapi_proc) __indirect_glNormal3d, table[_gloffset_Normal3d]);
    920    EXPECT_EQ((_glapi_proc) __indirect_glNormal3dv, table[_gloffset_Normal3dv]);
    921    EXPECT_EQ((_glapi_proc) __indirect_glNormal3f, table[_gloffset_Normal3f]);
    922    EXPECT_EQ((_glapi_proc) __indirect_glNormal3fv, table[_gloffset_Normal3fv]);
    923    EXPECT_EQ((_glapi_proc) __indirect_glNormal3i, table[_gloffset_Normal3i]);
    924    EXPECT_EQ((_glapi_proc) __indirect_glNormal3iv, table[_gloffset_Normal3iv]);
    925    EXPECT_EQ((_glapi_proc) __indirect_glNormal3s, table[_gloffset_Normal3s]);
    926    EXPECT_EQ((_glapi_proc) __indirect_glNormal3sv, table[_gloffset_Normal3sv]);
    927    EXPECT_EQ((_glapi_proc) __indirect_glOrtho, table[_gloffset_Ortho]);
    928    EXPECT_EQ((_glapi_proc) __indirect_glPassThrough, table[_gloffset_PassThrough]);
    929    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapfv, table[_gloffset_PixelMapfv]);
    930    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapuiv, table[_gloffset_PixelMapuiv]);
    931    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapusv, table[_gloffset_PixelMapusv]);
    932    EXPECT_EQ((_glapi_proc) __indirect_glPixelStoref, table[_gloffset_PixelStoref]);
    933    EXPECT_EQ((_glapi_proc) __indirect_glPixelStorei, table[_gloffset_PixelStorei]);
    934    EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferf, table[_gloffset_PixelTransferf]);
    935    EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferi, table[_gloffset_PixelTransferi]);
    936    EXPECT_EQ((_glapi_proc) __indirect_glPixelZoom, table[_gloffset_PixelZoom]);
    937    EXPECT_EQ((_glapi_proc) __indirect_glPointSize, table[_gloffset_PointSize]);
    938    EXPECT_EQ((_glapi_proc) __indirect_glPolygonMode, table[_gloffset_PolygonMode]);
    939    EXPECT_EQ((_glapi_proc) __indirect_glPolygonStipple, table[_gloffset_PolygonStipple]);
    940    EXPECT_EQ((_glapi_proc) __indirect_glPopAttrib, table[_gloffset_PopAttrib]);
    941    EXPECT_EQ((_glapi_proc) __indirect_glPopMatrix, table[_gloffset_PopMatrix]);
    942    EXPECT_EQ((_glapi_proc) __indirect_glPopName, table[_gloffset_PopName]);
    943    EXPECT_EQ((_glapi_proc) __indirect_glPushAttrib, table[_gloffset_PushAttrib]);
    944    EXPECT_EQ((_glapi_proc) __indirect_glPushMatrix, table[_gloffset_PushMatrix]);
    945    EXPECT_EQ((_glapi_proc) __indirect_glPushName, table[_gloffset_PushName]);
    946    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2d, table[_gloffset_RasterPos2d]);
    947    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2dv, table[_gloffset_RasterPos2dv]);
    948    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2f, table[_gloffset_RasterPos2f]);
    949    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2fv, table[_gloffset_RasterPos2fv]);
    950    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2i, table[_gloffset_RasterPos2i]);
    951    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2iv, table[_gloffset_RasterPos2iv]);
    952    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2s, table[_gloffset_RasterPos2s]);
    953    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2sv, table[_gloffset_RasterPos2sv]);
    954    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3d, table[_gloffset_RasterPos3d]);
    955    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3dv, table[_gloffset_RasterPos3dv]);
    956    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3f, table[_gloffset_RasterPos3f]);
    957    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3fv, table[_gloffset_RasterPos3fv]);
    958    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3i, table[_gloffset_RasterPos3i]);
    959    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3iv, table[_gloffset_RasterPos3iv]);
    960    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3s, table[_gloffset_RasterPos3s]);
    961    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3sv, table[_gloffset_RasterPos3sv]);
    962    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4d, table[_gloffset_RasterPos4d]);
    963    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4dv, table[_gloffset_RasterPos4dv]);
    964    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4f, table[_gloffset_RasterPos4f]);
    965    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4fv, table[_gloffset_RasterPos4fv]);
    966    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4i, table[_gloffset_RasterPos4i]);
    967    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4iv, table[_gloffset_RasterPos4iv]);
    968    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4s, table[_gloffset_RasterPos4s]);
    969    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4sv, table[_gloffset_RasterPos4sv]);
    970    EXPECT_EQ((_glapi_proc) __indirect_glReadBuffer, table[_gloffset_ReadBuffer]);
    971    EXPECT_EQ((_glapi_proc) __indirect_glReadPixels, table[_gloffset_ReadPixels]);
    972    EXPECT_EQ((_glapi_proc) __indirect_glRectd, table[_gloffset_Rectd]);
    973    EXPECT_EQ((_glapi_proc) __indirect_glRectdv, table[_gloffset_Rectdv]);
    974    EXPECT_EQ((_glapi_proc) __indirect_glRectf, table[_gloffset_Rectf]);
    975    EXPECT_EQ((_glapi_proc) __indirect_glRectfv, table[_gloffset_Rectfv]);
    976    EXPECT_EQ((_glapi_proc) __indirect_glRecti, table[_gloffset_Recti]);
    977    EXPECT_EQ((_glapi_proc) __indirect_glRectiv, table[_gloffset_Rectiv]);
    978    EXPECT_EQ((_glapi_proc) __indirect_glRects, table[_gloffset_Rects]);
    979    EXPECT_EQ((_glapi_proc) __indirect_glRectsv, table[_gloffset_Rectsv]);
    980    EXPECT_EQ((_glapi_proc) __indirect_glRenderMode, table[_gloffset_RenderMode]);
    981    EXPECT_EQ((_glapi_proc) __indirect_glRotated, table[_gloffset_Rotated]);
    982    EXPECT_EQ((_glapi_proc) __indirect_glRotatef, table[_gloffset_Rotatef]);
    983    EXPECT_EQ((_glapi_proc) __indirect_glScaled, table[_gloffset_Scaled]);
    984    EXPECT_EQ((_glapi_proc) __indirect_glScalef, table[_gloffset_Scalef]);
    985    EXPECT_EQ((_glapi_proc) __indirect_glScissor, table[_gloffset_Scissor]);
    986    EXPECT_EQ((_glapi_proc) __indirect_glSelectBuffer, table[_gloffset_SelectBuffer]);
    987    EXPECT_EQ((_glapi_proc) __indirect_glShadeModel, table[_gloffset_ShadeModel]);
    988    EXPECT_EQ((_glapi_proc) __indirect_glStencilFunc, table[_gloffset_StencilFunc]);
    989    EXPECT_EQ((_glapi_proc) __indirect_glStencilMask, table[_gloffset_StencilMask]);
    990    EXPECT_EQ((_glapi_proc) __indirect_glStencilOp, table[_gloffset_StencilOp]);
    991    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1d, table[_gloffset_TexCoord1d]);
    992    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1dv, table[_gloffset_TexCoord1dv]);
    993    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1f, table[_gloffset_TexCoord1f]);
    994    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1fv, table[_gloffset_TexCoord1fv]);
    995    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1i, table[_gloffset_TexCoord1i]);
    996    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1iv, table[_gloffset_TexCoord1iv]);
    997    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1s, table[_gloffset_TexCoord1s]);
    998    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1sv, table[_gloffset_TexCoord1sv]);
    999    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2d, table[_gloffset_TexCoord2d]);
   1000    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2dv, table[_gloffset_TexCoord2dv]);
   1001    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2f, table[_gloffset_TexCoord2f]);
   1002    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2fv, table[_gloffset_TexCoord2fv]);
   1003    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2i, table[_gloffset_TexCoord2i]);
   1004    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2iv, table[_gloffset_TexCoord2iv]);
   1005    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2s, table[_gloffset_TexCoord2s]);
   1006    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2sv, table[_gloffset_TexCoord2sv]);
   1007    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3d, table[_gloffset_TexCoord3d]);
   1008    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3dv, table[_gloffset_TexCoord3dv]);
   1009    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3f, table[_gloffset_TexCoord3f]);
   1010    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3fv, table[_gloffset_TexCoord3fv]);
   1011    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3i, table[_gloffset_TexCoord3i]);
   1012    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3iv, table[_gloffset_TexCoord3iv]);
   1013    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3s, table[_gloffset_TexCoord3s]);
   1014    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3sv, table[_gloffset_TexCoord3sv]);
   1015    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4d, table[_gloffset_TexCoord4d]);
   1016    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4dv, table[_gloffset_TexCoord4dv]);
   1017    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4f, table[_gloffset_TexCoord4f]);
   1018    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4fv, table[_gloffset_TexCoord4fv]);
   1019    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4i, table[_gloffset_TexCoord4i]);
   1020    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4iv, table[_gloffset_TexCoord4iv]);
   1021    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4s, table[_gloffset_TexCoord4s]);
   1022    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4sv, table[_gloffset_TexCoord4sv]);
   1023    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvf, table[_gloffset_TexEnvf]);
   1024    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvfv, table[_gloffset_TexEnvfv]);
   1025    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvi, table[_gloffset_TexEnvi]);
   1026    EXPECT_EQ((_glapi_proc) __indirect_glTexEnviv, table[_gloffset_TexEnviv]);
   1027    EXPECT_EQ((_glapi_proc) __indirect_glTexGend, table[_gloffset_TexGend]);
   1028    EXPECT_EQ((_glapi_proc) __indirect_glTexGendv, table[_gloffset_TexGendv]);
   1029    EXPECT_EQ((_glapi_proc) __indirect_glTexGenf, table[_gloffset_TexGenf]);
   1030    EXPECT_EQ((_glapi_proc) __indirect_glTexGenfv, table[_gloffset_TexGenfv]);
   1031    EXPECT_EQ((_glapi_proc) __indirect_glTexGeni, table[_gloffset_TexGeni]);
   1032    EXPECT_EQ((_glapi_proc) __indirect_glTexGeniv, table[_gloffset_TexGeniv]);
   1033    EXPECT_EQ((_glapi_proc) __indirect_glTexImage1D, table[_gloffset_TexImage1D]);
   1034    EXPECT_EQ((_glapi_proc) __indirect_glTexImage2D, table[_gloffset_TexImage2D]);
   1035    EXPECT_EQ((_glapi_proc) __indirect_glTexParameterf, table[_gloffset_TexParameterf]);
   1036    EXPECT_EQ((_glapi_proc) __indirect_glTexParameterfv, table[_gloffset_TexParameterfv]);
   1037    EXPECT_EQ((_glapi_proc) __indirect_glTexParameteri, table[_gloffset_TexParameteri]);
   1038    EXPECT_EQ((_glapi_proc) __indirect_glTexParameteriv, table[_gloffset_TexParameteriv]);
   1039    EXPECT_EQ((_glapi_proc) __indirect_glTranslated, table[_gloffset_Translated]);
   1040    EXPECT_EQ((_glapi_proc) __indirect_glTranslatef, table[_gloffset_Translatef]);
   1041    EXPECT_EQ((_glapi_proc) __indirect_glVertex2d, table[_gloffset_Vertex2d]);
   1042    EXPECT_EQ((_glapi_proc) __indirect_glVertex2dv, table[_gloffset_Vertex2dv]);
   1043    EXPECT_EQ((_glapi_proc) __indirect_glVertex2f, table[_gloffset_Vertex2f]);
   1044    EXPECT_EQ((_glapi_proc) __indirect_glVertex2fv, table[_gloffset_Vertex2fv]);
   1045    EXPECT_EQ((_glapi_proc) __indirect_glVertex2i, table[_gloffset_Vertex2i]);
   1046    EXPECT_EQ((_glapi_proc) __indirect_glVertex2iv, table[_gloffset_Vertex2iv]);
   1047    EXPECT_EQ((_glapi_proc) __indirect_glVertex2s, table[_gloffset_Vertex2s]);
   1048    EXPECT_EQ((_glapi_proc) __indirect_glVertex2sv, table[_gloffset_Vertex2sv]);
   1049    EXPECT_EQ((_glapi_proc) __indirect_glVertex3d, table[_gloffset_Vertex3d]);
   1050    EXPECT_EQ((_glapi_proc) __indirect_glVertex3dv, table[_gloffset_Vertex3dv]);
   1051    EXPECT_EQ((_glapi_proc) __indirect_glVertex3f, table[_gloffset_Vertex3f]);
   1052    EXPECT_EQ((_glapi_proc) __indirect_glVertex3fv, table[_gloffset_Vertex3fv]);
   1053    EXPECT_EQ((_glapi_proc) __indirect_glVertex3i, table[_gloffset_Vertex3i]);
   1054    EXPECT_EQ((_glapi_proc) __indirect_glVertex3iv, table[_gloffset_Vertex3iv]);
   1055    EXPECT_EQ((_glapi_proc) __indirect_glVertex3s, table[_gloffset_Vertex3s]);
   1056    EXPECT_EQ((_glapi_proc) __indirect_glVertex3sv, table[_gloffset_Vertex3sv]);
   1057    EXPECT_EQ((_glapi_proc) __indirect_glVertex4d, table[_gloffset_Vertex4d]);
   1058    EXPECT_EQ((_glapi_proc) __indirect_glVertex4dv, table[_gloffset_Vertex4dv]);
   1059    EXPECT_EQ((_glapi_proc) __indirect_glVertex4f, table[_gloffset_Vertex4f]);
   1060    EXPECT_EQ((_glapi_proc) __indirect_glVertex4fv, table[_gloffset_Vertex4fv]);
   1061    EXPECT_EQ((_glapi_proc) __indirect_glVertex4i, table[_gloffset_Vertex4i]);
   1062    EXPECT_EQ((_glapi_proc) __indirect_glVertex4iv, table[_gloffset_Vertex4iv]);
   1063    EXPECT_EQ((_glapi_proc) __indirect_glVertex4s, table[_gloffset_Vertex4s]);
   1064    EXPECT_EQ((_glapi_proc) __indirect_glVertex4sv, table[_gloffset_Vertex4sv]);
   1065    EXPECT_EQ((_glapi_proc) __indirect_glViewport, table[_gloffset_Viewport]);
   1066 }
   1067 
   1068 TEST_F(IndirectAPI, OpenGL_11)
   1069 {
   1070    EXPECT_EQ((_glapi_proc) __indirect_glAreTexturesResident, table[_gloffset_AreTexturesResident]);
   1071    EXPECT_EQ((_glapi_proc) __indirect_glArrayElement, table[_gloffset_ArrayElement]);
   1072    EXPECT_EQ((_glapi_proc) __indirect_glBindTexture, table[_gloffset_BindTexture]);
   1073    EXPECT_EQ((_glapi_proc) __indirect_glColorPointer, table[_gloffset_ColorPointer]);
   1074    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage1D, table[_gloffset_CopyTexImage1D]);
   1075    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage2D, table[_gloffset_CopyTexImage2D]);
   1076    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage1D, table[_gloffset_CopyTexSubImage1D]);
   1077    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage2D, table[_gloffset_CopyTexSubImage2D]);
   1078    EXPECT_EQ((_glapi_proc) __indirect_glDeleteTextures, table[_gloffset_DeleteTextures]);
   1079    EXPECT_EQ((_glapi_proc) __indirect_glDisableClientState, table[_gloffset_DisableClientState]);
   1080    EXPECT_EQ((_glapi_proc) __indirect_glDrawArrays, table[_gloffset_DrawArrays]);
   1081    EXPECT_EQ((_glapi_proc) __indirect_glDrawElements, table[_gloffset_DrawElements]);
   1082    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointer, table[_gloffset_EdgeFlagPointer]);
   1083    EXPECT_EQ((_glapi_proc) __indirect_glEnableClientState, table[_gloffset_EnableClientState]);
   1084    EXPECT_EQ((_glapi_proc) __indirect_glGenTextures, table[_gloffset_GenTextures]);
   1085    EXPECT_EQ((_glapi_proc) __indirect_glGetPointerv, table[_gloffset_GetPointerv]);
   1086    EXPECT_EQ((_glapi_proc) __indirect_glIndexPointer, table[_gloffset_IndexPointer]);
   1087    EXPECT_EQ((_glapi_proc) __indirect_glIndexub, table[_gloffset_Indexub]);
   1088    EXPECT_EQ((_glapi_proc) __indirect_glIndexubv, table[_gloffset_Indexubv]);
   1089    EXPECT_EQ((_glapi_proc) __indirect_glInterleavedArrays, table[_gloffset_InterleavedArrays]);
   1090    EXPECT_EQ((_glapi_proc) __indirect_glIsTexture, table[_gloffset_IsTexture]);
   1091    EXPECT_EQ((_glapi_proc) __indirect_glNormalPointer, table[_gloffset_NormalPointer]);
   1092    EXPECT_EQ((_glapi_proc) __indirect_glPolygonOffset, table[_gloffset_PolygonOffset]);
   1093    EXPECT_EQ((_glapi_proc) __indirect_glPopClientAttrib, table[_gloffset_PopClientAttrib]);
   1094    EXPECT_EQ((_glapi_proc) __indirect_glPrioritizeTextures, table[_gloffset_PrioritizeTextures]);
   1095    EXPECT_EQ((_glapi_proc) __indirect_glPushClientAttrib, table[_gloffset_PushClientAttrib]);
   1096    EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointer, table[_gloffset_TexCoordPointer]);
   1097    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage1D, table[_gloffset_TexSubImage1D]);
   1098    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage2D, table[_gloffset_TexSubImage2D]);
   1099    EXPECT_EQ((_glapi_proc) __indirect_glVertexPointer, table[_gloffset_VertexPointer]);
   1100 }
   1101 
   1102 TEST_F(IndirectAPI, OpenGL_12)
   1103 {
   1104    EXPECT_EQ((_glapi_proc) __indirect_glBlendColor, table[_gloffset_BlendColor]);
   1105    EXPECT_EQ((_glapi_proc) __indirect_glBlendEquation, table[_gloffset_BlendEquation]);
   1106    EXPECT_EQ((_glapi_proc) __indirect_glColorSubTable, table[_gloffset_ColorSubTable]);
   1107    EXPECT_EQ((_glapi_proc) __indirect_glColorTable, table[_gloffset_ColorTable]);
   1108    EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameterfv, table[_gloffset_ColorTableParameterfv]);
   1109    EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameteriv, table[_gloffset_ColorTableParameteriv]);
   1110    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter1D, table[_gloffset_ConvolutionFilter1D]);
   1111    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter2D, table[_gloffset_ConvolutionFilter2D]);
   1112    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterf, table[_gloffset_ConvolutionParameterf]);
   1113    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterfv, table[_gloffset_ConvolutionParameterfv]);
   1114    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteri, table[_gloffset_ConvolutionParameteri]);
   1115    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteriv, table[_gloffset_ConvolutionParameteriv]);
   1116    EXPECT_EQ((_glapi_proc) __indirect_glCopyColorSubTable, table[_gloffset_CopyColorSubTable]);
   1117    EXPECT_EQ((_glapi_proc) __indirect_glCopyColorTable, table[_gloffset_CopyColorTable]);
   1118    EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter1D, table[_gloffset_CopyConvolutionFilter1D]);
   1119    EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter2D, table[_gloffset_CopyConvolutionFilter2D]);
   1120    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage3D, table[_gloffset_CopyTexSubImage3D]);
   1121    EXPECT_EQ((_glapi_proc) __indirect_glDrawRangeElements, table[_gloffset_DrawRangeElements]);
   1122    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTable, table[_gloffset_GetColorTable]);
   1123    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameterfv, table[_gloffset_GetColorTableParameterfv]);
   1124    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameteriv, table[_gloffset_GetColorTableParameteriv]);
   1125    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionFilter, table[_gloffset_GetConvolutionFilter]);
   1126    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameterfv, table[_gloffset_GetConvolutionParameterfv]);
   1127    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameteriv, table[_gloffset_GetConvolutionParameteriv]);
   1128    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogram, table[_gloffset_GetHistogram]);
   1129    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameterfv, table[_gloffset_GetHistogramParameterfv]);
   1130    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameteriv, table[_gloffset_GetHistogramParameteriv]);
   1131    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmax, table[_gloffset_GetMinmax]);
   1132    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameterfv, table[_gloffset_GetMinmaxParameterfv]);
   1133    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameteriv, table[_gloffset_GetMinmaxParameteriv]);
   1134    EXPECT_EQ((_glapi_proc) __indirect_glGetSeparableFilter, table[_gloffset_GetSeparableFilter]);
   1135    EXPECT_EQ((_glapi_proc) __indirect_glHistogram, table[_gloffset_Histogram]);
   1136    EXPECT_EQ((_glapi_proc) __indirect_glMinmax, table[_gloffset_Minmax]);
   1137    EXPECT_EQ((_glapi_proc) __indirect_glResetHistogram, table[_gloffset_ResetHistogram]);
   1138    EXPECT_EQ((_glapi_proc) __indirect_glResetMinmax, table[_gloffset_ResetMinmax]);
   1139    EXPECT_EQ((_glapi_proc) __indirect_glSeparableFilter2D, table[_gloffset_SeparableFilter2D]);
   1140    EXPECT_EQ((_glapi_proc) __indirect_glTexImage3D, table[_gloffset_TexImage3D]);
   1141    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage3D, table[_gloffset_TexSubImage3D]);
   1142 }
   1143 
   1144 TEST_F(IndirectAPI, OpenGL_20_is_nop)
   1145 {
   1146    _glapi_proc const nop = table[_gloffset_COUNT];
   1147 
   1148    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glAttachShader")]);
   1149    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateProgram")]);
   1150    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateShader")]);
   1151    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteProgram")]);
   1152    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteShader")]);
   1153    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDetachShader")]);
   1154    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetAttachedShaders")]);
   1155    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramInfoLog")]);
   1156    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramiv")]);
   1157    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderInfoLog")]);
   1158    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderiv")]);
   1159    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsProgram")]);
   1160    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsShader")]);
   1161    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilFuncSeparate")]);
   1162    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilMaskSeparate")]);
   1163    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilOpSeparate")]);
   1164 }
   1165 
   1166 TEST_F(IndirectAPI, ARB_multitexture)
   1167 {
   1168    EXPECT_EQ((_glapi_proc) __indirect_glActiveTextureARB, table[_gloffset_ActiveTextureARB]);
   1169    EXPECT_EQ((_glapi_proc) __indirect_glClientActiveTextureARB, table[_gloffset_ClientActiveTextureARB]);
   1170    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1dARB, table[_gloffset_MultiTexCoord1dARB]);
   1171    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1dvARB, table[_gloffset_MultiTexCoord1dvARB]);
   1172    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fARB, table[_gloffset_MultiTexCoord1fARB]);
   1173    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fvARB, table[_gloffset_MultiTexCoord1fvARB]);
   1174    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1iARB, table[_gloffset_MultiTexCoord1iARB]);
   1175    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1ivARB, table[_gloffset_MultiTexCoord1ivARB]);
   1176    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1sARB, table[_gloffset_MultiTexCoord1sARB]);
   1177    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1svARB, table[_gloffset_MultiTexCoord1svARB]);
   1178    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2dARB, table[_gloffset_MultiTexCoord2dARB]);
   1179    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2dvARB, table[_gloffset_MultiTexCoord2dvARB]);
   1180    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fARB, table[_gloffset_MultiTexCoord2fARB]);
   1181    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fvARB, table[_gloffset_MultiTexCoord2fvARB]);
   1182    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2iARB, table[_gloffset_MultiTexCoord2iARB]);
   1183    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2ivARB, table[_gloffset_MultiTexCoord2ivARB]);
   1184    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2sARB, table[_gloffset_MultiTexCoord2sARB]);
   1185    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2svARB, table[_gloffset_MultiTexCoord2svARB]);
   1186    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3dARB, table[_gloffset_MultiTexCoord3dARB]);
   1187    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3dvARB, table[_gloffset_MultiTexCoord3dvARB]);
   1188    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fARB, table[_gloffset_MultiTexCoord3fARB]);
   1189    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fvARB, table[_gloffset_MultiTexCoord3fvARB]);
   1190    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3iARB, table[_gloffset_MultiTexCoord3iARB]);
   1191    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3ivARB, table[_gloffset_MultiTexCoord3ivARB]);
   1192    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3sARB, table[_gloffset_MultiTexCoord3sARB]);
   1193    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3svARB, table[_gloffset_MultiTexCoord3svARB]);
   1194    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4dARB, table[_gloffset_MultiTexCoord4dARB]);
   1195    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4dvARB, table[_gloffset_MultiTexCoord4dvARB]);
   1196    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fARB, table[_gloffset_MultiTexCoord4fARB]);
   1197    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fvARB, table[_gloffset_MultiTexCoord4fvARB]);
   1198    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4iARB, table[_gloffset_MultiTexCoord4iARB]);
   1199    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4ivARB, table[_gloffset_MultiTexCoord4ivARB]);
   1200    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4sARB, table[_gloffset_MultiTexCoord4sARB]);
   1201    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4svARB, table[_gloffset_MultiTexCoord4svARB]);
   1202 }
   1203 
   1204 TEST_F(IndirectAPI, ARB_transpose_matrix)
   1205 {
   1206    EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixdARB, table[_glapi_get_proc_offset("glLoadTransposeMatrixdARB")]);
   1207    EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixfARB, table[_glapi_get_proc_offset("glLoadTransposeMatrixfARB")]);
   1208    EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixdARB, table[_glapi_get_proc_offset("glMultTransposeMatrixdARB")]);
   1209    EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixfARB, table[_glapi_get_proc_offset("glMultTransposeMatrixfARB")]);
   1210 }
   1211 
   1212 TEST_F(IndirectAPI, ARB_multisample)
   1213 {
   1214    EXPECT_EQ((_glapi_proc) __indirect_glSampleCoverageARB, table[_glapi_get_proc_offset("glSampleCoverageARB")]);
   1215 }
   1216 
   1217 TEST_F(IndirectAPI, ARB_texture_compression)
   1218 {
   1219    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage1DARB, table[_glapi_get_proc_offset("glCompressedTexImage1DARB")]);
   1220    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage2DARB, table[_glapi_get_proc_offset("glCompressedTexImage2DARB")]);
   1221    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage3DARB, table[_glapi_get_proc_offset("glCompressedTexImage3DARB")]);
   1222    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage1DARB, table[_glapi_get_proc_offset("glCompressedTexSubImage1DARB")]);
   1223    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage2DARB, table[_glapi_get_proc_offset("glCompressedTexSubImage2DARB")]);
   1224    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage3DARB, table[_glapi_get_proc_offset("glCompressedTexSubImage3DARB")]);
   1225    EXPECT_EQ((_glapi_proc) __indirect_glGetCompressedTexImageARB, table[_glapi_get_proc_offset("glGetCompressedTexImageARB")]);
   1226 }
   1227 
   1228 TEST_F(IndirectAPI, ARB_vertex_program)
   1229 {
   1230    EXPECT_EQ((_glapi_proc) __indirect_glDisableVertexAttribArrayARB, table[_glapi_get_proc_offset("glDisableVertexAttribArrayARB")]);
   1231    EXPECT_EQ((_glapi_proc) __indirect_glEnableVertexAttribArrayARB, table[_glapi_get_proc_offset("glEnableVertexAttribArrayARB")]);
   1232    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterdvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterdvARB")]);
   1233    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterfvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterfvARB")]);
   1234    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterdvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterdvARB")]);
   1235    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterfvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterfvARB")]);
   1236    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringARB, table[_glapi_get_proc_offset("glGetProgramStringARB")]);
   1237    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivARB, table[_glapi_get_proc_offset("glGetProgramivARB")]);
   1238    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdvARB, table[_glapi_get_proc_offset("glGetVertexAttribdvARB")]);
   1239    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfvARB, table[_glapi_get_proc_offset("glGetVertexAttribfvARB")]);
   1240    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribivARB, table[_glapi_get_proc_offset("glGetVertexAttribivARB")]);
   1241    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dARB")]);
   1242    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dvARB")]);
   1243    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fARB")]);
   1244    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fvARB")]);
   1245    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dARB")]);
   1246    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dvARB")]);
   1247    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fARB")]);
   1248    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fvARB")]);
   1249    EXPECT_EQ((_glapi_proc) __indirect_glProgramStringARB, table[_glapi_get_proc_offset("glProgramStringARB")]);
   1250    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dARB, table[_glapi_get_proc_offset("glVertexAttrib1dARB")]);
   1251    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dvARB, table[_glapi_get_proc_offset("glVertexAttrib1dvARB")]);
   1252    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fARB, table[_glapi_get_proc_offset("glVertexAttrib1fARB")]);
   1253    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvARB, table[_glapi_get_proc_offset("glVertexAttrib1fvARB")]);
   1254    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sARB, table[_glapi_get_proc_offset("glVertexAttrib1sARB")]);
   1255    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1svARB, table[_glapi_get_proc_offset("glVertexAttrib1svARB")]);
   1256    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dARB, table[_glapi_get_proc_offset("glVertexAttrib2dARB")]);
   1257    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dvARB, table[_glapi_get_proc_offset("glVertexAttrib2dvARB")]);
   1258    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fARB, table[_glapi_get_proc_offset("glVertexAttrib2fARB")]);
   1259    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvARB, table[_glapi_get_proc_offset("glVertexAttrib2fvARB")]);
   1260    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sARB, table[_glapi_get_proc_offset("glVertexAttrib2sARB")]);
   1261    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2svARB, table[_glapi_get_proc_offset("glVertexAttrib2svARB")]);
   1262    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dARB, table[_glapi_get_proc_offset("glVertexAttrib3dARB")]);
   1263    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dvARB, table[_glapi_get_proc_offset("glVertexAttrib3dvARB")]);
   1264    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fARB, table[_glapi_get_proc_offset("glVertexAttrib3fARB")]);
   1265    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvARB, table[_glapi_get_proc_offset("glVertexAttrib3fvARB")]);
   1266    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sARB, table[_glapi_get_proc_offset("glVertexAttrib3sARB")]);
   1267    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3svARB, table[_glapi_get_proc_offset("glVertexAttrib3svARB")]);
   1268    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NbvARB, table[_glapi_get_proc_offset("glVertexAttrib4NbvARB")]);
   1269    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NivARB, table[_glapi_get_proc_offset("glVertexAttrib4NivARB")]);
   1270    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NsvARB, table[_glapi_get_proc_offset("glVertexAttrib4NsvARB")]);
   1271    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NubARB, table[_glapi_get_proc_offset("glVertexAttrib4NubARB")]);
   1272    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NubvARB, table[_glapi_get_proc_offset("glVertexAttrib4NubvARB")]);
   1273    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NuivARB, table[_glapi_get_proc_offset("glVertexAttrib4NuivARB")]);
   1274    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4NusvARB, table[_glapi_get_proc_offset("glVertexAttrib4NusvARB")]);
   1275    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4bvARB, table[_glapi_get_proc_offset("glVertexAttrib4bvARB")]);
   1276    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dARB, table[_glapi_get_proc_offset("glVertexAttrib4dARB")]);
   1277    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dvARB, table[_glapi_get_proc_offset("glVertexAttrib4dvARB")]);
   1278    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fARB, table[_glapi_get_proc_offset("glVertexAttrib4fARB")]);
   1279    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvARB, table[_glapi_get_proc_offset("glVertexAttrib4fvARB")]);
   1280    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ivARB, table[_glapi_get_proc_offset("glVertexAttrib4ivARB")]);
   1281    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sARB, table[_glapi_get_proc_offset("glVertexAttrib4sARB")]);
   1282    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4svARB, table[_glapi_get_proc_offset("glVertexAttrib4svARB")]);
   1283    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubvARB, table[_glapi_get_proc_offset("glVertexAttrib4ubvARB")]);
   1284    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4uivARB, table[_glapi_get_proc_offset("glVertexAttrib4uivARB")]);
   1285    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4usvARB, table[_glapi_get_proc_offset("glVertexAttrib4usvARB")]);
   1286    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointerARB, table[_glapi_get_proc_offset("glVertexAttribPointerARB")]);
   1287 }
   1288 
   1289 TEST_F(IndirectAPI, ARB_occlusion_query)
   1290 {
   1291    EXPECT_EQ((_glapi_proc) __indirect_glBeginQueryARB, table[_glapi_get_proc_offset("glBeginQueryARB")]);
   1292    EXPECT_EQ((_glapi_proc) __indirect_glDeleteQueriesARB, table[_glapi_get_proc_offset("glDeleteQueriesARB")]);
   1293    EXPECT_EQ((_glapi_proc) __indirect_glEndQueryARB, table[_glapi_get_proc_offset("glEndQueryARB")]);
   1294    EXPECT_EQ((_glapi_proc) __indirect_glGenQueriesARB, table[_glapi_get_proc_offset("glGenQueriesARB")]);
   1295    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectivARB, table[_glapi_get_proc_offset("glGetQueryObjectivARB")]);
   1296    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectuivARB, table[_glapi_get_proc_offset("glGetQueryObjectuivARB")]);
   1297    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryivARB, table[_glapi_get_proc_offset("glGetQueryivARB")]);
   1298    EXPECT_EQ((_glapi_proc) __indirect_glIsQueryARB, table[_glapi_get_proc_offset("glIsQueryARB")]);
   1299 }
   1300 
   1301 TEST_F(IndirectAPI, ARB_draw_buffers)
   1302 {
   1303    EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffersARB, table[_glapi_get_proc_offset("glDrawBuffersARB")]);
   1304 }
   1305 
   1306 TEST_F(IndirectAPI, ARB_color_buffer_float)
   1307 {
   1308    EXPECT_EQ((_glapi_proc) __indirect_glClampColorARB, table[_glapi_get_proc_offset("glClampColorARB")]);
   1309 }
   1310 
   1311 TEST_F(IndirectAPI, ARB_framebuffer_object)
   1312 {
   1313    EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorageMultisample, table[_glapi_get_proc_offset("glRenderbufferStorageMultisample")]);
   1314 }
   1315 
   1316 TEST_F(IndirectAPI, SGIS_multisample)
   1317 {
   1318    EXPECT_EQ((_glapi_proc) __indirect_glSampleMaskSGIS, table[_glapi_get_proc_offset("glSampleMaskSGIS")]);
   1319    EXPECT_EQ((_glapi_proc) __indirect_glSamplePatternSGIS, table[_glapi_get_proc_offset("glSamplePatternSGIS")]);
   1320 }
   1321 
   1322 TEST_F(IndirectAPI, EXT_vertex_array)
   1323 {
   1324    EXPECT_EQ((_glapi_proc) __indirect_glColorPointerEXT, table[_glapi_get_proc_offset("glColorPointerEXT")]);
   1325    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointerEXT, table[_glapi_get_proc_offset("glEdgeFlagPointerEXT")]);
   1326    EXPECT_EQ((_glapi_proc) __indirect_glIndexPointerEXT, table[_glapi_get_proc_offset("glIndexPointerEXT")]);
   1327    EXPECT_EQ((_glapi_proc) __indirect_glNormalPointerEXT, table[_glapi_get_proc_offset("glNormalPointerEXT")]);
   1328    EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointerEXT, table[_glapi_get_proc_offset("glTexCoordPointerEXT")]);
   1329    EXPECT_EQ((_glapi_proc) __indirect_glVertexPointerEXT, table[_glapi_get_proc_offset("glVertexPointerEXT")]);
   1330 }
   1331 
   1332 TEST_F(IndirectAPI, EXT_point_parameters)
   1333 {
   1334    EXPECT_EQ((_glapi_proc) __indirect_glPointParameterfEXT, table[_glapi_get_proc_offset("glPointParameterfEXT")]);
   1335    EXPECT_EQ((_glapi_proc) __indirect_glPointParameterfvEXT, table[_glapi_get_proc_offset("glPointParameterfvEXT")]);
   1336 }
   1337 
   1338 TEST_F(IndirectAPI, EXT_secondary_color)
   1339 {
   1340    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3bEXT, table[_glapi_get_proc_offset("glSecondaryColor3bEXT")]);
   1341    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3bvEXT, table[_glapi_get_proc_offset("glSecondaryColor3bvEXT")]);
   1342    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3dEXT, table[_glapi_get_proc_offset("glSecondaryColor3dEXT")]);
   1343    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3dvEXT, table[_glapi_get_proc_offset("glSecondaryColor3dvEXT")]);
   1344    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fEXT, table[_glapi_get_proc_offset("glSecondaryColor3fEXT")]);
   1345    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fvEXT, table[_glapi_get_proc_offset("glSecondaryColor3fvEXT")]);
   1346    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3iEXT, table[_glapi_get_proc_offset("glSecondaryColor3iEXT")]);
   1347    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ivEXT, table[_glapi_get_proc_offset("glSecondaryColor3ivEXT")]);
   1348    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3sEXT, table[_glapi_get_proc_offset("glSecondaryColor3sEXT")]);
   1349    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3svEXT, table[_glapi_get_proc_offset("glSecondaryColor3svEXT")]);
   1350    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ubEXT, table[_glapi_get_proc_offset("glSecondaryColor3ubEXT")]);
   1351    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ubvEXT, table[_glapi_get_proc_offset("glSecondaryColor3ubvEXT")]);
   1352    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3uiEXT, table[_glapi_get_proc_offset("glSecondaryColor3uiEXT")]);
   1353    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3uivEXT, table[_glapi_get_proc_offset("glSecondaryColor3uivEXT")]);
   1354    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3usEXT, table[_glapi_get_proc_offset("glSecondaryColor3usEXT")]);
   1355    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3usvEXT, table[_glapi_get_proc_offset("glSecondaryColor3usvEXT")]);
   1356    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColorPointerEXT, table[_glapi_get_proc_offset("glSecondaryColorPointerEXT")]);
   1357 }
   1358 
   1359 TEST_F(IndirectAPI, EXT_multi_draw_arrays)
   1360 {
   1361    EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawArraysEXT, table[_glapi_get_proc_offset("glMultiDrawArraysEXT")]);
   1362    EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawElementsEXT, table[_glapi_get_proc_offset("glMultiDrawElementsEXT")]);
   1363 }
   1364 
   1365 TEST_F(IndirectAPI, EXT_fog_coord)
   1366 {
   1367    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordPointerEXT, table[_glapi_get_proc_offset("glFogCoordPointerEXT")]);
   1368    EXPECT_EQ((_glapi_proc) __indirect_glFogCoorddEXT, table[_glapi_get_proc_offset("glFogCoorddEXT")]);
   1369    EXPECT_EQ((_glapi_proc) __indirect_glFogCoorddvEXT, table[_glapi_get_proc_offset("glFogCoorddvEXT")]);
   1370    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfEXT, table[_glapi_get_proc_offset("glFogCoordfEXT")]);
   1371    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfvEXT, table[_glapi_get_proc_offset("glFogCoordfvEXT")]);
   1372 }
   1373 
   1374 TEST_F(IndirectAPI, EXT_blend_func_separate)
   1375 {
   1376    EXPECT_EQ((_glapi_proc) __indirect_glBlendFuncSeparateEXT, table[_glapi_get_proc_offset("glBlendFuncSeparateEXT")]);
   1377 }
   1378 
   1379 TEST_F(IndirectAPI, MESA_window_pos)
   1380 {
   1381    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2dMESA, table[_glapi_get_proc_offset("glWindowPos2dMESA")]);
   1382    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2dvMESA, table[_glapi_get_proc_offset("glWindowPos2dvMESA")]);
   1383    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2fMESA, table[_glapi_get_proc_offset("glWindowPos2fMESA")]);
   1384    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2fvMESA, table[_glapi_get_proc_offset("glWindowPos2fvMESA")]);
   1385    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2iMESA, table[_glapi_get_proc_offset("glWindowPos2iMESA")]);
   1386    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2ivMESA, table[_glapi_get_proc_offset("glWindowPos2ivMESA")]);
   1387    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2sMESA, table[_glapi_get_proc_offset("glWindowPos2sMESA")]);
   1388    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2svMESA, table[_glapi_get_proc_offset("glWindowPos2svMESA")]);
   1389    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3dMESA, table[_glapi_get_proc_offset("glWindowPos3dMESA")]);
   1390    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3dvMESA, table[_glapi_get_proc_offset("glWindowPos3dvMESA")]);
   1391    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3fMESA, table[_glapi_get_proc_offset("glWindowPos3fMESA")]);
   1392    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3fvMESA, table[_glapi_get_proc_offset("glWindowPos3fvMESA")]);
   1393    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3iMESA, table[_glapi_get_proc_offset("glWindowPos3iMESA")]);
   1394    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3ivMESA, table[_glapi_get_proc_offset("glWindowPos3ivMESA")]);
   1395    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3sMESA, table[_glapi_get_proc_offset("glWindowPos3sMESA")]);
   1396    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3svMESA, table[_glapi_get_proc_offset("glWindowPos3svMESA")]);
   1397 }
   1398 
   1399 TEST_F(IndirectAPI, NV_vertex_program)
   1400 {
   1401    EXPECT_EQ((_glapi_proc) __indirect_glAreProgramsResidentNV, table[_glapi_get_proc_offset("glAreProgramsResidentNV")]);
   1402    EXPECT_EQ((_glapi_proc) __indirect_glBindProgramNV, table[_glapi_get_proc_offset("glBindProgramNV")]);
   1403    EXPECT_EQ((_glapi_proc) __indirect_glDeleteProgramsNV, table[_glapi_get_proc_offset("glDeleteProgramsNV")]);
   1404    EXPECT_EQ((_glapi_proc) __indirect_glExecuteProgramNV, table[_glapi_get_proc_offset("glExecuteProgramNV")]);
   1405    EXPECT_EQ((_glapi_proc) __indirect_glGenProgramsNV, table[_glapi_get_proc_offset("glGenProgramsNV")]);
   1406    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterdvNV, table[_glapi_get_proc_offset("glGetProgramParameterdvNV")]);
   1407    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterfvNV, table[_glapi_get_proc_offset("glGetProgramParameterfvNV")]);
   1408    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringNV, table[_glapi_get_proc_offset("glGetProgramStringNV")]);
   1409    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivNV, table[_glapi_get_proc_offset("glGetProgramivNV")]);
   1410    EXPECT_EQ((_glapi_proc) __indirect_glGetTrackMatrixivNV, table[_glapi_get_proc_offset("glGetTrackMatrixivNV")]);
   1411    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribPointervNV, table[_glapi_get_proc_offset("glGetVertexAttribPointervNV")]);
   1412    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdvNV, table[_glapi_get_proc_offset("glGetVertexAttribdvNV")]);
   1413    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfvNV, table[_glapi_get_proc_offset("glGetVertexAttribfvNV")]);
   1414    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribivNV, table[_glapi_get_proc_offset("glGetVertexAttribivNV")]);
   1415    EXPECT_EQ((_glapi_proc) __indirect_glIsProgramNV, table[_glapi_get_proc_offset("glIsProgramNV")]);
   1416    EXPECT_EQ((_glapi_proc) __indirect_glLoadProgramNV, table[_glapi_get_proc_offset("glLoadProgramNV")]);
   1417    EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4dvNV, table[_glapi_get_proc_offset("glProgramParameters4dvNV")]);
   1418    EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4fvNV, table[_glapi_get_proc_offset("glProgramParameters4fvNV")]);
   1419    EXPECT_EQ((_glapi_proc) __indirect_glRequestResidentProgramsNV, table[_glapi_get_proc_offset("glRequestResidentProgramsNV")]);
   1420    EXPECT_EQ((_glapi_proc) __indirect_glTrackMatrixNV, table[_glapi_get_proc_offset("glTrackMatrixNV")]);
   1421    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dNV, table[_glapi_get_proc_offset("glVertexAttrib1dNV")]);
   1422    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dvNV, table[_glapi_get_proc_offset("glVertexAttrib1dvNV")]);
   1423    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fNV, table[_glapi_get_proc_offset("glVertexAttrib1fNV")]);
   1424    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvNV, table[_glapi_get_proc_offset("glVertexAttrib1fvNV")]);
   1425    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sNV, table[_glapi_get_proc_offset("glVertexAttrib1sNV")]);
   1426    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1svNV, table[_glapi_get_proc_offset("glVertexAttrib1svNV")]);
   1427    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dNV, table[_glapi_get_proc_offset("glVertexAttrib2dNV")]);
   1428    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dvNV, table[_glapi_get_proc_offset("glVertexAttrib2dvNV")]);
   1429    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fNV, table[_glapi_get_proc_offset("glVertexAttrib2fNV")]);
   1430    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvNV, table[_glapi_get_proc_offset("glVertexAttrib2fvNV")]);
   1431    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sNV, table[_glapi_get_proc_offset("glVertexAttrib2sNV")]);
   1432    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2svNV, table[_glapi_get_proc_offset("glVertexAttrib2svNV")]);
   1433    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dNV, table[_glapi_get_proc_offset("glVertexAttrib3dNV")]);
   1434    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dvNV, table[_glapi_get_proc_offset("glVertexAttrib3dvNV")]);
   1435    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fNV, table[_glapi_get_proc_offset("glVertexAttrib3fNV")]);
   1436    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvNV, table[_glapi_get_proc_offset("glVertexAttrib3fvNV")]);
   1437    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sNV, table[_glapi_get_proc_offset("glVertexAttrib3sNV")]);
   1438    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3svNV, table[_glapi_get_proc_offset("glVertexAttrib3svNV")]);
   1439    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dNV, table[_glapi_get_proc_offset("glVertexAttrib4dNV")]);
   1440    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dvNV, table[_glapi_get_proc_offset("glVertexAttrib4dvNV")]);
   1441    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fNV, table[_glapi_get_proc_offset("glVertexAttrib4fNV")]);
   1442    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvNV, table[_glapi_get_proc_offset("glVertexAttrib4fvNV")]);
   1443    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sNV, table[_glapi_get_proc_offset("glVertexAttrib4sNV")]);
   1444    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4svNV, table[_glapi_get_proc_offset("glVertexAttrib4svNV")]);
   1445    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubNV, table[_glapi_get_proc_offset("glVertexAttrib4ubNV")]);
   1446    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubvNV, table[_glapi_get_proc_offset("glVertexAttrib4ubvNV")]);
   1447    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointerNV, table[_glapi_get_proc_offset("glVertexAttribPointerNV")]);
   1448    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1dvNV, table[_glapi_get_proc_offset("glVertexAttribs1dvNV")]);
   1449    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1fvNV, table[_glapi_get_proc_offset("glVertexAttribs1fvNV")]);
   1450    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1svNV, table[_glapi_get_proc_offset("glVertexAttribs1svNV")]);
   1451    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2dvNV, table[_glapi_get_proc_offset("glVertexAttribs2dvNV")]);
   1452    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2fvNV, table[_glapi_get_proc_offset("glVertexAttribs2fvNV")]);
   1453    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2svNV, table[_glapi_get_proc_offset("glVertexAttribs2svNV")]);
   1454    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3dvNV, table[_glapi_get_proc_offset("glVertexAttribs3dvNV")]);
   1455    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3fvNV, table[_glapi_get_proc_offset("glVertexAttribs3fvNV")]);
   1456    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3svNV, table[_glapi_get_proc_offset("glVertexAttribs3svNV")]);
   1457    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4dvNV, table[_glapi_get_proc_offset("glVertexAttribs4dvNV")]);
   1458    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4fvNV, table[_glapi_get_proc_offset("glVertexAttribs4fvNV")]);
   1459    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4svNV, table[_glapi_get_proc_offset("glVertexAttribs4svNV")]);
   1460    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4ubvNV, table[_glapi_get_proc_offset("glVertexAttribs4ubvNV")]);
   1461 }
   1462 
   1463 TEST_F(IndirectAPI, NV_point_sprite)
   1464 {
   1465    EXPECT_EQ((_glapi_proc) __indirect_glPointParameteriNV, table[_glapi_get_proc_offset("glPointParameteriNV")]);
   1466    EXPECT_EQ((_glapi_proc) __indirect_glPointParameterivNV, table[_glapi_get_proc_offset("glPointParameterivNV")]);
   1467 }
   1468 
   1469 TEST_F(IndirectAPI, EXT_stencil_two_side)
   1470 {
   1471    EXPECT_EQ((_glapi_proc) __indirect_glActiveStencilFaceEXT, table[_glapi_get_proc_offset("glActiveStencilFaceEXT")]);
   1472 }
   1473 
   1474 TEST_F(IndirectAPI, NV_fragment_program)
   1475 {
   1476    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterdvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterdvNV")]);
   1477    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterfvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterfvNV")]);
   1478    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dNV")]);
   1479    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dvNV")]);
   1480    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fNV")]);
   1481    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fvNV")]);
   1482 }
   1483 
   1484 TEST_F(IndirectAPI, EXT_blend_equation_separate)
   1485 {
   1486    EXPECT_EQ((_glapi_proc) __indirect_glBlendEquationSeparateEXT, table[_glapi_get_proc_offset("glBlendEquationSeparateEXT")]);
   1487 }
   1488 
   1489 TEST_F(IndirectAPI, EXT_framebuffer_object)
   1490 {
   1491    EXPECT_EQ((_glapi_proc) __indirect_glBindFramebufferEXT, table[_glapi_get_proc_offset("glBindFramebufferEXT")]);
   1492    EXPECT_EQ((_glapi_proc) __indirect_glBindRenderbufferEXT, table[_glapi_get_proc_offset("glBindRenderbufferEXT")]);
   1493    EXPECT_EQ((_glapi_proc) __indirect_glCheckFramebufferStatusEXT, table[_glapi_get_proc_offset("glCheckFramebufferStatusEXT")]);
   1494    EXPECT_EQ((_glapi_proc) __indirect_glDeleteFramebuffersEXT, table[_glapi_get_proc_offset("glDeleteFramebuffersEXT")]);
   1495    EXPECT_EQ((_glapi_proc) __indirect_glDeleteRenderbuffersEXT, table[_glapi_get_proc_offset("glDeleteRenderbuffersEXT")]);
   1496    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferRenderbufferEXT, table[_glapi_get_proc_offset("glFramebufferRenderbufferEXT")]);
   1497    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture1DEXT, table[_glapi_get_proc_offset("glFramebufferTexture1DEXT")]);
   1498    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture2DEXT, table[_glapi_get_proc_offset("glFramebufferTexture2DEXT")]);
   1499    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture3DEXT, table[_glapi_get_proc_offset("glFramebufferTexture3DEXT")]);
   1500    EXPECT_EQ((_glapi_proc) __indirect_glGenFramebuffersEXT, table[_glapi_get_proc_offset("glGenFramebuffersEXT")]);
   1501    EXPECT_EQ((_glapi_proc) __indirect_glGenRenderbuffersEXT, table[_glapi_get_proc_offset("glGenRenderbuffersEXT")]);
   1502    EXPECT_EQ((_glapi_proc) __indirect_glGenerateMipmapEXT, table[_glapi_get_proc_offset("glGenerateMipmapEXT")]);
   1503    EXPECT_EQ((_glapi_proc) __indirect_glGetFramebufferAttachmentParameterivEXT, table[_glapi_get_proc_offset("glGetFramebufferAttachmentParameterivEXT")]);
   1504    EXPECT_EQ((_glapi_proc) __indirect_glGetRenderbufferParameterivEXT, table[_glapi_get_proc_offset("glGetRenderbufferParameterivEXT")]);
   1505    EXPECT_EQ((_glapi_proc) __indirect_glIsFramebufferEXT, table[_glapi_get_proc_offset("glIsFramebufferEXT")]);
   1506    EXPECT_EQ((_glapi_proc) __indirect_glIsRenderbufferEXT, table[_glapi_get_proc_offset("glIsRenderbufferEXT")]);
   1507    EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorageEXT, table[_glapi_get_proc_offset("glRenderbufferStorageEXT")]);
   1508 }
   1509 
   1510 TEST_F(IndirectAPI, EXT_framebuffer_blit)
   1511 {
   1512    EXPECT_EQ((_glapi_proc) __indirect_glBlitFramebufferEXT, table[_glapi_get_proc_offset("glBlitFramebufferEXT")]);
   1513 }
   1514 
   1515 TEST_F(IndirectAPI, EXT_texture_array)
   1516 {
   1517    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTextureLayerEXT, table[_glapi_get_proc_offset("glFramebufferTextureLayerEXT")]);
   1518 }
   1519