Path: blob/21.2-virgl/src/mapi/glapi/tests/check_table.cpp
4565 views
/*1* Copyright © 2012 Intel Corporation2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING19* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER20* DEALINGS IN THE SOFTWARE.21*/2223#include <gtest/gtest.h>24#include "main/glheader.h"2526#include "glapi/glapi.h"27#include "glapitable.h"2829struct name_offset {30const char *name;31unsigned int offset;32};3334extern const struct name_offset linux_gl_abi[];35extern const struct name_offset known_dispatch[];3637TEST(GetProcAddress, ABIOffsetByName)38{39/* 408 functions have had their locations in the dispatch table set since40* the dawn of time. Verify that all of these functions are at the correct41* locations.42*/43for (unsigned i = 0; linux_gl_abi[i].name != NULL; i++) {44EXPECT_EQ(linux_gl_abi[i].offset,45_glapi_get_proc_offset(linux_gl_abi[i].name))46<< "function name: " << linux_gl_abi[i].name;47}48}4950TEST(GetProcAddress, ABINameByOffset)51{52/* 408 functions have had their locations in the dispatch table set since53* the dawn of time. Verify that all of these functions are at the correct54* locations.55*/56for (unsigned i = 0; linux_gl_abi[i].name != NULL; i++) {57EXPECT_STREQ(linux_gl_abi[i].name,58_glapi_get_proc_name(linux_gl_abi[i].offset))59<< "function offset: " << linux_gl_abi[i].offset;60}61}6263TEST(GetProcAddress, TableBigEnoughForABI)64{65const unsigned table_entries = sizeof(struct _glapi_table) / sizeof(void *);6667EXPECT_GE(table_entries, 408u);68}6970TEST(GetProcAddress, TableDidntShrink)71{72const unsigned table_entries = sizeof(struct _glapi_table) / sizeof(void *);7374/* The dispatch table is not expected to shrink. At GIT commit b45052b the75* table had 978 entries. Changes that intentionally reduce the size of76* the table are very rare. In those cases, the expected value should be77* updated to reflect the change.78*79* Changes that accidentally reduce the size of the table are bugs, and80* they should be fixed.81*82* 6 entries were removed when GL_SGIS_pixel_texture was removed from the83* dispatch table.84*85* 1 entry was removed when GL_SGIX_pixel_texture was removed from the86* dispatch table.87*88* 2 entries were removed when GL_APPLE_texture_range was removed from the89* dispatch table.90*91* 13 entries were removed when GL_NV_register_combiners was removed from92* the dispatch table.93*94* 7 entries were removed when GL_NV_fence was removed from the dispatch95* table.96*97* 2 entries were removed when GL_NV_vertex_array_range was removed from98* the dispatch table.99*/100EXPECT_GE(table_entries, 978u - 6u - 1u - 2u - 13u - 7u - 2u);101}102103TEST(GetProcAddress, QueriedDispatchSizeBigEnough)104{105const unsigned table_entries = sizeof(struct _glapi_table) / sizeof(void *);106107/* _glapi_get_dispatch_table_size returns the size of the extended dispatch108* table. This is the size of the static table with some extra entries for109* drivers to use for extensions that the core does not know about.110*/111EXPECT_LT(table_entries, _glapi_get_dispatch_table_size());112}113114TEST(GetProcAddress, KnownDispatchOffsetsAreConsistent)115{116/* Verify that the queried dispatch offset for every known function is117* consistent with its location in the static dispatch table.118*119* There is some redundancy between this test and ABIOffsetByName. That's120* okay. The offsets in ABIOffsetByName comdirectly from the ABI121* definition. The offsets in this test come from locations in a structure122* definition generated by scripts.123*/124for (unsigned i = 0; known_dispatch[i].name != NULL; i++) {125EXPECT_EQ(known_dispatch[i].offset,126_glapi_get_proc_offset(known_dispatch[i].name))127<< "function name: " << known_dispatch[i].name;128}129}130131TEST(GetProcAddress, KnownDispatchNamesAreConsistent)132{133/* Verify that the queried dispatch name for every known function is134* consistent with its location in the static dispatch table.135*136* There is some redundancy between this test and ABINameByOffset. That's137* okay. The offsets in ABIOffsetByName comdirectly from the ABI138* definition. The offsets in this test come from locations in a structure139* definition generated by scripts.140*/141for (unsigned i = 0; known_dispatch[i].name != NULL; i++) {142EXPECT_STREQ(known_dispatch[i].name,143_glapi_get_proc_name(known_dispatch[i].offset))144<< "function offset: " << known_dispatch[i].offset;145}146}147148const struct name_offset linux_gl_abi[] = {149{ "glNewList", 0 },150{ "glEndList", 1 },151{ "glCallList", 2 },152{ "glCallLists", 3 },153{ "glDeleteLists", 4 },154{ "glGenLists", 5 },155{ "glListBase", 6 },156{ "glBegin", 7 },157{ "glBitmap", 8 },158{ "glColor3b", 9 },159{ "glColor3bv", 10 },160{ "glColor3d", 11 },161{ "glColor3dv", 12 },162{ "glColor3f", 13 },163{ "glColor3fv", 14 },164{ "glColor3i", 15 },165{ "glColor3iv", 16 },166{ "glColor3s", 17 },167{ "glColor3sv", 18 },168{ "glColor3ub", 19 },169{ "glColor3ubv", 20 },170{ "glColor3ui", 21 },171{ "glColor3uiv", 22 },172{ "glColor3us", 23 },173{ "glColor3usv", 24 },174{ "glColor4b", 25 },175{ "glColor4bv", 26 },176{ "glColor4d", 27 },177{ "glColor4dv", 28 },178{ "glColor4f", 29 },179{ "glColor4fv", 30 },180{ "glColor4i", 31 },181{ "glColor4iv", 32 },182{ "glColor4s", 33 },183{ "glColor4sv", 34 },184{ "glColor4ub", 35 },185{ "glColor4ubv", 36 },186{ "glColor4ui", 37 },187{ "glColor4uiv", 38 },188{ "glColor4us", 39 },189{ "glColor4usv", 40 },190{ "glEdgeFlag", 41 },191{ "glEdgeFlagv", 42 },192{ "glEnd", 43 },193{ "glIndexd", 44 },194{ "glIndexdv", 45 },195{ "glIndexf", 46 },196{ "glIndexfv", 47 },197{ "glIndexi", 48 },198{ "glIndexiv", 49 },199{ "glIndexs", 50 },200{ "glIndexsv", 51 },201{ "glNormal3b", 52 },202{ "glNormal3bv", 53 },203{ "glNormal3d", 54 },204{ "glNormal3dv", 55 },205{ "glNormal3f", 56 },206{ "glNormal3fv", 57 },207{ "glNormal3i", 58 },208{ "glNormal3iv", 59 },209{ "glNormal3s", 60 },210{ "glNormal3sv", 61 },211{ "glRasterPos2d", 62 },212{ "glRasterPos2dv", 63 },213{ "glRasterPos2f", 64 },214{ "glRasterPos2fv", 65 },215{ "glRasterPos2i", 66 },216{ "glRasterPos2iv", 67 },217{ "glRasterPos2s", 68 },218{ "glRasterPos2sv", 69 },219{ "glRasterPos3d", 70 },220{ "glRasterPos3dv", 71 },221{ "glRasterPos3f", 72 },222{ "glRasterPos3fv", 73 },223{ "glRasterPos3i", 74 },224{ "glRasterPos3iv", 75 },225{ "glRasterPos3s", 76 },226{ "glRasterPos3sv", 77 },227{ "glRasterPos4d", 78 },228{ "glRasterPos4dv", 79 },229{ "glRasterPos4f", 80 },230{ "glRasterPos4fv", 81 },231{ "glRasterPos4i", 82 },232{ "glRasterPos4iv", 83 },233{ "glRasterPos4s", 84 },234{ "glRasterPos4sv", 85 },235{ "glRectd", 86 },236{ "glRectdv", 87 },237{ "glRectf", 88 },238{ "glRectfv", 89 },239{ "glRecti", 90 },240{ "glRectiv", 91 },241{ "glRects", 92 },242{ "glRectsv", 93 },243{ "glTexCoord1d", 94 },244{ "glTexCoord1dv", 95 },245{ "glTexCoord1f", 96 },246{ "glTexCoord1fv", 97 },247{ "glTexCoord1i", 98 },248{ "glTexCoord1iv", 99 },249{ "glTexCoord1s", 100 },250{ "glTexCoord1sv", 101 },251{ "glTexCoord2d", 102 },252{ "glTexCoord2dv", 103 },253{ "glTexCoord2f", 104 },254{ "glTexCoord2fv", 105 },255{ "glTexCoord2i", 106 },256{ "glTexCoord2iv", 107 },257{ "glTexCoord2s", 108 },258{ "glTexCoord2sv", 109 },259{ "glTexCoord3d", 110 },260{ "glTexCoord3dv", 111 },261{ "glTexCoord3f", 112 },262{ "glTexCoord3fv", 113 },263{ "glTexCoord3i", 114 },264{ "glTexCoord3iv", 115 },265{ "glTexCoord3s", 116 },266{ "glTexCoord3sv", 117 },267{ "glTexCoord4d", 118 },268{ "glTexCoord4dv", 119 },269{ "glTexCoord4f", 120 },270{ "glTexCoord4fv", 121 },271{ "glTexCoord4i", 122 },272{ "glTexCoord4iv", 123 },273{ "glTexCoord4s", 124 },274{ "glTexCoord4sv", 125 },275{ "glVertex2d", 126 },276{ "glVertex2dv", 127 },277{ "glVertex2f", 128 },278{ "glVertex2fv", 129 },279{ "glVertex2i", 130 },280{ "glVertex2iv", 131 },281{ "glVertex2s", 132 },282{ "glVertex2sv", 133 },283{ "glVertex3d", 134 },284{ "glVertex3dv", 135 },285{ "glVertex3f", 136 },286{ "glVertex3fv", 137 },287{ "glVertex3i", 138 },288{ "glVertex3iv", 139 },289{ "glVertex3s", 140 },290{ "glVertex3sv", 141 },291{ "glVertex4d", 142 },292{ "glVertex4dv", 143 },293{ "glVertex4f", 144 },294{ "glVertex4fv", 145 },295{ "glVertex4i", 146 },296{ "glVertex4iv", 147 },297{ "glVertex4s", 148 },298{ "glVertex4sv", 149 },299{ "glClipPlane", 150 },300{ "glColorMaterial", 151 },301{ "glCullFace", 152 },302{ "glFogf", 153 },303{ "glFogfv", 154 },304{ "glFogi", 155 },305{ "glFogiv", 156 },306{ "glFrontFace", 157 },307{ "glHint", 158 },308{ "glLightf", 159 },309{ "glLightfv", 160 },310{ "glLighti", 161 },311{ "glLightiv", 162 },312{ "glLightModelf", 163 },313{ "glLightModelfv", 164 },314{ "glLightModeli", 165 },315{ "glLightModeliv", 166 },316{ "glLineStipple", 167 },317{ "glLineWidth", 168 },318{ "glMaterialf", 169 },319{ "glMaterialfv", 170 },320{ "glMateriali", 171 },321{ "glMaterialiv", 172 },322{ "glPointSize", 173 },323{ "glPolygonMode", 174 },324{ "glPolygonStipple", 175 },325{ "glScissor", 176 },326{ "glShadeModel", 177 },327{ "glTexParameterf", 178 },328{ "glTexParameterfv", 179 },329{ "glTexParameteri", 180 },330{ "glTexParameteriv", 181 },331{ "glTexImage1D", 182 },332{ "glTexImage2D", 183 },333{ "glTexEnvf", 184 },334{ "glTexEnvfv", 185 },335{ "glTexEnvi", 186 },336{ "glTexEnviv", 187 },337{ "glTexGend", 188 },338{ "glTexGendv", 189 },339{ "glTexGenf", 190 },340{ "glTexGenfv", 191 },341{ "glTexGeni", 192 },342{ "glTexGeniv", 193 },343{ "glFeedbackBuffer", 194 },344{ "glSelectBuffer", 195 },345{ "glRenderMode", 196 },346{ "glInitNames", 197 },347{ "glLoadName", 198 },348{ "glPassThrough", 199 },349{ "glPopName", 200 },350{ "glPushName", 201 },351{ "glDrawBuffer", 202 },352{ "glClear", 203 },353{ "glClearAccum", 204 },354{ "glClearIndex", 205 },355{ "glClearColor", 206 },356{ "glClearStencil", 207 },357{ "glClearDepth", 208 },358{ "glStencilMask", 209 },359{ "glColorMask", 210 },360{ "glDepthMask", 211 },361{ "glIndexMask", 212 },362{ "glAccum", 213 },363{ "glDisable", 214 },364{ "glEnable", 215 },365{ "glFinish", 216 },366{ "glFlush", 217 },367{ "glPopAttrib", 218 },368{ "glPushAttrib", 219 },369{ "glMap1d", 220 },370{ "glMap1f", 221 },371{ "glMap2d", 222 },372{ "glMap2f", 223 },373{ "glMapGrid1d", 224 },374{ "glMapGrid1f", 225 },375{ "glMapGrid2d", 226 },376{ "glMapGrid2f", 227 },377{ "glEvalCoord1d", 228 },378{ "glEvalCoord1dv", 229 },379{ "glEvalCoord1f", 230 },380{ "glEvalCoord1fv", 231 },381{ "glEvalCoord2d", 232 },382{ "glEvalCoord2dv", 233 },383{ "glEvalCoord2f", 234 },384{ "glEvalCoord2fv", 235 },385{ "glEvalMesh1", 236 },386{ "glEvalPoint1", 237 },387{ "glEvalMesh2", 238 },388{ "glEvalPoint2", 239 },389{ "glAlphaFunc", 240 },390{ "glBlendFunc", 241 },391{ "glLogicOp", 242 },392{ "glStencilFunc", 243 },393{ "glStencilOp", 244 },394{ "glDepthFunc", 245 },395{ "glPixelZoom", 246 },396{ "glPixelTransferf", 247 },397{ "glPixelTransferi", 248 },398{ "glPixelStoref", 249 },399{ "glPixelStorei", 250 },400{ "glPixelMapfv", 251 },401{ "glPixelMapuiv", 252 },402{ "glPixelMapusv", 253 },403{ "glReadBuffer", 254 },404{ "glCopyPixels", 255 },405{ "glReadPixels", 256 },406{ "glDrawPixels", 257 },407{ "glGetBooleanv", 258 },408{ "glGetClipPlane", 259 },409{ "glGetDoublev", 260 },410{ "glGetError", 261 },411{ "glGetFloatv", 262 },412{ "glGetIntegerv", 263 },413{ "glGetLightfv", 264 },414{ "glGetLightiv", 265 },415{ "glGetMapdv", 266 },416{ "glGetMapfv", 267 },417{ "glGetMapiv", 268 },418{ "glGetMaterialfv", 269 },419{ "glGetMaterialiv", 270 },420{ "glGetPixelMapfv", 271 },421{ "glGetPixelMapuiv", 272 },422{ "glGetPixelMapusv", 273 },423{ "glGetPolygonStipple", 274 },424{ "glGetString", 275 },425{ "glGetTexEnvfv", 276 },426{ "glGetTexEnviv", 277 },427{ "glGetTexGendv", 278 },428{ "glGetTexGenfv", 279 },429{ "glGetTexGeniv", 280 },430{ "glGetTexImage", 281 },431{ "glGetTexParameterfv", 282 },432{ "glGetTexParameteriv", 283 },433{ "glGetTexLevelParameterfv", 284 },434{ "glGetTexLevelParameteriv", 285 },435{ "glIsEnabled", 286 },436{ "glIsList", 287 },437{ "glDepthRange", 288 },438{ "glFrustum", 289 },439{ "glLoadIdentity", 290 },440{ "glLoadMatrixf", 291 },441{ "glLoadMatrixd", 292 },442{ "glMatrixMode", 293 },443{ "glMultMatrixf", 294 },444{ "glMultMatrixd", 295 },445{ "glOrtho", 296 },446{ "glPopMatrix", 297 },447{ "glPushMatrix", 298 },448{ "glRotated", 299 },449{ "glRotatef", 300 },450{ "glScaled", 301 },451{ "glScalef", 302 },452{ "glTranslated", 303 },453{ "glTranslatef", 304 },454{ "glViewport", 305 },455{ "glArrayElement", 306 },456{ "glColorPointer", 308 },457{ "glDisableClientState", 309 },458{ "glDrawArrays", 310 },459{ "glDrawElements", 311 },460{ "glEdgeFlagPointer", 312 },461{ "glEnableClientState", 313 },462{ "glGetPointerv", 329 },463{ "glIndexPointer", 314 },464{ "glInterleavedArrays", 317 },465{ "glNormalPointer", 318 },466{ "glTexCoordPointer", 320 },467{ "glVertexPointer", 321 },468{ "glPolygonOffset", 319 },469{ "glCopyTexImage1D", 323 },470{ "glCopyTexImage2D", 324 },471{ "glCopyTexSubImage1D", 325 },472{ "glCopyTexSubImage2D", 326 },473{ "glTexSubImage1D", 332 },474{ "glTexSubImage2D", 333 },475{ "glAreTexturesResident", 322 },476{ "glBindTexture", 307 },477{ "glDeleteTextures", 327 },478{ "glGenTextures", 328 },479{ "glIsTexture", 330 },480{ "glPrioritizeTextures", 331 },481{ "glIndexub", 315 },482{ "glIndexubv", 316 },483{ "glPopClientAttrib", 334 },484{ "glPushClientAttrib", 335 },485{ "glBlendColor", 336 },486{ "glBlendEquation", 337 },487{ "glDrawRangeElements", 338 },488{ "glColorTable", 339 },489{ "glColorTableParameterfv", 340 },490{ "glColorTableParameteriv", 341 },491{ "glCopyColorTable", 342 },492{ "glGetColorTable", 343 },493{ "glGetColorTableParameterfv", 344 },494{ "glGetColorTableParameteriv", 345 },495{ "glColorSubTable", 346 },496{ "glCopyColorSubTable", 347 },497{ "glConvolutionFilter1D", 348 },498{ "glConvolutionFilter2D", 349 },499{ "glConvolutionParameterf", 350 },500{ "glConvolutionParameterfv", 351 },501{ "glConvolutionParameteri", 352 },502{ "glConvolutionParameteriv", 353 },503{ "glCopyConvolutionFilter1D", 354 },504{ "glCopyConvolutionFilter2D", 355 },505{ "glGetConvolutionFilter", 356 },506{ "glGetConvolutionParameterfv", 357 },507{ "glGetConvolutionParameteriv", 358 },508{ "glGetSeparableFilter", 359 },509{ "glSeparableFilter2D", 360 },510{ "glGetHistogram", 361 },511{ "glGetHistogramParameterfv", 362 },512{ "glGetHistogramParameteriv", 363 },513{ "glGetMinmax", 364 },514{ "glGetMinmaxParameterfv", 365 },515{ "glGetMinmaxParameteriv", 366 },516{ "glHistogram", 367 },517{ "glMinmax", 368 },518{ "glResetHistogram", 369 },519{ "glResetMinmax", 370 },520{ "glTexImage3D", 371 },521{ "glTexSubImage3D", 372 },522{ "glCopyTexSubImage3D", 373 },523{ "glActiveTexture", 374 },524{ "glClientActiveTexture", 375 },525{ "glMultiTexCoord1d", 376 },526{ "glMultiTexCoord1dv", 377 },527{ "glMultiTexCoord1fARB", 378 },528{ "glMultiTexCoord1fvARB", 379 },529{ "glMultiTexCoord1i", 380 },530{ "glMultiTexCoord1iv", 381 },531{ "glMultiTexCoord1s", 382 },532{ "glMultiTexCoord1sv", 383 },533{ "glMultiTexCoord2d", 384 },534{ "glMultiTexCoord2dv", 385 },535{ "glMultiTexCoord2fARB", 386 },536{ "glMultiTexCoord2fvARB", 387 },537{ "glMultiTexCoord2i", 388 },538{ "glMultiTexCoord2iv", 389 },539{ "glMultiTexCoord2s", 390 },540{ "glMultiTexCoord2sv", 391 },541{ "glMultiTexCoord3d", 392 },542{ "glMultiTexCoord3dv", 393 },543{ "glMultiTexCoord3fARB", 394 },544{ "glMultiTexCoord3fvARB", 395 },545{ "glMultiTexCoord3i", 396 },546{ "glMultiTexCoord3iv", 397 },547{ "glMultiTexCoord3s", 398 },548{ "glMultiTexCoord3sv", 399 },549{ "glMultiTexCoord4d", 400 },550{ "glMultiTexCoord4dv", 401 },551{ "glMultiTexCoord4fARB", 402 },552{ "glMultiTexCoord4fvARB", 403 },553{ "glMultiTexCoord4i", 404 },554{ "glMultiTexCoord4iv", 405 },555{ "glMultiTexCoord4s", 406 },556{ "glMultiTexCoord4sv", 407 },557{ NULL, 0 }558};559560#define _O(f) ((intptr_t) & (((struct _glapi_table *) 0)->f)) / sizeof(void *)561562const struct name_offset known_dispatch[] = {563{ "glNewList", _O(NewList) },564{ "glEndList", _O(EndList) },565{ "glCallList", _O(CallList) },566{ "glCallLists", _O(CallLists) },567{ "glDeleteLists", _O(DeleteLists) },568{ "glGenLists", _O(GenLists) },569{ "glListBase", _O(ListBase) },570{ "glBegin", _O(Begin) },571{ "glBitmap", _O(Bitmap) },572{ "glColor3b", _O(Color3b) },573{ "glColor3bv", _O(Color3bv) },574{ "glColor3d", _O(Color3d) },575{ "glColor3dv", _O(Color3dv) },576{ "glColor3f", _O(Color3f) },577{ "glColor3fv", _O(Color3fv) },578{ "glColor3i", _O(Color3i) },579{ "glColor3iv", _O(Color3iv) },580{ "glColor3s", _O(Color3s) },581{ "glColor3sv", _O(Color3sv) },582{ "glColor3ub", _O(Color3ub) },583{ "glColor3ubv", _O(Color3ubv) },584{ "glColor3ui", _O(Color3ui) },585{ "glColor3uiv", _O(Color3uiv) },586{ "glColor3us", _O(Color3us) },587{ "glColor3usv", _O(Color3usv) },588{ "glColor4b", _O(Color4b) },589{ "glColor4bv", _O(Color4bv) },590{ "glColor4d", _O(Color4d) },591{ "glColor4dv", _O(Color4dv) },592{ "glColor4f", _O(Color4f) },593{ "glColor4fv", _O(Color4fv) },594{ "glColor4i", _O(Color4i) },595{ "glColor4iv", _O(Color4iv) },596{ "glColor4s", _O(Color4s) },597{ "glColor4sv", _O(Color4sv) },598{ "glColor4ub", _O(Color4ub) },599{ "glColor4ubv", _O(Color4ubv) },600{ "glColor4ui", _O(Color4ui) },601{ "glColor4uiv", _O(Color4uiv) },602{ "glColor4us", _O(Color4us) },603{ "glColor4usv", _O(Color4usv) },604{ "glEdgeFlag", _O(EdgeFlag) },605{ "glEdgeFlagv", _O(EdgeFlagv) },606{ "glEnd", _O(End) },607{ "glIndexd", _O(Indexd) },608{ "glIndexdv", _O(Indexdv) },609{ "glIndexf", _O(Indexf) },610{ "glIndexfv", _O(Indexfv) },611{ "glIndexi", _O(Indexi) },612{ "glIndexiv", _O(Indexiv) },613{ "glIndexs", _O(Indexs) },614{ "glIndexsv", _O(Indexsv) },615{ "glNormal3b", _O(Normal3b) },616{ "glNormal3bv", _O(Normal3bv) },617{ "glNormal3d", _O(Normal3d) },618{ "glNormal3dv", _O(Normal3dv) },619{ "glNormal3f", _O(Normal3f) },620{ "glNormal3fv", _O(Normal3fv) },621{ "glNormal3i", _O(Normal3i) },622{ "glNormal3iv", _O(Normal3iv) },623{ "glNormal3s", _O(Normal3s) },624{ "glNormal3sv", _O(Normal3sv) },625{ "glRasterPos2d", _O(RasterPos2d) },626{ "glRasterPos2dv", _O(RasterPos2dv) },627{ "glRasterPos2f", _O(RasterPos2f) },628{ "glRasterPos2fv", _O(RasterPos2fv) },629{ "glRasterPos2i", _O(RasterPos2i) },630{ "glRasterPos2iv", _O(RasterPos2iv) },631{ "glRasterPos2s", _O(RasterPos2s) },632{ "glRasterPos2sv", _O(RasterPos2sv) },633{ "glRasterPos3d", _O(RasterPos3d) },634{ "glRasterPos3dv", _O(RasterPos3dv) },635{ "glRasterPos3f", _O(RasterPos3f) },636{ "glRasterPos3fv", _O(RasterPos3fv) },637{ "glRasterPos3i", _O(RasterPos3i) },638{ "glRasterPos3iv", _O(RasterPos3iv) },639{ "glRasterPos3s", _O(RasterPos3s) },640{ "glRasterPos3sv", _O(RasterPos3sv) },641{ "glRasterPos4d", _O(RasterPos4d) },642{ "glRasterPos4dv", _O(RasterPos4dv) },643{ "glRasterPos4f", _O(RasterPos4f) },644{ "glRasterPos4fv", _O(RasterPos4fv) },645{ "glRasterPos4i", _O(RasterPos4i) },646{ "glRasterPos4iv", _O(RasterPos4iv) },647{ "glRasterPos4s", _O(RasterPos4s) },648{ "glRasterPos4sv", _O(RasterPos4sv) },649{ "glRectd", _O(Rectd) },650{ "glRectdv", _O(Rectdv) },651{ "glRectf", _O(Rectf) },652{ "glRectfv", _O(Rectfv) },653{ "glRecti", _O(Recti) },654{ "glRectiv", _O(Rectiv) },655{ "glRects", _O(Rects) },656{ "glRectsv", _O(Rectsv) },657{ "glTexCoord1d", _O(TexCoord1d) },658{ "glTexCoord1dv", _O(TexCoord1dv) },659{ "glTexCoord1f", _O(TexCoord1f) },660{ "glTexCoord1fv", _O(TexCoord1fv) },661{ "glTexCoord1i", _O(TexCoord1i) },662{ "glTexCoord1iv", _O(TexCoord1iv) },663{ "glTexCoord1s", _O(TexCoord1s) },664{ "glTexCoord1sv", _O(TexCoord1sv) },665{ "glTexCoord2d", _O(TexCoord2d) },666{ "glTexCoord2dv", _O(TexCoord2dv) },667{ "glTexCoord2f", _O(TexCoord2f) },668{ "glTexCoord2fv", _O(TexCoord2fv) },669{ "glTexCoord2i", _O(TexCoord2i) },670{ "glTexCoord2iv", _O(TexCoord2iv) },671{ "glTexCoord2s", _O(TexCoord2s) },672{ "glTexCoord2sv", _O(TexCoord2sv) },673{ "glTexCoord3d", _O(TexCoord3d) },674{ "glTexCoord3dv", _O(TexCoord3dv) },675{ "glTexCoord3f", _O(TexCoord3f) },676{ "glTexCoord3fv", _O(TexCoord3fv) },677{ "glTexCoord3i", _O(TexCoord3i) },678{ "glTexCoord3iv", _O(TexCoord3iv) },679{ "glTexCoord3s", _O(TexCoord3s) },680{ "glTexCoord3sv", _O(TexCoord3sv) },681{ "glTexCoord4d", _O(TexCoord4d) },682{ "glTexCoord4dv", _O(TexCoord4dv) },683{ "glTexCoord4f", _O(TexCoord4f) },684{ "glTexCoord4fv", _O(TexCoord4fv) },685{ "glTexCoord4i", _O(TexCoord4i) },686{ "glTexCoord4iv", _O(TexCoord4iv) },687{ "glTexCoord4s", _O(TexCoord4s) },688{ "glTexCoord4sv", _O(TexCoord4sv) },689{ "glVertex2d", _O(Vertex2d) },690{ "glVertex2dv", _O(Vertex2dv) },691{ "glVertex2f", _O(Vertex2f) },692{ "glVertex2fv", _O(Vertex2fv) },693{ "glVertex2i", _O(Vertex2i) },694{ "glVertex2iv", _O(Vertex2iv) },695{ "glVertex2s", _O(Vertex2s) },696{ "glVertex2sv", _O(Vertex2sv) },697{ "glVertex3d", _O(Vertex3d) },698{ "glVertex3dv", _O(Vertex3dv) },699{ "glVertex3f", _O(Vertex3f) },700{ "glVertex3fv", _O(Vertex3fv) },701{ "glVertex3i", _O(Vertex3i) },702{ "glVertex3iv", _O(Vertex3iv) },703{ "glVertex3s", _O(Vertex3s) },704{ "glVertex3sv", _O(Vertex3sv) },705{ "glVertex4d", _O(Vertex4d) },706{ "glVertex4dv", _O(Vertex4dv) },707{ "glVertex4f", _O(Vertex4f) },708{ "glVertex4fv", _O(Vertex4fv) },709{ "glVertex4i", _O(Vertex4i) },710{ "glVertex4iv", _O(Vertex4iv) },711{ "glVertex4s", _O(Vertex4s) },712{ "glVertex4sv", _O(Vertex4sv) },713{ "glClipPlane", _O(ClipPlane) },714{ "glColorMaterial", _O(ColorMaterial) },715{ "glCullFace", _O(CullFace) },716{ "glFogf", _O(Fogf) },717{ "glFogfv", _O(Fogfv) },718{ "glFogi", _O(Fogi) },719{ "glFogiv", _O(Fogiv) },720{ "glFrontFace", _O(FrontFace) },721{ "glHint", _O(Hint) },722{ "glLightf", _O(Lightf) },723{ "glLightfv", _O(Lightfv) },724{ "glLighti", _O(Lighti) },725{ "glLightiv", _O(Lightiv) },726{ "glLightModelf", _O(LightModelf) },727{ "glLightModelfv", _O(LightModelfv) },728{ "glLightModeli", _O(LightModeli) },729{ "glLightModeliv", _O(LightModeliv) },730{ "glLineStipple", _O(LineStipple) },731{ "glLineWidth", _O(LineWidth) },732{ "glMaterialf", _O(Materialf) },733{ "glMaterialfv", _O(Materialfv) },734{ "glMateriali", _O(Materiali) },735{ "glMaterialiv", _O(Materialiv) },736{ "glPointSize", _O(PointSize) },737{ "glPolygonMode", _O(PolygonMode) },738{ "glPolygonStipple", _O(PolygonStipple) },739{ "glScissor", _O(Scissor) },740{ "glShadeModel", _O(ShadeModel) },741{ "glTexParameterf", _O(TexParameterf) },742{ "glTexParameterfv", _O(TexParameterfv) },743{ "glTexParameteri", _O(TexParameteri) },744{ "glTexParameteriv", _O(TexParameteriv) },745{ "glTexImage1D", _O(TexImage1D) },746{ "glTexImage2D", _O(TexImage2D) },747{ "glTexEnvf", _O(TexEnvf) },748{ "glTexEnvfv", _O(TexEnvfv) },749{ "glTexEnvi", _O(TexEnvi) },750{ "glTexEnviv", _O(TexEnviv) },751{ "glTexGend", _O(TexGend) },752{ "glTexGendv", _O(TexGendv) },753{ "glTexGenf", _O(TexGenf) },754{ "glTexGenfv", _O(TexGenfv) },755{ "glTexGeni", _O(TexGeni) },756{ "glTexGeniv", _O(TexGeniv) },757{ "glFeedbackBuffer", _O(FeedbackBuffer) },758{ "glSelectBuffer", _O(SelectBuffer) },759{ "glRenderMode", _O(RenderMode) },760{ "glInitNames", _O(InitNames) },761{ "glLoadName", _O(LoadName) },762{ "glPassThrough", _O(PassThrough) },763{ "glPopName", _O(PopName) },764{ "glPushName", _O(PushName) },765{ "glDrawBuffer", _O(DrawBuffer) },766{ "glClear", _O(Clear) },767{ "glClearAccum", _O(ClearAccum) },768{ "glClearIndex", _O(ClearIndex) },769{ "glClearColor", _O(ClearColor) },770{ "glClearStencil", _O(ClearStencil) },771{ "glClearDepth", _O(ClearDepth) },772{ "glStencilMask", _O(StencilMask) },773{ "glColorMask", _O(ColorMask) },774{ "glDepthMask", _O(DepthMask) },775{ "glIndexMask", _O(IndexMask) },776{ "glAccum", _O(Accum) },777{ "glDisable", _O(Disable) },778{ "glEnable", _O(Enable) },779{ "glFinish", _O(Finish) },780{ "glFlush", _O(Flush) },781{ "glPopAttrib", _O(PopAttrib) },782{ "glPushAttrib", _O(PushAttrib) },783{ "glMap1d", _O(Map1d) },784{ "glMap1f", _O(Map1f) },785{ "glMap2d", _O(Map2d) },786{ "glMap2f", _O(Map2f) },787{ "glMapGrid1d", _O(MapGrid1d) },788{ "glMapGrid1f", _O(MapGrid1f) },789{ "glMapGrid2d", _O(MapGrid2d) },790{ "glMapGrid2f", _O(MapGrid2f) },791{ "glEvalCoord1d", _O(EvalCoord1d) },792{ "glEvalCoord1dv", _O(EvalCoord1dv) },793{ "glEvalCoord1f", _O(EvalCoord1f) },794{ "glEvalCoord1fv", _O(EvalCoord1fv) },795{ "glEvalCoord2d", _O(EvalCoord2d) },796{ "glEvalCoord2dv", _O(EvalCoord2dv) },797{ "glEvalCoord2f", _O(EvalCoord2f) },798{ "glEvalCoord2fv", _O(EvalCoord2fv) },799{ "glEvalMesh1", _O(EvalMesh1) },800{ "glEvalPoint1", _O(EvalPoint1) },801{ "glEvalMesh2", _O(EvalMesh2) },802{ "glEvalPoint2", _O(EvalPoint2) },803{ "glAlphaFunc", _O(AlphaFunc) },804{ "glBlendFunc", _O(BlendFunc) },805{ "glLogicOp", _O(LogicOp) },806{ "glStencilFunc", _O(StencilFunc) },807{ "glStencilOp", _O(StencilOp) },808{ "glDepthFunc", _O(DepthFunc) },809{ "glPixelZoom", _O(PixelZoom) },810{ "glPixelTransferf", _O(PixelTransferf) },811{ "glPixelTransferi", _O(PixelTransferi) },812{ "glPixelStoref", _O(PixelStoref) },813{ "glPixelStorei", _O(PixelStorei) },814{ "glPixelMapfv", _O(PixelMapfv) },815{ "glPixelMapuiv", _O(PixelMapuiv) },816{ "glPixelMapusv", _O(PixelMapusv) },817{ "glReadBuffer", _O(ReadBuffer) },818{ "glCopyPixels", _O(CopyPixels) },819{ "glReadPixels", _O(ReadPixels) },820{ "glDrawPixels", _O(DrawPixels) },821{ "glGetBooleanv", _O(GetBooleanv) },822{ "glGetClipPlane", _O(GetClipPlane) },823{ "glGetDoublev", _O(GetDoublev) },824{ "glGetError", _O(GetError) },825{ "glGetFloatv", _O(GetFloatv) },826{ "glGetIntegerv", _O(GetIntegerv) },827{ "glGetLightfv", _O(GetLightfv) },828{ "glGetLightiv", _O(GetLightiv) },829{ "glGetMapdv", _O(GetMapdv) },830{ "glGetMapfv", _O(GetMapfv) },831{ "glGetMapiv", _O(GetMapiv) },832{ "glGetMaterialfv", _O(GetMaterialfv) },833{ "glGetMaterialiv", _O(GetMaterialiv) },834{ "glGetPixelMapfv", _O(GetPixelMapfv) },835{ "glGetPixelMapuiv", _O(GetPixelMapuiv) },836{ "glGetPixelMapusv", _O(GetPixelMapusv) },837{ "glGetPolygonStipple", _O(GetPolygonStipple) },838{ "glGetString", _O(GetString) },839{ "glGetTexEnvfv", _O(GetTexEnvfv) },840{ "glGetTexEnviv", _O(GetTexEnviv) },841{ "glGetTexGendv", _O(GetTexGendv) },842{ "glGetTexGenfv", _O(GetTexGenfv) },843{ "glGetTexGeniv", _O(GetTexGeniv) },844{ "glGetTexImage", _O(GetTexImage) },845{ "glGetTexParameterfv", _O(GetTexParameterfv) },846{ "glGetTexParameteriv", _O(GetTexParameteriv) },847{ "glGetTexLevelParameterfv", _O(GetTexLevelParameterfv) },848{ "glGetTexLevelParameteriv", _O(GetTexLevelParameteriv) },849{ "glIsEnabled", _O(IsEnabled) },850{ "glIsList", _O(IsList) },851{ "glDepthRange", _O(DepthRange) },852{ "glFrustum", _O(Frustum) },853{ "glLoadIdentity", _O(LoadIdentity) },854{ "glLoadMatrixf", _O(LoadMatrixf) },855{ "glLoadMatrixd", _O(LoadMatrixd) },856{ "glMatrixMode", _O(MatrixMode) },857{ "glMultMatrixf", _O(MultMatrixf) },858{ "glMultMatrixd", _O(MultMatrixd) },859{ "glOrtho", _O(Ortho) },860{ "glPopMatrix", _O(PopMatrix) },861{ "glPushMatrix", _O(PushMatrix) },862{ "glRotated", _O(Rotated) },863{ "glRotatef", _O(Rotatef) },864{ "glScaled", _O(Scaled) },865{ "glScalef", _O(Scalef) },866{ "glTranslated", _O(Translated) },867{ "glTranslatef", _O(Translatef) },868{ "glViewport", _O(Viewport) },869{ "glArrayElement", _O(ArrayElement) },870{ "glBindTexture", _O(BindTexture) },871{ "glColorPointer", _O(ColorPointer) },872{ "glDisableClientState", _O(DisableClientState) },873{ "glDrawArrays", _O(DrawArrays) },874{ "glDrawElements", _O(DrawElements) },875{ "glEdgeFlagPointer", _O(EdgeFlagPointer) },876{ "glEnableClientState", _O(EnableClientState) },877{ "glIndexPointer", _O(IndexPointer) },878{ "glIndexub", _O(Indexub) },879{ "glIndexubv", _O(Indexubv) },880{ "glInterleavedArrays", _O(InterleavedArrays) },881{ "glNormalPointer", _O(NormalPointer) },882{ "glPolygonOffset", _O(PolygonOffset) },883{ "glTexCoordPointer", _O(TexCoordPointer) },884{ "glVertexPointer", _O(VertexPointer) },885{ "glAreTexturesResident", _O(AreTexturesResident) },886{ "glCopyTexImage1D", _O(CopyTexImage1D) },887{ "glCopyTexImage2D", _O(CopyTexImage2D) },888{ "glCopyTexSubImage1D", _O(CopyTexSubImage1D) },889{ "glCopyTexSubImage2D", _O(CopyTexSubImage2D) },890{ "glDeleteTextures", _O(DeleteTextures) },891{ "glGenTextures", _O(GenTextures) },892{ "glGetPointerv", _O(GetPointerv) },893{ "glIsTexture", _O(IsTexture) },894{ "glPrioritizeTextures", _O(PrioritizeTextures) },895{ "glTexSubImage1D", _O(TexSubImage1D) },896{ "glTexSubImage2D", _O(TexSubImage2D) },897{ "glPopClientAttrib", _O(PopClientAttrib) },898{ "glPushClientAttrib", _O(PushClientAttrib) },899{ "glBlendColor", _O(BlendColor) },900{ "glBlendEquation", _O(BlendEquation) },901{ "glDrawRangeElements", _O(DrawRangeElements) },902{ "glColorTable", _O(ColorTable) },903{ "glColorTableParameterfv", _O(ColorTableParameterfv) },904{ "glColorTableParameteriv", _O(ColorTableParameteriv) },905{ "glCopyColorTable", _O(CopyColorTable) },906{ "glGetColorTable", _O(GetColorTable) },907{ "glGetColorTableParameterfv", _O(GetColorTableParameterfv) },908{ "glGetColorTableParameteriv", _O(GetColorTableParameteriv) },909{ "glColorSubTable", _O(ColorSubTable) },910{ "glCopyColorSubTable", _O(CopyColorSubTable) },911{ "glConvolutionFilter1D", _O(ConvolutionFilter1D) },912{ "glConvolutionFilter2D", _O(ConvolutionFilter2D) },913{ "glConvolutionParameterf", _O(ConvolutionParameterf) },914{ "glConvolutionParameterfv", _O(ConvolutionParameterfv) },915{ "glConvolutionParameteri", _O(ConvolutionParameteri) },916{ "glConvolutionParameteriv", _O(ConvolutionParameteriv) },917{ "glCopyConvolutionFilter1D", _O(CopyConvolutionFilter1D) },918{ "glCopyConvolutionFilter2D", _O(CopyConvolutionFilter2D) },919{ "glGetConvolutionFilter", _O(GetConvolutionFilter) },920{ "glGetConvolutionParameterfv", _O(GetConvolutionParameterfv) },921{ "glGetConvolutionParameteriv", _O(GetConvolutionParameteriv) },922{ "glGetSeparableFilter", _O(GetSeparableFilter) },923{ "glSeparableFilter2D", _O(SeparableFilter2D) },924{ "glGetHistogram", _O(GetHistogram) },925{ "glGetHistogramParameterfv", _O(GetHistogramParameterfv) },926{ "glGetHistogramParameteriv", _O(GetHistogramParameteriv) },927{ "glGetMinmax", _O(GetMinmax) },928{ "glGetMinmaxParameterfv", _O(GetMinmaxParameterfv) },929{ "glGetMinmaxParameteriv", _O(GetMinmaxParameteriv) },930{ "glHistogram", _O(Histogram) },931{ "glMinmax", _O(Minmax) },932{ "glResetHistogram", _O(ResetHistogram) },933{ "glResetMinmax", _O(ResetMinmax) },934{ "glTexImage3D", _O(TexImage3D) },935{ "glTexSubImage3D", _O(TexSubImage3D) },936{ "glCopyTexSubImage3D", _O(CopyTexSubImage3D) },937{ "glActiveTexture", _O(ActiveTexture) },938{ "glClientActiveTexture", _O(ClientActiveTexture) },939{ "glMultiTexCoord1d", _O(MultiTexCoord1d) },940{ "glMultiTexCoord1dv", _O(MultiTexCoord1dv) },941{ "glMultiTexCoord1fARB", _O(MultiTexCoord1fARB) },942{ "glMultiTexCoord1fvARB", _O(MultiTexCoord1fvARB) },943{ "glMultiTexCoord1i", _O(MultiTexCoord1i) },944{ "glMultiTexCoord1iv", _O(MultiTexCoord1iv) },945{ "glMultiTexCoord1s", _O(MultiTexCoord1s) },946{ "glMultiTexCoord1sv", _O(MultiTexCoord1sv) },947{ "glMultiTexCoord2d", _O(MultiTexCoord2d) },948{ "glMultiTexCoord2dv", _O(MultiTexCoord2dv) },949{ "glMultiTexCoord2fARB", _O(MultiTexCoord2fARB) },950{ "glMultiTexCoord2fvARB", _O(MultiTexCoord2fvARB) },951{ "glMultiTexCoord2i", _O(MultiTexCoord2i) },952{ "glMultiTexCoord2iv", _O(MultiTexCoord2iv) },953{ "glMultiTexCoord2s", _O(MultiTexCoord2s) },954{ "glMultiTexCoord2sv", _O(MultiTexCoord2sv) },955{ "glMultiTexCoord3d", _O(MultiTexCoord3d) },956{ "glMultiTexCoord3dv", _O(MultiTexCoord3dv) },957{ "glMultiTexCoord3fARB", _O(MultiTexCoord3fARB) },958{ "glMultiTexCoord3fvARB", _O(MultiTexCoord3fvARB) },959{ "glMultiTexCoord3i", _O(MultiTexCoord3i) },960{ "glMultiTexCoord3iv", _O(MultiTexCoord3iv) },961{ "glMultiTexCoord3s", _O(MultiTexCoord3s) },962{ "glMultiTexCoord3sv", _O(MultiTexCoord3sv) },963{ "glMultiTexCoord4d", _O(MultiTexCoord4d) },964{ "glMultiTexCoord4dv", _O(MultiTexCoord4dv) },965{ "glMultiTexCoord4fARB", _O(MultiTexCoord4fARB) },966{ "glMultiTexCoord4fvARB", _O(MultiTexCoord4fvARB) },967{ "glMultiTexCoord4i", _O(MultiTexCoord4i) },968{ "glMultiTexCoord4iv", _O(MultiTexCoord4iv) },969{ "glMultiTexCoord4s", _O(MultiTexCoord4s) },970{ "glMultiTexCoord4sv", _O(MultiTexCoord4sv) },971{ "glAttachShader", _O(AttachShader) },972{ "glCreateProgram", _O(CreateProgram) },973{ "glCreateShader", _O(CreateShader) },974{ "glDeleteProgram", _O(DeleteProgram) },975{ "glDeleteShader", _O(DeleteShader) },976{ "glDetachShader", _O(DetachShader) },977{ "glGetAttachedShaders", _O(GetAttachedShaders) },978{ "glGetProgramInfoLog", _O(GetProgramInfoLog) },979{ "glGetProgramiv", _O(GetProgramiv) },980{ "glGetShaderInfoLog", _O(GetShaderInfoLog) },981{ "glGetShaderiv", _O(GetShaderiv) },982{ "glIsProgram", _O(IsProgram) },983{ "glIsShader", _O(IsShader) },984{ "glStencilFuncSeparate", _O(StencilFuncSeparate) },985{ "glStencilMaskSeparate", _O(StencilMaskSeparate) },986{ "glStencilOpSeparate", _O(StencilOpSeparate) },987{ "glUniformMatrix2x3fv", _O(UniformMatrix2x3fv) },988{ "glUniformMatrix2x4fv", _O(UniformMatrix2x4fv) },989{ "glUniformMatrix3x2fv", _O(UniformMatrix3x2fv) },990{ "glUniformMatrix3x4fv", _O(UniformMatrix3x4fv) },991{ "glUniformMatrix4x2fv", _O(UniformMatrix4x2fv) },992{ "glUniformMatrix4x3fv", _O(UniformMatrix4x3fv) },993{ "glClearBufferfi", _O(ClearBufferfi) },994{ "glClearBufferfv", _O(ClearBufferfv) },995{ "glClearBufferiv", _O(ClearBufferiv) },996{ "glClearBufferuiv", _O(ClearBufferuiv) },997{ "glGetStringi", _O(GetStringi) },998{ "glFramebufferTexture", _O(FramebufferTexture) },999{ "glGetBufferParameteri64v", _O(GetBufferParameteri64v) },1000{ "glGetInteger64i_v", _O(GetInteger64i_v) },1001{ "glLoadTransposeMatrixd", _O(LoadTransposeMatrixd) },1002{ "glLoadTransposeMatrixf", _O(LoadTransposeMatrixf) },1003{ "glMultTransposeMatrixd", _O(MultTransposeMatrixd) },1004{ "glMultTransposeMatrixf", _O(MultTransposeMatrixf) },1005{ "glSampleCoverage", _O(SampleCoverage) },1006{ "glCompressedTexImage1D", _O(CompressedTexImage1D) },1007{ "glCompressedTexImage2D", _O(CompressedTexImage2D) },1008{ "glCompressedTexImage3D", _O(CompressedTexImage3D) },1009{ "glCompressedTexSubImage1D", _O(CompressedTexSubImage1D) },1010{ "glCompressedTexSubImage2D", _O(CompressedTexSubImage2D) },1011{ "glCompressedTexSubImage3D", _O(CompressedTexSubImage3D) },1012{ "glGetCompressedTexImage", _O(GetCompressedTexImage) },1013{ "glDisableVertexAttribArray", _O(DisableVertexAttribArray) },1014{ "glEnableVertexAttribArray", _O(EnableVertexAttribArray) },1015{ "glGetProgramEnvParameterdvARB", _O(GetProgramEnvParameterdvARB) },1016{ "glGetProgramEnvParameterfvARB", _O(GetProgramEnvParameterfvARB) },1017{ "glGetProgramLocalParameterdvARB", _O(GetProgramLocalParameterdvARB) },1018{ "glGetProgramLocalParameterfvARB", _O(GetProgramLocalParameterfvARB) },1019{ "glGetProgramStringARB", _O(GetProgramStringARB) },1020{ "glGetProgramivARB", _O(GetProgramivARB) },1021{ "glGetVertexAttribdv", _O(GetVertexAttribdv) },1022{ "glGetVertexAttribfv", _O(GetVertexAttribfv) },1023{ "glGetVertexAttribiv", _O(GetVertexAttribiv) },1024{ "glProgramEnvParameter4dARB", _O(ProgramEnvParameter4dARB) },1025{ "glProgramEnvParameter4dvARB", _O(ProgramEnvParameter4dvARB) },1026{ "glProgramEnvParameter4fARB", _O(ProgramEnvParameter4fARB) },1027{ "glProgramEnvParameter4fvARB", _O(ProgramEnvParameter4fvARB) },1028{ "glProgramLocalParameter4dARB", _O(ProgramLocalParameter4dARB) },1029{ "glProgramLocalParameter4dvARB", _O(ProgramLocalParameter4dvARB) },1030{ "glProgramLocalParameter4fARB", _O(ProgramLocalParameter4fARB) },1031{ "glProgramLocalParameter4fvARB", _O(ProgramLocalParameter4fvARB) },1032{ "glProgramStringARB", _O(ProgramStringARB) },1033{ "glVertexAttrib1d", _O(VertexAttrib1d) },1034{ "glVertexAttrib1dv", _O(VertexAttrib1dv) },1035{ "glVertexAttrib1fARB", _O(VertexAttrib1fARB) },1036{ "glVertexAttrib1fvARB", _O(VertexAttrib1fvARB) },1037{ "glVertexAttrib1s", _O(VertexAttrib1s) },1038{ "glVertexAttrib1sv", _O(VertexAttrib1sv) },1039{ "glVertexAttrib2d", _O(VertexAttrib2d) },1040{ "glVertexAttrib2dv", _O(VertexAttrib2dv) },1041{ "glVertexAttrib2fARB", _O(VertexAttrib2fARB) },1042{ "glVertexAttrib2fvARB", _O(VertexAttrib2fvARB) },1043{ "glVertexAttrib2s", _O(VertexAttrib2s) },1044{ "glVertexAttrib2sv", _O(VertexAttrib2sv) },1045{ "glVertexAttrib3d", _O(VertexAttrib3d) },1046{ "glVertexAttrib3dv", _O(VertexAttrib3dv) },1047{ "glVertexAttrib3fARB", _O(VertexAttrib3fARB) },1048{ "glVertexAttrib3fvARB", _O(VertexAttrib3fvARB) },1049{ "glVertexAttrib3s", _O(VertexAttrib3s) },1050{ "glVertexAttrib3sv", _O(VertexAttrib3sv) },1051{ "glVertexAttrib4Nbv", _O(VertexAttrib4Nbv) },1052{ "glVertexAttrib4Niv", _O(VertexAttrib4Niv) },1053{ "glVertexAttrib4Nsv", _O(VertexAttrib4Nsv) },1054{ "glVertexAttrib4Nub", _O(VertexAttrib4Nub) },1055{ "glVertexAttrib4Nubv", _O(VertexAttrib4Nubv) },1056{ "glVertexAttrib4Nuiv", _O(VertexAttrib4Nuiv) },1057{ "glVertexAttrib4Nusv", _O(VertexAttrib4Nusv) },1058{ "glVertexAttrib4bv", _O(VertexAttrib4bv) },1059{ "glVertexAttrib4d", _O(VertexAttrib4d) },1060{ "glVertexAttrib4dv", _O(VertexAttrib4dv) },1061{ "glVertexAttrib4fARB", _O(VertexAttrib4fARB) },1062{ "glVertexAttrib4fvARB", _O(VertexAttrib4fvARB) },1063{ "glVertexAttrib4iv", _O(VertexAttrib4iv) },1064{ "glVertexAttrib4s", _O(VertexAttrib4s) },1065{ "glVertexAttrib4sv", _O(VertexAttrib4sv) },1066{ "glVertexAttrib4ubv", _O(VertexAttrib4ubv) },1067{ "glVertexAttrib4uiv", _O(VertexAttrib4uiv) },1068{ "glVertexAttrib4usv", _O(VertexAttrib4usv) },1069{ "glVertexAttribPointer", _O(VertexAttribPointer) },1070{ "glBindBuffer", _O(BindBuffer) },1071{ "glBufferData", _O(BufferData) },1072{ "glBufferSubData", _O(BufferSubData) },1073{ "glDeleteBuffers", _O(DeleteBuffers) },1074{ "glGenBuffers", _O(GenBuffers) },1075{ "glGetBufferParameteriv", _O(GetBufferParameteriv) },1076{ "glGetBufferPointerv", _O(GetBufferPointerv) },1077{ "glGetBufferSubData", _O(GetBufferSubData) },1078{ "glIsBuffer", _O(IsBuffer) },1079{ "glMapBuffer", _O(MapBuffer) },1080{ "glUnmapBuffer", _O(UnmapBuffer) },1081{ "glBeginQuery", _O(BeginQuery) },1082{ "glDeleteQueries", _O(DeleteQueries) },1083{ "glEndQuery", _O(EndQuery) },1084{ "glGenQueries", _O(GenQueries) },1085{ "glGetQueryObjectiv", _O(GetQueryObjectiv) },1086{ "glGetQueryObjectuiv", _O(GetQueryObjectuiv) },1087{ "glGetQueryiv", _O(GetQueryiv) },1088{ "glIsQuery", _O(IsQuery) },1089{ "glAttachObjectARB", _O(AttachObjectARB) },1090{ "glCompileShader", _O(CompileShader) },1091{ "glCreateProgramObjectARB", _O(CreateProgramObjectARB) },1092{ "glCreateShaderObjectARB", _O(CreateShaderObjectARB) },1093{ "glDeleteObjectARB", _O(DeleteObjectARB) },1094{ "glDetachObjectARB", _O(DetachObjectARB) },1095{ "glGetActiveUniform", _O(GetActiveUniform) },1096{ "glGetAttachedObjectsARB", _O(GetAttachedObjectsARB) },1097{ "glGetHandleARB", _O(GetHandleARB) },1098{ "glGetInfoLogARB", _O(GetInfoLogARB) },1099{ "glGetObjectParameterfvARB", _O(GetObjectParameterfvARB) },1100{ "glGetObjectParameterivARB", _O(GetObjectParameterivARB) },1101{ "glGetShaderSource", _O(GetShaderSource) },1102{ "glGetUniformLocation", _O(GetUniformLocation) },1103{ "glGetUniformfv", _O(GetUniformfv) },1104{ "glGetUniformiv", _O(GetUniformiv) },1105{ "glLinkProgram", _O(LinkProgram) },1106{ "glShaderSource", _O(ShaderSource) },1107{ "glUniform1f", _O(Uniform1f) },1108{ "glUniform1fv", _O(Uniform1fv) },1109{ "glUniform1i", _O(Uniform1i) },1110{ "glUniform1iv", _O(Uniform1iv) },1111{ "glUniform2f", _O(Uniform2f) },1112{ "glUniform2fv", _O(Uniform2fv) },1113{ "glUniform2i", _O(Uniform2i) },1114{ "glUniform2iv", _O(Uniform2iv) },1115{ "glUniform3f", _O(Uniform3f) },1116{ "glUniform3fv", _O(Uniform3fv) },1117{ "glUniform3i", _O(Uniform3i) },1118{ "glUniform3iv", _O(Uniform3iv) },1119{ "glUniform4f", _O(Uniform4f) },1120{ "glUniform4fv", _O(Uniform4fv) },1121{ "glUniform4i", _O(Uniform4i) },1122{ "glUniform4iv", _O(Uniform4iv) },1123{ "glUniformMatrix2fv", _O(UniformMatrix2fv) },1124{ "glUniformMatrix3fv", _O(UniformMatrix3fv) },1125{ "glUniformMatrix4fv", _O(UniformMatrix4fv) },1126{ "glUseProgram", _O(UseProgram) },1127{ "glValidateProgram", _O(ValidateProgram) },1128{ "glBindAttribLocation", _O(BindAttribLocation) },1129{ "glGetActiveAttrib", _O(GetActiveAttrib) },1130{ "glGetAttribLocation", _O(GetAttribLocation) },1131{ "glDrawBuffers", _O(DrawBuffers) },1132{ "glClampColor", _O(ClampColor) },1133{ "glDrawArraysInstancedARB", _O(DrawArraysInstancedARB) },1134{ "glDrawElementsInstancedARB", _O(DrawElementsInstancedARB) },1135{ "glRenderbufferStorageMultisample", _O(RenderbufferStorageMultisample) },1136{ "glFramebufferTexture", _O(FramebufferTexture) },1137{ "glProgramParameteri", _O(ProgramParameteri) },1138{ "glVertexAttribDivisor", _O(VertexAttribDivisor) },1139{ "glFlushMappedBufferRange", _O(FlushMappedBufferRange) },1140{ "glMapBufferRange", _O(MapBufferRange) },1141{ "glTexBuffer", _O(TexBuffer) },1142{ "glBindVertexArray", _O(BindVertexArray) },1143{ "glGenVertexArrays", _O(GenVertexArrays) },1144{ "glCopyBufferSubData", _O(CopyBufferSubData) },1145{ "glClientWaitSync", _O(ClientWaitSync) },1146{ "glDeleteSync", _O(DeleteSync) },1147{ "glFenceSync", _O(FenceSync) },1148{ "glGetInteger64v", _O(GetInteger64v) },1149{ "glGetSynciv", _O(GetSynciv) },1150{ "glIsSync", _O(IsSync) },1151{ "glWaitSync", _O(WaitSync) },1152{ "glDrawElementsBaseVertex", _O(DrawElementsBaseVertex) },1153{ "glDrawElementsInstancedBaseVertex", _O(DrawElementsInstancedBaseVertex) },1154{ "glDrawRangeElementsBaseVertex", _O(DrawRangeElementsBaseVertex) },1155{ "glMultiDrawElementsBaseVertex", _O(MultiDrawElementsBaseVertex) },1156{ "glBlendEquationSeparateiARB", _O(BlendEquationSeparateiARB) },1157{ "glBlendEquationiARB", _O(BlendEquationiARB) },1158{ "glBlendFuncSeparateiARB", _O(BlendFuncSeparateiARB) },1159{ "glBlendFunciARB", _O(BlendFunciARB) },1160{ "glBindFragDataLocationIndexed", _O(BindFragDataLocationIndexed) },1161{ "glGetFragDataIndex", _O(GetFragDataIndex) },1162{ "glBindSampler", _O(BindSampler) },1163{ "glDeleteSamplers", _O(DeleteSamplers) },1164{ "glGenSamplers", _O(GenSamplers) },1165{ "glGetSamplerParameterIiv", _O(GetSamplerParameterIiv) },1166{ "glGetSamplerParameterIuiv", _O(GetSamplerParameterIuiv) },1167{ "glGetSamplerParameterfv", _O(GetSamplerParameterfv) },1168{ "glGetSamplerParameteriv", _O(GetSamplerParameteriv) },1169{ "glIsSampler", _O(IsSampler) },1170{ "glSamplerParameterIiv", _O(SamplerParameterIiv) },1171{ "glSamplerParameterIuiv", _O(SamplerParameterIuiv) },1172{ "glSamplerParameterf", _O(SamplerParameterf) },1173{ "glSamplerParameterfv", _O(SamplerParameterfv) },1174{ "glSamplerParameteri", _O(SamplerParameteri) },1175{ "glSamplerParameteriv", _O(SamplerParameteriv) },1176{ "glColorP3ui", _O(ColorP3ui) },1177{ "glColorP3uiv", _O(ColorP3uiv) },1178{ "glColorP4ui", _O(ColorP4ui) },1179{ "glColorP4uiv", _O(ColorP4uiv) },1180{ "glMultiTexCoordP1ui", _O(MultiTexCoordP1ui) },1181{ "glMultiTexCoordP1uiv", _O(MultiTexCoordP1uiv) },1182{ "glMultiTexCoordP2ui", _O(MultiTexCoordP2ui) },1183{ "glMultiTexCoordP2uiv", _O(MultiTexCoordP2uiv) },1184{ "glMultiTexCoordP3ui", _O(MultiTexCoordP3ui) },1185{ "glMultiTexCoordP3uiv", _O(MultiTexCoordP3uiv) },1186{ "glMultiTexCoordP4ui", _O(MultiTexCoordP4ui) },1187{ "glMultiTexCoordP4uiv", _O(MultiTexCoordP4uiv) },1188{ "glNormalP3ui", _O(NormalP3ui) },1189{ "glNormalP3uiv", _O(NormalP3uiv) },1190{ "glSecondaryColorP3ui", _O(SecondaryColorP3ui) },1191{ "glSecondaryColorP3uiv", _O(SecondaryColorP3uiv) },1192{ "glTexCoordP1ui", _O(TexCoordP1ui) },1193{ "glTexCoordP1uiv", _O(TexCoordP1uiv) },1194{ "glTexCoordP2ui", _O(TexCoordP2ui) },1195{ "glTexCoordP2uiv", _O(TexCoordP2uiv) },1196{ "glTexCoordP3ui", _O(TexCoordP3ui) },1197{ "glTexCoordP3uiv", _O(TexCoordP3uiv) },1198{ "glTexCoordP4ui", _O(TexCoordP4ui) },1199{ "glTexCoordP4uiv", _O(TexCoordP4uiv) },1200{ "glVertexAttribP1ui", _O(VertexAttribP1ui) },1201{ "glVertexAttribP1uiv", _O(VertexAttribP1uiv) },1202{ "glVertexAttribP2ui", _O(VertexAttribP2ui) },1203{ "glVertexAttribP2uiv", _O(VertexAttribP2uiv) },1204{ "glVertexAttribP3ui", _O(VertexAttribP3ui) },1205{ "glVertexAttribP3uiv", _O(VertexAttribP3uiv) },1206{ "glVertexAttribP4ui", _O(VertexAttribP4ui) },1207{ "glVertexAttribP4uiv", _O(VertexAttribP4uiv) },1208{ "glVertexP2ui", _O(VertexP2ui) },1209{ "glVertexP2uiv", _O(VertexP2uiv) },1210{ "glVertexP3ui", _O(VertexP3ui) },1211{ "glVertexP3uiv", _O(VertexP3uiv) },1212{ "glVertexP4ui", _O(VertexP4ui) },1213{ "glVertexP4uiv", _O(VertexP4uiv) },1214{ "glBindTransformFeedback", _O(BindTransformFeedback) },1215{ "glDeleteTransformFeedbacks", _O(DeleteTransformFeedbacks) },1216{ "glDrawTransformFeedback", _O(DrawTransformFeedback) },1217{ "glGenTransformFeedbacks", _O(GenTransformFeedbacks) },1218{ "glIsTransformFeedback", _O(IsTransformFeedback) },1219{ "glPauseTransformFeedback", _O(PauseTransformFeedback) },1220{ "glResumeTransformFeedback", _O(ResumeTransformFeedback) },1221{ "glClearDepthf", _O(ClearDepthf) },1222{ "glDepthRangef", _O(DepthRangef) },1223{ "glGetShaderPrecisionFormat", _O(GetShaderPrecisionFormat) },1224{ "glReleaseShaderCompiler", _O(ReleaseShaderCompiler) },1225{ "glShaderBinary", _O(ShaderBinary) },1226{ "glDebugMessageCallback", _O(DebugMessageCallback) },1227{ "glDebugMessageControl", _O(DebugMessageControl) },1228{ "glDebugMessageInsert", _O(DebugMessageInsert) },1229{ "glGetDebugMessageLog", _O(GetDebugMessageLog) },1230{ "glPushDebugGroup", _O(PushDebugGroup) },1231{ "glPopDebugGroup", _O(PopDebugGroup) },1232{ "glGetObjectLabel", _O(GetObjectLabel) },1233{ "glGetObjectPtrLabel", _O(GetObjectPtrLabel) },1234{ "glObjectLabel", _O(ObjectLabel) },1235{ "glObjectPtrLabel", _O(ObjectPtrLabel) },1236{ "glGetGraphicsResetStatusARB", _O(GetGraphicsResetStatusARB) },1237{ "glGetnColorTableARB", _O(GetnColorTableARB) },1238{ "glGetnCompressedTexImageARB", _O(GetnCompressedTexImageARB) },1239{ "glGetnConvolutionFilterARB", _O(GetnConvolutionFilterARB) },1240{ "glGetnHistogramARB", _O(GetnHistogramARB) },1241{ "glGetnMapdvARB", _O(GetnMapdvARB) },1242{ "glGetnMapfvARB", _O(GetnMapfvARB) },1243{ "glGetnMapivARB", _O(GetnMapivARB) },1244{ "glGetnMinmaxARB", _O(GetnMinmaxARB) },1245{ "glGetnPixelMapfvARB", _O(GetnPixelMapfvARB) },1246{ "glGetnPixelMapuivARB", _O(GetnPixelMapuivARB) },1247{ "glGetnPixelMapusvARB", _O(GetnPixelMapusvARB) },1248{ "glGetnPolygonStippleARB", _O(GetnPolygonStippleARB) },1249{ "glGetnSeparableFilterARB", _O(GetnSeparableFilterARB) },1250{ "glGetnTexImageARB", _O(GetnTexImageARB) },1251{ "glGetnUniformdvARB", _O(GetnUniformdvARB) },1252{ "glGetnUniformfvARB", _O(GetnUniformfvARB) },1253{ "glGetnUniformivARB", _O(GetnUniformivARB) },1254{ "glGetnUniformuivARB", _O(GetnUniformuivARB) },1255{ "glReadnPixelsARB", _O(ReadnPixelsARB) },1256{ "glTexStorage1D", _O(TexStorage1D) },1257{ "glTexStorage2D", _O(TexStorage2D) },1258{ "glTexStorage3D", _O(TexStorage3D) },1259{ "glTextureStorage1DEXT", _O(TextureStorage1DEXT) },1260{ "glTextureStorage2DEXT", _O(TextureStorage2DEXT) },1261{ "glTextureStorage3DEXT", _O(TextureStorage3DEXT) },1262{ "glSampleMaskSGIS", _O(SampleMaskSGIS) },1263{ "glSamplePatternSGIS", _O(SamplePatternSGIS) },1264{ "glColorPointerEXT", _O(ColorPointerEXT) },1265{ "glEdgeFlagPointerEXT", _O(EdgeFlagPointerEXT) },1266{ "glIndexPointerEXT", _O(IndexPointerEXT) },1267{ "glNormalPointerEXT", _O(NormalPointerEXT) },1268{ "glTexCoordPointerEXT", _O(TexCoordPointerEXT) },1269{ "glVertexPointerEXT", _O(VertexPointerEXT) },1270{ "glPointParameterf", _O(PointParameterf) },1271{ "glPointParameterfv", _O(PointParameterfv) },1272{ "glLockArraysEXT", _O(LockArraysEXT) },1273{ "glUnlockArraysEXT", _O(UnlockArraysEXT) },1274{ "glSecondaryColor3b", _O(SecondaryColor3b) },1275{ "glSecondaryColor3bv", _O(SecondaryColor3bv) },1276{ "glSecondaryColor3d", _O(SecondaryColor3d) },1277{ "glSecondaryColor3dv", _O(SecondaryColor3dv) },1278{ "glSecondaryColor3fEXT", _O(SecondaryColor3fEXT) },1279{ "glSecondaryColor3fvEXT", _O(SecondaryColor3fvEXT) },1280{ "glSecondaryColor3i", _O(SecondaryColor3i) },1281{ "glSecondaryColor3iv", _O(SecondaryColor3iv) },1282{ "glSecondaryColor3s", _O(SecondaryColor3s) },1283{ "glSecondaryColor3sv", _O(SecondaryColor3sv) },1284{ "glSecondaryColor3ub", _O(SecondaryColor3ub) },1285{ "glSecondaryColor3ubv", _O(SecondaryColor3ubv) },1286{ "glSecondaryColor3ui", _O(SecondaryColor3ui) },1287{ "glSecondaryColor3uiv", _O(SecondaryColor3uiv) },1288{ "glSecondaryColor3us", _O(SecondaryColor3us) },1289{ "glSecondaryColor3usv", _O(SecondaryColor3usv) },1290{ "glSecondaryColorPointer", _O(SecondaryColorPointer) },1291{ "glMultiDrawArrays", _O(MultiDrawArrays) },1292{ "glMultiDrawElementsEXT", _O(MultiDrawElementsEXT) },1293{ "glFogCoordPointer", _O(FogCoordPointer) },1294{ "glFogCoordd", _O(FogCoordd) },1295{ "glFogCoorddv", _O(FogCoorddv) },1296{ "glFogCoordfEXT", _O(FogCoordfEXT) },1297{ "glFogCoordfvEXT", _O(FogCoordfvEXT) },1298{ "glBlendFuncSeparate", _O(BlendFuncSeparate) },1299{ "glResizeBuffersMESA", _O(ResizeBuffersMESA) },1300{ "glWindowPos2d", _O(WindowPos2d) },1301{ "glWindowPos2dv", _O(WindowPos2dv) },1302{ "glWindowPos2f", _O(WindowPos2f) },1303{ "glWindowPos2fv", _O(WindowPos2fv) },1304{ "glWindowPos2i", _O(WindowPos2i) },1305{ "glWindowPos2iv", _O(WindowPos2iv) },1306{ "glWindowPos2s", _O(WindowPos2s) },1307{ "glWindowPos2sv", _O(WindowPos2sv) },1308{ "glWindowPos3d", _O(WindowPos3d) },1309{ "glWindowPos3dv", _O(WindowPos3dv) },1310{ "glWindowPos3f", _O(WindowPos3f) },1311{ "glWindowPos3fv", _O(WindowPos3fv) },1312{ "glWindowPos3i", _O(WindowPos3i) },1313{ "glWindowPos3iv", _O(WindowPos3iv) },1314{ "glWindowPos3s", _O(WindowPos3s) },1315{ "glWindowPos3sv", _O(WindowPos3sv) },1316{ "glWindowPos4dMESA", _O(WindowPos4dMESA) },1317{ "glWindowPos4dvMESA", _O(WindowPos4dvMESA) },1318{ "glWindowPos4fMESA", _O(WindowPos4fMESA) },1319{ "glWindowPos4fvMESA", _O(WindowPos4fvMESA) },1320{ "glWindowPos4iMESA", _O(WindowPos4iMESA) },1321{ "glWindowPos4ivMESA", _O(WindowPos4ivMESA) },1322{ "glWindowPos4sMESA", _O(WindowPos4sMESA) },1323{ "glWindowPos4svMESA", _O(WindowPos4svMESA) },1324{ "glMultiModeDrawArraysIBM", _O(MultiModeDrawArraysIBM) },1325{ "glMultiModeDrawElementsIBM", _O(MultiModeDrawElementsIBM) },1326{ "glAreProgramsResidentNV", _O(AreProgramsResidentNV) },1327{ "glBindProgramARB", _O(BindProgramARB) },1328{ "glDeleteProgramsARB", _O(DeleteProgramsARB) },1329{ "glExecuteProgramNV", _O(ExecuteProgramNV) },1330{ "glGenProgramsARB", _O(GenProgramsARB) },1331{ "glGetProgramParameterdvNV", _O(GetProgramParameterdvNV) },1332{ "glGetProgramParameterfvNV", _O(GetProgramParameterfvNV) },1333{ "glGetProgramStringNV", _O(GetProgramStringNV) },1334{ "glGetProgramivNV", _O(GetProgramivNV) },1335{ "glGetTrackMatrixivNV", _O(GetTrackMatrixivNV) },1336{ "glGetVertexAttribPointerv", _O(GetVertexAttribPointerv) },1337{ "glGetVertexAttribdvNV", _O(GetVertexAttribdvNV) },1338{ "glGetVertexAttribfvNV", _O(GetVertexAttribfvNV) },1339{ "glGetVertexAttribivNV", _O(GetVertexAttribivNV) },1340{ "glIsProgram", _O(IsProgram) },1341{ "glLoadProgramNV", _O(LoadProgramNV) },1342{ "glProgramParameters4dvNV", _O(ProgramParameters4dvNV) },1343{ "glProgramParameters4fvNV", _O(ProgramParameters4fvNV) },1344{ "glRequestResidentProgramsNV", _O(RequestResidentProgramsNV) },1345{ "glTrackMatrixNV", _O(TrackMatrixNV) },1346{ "glVertexAttrib1dNV", _O(VertexAttrib1dNV) },1347{ "glVertexAttrib1dvNV", _O(VertexAttrib1dvNV) },1348{ "glVertexAttrib1fNV", _O(VertexAttrib1fNV) },1349{ "glVertexAttrib1fvNV", _O(VertexAttrib1fvNV) },1350{ "glVertexAttrib1sNV", _O(VertexAttrib1sNV) },1351{ "glVertexAttrib1svNV", _O(VertexAttrib1svNV) },1352{ "glVertexAttrib2dNV", _O(VertexAttrib2dNV) },1353{ "glVertexAttrib2dvNV", _O(VertexAttrib2dvNV) },1354{ "glVertexAttrib2fNV", _O(VertexAttrib2fNV) },1355{ "glVertexAttrib2fvNV", _O(VertexAttrib2fvNV) },1356{ "glVertexAttrib2sNV", _O(VertexAttrib2sNV) },1357{ "glVertexAttrib2svNV", _O(VertexAttrib2svNV) },1358{ "glVertexAttrib3dNV", _O(VertexAttrib3dNV) },1359{ "glVertexAttrib3dvNV", _O(VertexAttrib3dvNV) },1360{ "glVertexAttrib3fNV", _O(VertexAttrib3fNV) },1361{ "glVertexAttrib3fvNV", _O(VertexAttrib3fvNV) },1362{ "glVertexAttrib3sNV", _O(VertexAttrib3sNV) },1363{ "glVertexAttrib3svNV", _O(VertexAttrib3svNV) },1364{ "glVertexAttrib4dNV", _O(VertexAttrib4dNV) },1365{ "glVertexAttrib4dvNV", _O(VertexAttrib4dvNV) },1366{ "glVertexAttrib4fNV", _O(VertexAttrib4fNV) },1367{ "glVertexAttrib4fvNV", _O(VertexAttrib4fvNV) },1368{ "glVertexAttrib4sNV", _O(VertexAttrib4sNV) },1369{ "glVertexAttrib4svNV", _O(VertexAttrib4svNV) },1370{ "glVertexAttrib4ubNV", _O(VertexAttrib4ubNV) },1371{ "glVertexAttrib4ubvNV", _O(VertexAttrib4ubvNV) },1372{ "glVertexAttribPointerNV", _O(VertexAttribPointerNV) },1373{ "glVertexAttribs1dvNV", _O(VertexAttribs1dvNV) },1374{ "glVertexAttribs1fvNV", _O(VertexAttribs1fvNV) },1375{ "glVertexAttribs1svNV", _O(VertexAttribs1svNV) },1376{ "glVertexAttribs2dvNV", _O(VertexAttribs2dvNV) },1377{ "glVertexAttribs2fvNV", _O(VertexAttribs2fvNV) },1378{ "glVertexAttribs2svNV", _O(VertexAttribs2svNV) },1379{ "glVertexAttribs3dvNV", _O(VertexAttribs3dvNV) },1380{ "glVertexAttribs3fvNV", _O(VertexAttribs3fvNV) },1381{ "glVertexAttribs3svNV", _O(VertexAttribs3svNV) },1382{ "glVertexAttribs4dvNV", _O(VertexAttribs4dvNV) },1383{ "glVertexAttribs4fvNV", _O(VertexAttribs4fvNV) },1384{ "glVertexAttribs4svNV", _O(VertexAttribs4svNV) },1385{ "glVertexAttribs4ubvNV", _O(VertexAttribs4ubvNV) },1386{ "glAlphaFragmentOp1ATI", _O(AlphaFragmentOp1ATI) },1387{ "glAlphaFragmentOp2ATI", _O(AlphaFragmentOp2ATI) },1388{ "glAlphaFragmentOp3ATI", _O(AlphaFragmentOp3ATI) },1389{ "glBeginFragmentShaderATI", _O(BeginFragmentShaderATI) },1390{ "glBindFragmentShaderATI", _O(BindFragmentShaderATI) },1391{ "glColorFragmentOp1ATI", _O(ColorFragmentOp1ATI) },1392{ "glColorFragmentOp2ATI", _O(ColorFragmentOp2ATI) },1393{ "glColorFragmentOp3ATI", _O(ColorFragmentOp3ATI) },1394{ "glDeleteFragmentShaderATI", _O(DeleteFragmentShaderATI) },1395{ "glEndFragmentShaderATI", _O(EndFragmentShaderATI) },1396{ "glGenFragmentShadersATI", _O(GenFragmentShadersATI) },1397{ "glPassTexCoordATI", _O(PassTexCoordATI) },1398{ "glSampleMapATI", _O(SampleMapATI) },1399{ "glSetFragmentShaderConstantATI", _O(SetFragmentShaderConstantATI) },1400{ "glPointParameteri", _O(PointParameteri) },1401{ "glPointParameteriv", _O(PointParameteriv) },1402{ "glActiveStencilFaceEXT", _O(ActiveStencilFaceEXT) },1403{ "glDeleteVertexArrays", _O(DeleteVertexArrays) },1404{ "glIsVertexArray", _O(IsVertexArray) },1405{ "glGetProgramNamedParameterdvNV", _O(GetProgramNamedParameterdvNV) },1406{ "glGetProgramNamedParameterfvNV", _O(GetProgramNamedParameterfvNV) },1407{ "glProgramNamedParameter4dNV", _O(ProgramNamedParameter4dNV) },1408{ "glProgramNamedParameter4dvNV", _O(ProgramNamedParameter4dvNV) },1409{ "glProgramNamedParameter4fNV", _O(ProgramNamedParameter4fNV) },1410{ "glProgramNamedParameter4fvNV", _O(ProgramNamedParameter4fvNV) },1411{ "glPrimitiveRestartIndex", _O(PrimitiveRestartIndex) },1412{ "glPrimitiveRestartNV", _O(PrimitiveRestartNV) },1413{ "glDepthBoundsEXT", _O(DepthBoundsEXT) },1414{ "glBlendEquationSeparate", _O(BlendEquationSeparate) },1415{ "glBindFramebuffer", _O(BindFramebuffer) },1416{ "glBindRenderbuffer", _O(BindRenderbuffer) },1417{ "glCheckFramebufferStatus", _O(CheckFramebufferStatus) },1418{ "glDeleteFramebuffers", _O(DeleteFramebuffers) },1419{ "glDeleteRenderbuffers", _O(DeleteRenderbuffers) },1420{ "glFramebufferRenderbuffer", _O(FramebufferRenderbuffer) },1421{ "glFramebufferTexture1D", _O(FramebufferTexture1D) },1422{ "glFramebufferTexture2D", _O(FramebufferTexture2D) },1423{ "glFramebufferTexture3D", _O(FramebufferTexture3D) },1424{ "glGenFramebuffers", _O(GenFramebuffers) },1425{ "glGenRenderbuffers", _O(GenRenderbuffers) },1426{ "glGenerateMipmap", _O(GenerateMipmap) },1427{ "glGetFramebufferAttachmentParameteriv", _O(GetFramebufferAttachmentParameteriv) },1428{ "glGetRenderbufferParameteriv", _O(GetRenderbufferParameteriv) },1429{ "glIsFramebuffer", _O(IsFramebuffer) },1430{ "glIsRenderbuffer", _O(IsRenderbuffer) },1431{ "glRenderbufferStorage", _O(RenderbufferStorage) },1432{ "glBlitFramebuffer", _O(BlitFramebuffer) },1433{ "glBufferParameteriAPPLE", _O(BufferParameteriAPPLE) },1434{ "glFlushMappedBufferRangeAPPLE", _O(FlushMappedBufferRangeAPPLE) },1435{ "glBindFragDataLocation", _O(BindFragDataLocation) },1436{ "glGetFragDataLocation", _O(GetFragDataLocation) },1437{ "glGetUniformuiv", _O(GetUniformuiv) },1438{ "glGetVertexAttribIiv", _O(GetVertexAttribIiv) },1439{ "glGetVertexAttribIuiv", _O(GetVertexAttribIuiv) },1440{ "glUniform1ui", _O(Uniform1ui) },1441{ "glUniform1uiv", _O(Uniform1uiv) },1442{ "glUniform2ui", _O(Uniform2ui) },1443{ "glUniform2uiv", _O(Uniform2uiv) },1444{ "glUniform3ui", _O(Uniform3ui) },1445{ "glUniform3uiv", _O(Uniform3uiv) },1446{ "glUniform4ui", _O(Uniform4ui) },1447{ "glUniform4uiv", _O(Uniform4uiv) },1448{ "glVertexAttribI1iEXT", _O(VertexAttribI1iEXT) },1449{ "glVertexAttribI1iv", _O(VertexAttribI1iv) },1450{ "glVertexAttribI1uiEXT", _O(VertexAttribI1uiEXT) },1451{ "glVertexAttribI1uiv", _O(VertexAttribI1uiv) },1452{ "glVertexAttribI2iEXT", _O(VertexAttribI2iEXT) },1453{ "glVertexAttribI2ivEXT", _O(VertexAttribI2ivEXT) },1454{ "glVertexAttribI2uiEXT", _O(VertexAttribI2uiEXT) },1455{ "glVertexAttribI2uivEXT", _O(VertexAttribI2uivEXT) },1456{ "glVertexAttribI3iEXT", _O(VertexAttribI3iEXT) },1457{ "glVertexAttribI3ivEXT", _O(VertexAttribI3ivEXT) },1458{ "glVertexAttribI3uiEXT", _O(VertexAttribI3uiEXT) },1459{ "glVertexAttribI3uivEXT", _O(VertexAttribI3uivEXT) },1460{ "glVertexAttribI4bv", _O(VertexAttribI4bv) },1461{ "glVertexAttribI4iEXT", _O(VertexAttribI4iEXT) },1462{ "glVertexAttribI4ivEXT", _O(VertexAttribI4ivEXT) },1463{ "glVertexAttribI4sv", _O(VertexAttribI4sv) },1464{ "glVertexAttribI4ubv", _O(VertexAttribI4ubv) },1465{ "glVertexAttribI4uiEXT", _O(VertexAttribI4uiEXT) },1466{ "glVertexAttribI4uivEXT", _O(VertexAttribI4uivEXT) },1467{ "glVertexAttribI4usv", _O(VertexAttribI4usv) },1468{ "glVertexAttribIPointer", _O(VertexAttribIPointer) },1469{ "glFramebufferTextureLayer", _O(FramebufferTextureLayer) },1470{ "glColorMaski", _O(ColorMaski) },1471{ "glDisablei", _O(Disablei) },1472{ "glEnablei", _O(Enablei) },1473{ "glGetBooleani_v", _O(GetBooleani_v) },1474{ "glGetIntegeri_v", _O(GetIntegeri_v) },1475{ "glIsEnabledi", _O(IsEnabledi) },1476{ "glClearColorIiEXT", _O(ClearColorIiEXT) },1477{ "glClearColorIuiEXT", _O(ClearColorIuiEXT) },1478{ "glGetTexParameterIiv", _O(GetTexParameterIiv) },1479{ "glGetTexParameterIuiv", _O(GetTexParameterIuiv) },1480{ "glTexParameterIiv", _O(TexParameterIiv) },1481{ "glTexParameterIuiv", _O(TexParameterIuiv) },1482{ "glBeginConditionalRender", _O(BeginConditionalRender) },1483{ "glEndConditionalRender", _O(EndConditionalRender) },1484{ "glBeginTransformFeedback", _O(BeginTransformFeedback) },1485{ "glBindBufferBase", _O(BindBufferBase) },1486{ "glBindBufferOffsetEXT", _O(BindBufferOffsetEXT) },1487{ "glBindBufferRange", _O(BindBufferRange) },1488{ "glEndTransformFeedback", _O(EndTransformFeedback) },1489{ "glGetTransformFeedbackVarying", _O(GetTransformFeedbackVarying) },1490{ "glTransformFeedbackVaryings", _O(TransformFeedbackVaryings) },1491{ "glProvokingVertex", _O(ProvokingVertex) },1492{ "glGetObjectParameterivAPPLE", _O(GetObjectParameterivAPPLE) },1493{ "glObjectPurgeableAPPLE", _O(ObjectPurgeableAPPLE) },1494{ "glObjectUnpurgeableAPPLE", _O(ObjectUnpurgeableAPPLE) },1495{ "glActiveProgramEXT", _O(ActiveProgramEXT) },1496{ "glCreateShaderProgramEXT", _O(CreateShaderProgramEXT) },1497{ "glUseShaderProgramEXT", _O(UseShaderProgramEXT) },1498{ "glTextureBarrierNV", _O(TextureBarrierNV) },1499{ "glStencilFuncSeparateATI", _O(StencilFuncSeparateATI) },1500{ "glProgramEnvParameters4fvEXT", _O(ProgramEnvParameters4fvEXT) },1501{ "glProgramLocalParameters4fvEXT", _O(ProgramLocalParameters4fvEXT) },1502{ "glGetQueryObjecti64v", _O(GetQueryObjecti64v) },1503{ "glGetQueryObjectui64v", _O(GetQueryObjectui64v) },1504{ "glEGLImageTargetRenderbufferStorageOES", _O(EGLImageTargetRenderbufferStorageOES) },1505{ "glEGLImageTargetTexture2DOES", _O(EGLImageTargetTexture2DOES) },1506{ NULL, 0 }1507};15081509#ifdef GLX_INDIRECT_RENDERING1510extern "C" {1511GLAPI GLboolean GLAPIENTRY1512glAreTexturesResidentEXT(GLsizei n, const GLuint *textures,1513GLboolean *residences)1514{1515(void) n;1516(void) textures;1517(void) residences;1518return GL_FALSE;1519}15201521GLAPI void GLAPIENTRY1522glDeleteTexturesEXT(GLsizei n, const GLuint *textures)1523{1524(void) n;1525(void) textures;1526}15271528GLAPI void GLAPIENTRY1529glGenTexturesEXT(GLsizei n, GLuint *textures)1530{1531(void) n;1532(void) textures;1533}15341535GLAPI GLboolean GLAPIENTRY1536glIsTextureEXT(GLuint texture)1537{1538(void) texture;1539return GL_FALSE;1540}15411542GLAPI void GLAPIENTRY1543glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid *table)1544{1545(void) target;1546(void) format;1547(void) type;1548(void) table;1549}15501551GLAPI void GLAPIENTRY1552glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat *params)1553{1554(void) target;1555(void) pname;1556(void) params;1557}15581559GLAPI void GLAPIENTRY1560glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint *params)1561{1562(void) target;1563(void) pname;1564(void) params;1565}15661567void GLAPIENTRY1568gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type, GLvoid * image)1569{1570(void) target;1571(void) format;1572(void) type;1573(void) image;1574}15751576void GLAPIENTRY1577gl_dispatch_stub_357(GLenum target, GLenum pname, GLfloat * params)1578{1579(void) target;1580(void) pname;1581(void) params;1582}15831584void GLAPIENTRY1585gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params)1586{1587(void) target;1588(void) pname;1589(void) params;1590}15911592void GLAPIENTRY1593gl_dispatch_stub_359(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span)1594{1595(void) target;1596(void) format;1597(void) type;1598(void) row;1599(void) column;1600(void) span;1601}16021603void GLAPIENTRY1604gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)1605{1606(void) target;1607(void) reset;1608(void) format;1609(void) type;1610(void) values;1611}16121613void GLAPIENTRY1614gl_dispatch_stub_362(GLenum target, GLenum pname, GLfloat * params)1615{1616(void) target;1617(void) pname;1618(void) params;1619}16201621void GLAPIENTRY1622gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params)1623{1624(void) target;1625(void) pname;1626(void) params;1627}16281629void GLAPIENTRY1630gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values)1631{1632(void) target;1633(void) reset;1634(void) format;1635(void) type;1636(void) values;1637}16381639void GLAPIENTRY1640gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params)1641{1642(void) target;1643(void) pname;1644(void) params;1645}16461647void GLAPIENTRY1648gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params)1649{1650(void) target;1651(void) pname;1652(void) params;1653}16541655}1656#endif165716581659