Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright © 2012 Intel Corporation
  3.  *
  4.  * Permission is hereby granted, free of charge, to any person obtaining a
  5.  * copy of this software and associated documentation files (the "Software"),
  6.  * to deal in the Software without restriction, including without limitation
  7.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8.  * and/or sell copies of the Software, and to permit persons to whom the
  9.  * Software is furnished to do so, subject to the following conditions:
  10.  *
  11.  * The above copyright notice and this permission notice (including the next
  12.  * paragraph) shall be included in all copies or substantial portions of the
  13.  * Software.
  14.  *
  15.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  18.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  19.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  20.  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  21.  * DEALINGS IN THE SOFTWARE.
  22.  */
  23.  
  24. /**
  25.  * \file indirect_api.cpp
  26.  * Validate the generated code in indirect_init.c
  27.  *
  28.  * Tests various apsects of the dispatch table generated by
  29.  * \c __glXNewIndirectAPI.
  30.  *
  31.  *    * No entry in the table should be \c NULL.
  32.  *
  33.  *    * Entries in the table that correspond to "known" functions with GLX
  34.  *      protocol should point to the correct function.
  35.  *
  36.  *    * Entries beyond the end of the "known" part of the table (i.e., entries
  37.  *      that can be allocated by drivers for extensions) should point to a
  38.  *      no-op function.
  39.  *
  40.  *    * Entries in the table that correspond to "known" functions that lack
  41.  *      GLX protocol should point to a no-op function.
  42.  *
  43.  * Very few entries in the last catogory are tests.  See \c OpenGL_20_is_nop.
  44.  */
  45.  
  46. #include <gtest/gtest.h>
  47. #include "main/glheader.h"
  48. 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_glActiveTexture(void) { }
  452. void __indirect_glClientActiveTexture(void) { }
  453. void __indirect_glMultiTexCoord1d(void) { }
  454. void __indirect_glMultiTexCoord1dv(void) { }
  455. void __indirect_glMultiTexCoord1fARB(void) { }
  456. void __indirect_glMultiTexCoord1fvARB(void) { }
  457. void __indirect_glMultiTexCoord1i(void) { }
  458. void __indirect_glMultiTexCoord1iv(void) { }
  459. void __indirect_glMultiTexCoord1s(void) { }
  460. void __indirect_glMultiTexCoord1sv(void) { }
  461. void __indirect_glMultiTexCoord2d(void) { }
  462. void __indirect_glMultiTexCoord2dv(void) { }
  463. void __indirect_glMultiTexCoord2fARB(void) { }
  464. void __indirect_glMultiTexCoord2fvARB(void) { }
  465. void __indirect_glMultiTexCoord2i(void) { }
  466. void __indirect_glMultiTexCoord2iv(void) { }
  467. void __indirect_glMultiTexCoord2s(void) { }
  468. void __indirect_glMultiTexCoord2sv(void) { }
  469. void __indirect_glMultiTexCoord3d(void) { }
  470. void __indirect_glMultiTexCoord3dv(void) { }
  471. void __indirect_glMultiTexCoord3fARB(void) { }
  472. void __indirect_glMultiTexCoord3fvARB(void) { }
  473. void __indirect_glMultiTexCoord3i(void) { }
  474. void __indirect_glMultiTexCoord3iv(void) { }
  475. void __indirect_glMultiTexCoord3s(void) { }
  476. void __indirect_glMultiTexCoord3sv(void) { }
  477. void __indirect_glMultiTexCoord4d(void) { }
  478. void __indirect_glMultiTexCoord4dv(void) { }
  479. void __indirect_glMultiTexCoord4fARB(void) { }
  480. void __indirect_glMultiTexCoord4fvARB(void) { }
  481. void __indirect_glMultiTexCoord4i(void) { }
  482. void __indirect_glMultiTexCoord4iv(void) { }
  483. void __indirect_glMultiTexCoord4s(void) { }
  484. void __indirect_glMultiTexCoord4sv(void) { }
  485. void __indirect_glLoadTransposeMatrixd(void) { }
  486. void __indirect_glLoadTransposeMatrixf(void) { }
  487. void __indirect_glMultTransposeMatrixd(void) { }
  488. void __indirect_glMultTransposeMatrixf(void) { }
  489. void __indirect_glSampleCoverage(void) { }
  490. void __indirect_glCompressedTexImage1D(void) { }
  491. void __indirect_glCompressedTexImage2D(void) { }
  492. void __indirect_glCompressedTexImage3D(void) { }
  493. void __indirect_glCompressedTexSubImage1D(void) { }
  494. void __indirect_glCompressedTexSubImage2D(void) { }
  495. void __indirect_glCompressedTexSubImage3D(void) { }
  496. void __indirect_glGetCompressedTexImage(void) { }
  497. void __indirect_glDisableVertexAttribArray(void) { }
  498. void __indirect_glEnableVertexAttribArray(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_glGetVertexAttribdv(void) { }
  506. void __indirect_glGetVertexAttribfv(void) { }
  507. void __indirect_glGetVertexAttribiv(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_glVertexAttrib1d(void) { }
  518. void __indirect_glVertexAttrib1dv(void) { }
  519. void __indirect_glVertexAttrib1fARB(void) { }
  520. void __indirect_glVertexAttrib1fvARB(void) { }
  521. void __indirect_glVertexAttrib1s(void) { }
  522. void __indirect_glVertexAttrib1sv(void) { }
  523. void __indirect_glVertexAttrib2d(void) { }
  524. void __indirect_glVertexAttrib2dv(void) { }
  525. void __indirect_glVertexAttrib2fARB(void) { }
  526. void __indirect_glVertexAttrib2fvARB(void) { }
  527. void __indirect_glVertexAttrib2s(void) { }
  528. void __indirect_glVertexAttrib2sv(void) { }
  529. void __indirect_glVertexAttrib3d(void) { }
  530. void __indirect_glVertexAttrib3dv(void) { }
  531. void __indirect_glVertexAttrib3fARB(void) { }
  532. void __indirect_glVertexAttrib3fvARB(void) { }
  533. void __indirect_glVertexAttrib3s(void) { }
  534. void __indirect_glVertexAttrib3sv(void) { }
  535. void __indirect_glVertexAttrib4Nbv(void) { }
  536. void __indirect_glVertexAttrib4Niv(void) { }
  537. void __indirect_glVertexAttrib4Nsv(void) { }
  538. void __indirect_glVertexAttrib4Nub(void) { }
  539. void __indirect_glVertexAttrib4Nubv(void) { }
  540. void __indirect_glVertexAttrib4Nuiv(void) { }
  541. void __indirect_glVertexAttrib4Nusv(void) { }
  542. void __indirect_glVertexAttrib4bv(void) { }
  543. void __indirect_glVertexAttrib4d(void) { }
  544. void __indirect_glVertexAttrib4dv(void) { }
  545. void __indirect_glVertexAttrib4fARB(void) { }
  546. void __indirect_glVertexAttrib4fvARB(void) { }
  547. void __indirect_glVertexAttrib4iv(void) { }
  548. void __indirect_glVertexAttrib4s(void) { }
  549. void __indirect_glVertexAttrib4sv(void) { }
  550. void __indirect_glVertexAttrib4ubv(void) { }
  551. void __indirect_glVertexAttrib4uiv(void) { }
  552. void __indirect_glVertexAttrib4usv(void) { }
  553. void __indirect_glVertexAttribPointer(void) { }
  554. void __indirect_glBeginQuery(void) { }
  555. void __indirect_glDeleteQueries(void) { }
  556. void __indirect_glEndQuery(void) { }
  557. void __indirect_glGenQueries(void) { }
  558. void __indirect_glGetQueryObjectiv(void) { }
  559. void __indirect_glGetQueryObjectuiv(void) { }
  560. void __indirect_glGetQueryiv(void) { }
  561. void __indirect_glIsQuery(void) { }
  562. void __indirect_glDrawBuffers(void) { }
  563. void __indirect_glClampColor(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_glPointParameterf(void) { }
  574. void __indirect_glPointParameterfv(void) { }
  575. void __indirect_glSecondaryColor3b(void) { }
  576. void __indirect_glSecondaryColor3bv(void) { }
  577. void __indirect_glSecondaryColor3d(void) { }
  578. void __indirect_glSecondaryColor3dv(void) { }
  579. void __indirect_glSecondaryColor3fEXT(void) { }
  580. void __indirect_glSecondaryColor3fvEXT(void) { }
  581. void __indirect_glSecondaryColor3i(void) { }
  582. void __indirect_glSecondaryColor3iv(void) { }
  583. void __indirect_glSecondaryColor3s(void) { }
  584. void __indirect_glSecondaryColor3sv(void) { }
  585. void __indirect_glSecondaryColor3ub(void) { }
  586. void __indirect_glSecondaryColor3ubv(void) { }
  587. void __indirect_glSecondaryColor3ui(void) { }
  588. void __indirect_glSecondaryColor3uiv(void) { }
  589. void __indirect_glSecondaryColor3us(void) { }
  590. void __indirect_glSecondaryColor3usv(void) { }
  591. void __indirect_glSecondaryColorPointer(void) { }
  592. void __indirect_glMultiDrawArrays(void) { }
  593. void __indirect_glMultiDrawElementsEXT(void) { }
  594. void __indirect_glFogCoordPointer(void) { }
  595. void __indirect_glFogCoordd(void) { }
  596. void __indirect_glFogCoorddv(void) { }
  597. void __indirect_glFogCoordfEXT(void) { }
  598. void __indirect_glFogCoordfvEXT(void) { }
  599. void __indirect_glBlendFuncSeparate(void) { }
  600. void __indirect_glWindowPos2d(void) { }
  601. void __indirect_glWindowPos2dv(void) { }
  602. void __indirect_glWindowPos2f(void) { }
  603. void __indirect_glWindowPos2fv(void) { }
  604. void __indirect_glWindowPos2i(void) { }
  605. void __indirect_glWindowPos2iv(void) { }
  606. void __indirect_glWindowPos2s(void) { }
  607. void __indirect_glWindowPos2sv(void) { }
  608. void __indirect_glWindowPos3d(void) { }
  609. void __indirect_glWindowPos3dv(void) { }
  610. void __indirect_glWindowPos3f(void) { }
  611. void __indirect_glWindowPos3fv(void) { }
  612. void __indirect_glWindowPos3i(void) { }
  613. void __indirect_glWindowPos3iv(void) { }
  614. void __indirect_glWindowPos3s(void) { }
  615. void __indirect_glWindowPos3sv(void) { }
  616. void __indirect_glAreProgramsResidentNV(void) { }
  617. void __indirect_glBindProgramARB(void) { }
  618. void __indirect_glDeleteProgramsARB(void) { }
  619. void __indirect_glExecuteProgramNV(void) { }
  620. void __indirect_glGenProgramsARB(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_glGetVertexAttribPointerv(void) { }
  627. void __indirect_glGetVertexAttribdvNV(void) { }
  628. void __indirect_glGetVertexAttribfvNV(void) { }
  629. void __indirect_glGetVertexAttribivNV(void) { }
  630. void __indirect_glIsProgramARB(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_glPointParameteri(void) { }
  677. void __indirect_glPointParameteriv(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_glBlendEquationSeparate(void) { }
  686. void __indirect_glBindFramebufferEXT(void) { }
  687. void __indirect_glBindRenderbufferEXT(void) { }
  688. void __indirect_glBindFramebuffer(void) { }
  689. void __indirect_glBindRenderbuffer(void) { }
  690. void __indirect_glCheckFramebufferStatus(void) { }
  691. void __indirect_glDeleteFramebuffers(void) { }
  692. void __indirect_glDeleteRenderbuffers(void) { }
  693. void __indirect_glFramebufferRenderbuffer(void) { }
  694. void __indirect_glFramebufferTexture1D(void) { }
  695. void __indirect_glFramebufferTexture2D(void) { }
  696. void __indirect_glFramebufferTexture3D(void) { }
  697. void __indirect_glGenFramebuffers(void) { }
  698. void __indirect_glGenRenderbuffers(void) { }
  699. void __indirect_glGenerateMipmap(void) { }
  700. void __indirect_glGetFramebufferAttachmentParameteriv(void) { }
  701. void __indirect_glGetRenderbufferParameteriv(void) { }
  702. void __indirect_glIsFramebuffer(void) { }
  703. void __indirect_glIsRenderbuffer(void) { }
  704. void __indirect_glRenderbufferStorage(void) { }
  705. void __indirect_glBlitFramebuffer(void) { }
  706. void __indirect_glFramebufferTextureLayer(void) { }
  707. }
  708. /*@}*/
  709.  
  710. class IndirectAPI : public ::testing::Test {
  711. public:
  712.    virtual void SetUp();
  713.    virtual void TearDown();
  714.  
  715.    _glapi_proc *table;
  716. };
  717.  
  718. void
  719. IndirectAPI::SetUp()
  720. {
  721.    this->table = (_glapi_proc *) __glXNewIndirectAPI();
  722. }
  723.  
  724. void
  725. IndirectAPI::TearDown()
  726. {
  727.    free(this->table);
  728.    this->table = NULL;
  729. }
  730.  
  731. TEST_F(IndirectAPI, DispatchTableSizeWasQueried)
  732. {
  733.    dispatch_table_size_was_queried = false;
  734.  
  735.    /* __glXNewIndirectAPI determines the size of the dispatch table by calling
  736.     * _glapi_get_dispatch_table_size.  Our stub version of this function sets
  737.     * a flag so that we can detect that __glXNewIndirectAPI called it.
  738.     */
  739.    EXPECT_FALSE(dispatch_table_size_was_queried);
  740.    _glapi_table *table = __glXNewIndirectAPI();
  741.    EXPECT_TRUE(dispatch_table_size_was_queried);
  742.  
  743.    /* Since a second dispatch table was created, it must be freed by hand.
  744.     */
  745.    free(table);
  746. }
  747.  
  748. TEST_F(IndirectAPI, NoNullEntries)
  749. {
  750.    const unsigned entries = _glapi_get_dispatch_table_size();
  751.  
  752.    /* There should not be any NULL entries in the dispatch table.  All entires
  753.     * should either point to a real implementation or to a no-op function.
  754.     */
  755.    for (unsigned i = 0; i < entries; i++) {
  756.       EXPECT_NE(nil, table[i]);
  757.    }
  758. }
  759.  
  760. TEST_F(IndirectAPI, OpenGL_10)
  761. {
  762.    EXPECT_EQ((_glapi_proc) __indirect_glAccum, table[_gloffset_Accum]);
  763.    EXPECT_EQ((_glapi_proc) __indirect_glAlphaFunc, table[_gloffset_AlphaFunc]);
  764.    EXPECT_EQ((_glapi_proc) __indirect_glBegin, table[_gloffset_Begin]);
  765.    EXPECT_EQ((_glapi_proc) __indirect_glBitmap, table[_gloffset_Bitmap]);
  766.    EXPECT_EQ((_glapi_proc) __indirect_glBlendFunc, table[_gloffset_BlendFunc]);
  767.    EXPECT_EQ((_glapi_proc) __indirect_glCallList, table[_gloffset_CallList]);
  768.    EXPECT_EQ((_glapi_proc) __indirect_glCallLists, table[_gloffset_CallLists]);
  769.    EXPECT_EQ((_glapi_proc) __indirect_glClear, table[_gloffset_Clear]);
  770.    EXPECT_EQ((_glapi_proc) __indirect_glClearAccum, table[_gloffset_ClearAccum]);
  771.    EXPECT_EQ((_glapi_proc) __indirect_glClearColor, table[_gloffset_ClearColor]);
  772.    EXPECT_EQ((_glapi_proc) __indirect_glClearDepth, table[_gloffset_ClearDepth]);
  773.    EXPECT_EQ((_glapi_proc) __indirect_glClearIndex, table[_gloffset_ClearIndex]);
  774.    EXPECT_EQ((_glapi_proc) __indirect_glClearStencil, table[_gloffset_ClearStencil]);
  775.    EXPECT_EQ((_glapi_proc) __indirect_glClipPlane, table[_gloffset_ClipPlane]);
  776.    EXPECT_EQ((_glapi_proc) __indirect_glColor3b, table[_gloffset_Color3b]);
  777.    EXPECT_EQ((_glapi_proc) __indirect_glColor3bv, table[_gloffset_Color3bv]);
  778.    EXPECT_EQ((_glapi_proc) __indirect_glColor3d, table[_gloffset_Color3d]);
  779.    EXPECT_EQ((_glapi_proc) __indirect_glColor3dv, table[_gloffset_Color3dv]);
  780.    EXPECT_EQ((_glapi_proc) __indirect_glColor3f, table[_gloffset_Color3f]);
  781.    EXPECT_EQ((_glapi_proc) __indirect_glColor3fv, table[_gloffset_Color3fv]);
  782.    EXPECT_EQ((_glapi_proc) __indirect_glColor3i, table[_gloffset_Color3i]);
  783.    EXPECT_EQ((_glapi_proc) __indirect_glColor3iv, table[_gloffset_Color3iv]);
  784.    EXPECT_EQ((_glapi_proc) __indirect_glColor3s, table[_gloffset_Color3s]);
  785.    EXPECT_EQ((_glapi_proc) __indirect_glColor3sv, table[_gloffset_Color3sv]);
  786.    EXPECT_EQ((_glapi_proc) __indirect_glColor3ub, table[_gloffset_Color3ub]);
  787.    EXPECT_EQ((_glapi_proc) __indirect_glColor3ubv, table[_gloffset_Color3ubv]);
  788.    EXPECT_EQ((_glapi_proc) __indirect_glColor3ui, table[_gloffset_Color3ui]);
  789.    EXPECT_EQ((_glapi_proc) __indirect_glColor3uiv, table[_gloffset_Color3uiv]);
  790.    EXPECT_EQ((_glapi_proc) __indirect_glColor3us, table[_gloffset_Color3us]);
  791.    EXPECT_EQ((_glapi_proc) __indirect_glColor3usv, table[_gloffset_Color3usv]);
  792.    EXPECT_EQ((_glapi_proc) __indirect_glColor4b, table[_gloffset_Color4b]);
  793.    EXPECT_EQ((_glapi_proc) __indirect_glColor4bv, table[_gloffset_Color4bv]);
  794.    EXPECT_EQ((_glapi_proc) __indirect_glColor4d, table[_gloffset_Color4d]);
  795.    EXPECT_EQ((_glapi_proc) __indirect_glColor4dv, table[_gloffset_Color4dv]);
  796.    EXPECT_EQ((_glapi_proc) __indirect_glColor4f, table[_gloffset_Color4f]);
  797.    EXPECT_EQ((_glapi_proc) __indirect_glColor4fv, table[_gloffset_Color4fv]);
  798.    EXPECT_EQ((_glapi_proc) __indirect_glColor4i, table[_gloffset_Color4i]);
  799.    EXPECT_EQ((_glapi_proc) __indirect_glColor4iv, table[_gloffset_Color4iv]);
  800.    EXPECT_EQ((_glapi_proc) __indirect_glColor4s, table[_gloffset_Color4s]);
  801.    EXPECT_EQ((_glapi_proc) __indirect_glColor4sv, table[_gloffset_Color4sv]);
  802.    EXPECT_EQ((_glapi_proc) __indirect_glColor4ub, table[_gloffset_Color4ub]);
  803.    EXPECT_EQ((_glapi_proc) __indirect_glColor4ubv, table[_gloffset_Color4ubv]);
  804.    EXPECT_EQ((_glapi_proc) __indirect_glColor4ui, table[_gloffset_Color4ui]);
  805.    EXPECT_EQ((_glapi_proc) __indirect_glColor4uiv, table[_gloffset_Color4uiv]);
  806.    EXPECT_EQ((_glapi_proc) __indirect_glColor4us, table[_gloffset_Color4us]);
  807.    EXPECT_EQ((_glapi_proc) __indirect_glColor4usv, table[_gloffset_Color4usv]);
  808.    EXPECT_EQ((_glapi_proc) __indirect_glColorMask, table[_gloffset_ColorMask]);
  809.    EXPECT_EQ((_glapi_proc) __indirect_glColorMaterial, table[_gloffset_ColorMaterial]);
  810.    EXPECT_EQ((_glapi_proc) __indirect_glCopyPixels, table[_gloffset_CopyPixels]);
  811.    EXPECT_EQ((_glapi_proc) __indirect_glCullFace, table[_gloffset_CullFace]);
  812.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteLists, table[_gloffset_DeleteLists]);
  813.    EXPECT_EQ((_glapi_proc) __indirect_glDepthFunc, table[_gloffset_DepthFunc]);
  814.    EXPECT_EQ((_glapi_proc) __indirect_glDepthMask, table[_gloffset_DepthMask]);
  815.    EXPECT_EQ((_glapi_proc) __indirect_glDepthRange, table[_gloffset_DepthRange]);
  816.    EXPECT_EQ((_glapi_proc) __indirect_glDisable, table[_gloffset_Disable]);
  817.    EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffer, table[_gloffset_DrawBuffer]);
  818.    EXPECT_EQ((_glapi_proc) __indirect_glDrawPixels, table[_gloffset_DrawPixels]);
  819.    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlag, table[_gloffset_EdgeFlag]);
  820.    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagv, table[_gloffset_EdgeFlagv]);
  821.    EXPECT_EQ((_glapi_proc) __indirect_glEnable, table[_gloffset_Enable]);
  822.    EXPECT_EQ((_glapi_proc) __indirect_glEnd, table[_gloffset_End]);
  823.    EXPECT_EQ((_glapi_proc) __indirect_glEndList, table[_gloffset_EndList]);
  824.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1d, table[_gloffset_EvalCoord1d]);
  825.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1dv, table[_gloffset_EvalCoord1dv]);
  826.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1f, table[_gloffset_EvalCoord1f]);
  827.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord1fv, table[_gloffset_EvalCoord1fv]);
  828.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2d, table[_gloffset_EvalCoord2d]);
  829.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2dv, table[_gloffset_EvalCoord2dv]);
  830.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2f, table[_gloffset_EvalCoord2f]);
  831.    EXPECT_EQ((_glapi_proc) __indirect_glEvalCoord2fv, table[_gloffset_EvalCoord2fv]);
  832.    EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh1, table[_gloffset_EvalMesh1]);
  833.    EXPECT_EQ((_glapi_proc) __indirect_glEvalMesh2, table[_gloffset_EvalMesh2]);
  834.    EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint1, table[_gloffset_EvalPoint1]);
  835.    EXPECT_EQ((_glapi_proc) __indirect_glEvalPoint2, table[_gloffset_EvalPoint2]);
  836.    EXPECT_EQ((_glapi_proc) __indirect_glFeedbackBuffer, table[_gloffset_FeedbackBuffer]);
  837.    EXPECT_EQ((_glapi_proc) __indirect_glFinish, table[_gloffset_Finish]);
  838.    EXPECT_EQ((_glapi_proc) __indirect_glFlush, table[_gloffset_Flush]);
  839.    EXPECT_EQ((_glapi_proc) __indirect_glFogf, table[_gloffset_Fogf]);
  840.    EXPECT_EQ((_glapi_proc) __indirect_glFogfv, table[_gloffset_Fogfv]);
  841.    EXPECT_EQ((_glapi_proc) __indirect_glFogi, table[_gloffset_Fogi]);
  842.    EXPECT_EQ((_glapi_proc) __indirect_glFogiv, table[_gloffset_Fogiv]);
  843.    EXPECT_EQ((_glapi_proc) __indirect_glFrontFace, table[_gloffset_FrontFace]);
  844.    EXPECT_EQ((_glapi_proc) __indirect_glFrustum, table[_gloffset_Frustum]);
  845.    EXPECT_EQ((_glapi_proc) __indirect_glGenLists, table[_gloffset_GenLists]);
  846.    EXPECT_EQ((_glapi_proc) __indirect_glGetBooleanv, table[_gloffset_GetBooleanv]);
  847.    EXPECT_EQ((_glapi_proc) __indirect_glGetClipPlane, table[_gloffset_GetClipPlane]);
  848.    EXPECT_EQ((_glapi_proc) __indirect_glGetDoublev, table[_gloffset_GetDoublev]);
  849.    EXPECT_EQ((_glapi_proc) __indirect_glGetError, table[_gloffset_GetError]);
  850.    EXPECT_EQ((_glapi_proc) __indirect_glGetFloatv, table[_gloffset_GetFloatv]);
  851.    EXPECT_EQ((_glapi_proc) __indirect_glGetIntegerv, table[_gloffset_GetIntegerv]);
  852.    EXPECT_EQ((_glapi_proc) __indirect_glGetLightfv, table[_gloffset_GetLightfv]);
  853.    EXPECT_EQ((_glapi_proc) __indirect_glGetLightiv, table[_gloffset_GetLightiv]);
  854.    EXPECT_EQ((_glapi_proc) __indirect_glGetMapdv, table[_gloffset_GetMapdv]);
  855.    EXPECT_EQ((_glapi_proc) __indirect_glGetMapfv, table[_gloffset_GetMapfv]);
  856.    EXPECT_EQ((_glapi_proc) __indirect_glGetMapiv, table[_gloffset_GetMapiv]);
  857.    EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialfv, table[_gloffset_GetMaterialfv]);
  858.    EXPECT_EQ((_glapi_proc) __indirect_glGetMaterialiv, table[_gloffset_GetMaterialiv]);
  859.    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapfv, table[_gloffset_GetPixelMapfv]);
  860.    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapuiv, table[_gloffset_GetPixelMapuiv]);
  861.    EXPECT_EQ((_glapi_proc) __indirect_glGetPixelMapusv, table[_gloffset_GetPixelMapusv]);
  862.    EXPECT_EQ((_glapi_proc) __indirect_glGetPolygonStipple, table[_gloffset_GetPolygonStipple]);
  863.    EXPECT_EQ((_glapi_proc) __indirect_glGetString, table[_gloffset_GetString]);
  864.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnvfv, table[_gloffset_GetTexEnvfv]);
  865.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexEnviv, table[_gloffset_GetTexEnviv]);
  866.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGendv, table[_gloffset_GetTexGendv]);
  867.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGenfv, table[_gloffset_GetTexGenfv]);
  868.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexGeniv, table[_gloffset_GetTexGeniv]);
  869.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexImage, table[_gloffset_GetTexImage]);
  870.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameterfv, table[_gloffset_GetTexLevelParameterfv]);
  871.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexLevelParameteriv, table[_gloffset_GetTexLevelParameteriv]);
  872.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameterfv, table[_gloffset_GetTexParameterfv]);
  873.    EXPECT_EQ((_glapi_proc) __indirect_glGetTexParameteriv, table[_gloffset_GetTexParameteriv]);
  874.    EXPECT_EQ((_glapi_proc) __indirect_glHint, table[_gloffset_Hint]);
  875.    EXPECT_EQ((_glapi_proc) __indirect_glIndexMask, table[_gloffset_IndexMask]);
  876.    EXPECT_EQ((_glapi_proc) __indirect_glIndexd, table[_gloffset_Indexd]);
  877.    EXPECT_EQ((_glapi_proc) __indirect_glIndexdv, table[_gloffset_Indexdv]);
  878.    EXPECT_EQ((_glapi_proc) __indirect_glIndexf, table[_gloffset_Indexf]);
  879.    EXPECT_EQ((_glapi_proc) __indirect_glIndexfv, table[_gloffset_Indexfv]);
  880.    EXPECT_EQ((_glapi_proc) __indirect_glIndexi, table[_gloffset_Indexi]);
  881.    EXPECT_EQ((_glapi_proc) __indirect_glIndexiv, table[_gloffset_Indexiv]);
  882.    EXPECT_EQ((_glapi_proc) __indirect_glIndexs, table[_gloffset_Indexs]);
  883.    EXPECT_EQ((_glapi_proc) __indirect_glIndexsv, table[_gloffset_Indexsv]);
  884.    EXPECT_EQ((_glapi_proc) __indirect_glInitNames, table[_gloffset_InitNames]);
  885.    EXPECT_EQ((_glapi_proc) __indirect_glIsEnabled, table[_gloffset_IsEnabled]);
  886.    EXPECT_EQ((_glapi_proc) __indirect_glIsList, table[_gloffset_IsList]);
  887.    EXPECT_EQ((_glapi_proc) __indirect_glLightModelf, table[_gloffset_LightModelf]);
  888.    EXPECT_EQ((_glapi_proc) __indirect_glLightModelfv, table[_gloffset_LightModelfv]);
  889.    EXPECT_EQ((_glapi_proc) __indirect_glLightModeli, table[_gloffset_LightModeli]);
  890.    EXPECT_EQ((_glapi_proc) __indirect_glLightModeliv, table[_gloffset_LightModeliv]);
  891.    EXPECT_EQ((_glapi_proc) __indirect_glLightf, table[_gloffset_Lightf]);
  892.    EXPECT_EQ((_glapi_proc) __indirect_glLightfv, table[_gloffset_Lightfv]);
  893.    EXPECT_EQ((_glapi_proc) __indirect_glLighti, table[_gloffset_Lighti]);
  894.    EXPECT_EQ((_glapi_proc) __indirect_glLightiv, table[_gloffset_Lightiv]);
  895.    EXPECT_EQ((_glapi_proc) __indirect_glLineStipple, table[_gloffset_LineStipple]);
  896.    EXPECT_EQ((_glapi_proc) __indirect_glLineWidth, table[_gloffset_LineWidth]);
  897.    EXPECT_EQ((_glapi_proc) __indirect_glListBase, table[_gloffset_ListBase]);
  898.    EXPECT_EQ((_glapi_proc) __indirect_glLoadIdentity, table[_gloffset_LoadIdentity]);
  899.    EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixd, table[_gloffset_LoadMatrixd]);
  900.    EXPECT_EQ((_glapi_proc) __indirect_glLoadMatrixf, table[_gloffset_LoadMatrixf]);
  901.    EXPECT_EQ((_glapi_proc) __indirect_glLoadName, table[_gloffset_LoadName]);
  902.    EXPECT_EQ((_glapi_proc) __indirect_glLogicOp, table[_gloffset_LogicOp]);
  903.    EXPECT_EQ((_glapi_proc) __indirect_glMap1d, table[_gloffset_Map1d]);
  904.    EXPECT_EQ((_glapi_proc) __indirect_glMap1f, table[_gloffset_Map1f]);
  905.    EXPECT_EQ((_glapi_proc) __indirect_glMap2d, table[_gloffset_Map2d]);
  906.    EXPECT_EQ((_glapi_proc) __indirect_glMap2f, table[_gloffset_Map2f]);
  907.    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1d, table[_gloffset_MapGrid1d]);
  908.    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid1f, table[_gloffset_MapGrid1f]);
  909.    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2d, table[_gloffset_MapGrid2d]);
  910.    EXPECT_EQ((_glapi_proc) __indirect_glMapGrid2f, table[_gloffset_MapGrid2f]);
  911.    EXPECT_EQ((_glapi_proc) __indirect_glMaterialf, table[_gloffset_Materialf]);
  912.    EXPECT_EQ((_glapi_proc) __indirect_glMaterialfv, table[_gloffset_Materialfv]);
  913.    EXPECT_EQ((_glapi_proc) __indirect_glMateriali, table[_gloffset_Materiali]);
  914.    EXPECT_EQ((_glapi_proc) __indirect_glMaterialiv, table[_gloffset_Materialiv]);
  915.    EXPECT_EQ((_glapi_proc) __indirect_glMatrixMode, table[_gloffset_MatrixMode]);
  916.    EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixd, table[_gloffset_MultMatrixd]);
  917.    EXPECT_EQ((_glapi_proc) __indirect_glMultMatrixf, table[_gloffset_MultMatrixf]);
  918.    EXPECT_EQ((_glapi_proc) __indirect_glNewList, table[_gloffset_NewList]);
  919.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3b, table[_gloffset_Normal3b]);
  920.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3bv, table[_gloffset_Normal3bv]);
  921.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3d, table[_gloffset_Normal3d]);
  922.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3dv, table[_gloffset_Normal3dv]);
  923.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3f, table[_gloffset_Normal3f]);
  924.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3fv, table[_gloffset_Normal3fv]);
  925.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3i, table[_gloffset_Normal3i]);
  926.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3iv, table[_gloffset_Normal3iv]);
  927.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3s, table[_gloffset_Normal3s]);
  928.    EXPECT_EQ((_glapi_proc) __indirect_glNormal3sv, table[_gloffset_Normal3sv]);
  929.    EXPECT_EQ((_glapi_proc) __indirect_glOrtho, table[_gloffset_Ortho]);
  930.    EXPECT_EQ((_glapi_proc) __indirect_glPassThrough, table[_gloffset_PassThrough]);
  931.    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapfv, table[_gloffset_PixelMapfv]);
  932.    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapuiv, table[_gloffset_PixelMapuiv]);
  933.    EXPECT_EQ((_glapi_proc) __indirect_glPixelMapusv, table[_gloffset_PixelMapusv]);
  934.    EXPECT_EQ((_glapi_proc) __indirect_glPixelStoref, table[_gloffset_PixelStoref]);
  935.    EXPECT_EQ((_glapi_proc) __indirect_glPixelStorei, table[_gloffset_PixelStorei]);
  936.    EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferf, table[_gloffset_PixelTransferf]);
  937.    EXPECT_EQ((_glapi_proc) __indirect_glPixelTransferi, table[_gloffset_PixelTransferi]);
  938.    EXPECT_EQ((_glapi_proc) __indirect_glPixelZoom, table[_gloffset_PixelZoom]);
  939.    EXPECT_EQ((_glapi_proc) __indirect_glPointSize, table[_gloffset_PointSize]);
  940.    EXPECT_EQ((_glapi_proc) __indirect_glPolygonMode, table[_gloffset_PolygonMode]);
  941.    EXPECT_EQ((_glapi_proc) __indirect_glPolygonStipple, table[_gloffset_PolygonStipple]);
  942.    EXPECT_EQ((_glapi_proc) __indirect_glPopAttrib, table[_gloffset_PopAttrib]);
  943.    EXPECT_EQ((_glapi_proc) __indirect_glPopMatrix, table[_gloffset_PopMatrix]);
  944.    EXPECT_EQ((_glapi_proc) __indirect_glPopName, table[_gloffset_PopName]);
  945.    EXPECT_EQ((_glapi_proc) __indirect_glPushAttrib, table[_gloffset_PushAttrib]);
  946.    EXPECT_EQ((_glapi_proc) __indirect_glPushMatrix, table[_gloffset_PushMatrix]);
  947.    EXPECT_EQ((_glapi_proc) __indirect_glPushName, table[_gloffset_PushName]);
  948.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2d, table[_gloffset_RasterPos2d]);
  949.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2dv, table[_gloffset_RasterPos2dv]);
  950.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2f, table[_gloffset_RasterPos2f]);
  951.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2fv, table[_gloffset_RasterPos2fv]);
  952.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2i, table[_gloffset_RasterPos2i]);
  953.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2iv, table[_gloffset_RasterPos2iv]);
  954.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2s, table[_gloffset_RasterPos2s]);
  955.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos2sv, table[_gloffset_RasterPos2sv]);
  956.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3d, table[_gloffset_RasterPos3d]);
  957.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3dv, table[_gloffset_RasterPos3dv]);
  958.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3f, table[_gloffset_RasterPos3f]);
  959.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3fv, table[_gloffset_RasterPos3fv]);
  960.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3i, table[_gloffset_RasterPos3i]);
  961.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3iv, table[_gloffset_RasterPos3iv]);
  962.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3s, table[_gloffset_RasterPos3s]);
  963.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos3sv, table[_gloffset_RasterPos3sv]);
  964.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4d, table[_gloffset_RasterPos4d]);
  965.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4dv, table[_gloffset_RasterPos4dv]);
  966.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4f, table[_gloffset_RasterPos4f]);
  967.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4fv, table[_gloffset_RasterPos4fv]);
  968.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4i, table[_gloffset_RasterPos4i]);
  969.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4iv, table[_gloffset_RasterPos4iv]);
  970.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4s, table[_gloffset_RasterPos4s]);
  971.    EXPECT_EQ((_glapi_proc) __indirect_glRasterPos4sv, table[_gloffset_RasterPos4sv]);
  972.    EXPECT_EQ((_glapi_proc) __indirect_glReadBuffer, table[_gloffset_ReadBuffer]);
  973.    EXPECT_EQ((_glapi_proc) __indirect_glReadPixels, table[_gloffset_ReadPixels]);
  974.    EXPECT_EQ((_glapi_proc) __indirect_glRectd, table[_gloffset_Rectd]);
  975.    EXPECT_EQ((_glapi_proc) __indirect_glRectdv, table[_gloffset_Rectdv]);
  976.    EXPECT_EQ((_glapi_proc) __indirect_glRectf, table[_gloffset_Rectf]);
  977.    EXPECT_EQ((_glapi_proc) __indirect_glRectfv, table[_gloffset_Rectfv]);
  978.    EXPECT_EQ((_glapi_proc) __indirect_glRecti, table[_gloffset_Recti]);
  979.    EXPECT_EQ((_glapi_proc) __indirect_glRectiv, table[_gloffset_Rectiv]);
  980.    EXPECT_EQ((_glapi_proc) __indirect_glRects, table[_gloffset_Rects]);
  981.    EXPECT_EQ((_glapi_proc) __indirect_glRectsv, table[_gloffset_Rectsv]);
  982.    EXPECT_EQ((_glapi_proc) __indirect_glRenderMode, table[_gloffset_RenderMode]);
  983.    EXPECT_EQ((_glapi_proc) __indirect_glRotated, table[_gloffset_Rotated]);
  984.    EXPECT_EQ((_glapi_proc) __indirect_glRotatef, table[_gloffset_Rotatef]);
  985.    EXPECT_EQ((_glapi_proc) __indirect_glScaled, table[_gloffset_Scaled]);
  986.    EXPECT_EQ((_glapi_proc) __indirect_glScalef, table[_gloffset_Scalef]);
  987.    EXPECT_EQ((_glapi_proc) __indirect_glScissor, table[_gloffset_Scissor]);
  988.    EXPECT_EQ((_glapi_proc) __indirect_glSelectBuffer, table[_gloffset_SelectBuffer]);
  989.    EXPECT_EQ((_glapi_proc) __indirect_glShadeModel, table[_gloffset_ShadeModel]);
  990.    EXPECT_EQ((_glapi_proc) __indirect_glStencilFunc, table[_gloffset_StencilFunc]);
  991.    EXPECT_EQ((_glapi_proc) __indirect_glStencilMask, table[_gloffset_StencilMask]);
  992.    EXPECT_EQ((_glapi_proc) __indirect_glStencilOp, table[_gloffset_StencilOp]);
  993.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1d, table[_gloffset_TexCoord1d]);
  994.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1dv, table[_gloffset_TexCoord1dv]);
  995.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1f, table[_gloffset_TexCoord1f]);
  996.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1fv, table[_gloffset_TexCoord1fv]);
  997.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1i, table[_gloffset_TexCoord1i]);
  998.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1iv, table[_gloffset_TexCoord1iv]);
  999.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1s, table[_gloffset_TexCoord1s]);
  1000.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord1sv, table[_gloffset_TexCoord1sv]);
  1001.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2d, table[_gloffset_TexCoord2d]);
  1002.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2dv, table[_gloffset_TexCoord2dv]);
  1003.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2f, table[_gloffset_TexCoord2f]);
  1004.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2fv, table[_gloffset_TexCoord2fv]);
  1005.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2i, table[_gloffset_TexCoord2i]);
  1006.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2iv, table[_gloffset_TexCoord2iv]);
  1007.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2s, table[_gloffset_TexCoord2s]);
  1008.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord2sv, table[_gloffset_TexCoord2sv]);
  1009.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3d, table[_gloffset_TexCoord3d]);
  1010.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3dv, table[_gloffset_TexCoord3dv]);
  1011.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3f, table[_gloffset_TexCoord3f]);
  1012.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3fv, table[_gloffset_TexCoord3fv]);
  1013.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3i, table[_gloffset_TexCoord3i]);
  1014.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3iv, table[_gloffset_TexCoord3iv]);
  1015.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3s, table[_gloffset_TexCoord3s]);
  1016.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord3sv, table[_gloffset_TexCoord3sv]);
  1017.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4d, table[_gloffset_TexCoord4d]);
  1018.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4dv, table[_gloffset_TexCoord4dv]);
  1019.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4f, table[_gloffset_TexCoord4f]);
  1020.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4fv, table[_gloffset_TexCoord4fv]);
  1021.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4i, table[_gloffset_TexCoord4i]);
  1022.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4iv, table[_gloffset_TexCoord4iv]);
  1023.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4s, table[_gloffset_TexCoord4s]);
  1024.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoord4sv, table[_gloffset_TexCoord4sv]);
  1025.    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvf, table[_gloffset_TexEnvf]);
  1026.    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvfv, table[_gloffset_TexEnvfv]);
  1027.    EXPECT_EQ((_glapi_proc) __indirect_glTexEnvi, table[_gloffset_TexEnvi]);
  1028.    EXPECT_EQ((_glapi_proc) __indirect_glTexEnviv, table[_gloffset_TexEnviv]);
  1029.    EXPECT_EQ((_glapi_proc) __indirect_glTexGend, table[_gloffset_TexGend]);
  1030.    EXPECT_EQ((_glapi_proc) __indirect_glTexGendv, table[_gloffset_TexGendv]);
  1031.    EXPECT_EQ((_glapi_proc) __indirect_glTexGenf, table[_gloffset_TexGenf]);
  1032.    EXPECT_EQ((_glapi_proc) __indirect_glTexGenfv, table[_gloffset_TexGenfv]);
  1033.    EXPECT_EQ((_glapi_proc) __indirect_glTexGeni, table[_gloffset_TexGeni]);
  1034.    EXPECT_EQ((_glapi_proc) __indirect_glTexGeniv, table[_gloffset_TexGeniv]);
  1035.    EXPECT_EQ((_glapi_proc) __indirect_glTexImage1D, table[_gloffset_TexImage1D]);
  1036.    EXPECT_EQ((_glapi_proc) __indirect_glTexImage2D, table[_gloffset_TexImage2D]);
  1037.    EXPECT_EQ((_glapi_proc) __indirect_glTexParameterf, table[_gloffset_TexParameterf]);
  1038.    EXPECT_EQ((_glapi_proc) __indirect_glTexParameterfv, table[_gloffset_TexParameterfv]);
  1039.    EXPECT_EQ((_glapi_proc) __indirect_glTexParameteri, table[_gloffset_TexParameteri]);
  1040.    EXPECT_EQ((_glapi_proc) __indirect_glTexParameteriv, table[_gloffset_TexParameteriv]);
  1041.    EXPECT_EQ((_glapi_proc) __indirect_glTranslated, table[_gloffset_Translated]);
  1042.    EXPECT_EQ((_glapi_proc) __indirect_glTranslatef, table[_gloffset_Translatef]);
  1043.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2d, table[_gloffset_Vertex2d]);
  1044.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2dv, table[_gloffset_Vertex2dv]);
  1045.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2f, table[_gloffset_Vertex2f]);
  1046.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2fv, table[_gloffset_Vertex2fv]);
  1047.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2i, table[_gloffset_Vertex2i]);
  1048.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2iv, table[_gloffset_Vertex2iv]);
  1049.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2s, table[_gloffset_Vertex2s]);
  1050.    EXPECT_EQ((_glapi_proc) __indirect_glVertex2sv, table[_gloffset_Vertex2sv]);
  1051.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3d, table[_gloffset_Vertex3d]);
  1052.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3dv, table[_gloffset_Vertex3dv]);
  1053.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3f, table[_gloffset_Vertex3f]);
  1054.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3fv, table[_gloffset_Vertex3fv]);
  1055.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3i, table[_gloffset_Vertex3i]);
  1056.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3iv, table[_gloffset_Vertex3iv]);
  1057.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3s, table[_gloffset_Vertex3s]);
  1058.    EXPECT_EQ((_glapi_proc) __indirect_glVertex3sv, table[_gloffset_Vertex3sv]);
  1059.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4d, table[_gloffset_Vertex4d]);
  1060.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4dv, table[_gloffset_Vertex4dv]);
  1061.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4f, table[_gloffset_Vertex4f]);
  1062.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4fv, table[_gloffset_Vertex4fv]);
  1063.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4i, table[_gloffset_Vertex4i]);
  1064.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4iv, table[_gloffset_Vertex4iv]);
  1065.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4s, table[_gloffset_Vertex4s]);
  1066.    EXPECT_EQ((_glapi_proc) __indirect_glVertex4sv, table[_gloffset_Vertex4sv]);
  1067.    EXPECT_EQ((_glapi_proc) __indirect_glViewport, table[_gloffset_Viewport]);
  1068. }
  1069.  
  1070. TEST_F(IndirectAPI, OpenGL_11)
  1071. {
  1072.    EXPECT_EQ((_glapi_proc) __indirect_glAreTexturesResident, table[_gloffset_AreTexturesResident]);
  1073.    EXPECT_EQ((_glapi_proc) __indirect_glArrayElement, table[_gloffset_ArrayElement]);
  1074.    EXPECT_EQ((_glapi_proc) __indirect_glBindTexture, table[_gloffset_BindTexture]);
  1075.    EXPECT_EQ((_glapi_proc) __indirect_glColorPointer, table[_gloffset_ColorPointer]);
  1076.    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage1D, table[_gloffset_CopyTexImage1D]);
  1077.    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexImage2D, table[_gloffset_CopyTexImage2D]);
  1078.    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage1D, table[_gloffset_CopyTexSubImage1D]);
  1079.    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage2D, table[_gloffset_CopyTexSubImage2D]);
  1080.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteTextures, table[_gloffset_DeleteTextures]);
  1081.    EXPECT_EQ((_glapi_proc) __indirect_glDisableClientState, table[_gloffset_DisableClientState]);
  1082.    EXPECT_EQ((_glapi_proc) __indirect_glDrawArrays, table[_gloffset_DrawArrays]);
  1083.    EXPECT_EQ((_glapi_proc) __indirect_glDrawElements, table[_gloffset_DrawElements]);
  1084.    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointer, table[_gloffset_EdgeFlagPointer]);
  1085.    EXPECT_EQ((_glapi_proc) __indirect_glEnableClientState, table[_gloffset_EnableClientState]);
  1086.    EXPECT_EQ((_glapi_proc) __indirect_glGenTextures, table[_gloffset_GenTextures]);
  1087.    EXPECT_EQ((_glapi_proc) __indirect_glGetPointerv, table[_gloffset_GetPointerv]);
  1088.    EXPECT_EQ((_glapi_proc) __indirect_glIndexPointer, table[_gloffset_IndexPointer]);
  1089.    EXPECT_EQ((_glapi_proc) __indirect_glIndexub, table[_gloffset_Indexub]);
  1090.    EXPECT_EQ((_glapi_proc) __indirect_glIndexubv, table[_gloffset_Indexubv]);
  1091.    EXPECT_EQ((_glapi_proc) __indirect_glInterleavedArrays, table[_gloffset_InterleavedArrays]);
  1092.    EXPECT_EQ((_glapi_proc) __indirect_glIsTexture, table[_gloffset_IsTexture]);
  1093.    EXPECT_EQ((_glapi_proc) __indirect_glNormalPointer, table[_gloffset_NormalPointer]);
  1094.    EXPECT_EQ((_glapi_proc) __indirect_glPolygonOffset, table[_gloffset_PolygonOffset]);
  1095.    EXPECT_EQ((_glapi_proc) __indirect_glPopClientAttrib, table[_gloffset_PopClientAttrib]);
  1096.    EXPECT_EQ((_glapi_proc) __indirect_glPrioritizeTextures, table[_gloffset_PrioritizeTextures]);
  1097.    EXPECT_EQ((_glapi_proc) __indirect_glPushClientAttrib, table[_gloffset_PushClientAttrib]);
  1098.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointer, table[_gloffset_TexCoordPointer]);
  1099.    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage1D, table[_gloffset_TexSubImage1D]);
  1100.    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage2D, table[_gloffset_TexSubImage2D]);
  1101.    EXPECT_EQ((_glapi_proc) __indirect_glVertexPointer, table[_gloffset_VertexPointer]);
  1102. }
  1103.  
  1104. TEST_F(IndirectAPI, OpenGL_12)
  1105. {
  1106.    EXPECT_EQ((_glapi_proc) __indirect_glBlendColor, table[_gloffset_BlendColor]);
  1107.    EXPECT_EQ((_glapi_proc) __indirect_glBlendEquation, table[_gloffset_BlendEquation]);
  1108.    EXPECT_EQ((_glapi_proc) __indirect_glColorSubTable, table[_gloffset_ColorSubTable]);
  1109.    EXPECT_EQ((_glapi_proc) __indirect_glColorTable, table[_gloffset_ColorTable]);
  1110.    EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameterfv, table[_gloffset_ColorTableParameterfv]);
  1111.    EXPECT_EQ((_glapi_proc) __indirect_glColorTableParameteriv, table[_gloffset_ColorTableParameteriv]);
  1112.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter1D, table[_gloffset_ConvolutionFilter1D]);
  1113.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionFilter2D, table[_gloffset_ConvolutionFilter2D]);
  1114.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterf, table[_gloffset_ConvolutionParameterf]);
  1115.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameterfv, table[_gloffset_ConvolutionParameterfv]);
  1116.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteri, table[_gloffset_ConvolutionParameteri]);
  1117.    EXPECT_EQ((_glapi_proc) __indirect_glConvolutionParameteriv, table[_gloffset_ConvolutionParameteriv]);
  1118.    EXPECT_EQ((_glapi_proc) __indirect_glCopyColorSubTable, table[_gloffset_CopyColorSubTable]);
  1119.    EXPECT_EQ((_glapi_proc) __indirect_glCopyColorTable, table[_gloffset_CopyColorTable]);
  1120.    EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter1D, table[_gloffset_CopyConvolutionFilter1D]);
  1121.    EXPECT_EQ((_glapi_proc) __indirect_glCopyConvolutionFilter2D, table[_gloffset_CopyConvolutionFilter2D]);
  1122.    EXPECT_EQ((_glapi_proc) __indirect_glCopyTexSubImage3D, table[_gloffset_CopyTexSubImage3D]);
  1123.    EXPECT_EQ((_glapi_proc) __indirect_glDrawRangeElements, table[_gloffset_DrawRangeElements]);
  1124.    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTable, table[_gloffset_GetColorTable]);
  1125.    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameterfv, table[_gloffset_GetColorTableParameterfv]);
  1126.    EXPECT_EQ((_glapi_proc) __indirect_glGetColorTableParameteriv, table[_gloffset_GetColorTableParameteriv]);
  1127.    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionFilter, table[_gloffset_GetConvolutionFilter]);
  1128.    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameterfv, table[_gloffset_GetConvolutionParameterfv]);
  1129.    EXPECT_EQ((_glapi_proc) __indirect_glGetConvolutionParameteriv, table[_gloffset_GetConvolutionParameteriv]);
  1130.    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogram, table[_gloffset_GetHistogram]);
  1131.    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameterfv, table[_gloffset_GetHistogramParameterfv]);
  1132.    EXPECT_EQ((_glapi_proc) __indirect_glGetHistogramParameteriv, table[_gloffset_GetHistogramParameteriv]);
  1133.    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmax, table[_gloffset_GetMinmax]);
  1134.    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameterfv, table[_gloffset_GetMinmaxParameterfv]);
  1135.    EXPECT_EQ((_glapi_proc) __indirect_glGetMinmaxParameteriv, table[_gloffset_GetMinmaxParameteriv]);
  1136.    EXPECT_EQ((_glapi_proc) __indirect_glGetSeparableFilter, table[_gloffset_GetSeparableFilter]);
  1137.    EXPECT_EQ((_glapi_proc) __indirect_glHistogram, table[_gloffset_Histogram]);
  1138.    EXPECT_EQ((_glapi_proc) __indirect_glMinmax, table[_gloffset_Minmax]);
  1139.    EXPECT_EQ((_glapi_proc) __indirect_glResetHistogram, table[_gloffset_ResetHistogram]);
  1140.    EXPECT_EQ((_glapi_proc) __indirect_glResetMinmax, table[_gloffset_ResetMinmax]);
  1141.    EXPECT_EQ((_glapi_proc) __indirect_glSeparableFilter2D, table[_gloffset_SeparableFilter2D]);
  1142.    EXPECT_EQ((_glapi_proc) __indirect_glTexImage3D, table[_gloffset_TexImage3D]);
  1143.    EXPECT_EQ((_glapi_proc) __indirect_glTexSubImage3D, table[_gloffset_TexSubImage3D]);
  1144. }
  1145.  
  1146. TEST_F(IndirectAPI, OpenGL_20_is_nop)
  1147. {
  1148.    _glapi_proc const nop = table[_gloffset_COUNT];
  1149.  
  1150.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glAttachShader")]);
  1151.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateProgram")]);
  1152.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glCreateShader")]);
  1153.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteProgram")]);
  1154.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDeleteShader")]);
  1155.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glDetachShader")]);
  1156.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetAttachedShaders")]);
  1157.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramInfoLog")]);
  1158.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetProgramiv")]);
  1159.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderInfoLog")]);
  1160.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glGetShaderiv")]);
  1161.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsProgram")]);
  1162.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glIsShader")]);
  1163.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilFuncSeparate")]);
  1164.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilMaskSeparate")]);
  1165.    EXPECT_EQ(nop, table[_glapi_get_proc_offset("glStencilOpSeparate")]);
  1166. }
  1167.  
  1168. TEST_F(IndirectAPI, ARB_multitexture)
  1169. {
  1170.    EXPECT_EQ((_glapi_proc) __indirect_glActiveTexture, table[_gloffset_ActiveTexture]);
  1171.    EXPECT_EQ((_glapi_proc) __indirect_glClientActiveTexture, table[_gloffset_ClientActiveTexture]);
  1172.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1d, table[_gloffset_MultiTexCoord1d]);
  1173.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1dv, table[_gloffset_MultiTexCoord1dv]);
  1174.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fARB, table[_gloffset_MultiTexCoord1fARB]);
  1175.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1fvARB, table[_gloffset_MultiTexCoord1fvARB]);
  1176.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1i, table[_gloffset_MultiTexCoord1i]);
  1177.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1iv, table[_gloffset_MultiTexCoord1iv]);
  1178.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1s, table[_gloffset_MultiTexCoord1s]);
  1179.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord1sv, table[_gloffset_MultiTexCoord1sv]);
  1180.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2d, table[_gloffset_MultiTexCoord2d]);
  1181.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2dv, table[_gloffset_MultiTexCoord2dv]);
  1182.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fARB, table[_gloffset_MultiTexCoord2fARB]);
  1183.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2fvARB, table[_gloffset_MultiTexCoord2fvARB]);
  1184.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2i, table[_gloffset_MultiTexCoord2i]);
  1185.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2iv, table[_gloffset_MultiTexCoord2iv]);
  1186.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2s, table[_gloffset_MultiTexCoord2s]);
  1187.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord2sv, table[_gloffset_MultiTexCoord2sv]);
  1188.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3d, table[_gloffset_MultiTexCoord3d]);
  1189.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3dv, table[_gloffset_MultiTexCoord3dv]);
  1190.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fARB, table[_gloffset_MultiTexCoord3fARB]);
  1191.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3fvARB, table[_gloffset_MultiTexCoord3fvARB]);
  1192.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3i, table[_gloffset_MultiTexCoord3i]);
  1193.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3iv, table[_gloffset_MultiTexCoord3iv]);
  1194.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3s, table[_gloffset_MultiTexCoord3s]);
  1195.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord3sv, table[_gloffset_MultiTexCoord3sv]);
  1196.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4d, table[_gloffset_MultiTexCoord4d]);
  1197.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4dv, table[_gloffset_MultiTexCoord4dv]);
  1198.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fARB, table[_gloffset_MultiTexCoord4fARB]);
  1199.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4fvARB, table[_gloffset_MultiTexCoord4fvARB]);
  1200.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4i, table[_gloffset_MultiTexCoord4i]);
  1201.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4iv, table[_gloffset_MultiTexCoord4iv]);
  1202.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4s, table[_gloffset_MultiTexCoord4s]);
  1203.    EXPECT_EQ((_glapi_proc) __indirect_glMultiTexCoord4sv, table[_gloffset_MultiTexCoord4sv]);
  1204. }
  1205.  
  1206. TEST_F(IndirectAPI, ARB_transpose_matrix)
  1207. {
  1208.    EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixd, table[_glapi_get_proc_offset("glLoadTransposeMatrixdARB")]);
  1209.    EXPECT_EQ((_glapi_proc) __indirect_glLoadTransposeMatrixf, table[_glapi_get_proc_offset("glLoadTransposeMatrixfARB")]);
  1210.    EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixd, table[_glapi_get_proc_offset("glMultTransposeMatrixdARB")]);
  1211.    EXPECT_EQ((_glapi_proc) __indirect_glMultTransposeMatrixf, table[_glapi_get_proc_offset("glMultTransposeMatrixfARB")]);
  1212. }
  1213.  
  1214. TEST_F(IndirectAPI, ARB_multisample)
  1215. {
  1216.    EXPECT_EQ((_glapi_proc) __indirect_glSampleCoverage, table[_glapi_get_proc_offset("glSampleCoverageARB")]);
  1217. }
  1218.  
  1219. TEST_F(IndirectAPI, ARB_texture_compression)
  1220. {
  1221.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage1D, table[_glapi_get_proc_offset("glCompressedTexImage1DARB")]);
  1222.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage2D, table[_glapi_get_proc_offset("glCompressedTexImage2DARB")]);
  1223.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexImage3D, table[_glapi_get_proc_offset("glCompressedTexImage3DARB")]);
  1224.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage1D, table[_glapi_get_proc_offset("glCompressedTexSubImage1DARB")]);
  1225.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage2D, table[_glapi_get_proc_offset("glCompressedTexSubImage2DARB")]);
  1226.    EXPECT_EQ((_glapi_proc) __indirect_glCompressedTexSubImage3D, table[_glapi_get_proc_offset("glCompressedTexSubImage3DARB")]);
  1227.    EXPECT_EQ((_glapi_proc) __indirect_glGetCompressedTexImage, table[_glapi_get_proc_offset("glGetCompressedTexImageARB")]);
  1228. }
  1229.  
  1230. TEST_F(IndirectAPI, ARB_vertex_program)
  1231. {
  1232.    EXPECT_EQ((_glapi_proc) __indirect_glDisableVertexAttribArray, table[_glapi_get_proc_offset("glDisableVertexAttribArrayARB")]);
  1233.    EXPECT_EQ((_glapi_proc) __indirect_glEnableVertexAttribArray, table[_glapi_get_proc_offset("glEnableVertexAttribArrayARB")]);
  1234.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterdvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterdvARB")]);
  1235.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramEnvParameterfvARB, table[_glapi_get_proc_offset("glGetProgramEnvParameterfvARB")]);
  1236.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterdvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterdvARB")]);
  1237.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramLocalParameterfvARB, table[_glapi_get_proc_offset("glGetProgramLocalParameterfvARB")]);
  1238.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringARB, table[_glapi_get_proc_offset("glGetProgramStringARB")]);
  1239.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivARB, table[_glapi_get_proc_offset("glGetProgramivARB")]);
  1240.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdv, table[_glapi_get_proc_offset("glGetVertexAttribdvARB")]);
  1241.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfv, table[_glapi_get_proc_offset("glGetVertexAttribfvARB")]);
  1242.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribiv, table[_glapi_get_proc_offset("glGetVertexAttribivARB")]);
  1243.    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dARB")]);
  1244.    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4dvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4dvARB")]);
  1245.    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fARB")]);
  1246.    EXPECT_EQ((_glapi_proc) __indirect_glProgramEnvParameter4fvARB, table[_glapi_get_proc_offset("glProgramEnvParameter4fvARB")]);
  1247.    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dARB")]);
  1248.    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4dvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4dvARB")]);
  1249.    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fARB")]);
  1250.    EXPECT_EQ((_glapi_proc) __indirect_glProgramLocalParameter4fvARB, table[_glapi_get_proc_offset("glProgramLocalParameter4fvARB")]);
  1251.    EXPECT_EQ((_glapi_proc) __indirect_glProgramStringARB, table[_glapi_get_proc_offset("glProgramStringARB")]);
  1252.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1d, table[_glapi_get_proc_offset("glVertexAttrib1dARB")]);
  1253.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dv, table[_glapi_get_proc_offset("glVertexAttrib1dvARB")]);
  1254.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fARB, table[_glapi_get_proc_offset("glVertexAttrib1fARB")]);
  1255.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvARB, table[_glapi_get_proc_offset("glVertexAttrib1fvARB")]);
  1256.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1s, table[_glapi_get_proc_offset("glVertexAttrib1sARB")]);
  1257.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sv, table[_glapi_get_proc_offset("glVertexAttrib1svARB")]);
  1258.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2d, table[_glapi_get_proc_offset("glVertexAttrib2dARB")]);
  1259.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dv, table[_glapi_get_proc_offset("glVertexAttrib2dvARB")]);
  1260.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fARB, table[_glapi_get_proc_offset("glVertexAttrib2fARB")]);
  1261.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvARB, table[_glapi_get_proc_offset("glVertexAttrib2fvARB")]);
  1262.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2s, table[_glapi_get_proc_offset("glVertexAttrib2sARB")]);
  1263.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sv, table[_glapi_get_proc_offset("glVertexAttrib2svARB")]);
  1264.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3d, table[_glapi_get_proc_offset("glVertexAttrib3dARB")]);
  1265.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dv, table[_glapi_get_proc_offset("glVertexAttrib3dvARB")]);
  1266.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fARB, table[_glapi_get_proc_offset("glVertexAttrib3fARB")]);
  1267.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvARB, table[_glapi_get_proc_offset("glVertexAttrib3fvARB")]);
  1268.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3s, table[_glapi_get_proc_offset("glVertexAttrib3sARB")]);
  1269.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sv, table[_glapi_get_proc_offset("glVertexAttrib3svARB")]);
  1270.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nbv, table[_glapi_get_proc_offset("glVertexAttrib4NbvARB")]);
  1271.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Niv, table[_glapi_get_proc_offset("glVertexAttrib4NivARB")]);
  1272.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nsv, table[_glapi_get_proc_offset("glVertexAttrib4NsvARB")]);
  1273.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nub, table[_glapi_get_proc_offset("glVertexAttrib4NubARB")]);
  1274.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nubv, table[_glapi_get_proc_offset("glVertexAttrib4NubvARB")]);
  1275.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nuiv, table[_glapi_get_proc_offset("glVertexAttrib4NuivARB")]);
  1276.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4Nusv, table[_glapi_get_proc_offset("glVertexAttrib4NusvARB")]);
  1277.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4bv, table[_glapi_get_proc_offset("glVertexAttrib4bvARB")]);
  1278.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4d, table[_glapi_get_proc_offset("glVertexAttrib4dARB")]);
  1279.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dv, table[_glapi_get_proc_offset("glVertexAttrib4dvARB")]);
  1280.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fARB, table[_glapi_get_proc_offset("glVertexAttrib4fARB")]);
  1281.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvARB, table[_glapi_get_proc_offset("glVertexAttrib4fvARB")]);
  1282.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4iv, table[_glapi_get_proc_offset("glVertexAttrib4ivARB")]);
  1283.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4s, table[_glapi_get_proc_offset("glVertexAttrib4sARB")]);
  1284.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sv, table[_glapi_get_proc_offset("glVertexAttrib4svARB")]);
  1285.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubv, table[_glapi_get_proc_offset("glVertexAttrib4ubvARB")]);
  1286.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4uiv, table[_glapi_get_proc_offset("glVertexAttrib4uivARB")]);
  1287.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4usv, table[_glapi_get_proc_offset("glVertexAttrib4usvARB")]);
  1288.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointer, table[_glapi_get_proc_offset("glVertexAttribPointerARB")]);
  1289. }
  1290.  
  1291. TEST_F(IndirectAPI, ARB_occlusion_query)
  1292. {
  1293.    EXPECT_EQ((_glapi_proc) __indirect_glBeginQuery, table[_glapi_get_proc_offset("glBeginQueryARB")]);
  1294.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteQueries, table[_glapi_get_proc_offset("glDeleteQueriesARB")]);
  1295.    EXPECT_EQ((_glapi_proc) __indirect_glEndQuery, table[_glapi_get_proc_offset("glEndQueryARB")]);
  1296.    EXPECT_EQ((_glapi_proc) __indirect_glGenQueries, table[_glapi_get_proc_offset("glGenQueriesARB")]);
  1297.    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectiv, table[_glapi_get_proc_offset("glGetQueryObjectivARB")]);
  1298.    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryObjectuiv, table[_glapi_get_proc_offset("glGetQueryObjectuivARB")]);
  1299.    EXPECT_EQ((_glapi_proc) __indirect_glGetQueryiv, table[_glapi_get_proc_offset("glGetQueryivARB")]);
  1300.    EXPECT_EQ((_glapi_proc) __indirect_glIsQuery, table[_glapi_get_proc_offset("glIsQueryARB")]);
  1301. }
  1302.  
  1303. TEST_F(IndirectAPI, ARB_draw_buffers)
  1304. {
  1305.    EXPECT_EQ((_glapi_proc) __indirect_glDrawBuffers, table[_glapi_get_proc_offset("glDrawBuffersARB")]);
  1306. }
  1307.  
  1308. TEST_F(IndirectAPI, ARB_color_buffer_float)
  1309. {
  1310.    EXPECT_EQ((_glapi_proc) __indirect_glClampColor, table[_glapi_get_proc_offset("glClampColorARB")]);
  1311. }
  1312.  
  1313. TEST_F(IndirectAPI, ARB_framebuffer_object)
  1314. {
  1315.    EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorageMultisample, table[_glapi_get_proc_offset("glRenderbufferStorageMultisample")]);
  1316. }
  1317.  
  1318. TEST_F(IndirectAPI, SGIS_multisample)
  1319. {
  1320.    EXPECT_EQ((_glapi_proc) __indirect_glSampleMaskSGIS, table[_glapi_get_proc_offset("glSampleMaskSGIS")]);
  1321.    EXPECT_EQ((_glapi_proc) __indirect_glSamplePatternSGIS, table[_glapi_get_proc_offset("glSamplePatternSGIS")]);
  1322. }
  1323.  
  1324. TEST_F(IndirectAPI, EXT_vertex_array)
  1325. {
  1326.    EXPECT_EQ((_glapi_proc) __indirect_glColorPointerEXT, table[_glapi_get_proc_offset("glColorPointerEXT")]);
  1327.    EXPECT_EQ((_glapi_proc) __indirect_glEdgeFlagPointerEXT, table[_glapi_get_proc_offset("glEdgeFlagPointerEXT")]);
  1328.    EXPECT_EQ((_glapi_proc) __indirect_glIndexPointerEXT, table[_glapi_get_proc_offset("glIndexPointerEXT")]);
  1329.    EXPECT_EQ((_glapi_proc) __indirect_glNormalPointerEXT, table[_glapi_get_proc_offset("glNormalPointerEXT")]);
  1330.    EXPECT_EQ((_glapi_proc) __indirect_glTexCoordPointerEXT, table[_glapi_get_proc_offset("glTexCoordPointerEXT")]);
  1331.    EXPECT_EQ((_glapi_proc) __indirect_glVertexPointerEXT, table[_glapi_get_proc_offset("glVertexPointerEXT")]);
  1332. }
  1333.  
  1334. TEST_F(IndirectAPI, EXT_point_parameters)
  1335. {
  1336.    EXPECT_EQ((_glapi_proc) __indirect_glPointParameterf, table[_glapi_get_proc_offset("glPointParameterfEXT")]);
  1337.    EXPECT_EQ((_glapi_proc) __indirect_glPointParameterfv, table[_glapi_get_proc_offset("glPointParameterfvEXT")]);
  1338. }
  1339.  
  1340. TEST_F(IndirectAPI, EXT_secondary_color)
  1341. {
  1342.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3b, table[_glapi_get_proc_offset("glSecondaryColor3bEXT")]);
  1343.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3bv, table[_glapi_get_proc_offset("glSecondaryColor3bvEXT")]);
  1344.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3d, table[_glapi_get_proc_offset("glSecondaryColor3dEXT")]);
  1345.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3dv, table[_glapi_get_proc_offset("glSecondaryColor3dvEXT")]);
  1346.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fEXT, table[_glapi_get_proc_offset("glSecondaryColor3fEXT")]);
  1347.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3fvEXT, table[_glapi_get_proc_offset("glSecondaryColor3fvEXT")]);
  1348.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3i, table[_glapi_get_proc_offset("glSecondaryColor3iEXT")]);
  1349.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3iv, table[_glapi_get_proc_offset("glSecondaryColor3ivEXT")]);
  1350.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3s, table[_glapi_get_proc_offset("glSecondaryColor3sEXT")]);
  1351.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3sv, table[_glapi_get_proc_offset("glSecondaryColor3svEXT")]);
  1352.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ub, table[_glapi_get_proc_offset("glSecondaryColor3ubEXT")]);
  1353.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ubv, table[_glapi_get_proc_offset("glSecondaryColor3ubvEXT")]);
  1354.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3ui, table[_glapi_get_proc_offset("glSecondaryColor3uiEXT")]);
  1355.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3uiv, table[_glapi_get_proc_offset("glSecondaryColor3uivEXT")]);
  1356.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3us, table[_glapi_get_proc_offset("glSecondaryColor3usEXT")]);
  1357.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColor3usv, table[_glapi_get_proc_offset("glSecondaryColor3usvEXT")]);
  1358.    EXPECT_EQ((_glapi_proc) __indirect_glSecondaryColorPointer, table[_glapi_get_proc_offset("glSecondaryColorPointerEXT")]);
  1359. }
  1360.  
  1361. TEST_F(IndirectAPI, EXT_multi_draw_arrays)
  1362. {
  1363.    EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawArrays, table[_glapi_get_proc_offset("glMultiDrawArraysEXT")]);
  1364.    EXPECT_EQ((_glapi_proc) __indirect_glMultiDrawElementsEXT, table[_glapi_get_proc_offset("glMultiDrawElementsEXT")]);
  1365. }
  1366.  
  1367. TEST_F(IndirectAPI, EXT_fog_coord)
  1368. {
  1369.    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordPointer, table[_glapi_get_proc_offset("glFogCoordPointerEXT")]);
  1370.    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordd, table[_glapi_get_proc_offset("glFogCoorddEXT")]);
  1371.    EXPECT_EQ((_glapi_proc) __indirect_glFogCoorddv, table[_glapi_get_proc_offset("glFogCoorddvEXT")]);
  1372.    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfEXT, table[_glapi_get_proc_offset("glFogCoordfEXT")]);
  1373.    EXPECT_EQ((_glapi_proc) __indirect_glFogCoordfvEXT, table[_glapi_get_proc_offset("glFogCoordfvEXT")]);
  1374. }
  1375.  
  1376. TEST_F(IndirectAPI, EXT_blend_func_separate)
  1377. {
  1378.    EXPECT_EQ((_glapi_proc) __indirect_glBlendFuncSeparate, table[_glapi_get_proc_offset("glBlendFuncSeparateEXT")]);
  1379. }
  1380.  
  1381. TEST_F(IndirectAPI, MESA_window_pos)
  1382. {
  1383.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2d, table[_glapi_get_proc_offset("glWindowPos2dMESA")]);
  1384.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2dv, table[_glapi_get_proc_offset("glWindowPos2dvMESA")]);
  1385.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2f, table[_glapi_get_proc_offset("glWindowPos2fMESA")]);
  1386.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2fv, table[_glapi_get_proc_offset("glWindowPos2fvMESA")]);
  1387.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2i, table[_glapi_get_proc_offset("glWindowPos2iMESA")]);
  1388.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2iv, table[_glapi_get_proc_offset("glWindowPos2ivMESA")]);
  1389.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2s, table[_glapi_get_proc_offset("glWindowPos2sMESA")]);
  1390.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos2sv, table[_glapi_get_proc_offset("glWindowPos2svMESA")]);
  1391.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3d, table[_glapi_get_proc_offset("glWindowPos3dMESA")]);
  1392.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3dv, table[_glapi_get_proc_offset("glWindowPos3dvMESA")]);
  1393.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3f, table[_glapi_get_proc_offset("glWindowPos3fMESA")]);
  1394.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3fv, table[_glapi_get_proc_offset("glWindowPos3fvMESA")]);
  1395.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3i, table[_glapi_get_proc_offset("glWindowPos3iMESA")]);
  1396.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3iv, table[_glapi_get_proc_offset("glWindowPos3ivMESA")]);
  1397.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3s, table[_glapi_get_proc_offset("glWindowPos3sMESA")]);
  1398.    EXPECT_EQ((_glapi_proc) __indirect_glWindowPos3sv, table[_glapi_get_proc_offset("glWindowPos3svMESA")]);
  1399. }
  1400.  
  1401. TEST_F(IndirectAPI, NV_vertex_program)
  1402. {
  1403.    EXPECT_EQ((_glapi_proc) __indirect_glAreProgramsResidentNV, table[_glapi_get_proc_offset("glAreProgramsResidentNV")]);
  1404.    EXPECT_EQ((_glapi_proc) __indirect_glBindProgramARB, table[_glapi_get_proc_offset("glBindProgramNV")]);
  1405.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteProgramsARB, table[_glapi_get_proc_offset("glDeleteProgramsNV")]);
  1406.    EXPECT_EQ((_glapi_proc) __indirect_glExecuteProgramNV, table[_glapi_get_proc_offset("glExecuteProgramNV")]);
  1407.    EXPECT_EQ((_glapi_proc) __indirect_glGenProgramsARB, table[_glapi_get_proc_offset("glGenProgramsNV")]);
  1408.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterdvNV, table[_glapi_get_proc_offset("glGetProgramParameterdvNV")]);
  1409.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramParameterfvNV, table[_glapi_get_proc_offset("glGetProgramParameterfvNV")]);
  1410.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramStringNV, table[_glapi_get_proc_offset("glGetProgramStringNV")]);
  1411.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramivNV, table[_glapi_get_proc_offset("glGetProgramivNV")]);
  1412.    EXPECT_EQ((_glapi_proc) __indirect_glGetTrackMatrixivNV, table[_glapi_get_proc_offset("glGetTrackMatrixivNV")]);
  1413.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribPointerv, table[_glapi_get_proc_offset("glGetVertexAttribPointervNV")]);
  1414.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribdvNV, table[_glapi_get_proc_offset("glGetVertexAttribdvNV")]);
  1415.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribfvNV, table[_glapi_get_proc_offset("glGetVertexAttribfvNV")]);
  1416.    EXPECT_EQ((_glapi_proc) __indirect_glGetVertexAttribivNV, table[_glapi_get_proc_offset("glGetVertexAttribivNV")]);
  1417.    EXPECT_EQ((_glapi_proc) __indirect_glIsProgramARB, table[_glapi_get_proc_offset("glIsProgramNV")]);
  1418.    EXPECT_EQ((_glapi_proc) __indirect_glLoadProgramNV, table[_glapi_get_proc_offset("glLoadProgramNV")]);
  1419.    EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4dvNV, table[_glapi_get_proc_offset("glProgramParameters4dvNV")]);
  1420.    EXPECT_EQ((_glapi_proc) __indirect_glProgramParameters4fvNV, table[_glapi_get_proc_offset("glProgramParameters4fvNV")]);
  1421.    EXPECT_EQ((_glapi_proc) __indirect_glRequestResidentProgramsNV, table[_glapi_get_proc_offset("glRequestResidentProgramsNV")]);
  1422.    EXPECT_EQ((_glapi_proc) __indirect_glTrackMatrixNV, table[_glapi_get_proc_offset("glTrackMatrixNV")]);
  1423.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dNV, table[_glapi_get_proc_offset("glVertexAttrib1dNV")]);
  1424.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1dvNV, table[_glapi_get_proc_offset("glVertexAttrib1dvNV")]);
  1425.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fNV, table[_glapi_get_proc_offset("glVertexAttrib1fNV")]);
  1426.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1fvNV, table[_glapi_get_proc_offset("glVertexAttrib1fvNV")]);
  1427.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1sNV, table[_glapi_get_proc_offset("glVertexAttrib1sNV")]);
  1428.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib1svNV, table[_glapi_get_proc_offset("glVertexAttrib1svNV")]);
  1429.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dNV, table[_glapi_get_proc_offset("glVertexAttrib2dNV")]);
  1430.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2dvNV, table[_glapi_get_proc_offset("glVertexAttrib2dvNV")]);
  1431.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fNV, table[_glapi_get_proc_offset("glVertexAttrib2fNV")]);
  1432.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2fvNV, table[_glapi_get_proc_offset("glVertexAttrib2fvNV")]);
  1433.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2sNV, table[_glapi_get_proc_offset("glVertexAttrib2sNV")]);
  1434.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib2svNV, table[_glapi_get_proc_offset("glVertexAttrib2svNV")]);
  1435.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dNV, table[_glapi_get_proc_offset("glVertexAttrib3dNV")]);
  1436.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3dvNV, table[_glapi_get_proc_offset("glVertexAttrib3dvNV")]);
  1437.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fNV, table[_glapi_get_proc_offset("glVertexAttrib3fNV")]);
  1438.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3fvNV, table[_glapi_get_proc_offset("glVertexAttrib3fvNV")]);
  1439.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3sNV, table[_glapi_get_proc_offset("glVertexAttrib3sNV")]);
  1440.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib3svNV, table[_glapi_get_proc_offset("glVertexAttrib3svNV")]);
  1441.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dNV, table[_glapi_get_proc_offset("glVertexAttrib4dNV")]);
  1442.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4dvNV, table[_glapi_get_proc_offset("glVertexAttrib4dvNV")]);
  1443.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fNV, table[_glapi_get_proc_offset("glVertexAttrib4fNV")]);
  1444.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4fvNV, table[_glapi_get_proc_offset("glVertexAttrib4fvNV")]);
  1445.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4sNV, table[_glapi_get_proc_offset("glVertexAttrib4sNV")]);
  1446.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4svNV, table[_glapi_get_proc_offset("glVertexAttrib4svNV")]);
  1447.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubNV, table[_glapi_get_proc_offset("glVertexAttrib4ubNV")]);
  1448.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubvNV, table[_glapi_get_proc_offset("glVertexAttrib4ubvNV")]);
  1449.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointerNV, table[_glapi_get_proc_offset("glVertexAttribPointerNV")]);
  1450.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1dvNV, table[_glapi_get_proc_offset("glVertexAttribs1dvNV")]);
  1451.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1fvNV, table[_glapi_get_proc_offset("glVertexAttribs1fvNV")]);
  1452.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1svNV, table[_glapi_get_proc_offset("glVertexAttribs1svNV")]);
  1453.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2dvNV, table[_glapi_get_proc_offset("glVertexAttribs2dvNV")]);
  1454.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2fvNV, table[_glapi_get_proc_offset("glVertexAttribs2fvNV")]);
  1455.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs2svNV, table[_glapi_get_proc_offset("glVertexAttribs2svNV")]);
  1456.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3dvNV, table[_glapi_get_proc_offset("glVertexAttribs3dvNV")]);
  1457.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3fvNV, table[_glapi_get_proc_offset("glVertexAttribs3fvNV")]);
  1458.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs3svNV, table[_glapi_get_proc_offset("glVertexAttribs3svNV")]);
  1459.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4dvNV, table[_glapi_get_proc_offset("glVertexAttribs4dvNV")]);
  1460.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4fvNV, table[_glapi_get_proc_offset("glVertexAttribs4fvNV")]);
  1461.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4svNV, table[_glapi_get_proc_offset("glVertexAttribs4svNV")]);
  1462.    EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs4ubvNV, table[_glapi_get_proc_offset("glVertexAttribs4ubvNV")]);
  1463. }
  1464.  
  1465. TEST_F(IndirectAPI, NV_point_sprite)
  1466. {
  1467.    EXPECT_EQ((_glapi_proc) __indirect_glPointParameteri, table[_glapi_get_proc_offset("glPointParameteriNV")]);
  1468.    EXPECT_EQ((_glapi_proc) __indirect_glPointParameteriv, table[_glapi_get_proc_offset("glPointParameterivNV")]);
  1469. }
  1470.  
  1471. TEST_F(IndirectAPI, EXT_stencil_two_side)
  1472. {
  1473.    EXPECT_EQ((_glapi_proc) __indirect_glActiveStencilFaceEXT, table[_glapi_get_proc_offset("glActiveStencilFaceEXT")]);
  1474. }
  1475.  
  1476. TEST_F(IndirectAPI, NV_fragment_program)
  1477. {
  1478.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterdvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterdvNV")]);
  1479.    EXPECT_EQ((_glapi_proc) __indirect_glGetProgramNamedParameterfvNV, table[_glapi_get_proc_offset("glGetProgramNamedParameterfvNV")]);
  1480.    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dNV")]);
  1481.    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4dvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4dvNV")]);
  1482.    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fNV")]);
  1483.    EXPECT_EQ((_glapi_proc) __indirect_glProgramNamedParameter4fvNV, table[_glapi_get_proc_offset("glProgramNamedParameter4fvNV")]);
  1484. }
  1485.  
  1486. TEST_F(IndirectAPI, EXT_blend_equation_separate)
  1487. {
  1488.    EXPECT_EQ((_glapi_proc) __indirect_glBlendEquationSeparate, table[_glapi_get_proc_offset("glBlendEquationSeparateEXT")]);
  1489. }
  1490.  
  1491. TEST_F(IndirectAPI, EXT_framebuffer_object)
  1492. {
  1493.    EXPECT_EQ((_glapi_proc) __indirect_glBindFramebufferEXT, table[_glapi_get_proc_offset("glBindFramebufferEXT")]);
  1494.    EXPECT_EQ((_glapi_proc) __indirect_glBindRenderbufferEXT, table[_glapi_get_proc_offset("glBindRenderbufferEXT")]);
  1495.    EXPECT_EQ((_glapi_proc) __indirect_glBindFramebuffer, table[_glapi_get_proc_offset("glBindFramebuffer")]);
  1496.    EXPECT_EQ((_glapi_proc) __indirect_glBindRenderbuffer, table[_glapi_get_proc_offset("glBindRenderbuffer")]);
  1497.    EXPECT_EQ((_glapi_proc) __indirect_glCheckFramebufferStatus, table[_glapi_get_proc_offset("glCheckFramebufferStatusEXT")]);
  1498.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteFramebuffers, table[_glapi_get_proc_offset("glDeleteFramebuffersEXT")]);
  1499.    EXPECT_EQ((_glapi_proc) __indirect_glDeleteRenderbuffers, table[_glapi_get_proc_offset("glDeleteRenderbuffersEXT")]);
  1500.    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferRenderbuffer, table[_glapi_get_proc_offset("glFramebufferRenderbufferEXT")]);
  1501.    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture1D, table[_glapi_get_proc_offset("glFramebufferTexture1DEXT")]);
  1502.    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture2D, table[_glapi_get_proc_offset("glFramebufferTexture2DEXT")]);
  1503.    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTexture3D, table[_glapi_get_proc_offset("glFramebufferTexture3DEXT")]);
  1504.    EXPECT_EQ((_glapi_proc) __indirect_glGenFramebuffers, table[_glapi_get_proc_offset("glGenFramebuffersEXT")]);
  1505.    EXPECT_EQ((_glapi_proc) __indirect_glGenRenderbuffers, table[_glapi_get_proc_offset("glGenRenderbuffersEXT")]);
  1506.    EXPECT_EQ((_glapi_proc) __indirect_glGenerateMipmap, table[_glapi_get_proc_offset("glGenerateMipmapEXT")]);
  1507.    EXPECT_EQ((_glapi_proc) __indirect_glGetFramebufferAttachmentParameteriv, table[_glapi_get_proc_offset("glGetFramebufferAttachmentParameterivEXT")]);
  1508.    EXPECT_EQ((_glapi_proc) __indirect_glGetRenderbufferParameteriv, table[_glapi_get_proc_offset("glGetRenderbufferParameterivEXT")]);
  1509.    EXPECT_EQ((_glapi_proc) __indirect_glIsFramebuffer, table[_glapi_get_proc_offset("glIsFramebufferEXT")]);
  1510.    EXPECT_EQ((_glapi_proc) __indirect_glIsRenderbuffer, table[_glapi_get_proc_offset("glIsRenderbufferEXT")]);
  1511.    EXPECT_EQ((_glapi_proc) __indirect_glRenderbufferStorage, table[_glapi_get_proc_offset("glRenderbufferStorageEXT")]);
  1512. }
  1513.  
  1514. TEST_F(IndirectAPI, EXT_framebuffer_blit)
  1515. {
  1516.    EXPECT_EQ((_glapi_proc) __indirect_glBlitFramebuffer, table[_glapi_get_proc_offset("glBlitFramebufferEXT")]);
  1517. }
  1518.  
  1519. TEST_F(IndirectAPI, EXT_texture_array)
  1520. {
  1521.    EXPECT_EQ((_glapi_proc) __indirect_glFramebufferTextureLayer, table[_glapi_get_proc_offset("glFramebufferTextureLayerEXT")]);
  1522. }
  1523.