1af69d88dSmrg/* 2af69d88dSmrg * Copyright © 2012 Intel Corporation 3af69d88dSmrg * 4af69d88dSmrg * Permission is hereby granted, free of charge, to any person obtaining a 5af69d88dSmrg * copy of this software and associated documentation files (the "Software"), 6af69d88dSmrg * to deal in the Software without restriction, including without limitation 7af69d88dSmrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8af69d88dSmrg * and/or sell copies of the Software, and to permit persons to whom the 9af69d88dSmrg * Software is furnished to do so, subject to the following conditions: 10af69d88dSmrg * 11af69d88dSmrg * The above copyright notice and this permission notice (including the next 12af69d88dSmrg * paragraph) shall be included in all copies or substantial portions of the 13af69d88dSmrg * Software. 14af69d88dSmrg * 15af69d88dSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16af69d88dSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17af69d88dSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18af69d88dSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19af69d88dSmrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20af69d88dSmrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 21af69d88dSmrg * DEALINGS IN THE SOFTWARE. 22af69d88dSmrg */ 23af69d88dSmrg 24af69d88dSmrg#include <gtest/gtest.h> 25af69d88dSmrg#include "../../../mesa/main/glheader.h" 26af69d88dSmrg 27af69d88dSmrg#include "glapi/glapi.h" 2801e04c3fSmrg#include "glapitable.h" 29af69d88dSmrg 30af69d88dSmrgstruct name_offset { 31af69d88dSmrg const char *name; 32af69d88dSmrg int offset; 33af69d88dSmrg}; 34af69d88dSmrg 35af69d88dSmrgextern const struct name_offset linux_gl_abi[]; 36af69d88dSmrg 37af69d88dSmrgTEST(GetProcAddress, ABIOffsetByName) 38af69d88dSmrg{ 39af69d88dSmrg /* 408 functions have had their locations in the dispatch table set since 40af69d88dSmrg * the dawn of time. Verify that all of these functions are at the correct 41af69d88dSmrg * locations. 42af69d88dSmrg */ 43af69d88dSmrg for (unsigned i = 0; linux_gl_abi[i].name != NULL; i++) { 44af69d88dSmrg EXPECT_EQ(linux_gl_abi[i].offset, 45af69d88dSmrg _glapi_get_proc_offset(linux_gl_abi[i].name)) 46af69d88dSmrg << "function name: " << linux_gl_abi[i].name; 47af69d88dSmrg } 48af69d88dSmrg} 49af69d88dSmrg 50af69d88dSmrgTEST(GetProcAddress, TableBigEnoughForABI) 51af69d88dSmrg{ 52af69d88dSmrg /* FINISHME: This should check that the dispatch table is large enough to 53af69d88dSmrg * FINISHME: hold all of the unique functions for OpenGL 1.2, OpenGL ES 54af69d88dSmrg * FINISHME: 1.1, and OpenGL ES 2.0. 55af69d88dSmrg */ 56af69d88dSmrg EXPECT_LT(408u, _glapi_get_dispatch_table_size()); 57af69d88dSmrg} 58af69d88dSmrg 59af69d88dSmrgconst struct name_offset linux_gl_abi[] = { 60af69d88dSmrg { "glNewList", 0 }, 61af69d88dSmrg { "glEndList", 1 }, 62af69d88dSmrg { "glCallList", 2 }, 63af69d88dSmrg { "glCallLists", 3 }, 64af69d88dSmrg { "glDeleteLists", 4 }, 65af69d88dSmrg { "glGenLists", 5 }, 66af69d88dSmrg { "glListBase", 6 }, 67af69d88dSmrg { "glBegin", 7 }, 68af69d88dSmrg { "glBitmap", 8 }, 69af69d88dSmrg { "glColor3b", 9 }, 70af69d88dSmrg { "glColor3bv", 10 }, 71af69d88dSmrg { "glColor3d", 11 }, 72af69d88dSmrg { "glColor3dv", 12 }, 73af69d88dSmrg { "glColor3f", 13 }, 74af69d88dSmrg { "glColor3fv", 14 }, 75af69d88dSmrg { "glColor3i", 15 }, 76af69d88dSmrg { "glColor3iv", 16 }, 77af69d88dSmrg { "glColor3s", 17 }, 78af69d88dSmrg { "glColor3sv", 18 }, 79af69d88dSmrg { "glColor3ub", 19 }, 80af69d88dSmrg { "glColor3ubv", 20 }, 81af69d88dSmrg { "glColor3ui", 21 }, 82af69d88dSmrg { "glColor3uiv", 22 }, 83af69d88dSmrg { "glColor3us", 23 }, 84af69d88dSmrg { "glColor3usv", 24 }, 85af69d88dSmrg { "glColor4b", 25 }, 86af69d88dSmrg { "glColor4bv", 26 }, 87af69d88dSmrg { "glColor4d", 27 }, 88af69d88dSmrg { "glColor4dv", 28 }, 89af69d88dSmrg { "glColor4f", 29 }, 90af69d88dSmrg { "glColor4fv", 30 }, 91af69d88dSmrg { "glColor4i", 31 }, 92af69d88dSmrg { "glColor4iv", 32 }, 93af69d88dSmrg { "glColor4s", 33 }, 94af69d88dSmrg { "glColor4sv", 34 }, 95af69d88dSmrg { "glColor4ub", 35 }, 96af69d88dSmrg { "glColor4ubv", 36 }, 97af69d88dSmrg { "glColor4ui", 37 }, 98af69d88dSmrg { "glColor4uiv", 38 }, 99af69d88dSmrg { "glColor4us", 39 }, 100af69d88dSmrg { "glColor4usv", 40 }, 101af69d88dSmrg { "glEdgeFlag", 41 }, 102af69d88dSmrg { "glEdgeFlagv", 42 }, 103af69d88dSmrg { "glEnd", 43 }, 104af69d88dSmrg { "glIndexd", 44 }, 105af69d88dSmrg { "glIndexdv", 45 }, 106af69d88dSmrg { "glIndexf", 46 }, 107af69d88dSmrg { "glIndexfv", 47 }, 108af69d88dSmrg { "glIndexi", 48 }, 109af69d88dSmrg { "glIndexiv", 49 }, 110af69d88dSmrg { "glIndexs", 50 }, 111af69d88dSmrg { "glIndexsv", 51 }, 112af69d88dSmrg { "glNormal3b", 52 }, 113af69d88dSmrg { "glNormal3bv", 53 }, 114af69d88dSmrg { "glNormal3d", 54 }, 115af69d88dSmrg { "glNormal3dv", 55 }, 116af69d88dSmrg { "glNormal3f", 56 }, 117af69d88dSmrg { "glNormal3fv", 57 }, 118af69d88dSmrg { "glNormal3i", 58 }, 119af69d88dSmrg { "glNormal3iv", 59 }, 120af69d88dSmrg { "glNormal3s", 60 }, 121af69d88dSmrg { "glNormal3sv", 61 }, 122af69d88dSmrg { "glRasterPos2d", 62 }, 123af69d88dSmrg { "glRasterPos2dv", 63 }, 124af69d88dSmrg { "glRasterPos2f", 64 }, 125af69d88dSmrg { "glRasterPos2fv", 65 }, 126af69d88dSmrg { "glRasterPos2i", 66 }, 127af69d88dSmrg { "glRasterPos2iv", 67 }, 128af69d88dSmrg { "glRasterPos2s", 68 }, 129af69d88dSmrg { "glRasterPos2sv", 69 }, 130af69d88dSmrg { "glRasterPos3d", 70 }, 131af69d88dSmrg { "glRasterPos3dv", 71 }, 132af69d88dSmrg { "glRasterPos3f", 72 }, 133af69d88dSmrg { "glRasterPos3fv", 73 }, 134af69d88dSmrg { "glRasterPos3i", 74 }, 135af69d88dSmrg { "glRasterPos3iv", 75 }, 136af69d88dSmrg { "glRasterPos3s", 76 }, 137af69d88dSmrg { "glRasterPos3sv", 77 }, 138af69d88dSmrg { "glRasterPos4d", 78 }, 139af69d88dSmrg { "glRasterPos4dv", 79 }, 140af69d88dSmrg { "glRasterPos4f", 80 }, 141af69d88dSmrg { "glRasterPos4fv", 81 }, 142af69d88dSmrg { "glRasterPos4i", 82 }, 143af69d88dSmrg { "glRasterPos4iv", 83 }, 144af69d88dSmrg { "glRasterPos4s", 84 }, 145af69d88dSmrg { "glRasterPos4sv", 85 }, 146af69d88dSmrg { "glRectd", 86 }, 147af69d88dSmrg { "glRectdv", 87 }, 148af69d88dSmrg { "glRectf", 88 }, 149af69d88dSmrg { "glRectfv", 89 }, 150af69d88dSmrg { "glRecti", 90 }, 151af69d88dSmrg { "glRectiv", 91 }, 152af69d88dSmrg { "glRects", 92 }, 153af69d88dSmrg { "glRectsv", 93 }, 154af69d88dSmrg { "glTexCoord1d", 94 }, 155af69d88dSmrg { "glTexCoord1dv", 95 }, 156af69d88dSmrg { "glTexCoord1f", 96 }, 157af69d88dSmrg { "glTexCoord1fv", 97 }, 158af69d88dSmrg { "glTexCoord1i", 98 }, 159af69d88dSmrg { "glTexCoord1iv", 99 }, 160af69d88dSmrg { "glTexCoord1s", 100 }, 161af69d88dSmrg { "glTexCoord1sv", 101 }, 162af69d88dSmrg { "glTexCoord2d", 102 }, 163af69d88dSmrg { "glTexCoord2dv", 103 }, 164af69d88dSmrg { "glTexCoord2f", 104 }, 165af69d88dSmrg { "glTexCoord2fv", 105 }, 166af69d88dSmrg { "glTexCoord2i", 106 }, 167af69d88dSmrg { "glTexCoord2iv", 107 }, 168af69d88dSmrg { "glTexCoord2s", 108 }, 169af69d88dSmrg { "glTexCoord2sv", 109 }, 170af69d88dSmrg { "glTexCoord3d", 110 }, 171af69d88dSmrg { "glTexCoord3dv", 111 }, 172af69d88dSmrg { "glTexCoord3f", 112 }, 173af69d88dSmrg { "glTexCoord3fv", 113 }, 174af69d88dSmrg { "glTexCoord3i", 114 }, 175af69d88dSmrg { "glTexCoord3iv", 115 }, 176af69d88dSmrg { "glTexCoord3s", 116 }, 177af69d88dSmrg { "glTexCoord3sv", 117 }, 178af69d88dSmrg { "glTexCoord4d", 118 }, 179af69d88dSmrg { "glTexCoord4dv", 119 }, 180af69d88dSmrg { "glTexCoord4f", 120 }, 181af69d88dSmrg { "glTexCoord4fv", 121 }, 182af69d88dSmrg { "glTexCoord4i", 122 }, 183af69d88dSmrg { "glTexCoord4iv", 123 }, 184af69d88dSmrg { "glTexCoord4s", 124 }, 185af69d88dSmrg { "glTexCoord4sv", 125 }, 186af69d88dSmrg { "glVertex2d", 126 }, 187af69d88dSmrg { "glVertex2dv", 127 }, 188af69d88dSmrg { "glVertex2f", 128 }, 189af69d88dSmrg { "glVertex2fv", 129 }, 190af69d88dSmrg { "glVertex2i", 130 }, 191af69d88dSmrg { "glVertex2iv", 131 }, 192af69d88dSmrg { "glVertex2s", 132 }, 193af69d88dSmrg { "glVertex2sv", 133 }, 194af69d88dSmrg { "glVertex3d", 134 }, 195af69d88dSmrg { "glVertex3dv", 135 }, 196af69d88dSmrg { "glVertex3f", 136 }, 197af69d88dSmrg { "glVertex3fv", 137 }, 198af69d88dSmrg { "glVertex3i", 138 }, 199af69d88dSmrg { "glVertex3iv", 139 }, 200af69d88dSmrg { "glVertex3s", 140 }, 201af69d88dSmrg { "glVertex3sv", 141 }, 202af69d88dSmrg { "glVertex4d", 142 }, 203af69d88dSmrg { "glVertex4dv", 143 }, 204af69d88dSmrg { "glVertex4f", 144 }, 205af69d88dSmrg { "glVertex4fv", 145 }, 206af69d88dSmrg { "glVertex4i", 146 }, 207af69d88dSmrg { "glVertex4iv", 147 }, 208af69d88dSmrg { "glVertex4s", 148 }, 209af69d88dSmrg { "glVertex4sv", 149 }, 210af69d88dSmrg { "glClipPlane", 150 }, 211af69d88dSmrg { "glColorMaterial", 151 }, 212af69d88dSmrg { "glCullFace", 152 }, 213af69d88dSmrg { "glFogf", 153 }, 214af69d88dSmrg { "glFogfv", 154 }, 215af69d88dSmrg { "glFogi", 155 }, 216af69d88dSmrg { "glFogiv", 156 }, 217af69d88dSmrg { "glFrontFace", 157 }, 218af69d88dSmrg { "glHint", 158 }, 219af69d88dSmrg { "glLightf", 159 }, 220af69d88dSmrg { "glLightfv", 160 }, 221af69d88dSmrg { "glLighti", 161 }, 222af69d88dSmrg { "glLightiv", 162 }, 223af69d88dSmrg { "glLightModelf", 163 }, 224af69d88dSmrg { "glLightModelfv", 164 }, 225af69d88dSmrg { "glLightModeli", 165 }, 226af69d88dSmrg { "glLightModeliv", 166 }, 227af69d88dSmrg { "glLineStipple", 167 }, 228af69d88dSmrg { "glLineWidth", 168 }, 229af69d88dSmrg { "glMaterialf", 169 }, 230af69d88dSmrg { "glMaterialfv", 170 }, 231af69d88dSmrg { "glMateriali", 171 }, 232af69d88dSmrg { "glMaterialiv", 172 }, 233af69d88dSmrg { "glPointSize", 173 }, 234af69d88dSmrg { "glPolygonMode", 174 }, 235af69d88dSmrg { "glPolygonStipple", 175 }, 236af69d88dSmrg { "glScissor", 176 }, 237af69d88dSmrg { "glShadeModel", 177 }, 238af69d88dSmrg { "glTexParameterf", 178 }, 239af69d88dSmrg { "glTexParameterfv", 179 }, 240af69d88dSmrg { "glTexParameteri", 180 }, 241af69d88dSmrg { "glTexParameteriv", 181 }, 242af69d88dSmrg { "glTexImage1D", 182 }, 243af69d88dSmrg { "glTexImage2D", 183 }, 244af69d88dSmrg { "glTexEnvf", 184 }, 245af69d88dSmrg { "glTexEnvfv", 185 }, 246af69d88dSmrg { "glTexEnvi", 186 }, 247af69d88dSmrg { "glTexEnviv", 187 }, 248af69d88dSmrg { "glTexGend", 188 }, 249af69d88dSmrg { "glTexGendv", 189 }, 250af69d88dSmrg { "glTexGenf", 190 }, 251af69d88dSmrg { "glTexGenfv", 191 }, 252af69d88dSmrg { "glTexGeni", 192 }, 253af69d88dSmrg { "glTexGeniv", 193 }, 254af69d88dSmrg { "glFeedbackBuffer", 194 }, 255af69d88dSmrg { "glSelectBuffer", 195 }, 256af69d88dSmrg { "glRenderMode", 196 }, 257af69d88dSmrg { "glInitNames", 197 }, 258af69d88dSmrg { "glLoadName", 198 }, 259af69d88dSmrg { "glPassThrough", 199 }, 260af69d88dSmrg { "glPopName", 200 }, 261af69d88dSmrg { "glPushName", 201 }, 262af69d88dSmrg { "glDrawBuffer", 202 }, 263af69d88dSmrg { "glClear", 203 }, 264af69d88dSmrg { "glClearAccum", 204 }, 265af69d88dSmrg { "glClearIndex", 205 }, 266af69d88dSmrg { "glClearColor", 206 }, 267af69d88dSmrg { "glClearStencil", 207 }, 268af69d88dSmrg { "glClearDepth", 208 }, 269af69d88dSmrg { "glStencilMask", 209 }, 270af69d88dSmrg { "glColorMask", 210 }, 271af69d88dSmrg { "glDepthMask", 211 }, 272af69d88dSmrg { "glIndexMask", 212 }, 273af69d88dSmrg { "glAccum", 213 }, 274af69d88dSmrg { "glDisable", 214 }, 275af69d88dSmrg { "glEnable", 215 }, 276af69d88dSmrg { "glFinish", 216 }, 277af69d88dSmrg { "glFlush", 217 }, 278af69d88dSmrg { "glPopAttrib", 218 }, 279af69d88dSmrg { "glPushAttrib", 219 }, 280af69d88dSmrg { "glMap1d", 220 }, 281af69d88dSmrg { "glMap1f", 221 }, 282af69d88dSmrg { "glMap2d", 222 }, 283af69d88dSmrg { "glMap2f", 223 }, 284af69d88dSmrg { "glMapGrid1d", 224 }, 285af69d88dSmrg { "glMapGrid1f", 225 }, 286af69d88dSmrg { "glMapGrid2d", 226 }, 287af69d88dSmrg { "glMapGrid2f", 227 }, 288af69d88dSmrg { "glEvalCoord1d", 228 }, 289af69d88dSmrg { "glEvalCoord1dv", 229 }, 290af69d88dSmrg { "glEvalCoord1f", 230 }, 291af69d88dSmrg { "glEvalCoord1fv", 231 }, 292af69d88dSmrg { "glEvalCoord2d", 232 }, 293af69d88dSmrg { "glEvalCoord2dv", 233 }, 294af69d88dSmrg { "glEvalCoord2f", 234 }, 295af69d88dSmrg { "glEvalCoord2fv", 235 }, 296af69d88dSmrg { "glEvalMesh1", 236 }, 297af69d88dSmrg { "glEvalPoint1", 237 }, 298af69d88dSmrg { "glEvalMesh2", 238 }, 299af69d88dSmrg { "glEvalPoint2", 239 }, 300af69d88dSmrg { "glAlphaFunc", 240 }, 301af69d88dSmrg { "glBlendFunc", 241 }, 302af69d88dSmrg { "glLogicOp", 242 }, 303af69d88dSmrg { "glStencilFunc", 243 }, 304af69d88dSmrg { "glStencilOp", 244 }, 305af69d88dSmrg { "glDepthFunc", 245 }, 306af69d88dSmrg { "glPixelZoom", 246 }, 307af69d88dSmrg { "glPixelTransferf", 247 }, 308af69d88dSmrg { "glPixelTransferi", 248 }, 309af69d88dSmrg { "glPixelStoref", 249 }, 310af69d88dSmrg { "glPixelStorei", 250 }, 311af69d88dSmrg { "glPixelMapfv", 251 }, 312af69d88dSmrg { "glPixelMapuiv", 252 }, 313af69d88dSmrg { "glPixelMapusv", 253 }, 314af69d88dSmrg { "glReadBuffer", 254 }, 315af69d88dSmrg { "glCopyPixels", 255 }, 316af69d88dSmrg { "glReadPixels", 256 }, 317af69d88dSmrg { "glDrawPixels", 257 }, 318af69d88dSmrg { "glGetBooleanv", 258 }, 319af69d88dSmrg { "glGetClipPlane", 259 }, 320af69d88dSmrg { "glGetDoublev", 260 }, 321af69d88dSmrg { "glGetError", 261 }, 322af69d88dSmrg { "glGetFloatv", 262 }, 323af69d88dSmrg { "glGetIntegerv", 263 }, 324af69d88dSmrg { "glGetLightfv", 264 }, 325af69d88dSmrg { "glGetLightiv", 265 }, 326af69d88dSmrg { "glGetMapdv", 266 }, 327af69d88dSmrg { "glGetMapfv", 267 }, 328af69d88dSmrg { "glGetMapiv", 268 }, 329af69d88dSmrg { "glGetMaterialfv", 269 }, 330af69d88dSmrg { "glGetMaterialiv", 270 }, 331af69d88dSmrg { "glGetPixelMapfv", 271 }, 332af69d88dSmrg { "glGetPixelMapuiv", 272 }, 333af69d88dSmrg { "glGetPixelMapusv", 273 }, 334af69d88dSmrg { "glGetPolygonStipple", 274 }, 335af69d88dSmrg { "glGetString", 275 }, 336af69d88dSmrg { "glGetTexEnvfv", 276 }, 337af69d88dSmrg { "glGetTexEnviv", 277 }, 338af69d88dSmrg { "glGetTexGendv", 278 }, 339af69d88dSmrg { "glGetTexGenfv", 279 }, 340af69d88dSmrg { "glGetTexGeniv", 280 }, 341af69d88dSmrg { "glGetTexImage", 281 }, 342af69d88dSmrg { "glGetTexParameterfv", 282 }, 343af69d88dSmrg { "glGetTexParameteriv", 283 }, 344af69d88dSmrg { "glGetTexLevelParameterfv", 284 }, 345af69d88dSmrg { "glGetTexLevelParameteriv", 285 }, 346af69d88dSmrg { "glIsEnabled", 286 }, 347af69d88dSmrg { "glIsList", 287 }, 348af69d88dSmrg { "glDepthRange", 288 }, 349af69d88dSmrg { "glFrustum", 289 }, 350af69d88dSmrg { "glLoadIdentity", 290 }, 351af69d88dSmrg { "glLoadMatrixf", 291 }, 352af69d88dSmrg { "glLoadMatrixd", 292 }, 353af69d88dSmrg { "glMatrixMode", 293 }, 354af69d88dSmrg { "glMultMatrixf", 294 }, 355af69d88dSmrg { "glMultMatrixd", 295 }, 356af69d88dSmrg { "glOrtho", 296 }, 357af69d88dSmrg { "glPopMatrix", 297 }, 358af69d88dSmrg { "glPushMatrix", 298 }, 359af69d88dSmrg { "glRotated", 299 }, 360af69d88dSmrg { "glRotatef", 300 }, 361af69d88dSmrg { "glScaled", 301 }, 362af69d88dSmrg { "glScalef", 302 }, 363af69d88dSmrg { "glTranslated", 303 }, 364af69d88dSmrg { "glTranslatef", 304 }, 365af69d88dSmrg { "glViewport", 305 }, 366af69d88dSmrg { "glArrayElement", 306 }, 367af69d88dSmrg { "glColorPointer", 308 }, 368af69d88dSmrg { "glDisableClientState", 309 }, 369af69d88dSmrg { "glDrawArrays", 310 }, 370af69d88dSmrg { "glDrawElements", 311 }, 371af69d88dSmrg { "glEdgeFlagPointer", 312 }, 372af69d88dSmrg { "glEnableClientState", 313 }, 373af69d88dSmrg { "glGetPointerv", 329 }, 374af69d88dSmrg { "glIndexPointer", 314 }, 375af69d88dSmrg { "glInterleavedArrays", 317 }, 376af69d88dSmrg { "glNormalPointer", 318 }, 377af69d88dSmrg { "glTexCoordPointer", 320 }, 378af69d88dSmrg { "glVertexPointer", 321 }, 379af69d88dSmrg { "glPolygonOffset", 319 }, 380af69d88dSmrg { "glCopyTexImage1D", 323 }, 381af69d88dSmrg { "glCopyTexImage2D", 324 }, 382af69d88dSmrg { "glCopyTexSubImage1D", 325 }, 383af69d88dSmrg { "glCopyTexSubImage2D", 326 }, 384af69d88dSmrg { "glTexSubImage1D", 332 }, 385af69d88dSmrg { "glTexSubImage2D", 333 }, 386af69d88dSmrg { "glAreTexturesResident", 322 }, 387af69d88dSmrg { "glBindTexture", 307 }, 388af69d88dSmrg { "glDeleteTextures", 327 }, 389af69d88dSmrg { "glGenTextures", 328 }, 390af69d88dSmrg { "glIsTexture", 330 }, 391af69d88dSmrg { "glPrioritizeTextures", 331 }, 392af69d88dSmrg { "glIndexub", 315 }, 393af69d88dSmrg { "glIndexubv", 316 }, 394af69d88dSmrg { "glPopClientAttrib", 334 }, 395af69d88dSmrg { "glPushClientAttrib", 335 }, 396af69d88dSmrg { "glBlendColor", 336 }, 397af69d88dSmrg { "glBlendEquation", 337 }, 398af69d88dSmrg { "glDrawRangeElements", 338 }, 399af69d88dSmrg { "glColorTable", 339 }, 400af69d88dSmrg { "glColorTableParameterfv", 340 }, 401af69d88dSmrg { "glColorTableParameteriv", 341 }, 402af69d88dSmrg { "glCopyColorTable", 342 }, 403af69d88dSmrg { "glGetColorTable", 343 }, 404af69d88dSmrg { "glGetColorTableParameterfv", 344 }, 405af69d88dSmrg { "glGetColorTableParameteriv", 345 }, 406af69d88dSmrg { "glColorSubTable", 346 }, 407af69d88dSmrg { "glCopyColorSubTable", 347 }, 408af69d88dSmrg { "glConvolutionFilter1D", 348 }, 409af69d88dSmrg { "glConvolutionFilter2D", 349 }, 410af69d88dSmrg { "glConvolutionParameterf", 350 }, 411af69d88dSmrg { "glConvolutionParameterfv", 351 }, 412af69d88dSmrg { "glConvolutionParameteri", 352 }, 413af69d88dSmrg { "glConvolutionParameteriv", 353 }, 414af69d88dSmrg { "glCopyConvolutionFilter1D", 354 }, 415af69d88dSmrg { "glCopyConvolutionFilter2D", 355 }, 416af69d88dSmrg { "glGetConvolutionFilter", 356 }, 417af69d88dSmrg { "glGetConvolutionParameterfv", 357 }, 418af69d88dSmrg { "glGetConvolutionParameteriv", 358 }, 419af69d88dSmrg { "glGetSeparableFilter", 359 }, 420af69d88dSmrg { "glSeparableFilter2D", 360 }, 421af69d88dSmrg { "glGetHistogram", 361 }, 422af69d88dSmrg { "glGetHistogramParameterfv", 362 }, 423af69d88dSmrg { "glGetHistogramParameteriv", 363 }, 424af69d88dSmrg { "glGetMinmax", 364 }, 425af69d88dSmrg { "glGetMinmaxParameterfv", 365 }, 426af69d88dSmrg { "glGetMinmaxParameteriv", 366 }, 427af69d88dSmrg { "glHistogram", 367 }, 428af69d88dSmrg { "glMinmax", 368 }, 429af69d88dSmrg { "glResetHistogram", 369 }, 430af69d88dSmrg { "glResetMinmax", 370 }, 431af69d88dSmrg { "glTexImage3D", 371 }, 432af69d88dSmrg { "glTexSubImage3D", 372 }, 433af69d88dSmrg { "glCopyTexSubImage3D", 373 }, 434af69d88dSmrg { "glActiveTextureARB", 374 }, 435af69d88dSmrg { "glClientActiveTextureARB", 375 }, 436af69d88dSmrg { "glMultiTexCoord1dARB", 376 }, 437af69d88dSmrg { "glMultiTexCoord1dvARB", 377 }, 438af69d88dSmrg { "glMultiTexCoord1fARB", 378 }, 439af69d88dSmrg { "glMultiTexCoord1fvARB", 379 }, 440af69d88dSmrg { "glMultiTexCoord1iARB", 380 }, 441af69d88dSmrg { "glMultiTexCoord1ivARB", 381 }, 442af69d88dSmrg { "glMultiTexCoord1sARB", 382 }, 443af69d88dSmrg { "glMultiTexCoord1svARB", 383 }, 444af69d88dSmrg { "glMultiTexCoord2dARB", 384 }, 445af69d88dSmrg { "glMultiTexCoord2dvARB", 385 }, 446af69d88dSmrg { "glMultiTexCoord2fARB", 386 }, 447af69d88dSmrg { "glMultiTexCoord2fvARB", 387 }, 448af69d88dSmrg { "glMultiTexCoord2iARB", 388 }, 449af69d88dSmrg { "glMultiTexCoord2ivARB", 389 }, 450af69d88dSmrg { "glMultiTexCoord2sARB", 390 }, 451af69d88dSmrg { "glMultiTexCoord2svARB", 391 }, 452af69d88dSmrg { "glMultiTexCoord3dARB", 392 }, 453af69d88dSmrg { "glMultiTexCoord3dvARB", 393 }, 454af69d88dSmrg { "glMultiTexCoord3fARB", 394 }, 455af69d88dSmrg { "glMultiTexCoord3fvARB", 395 }, 456af69d88dSmrg { "glMultiTexCoord3iARB", 396 }, 457af69d88dSmrg { "glMultiTexCoord3ivARB", 397 }, 458af69d88dSmrg { "glMultiTexCoord3sARB", 398 }, 459af69d88dSmrg { "glMultiTexCoord3svARB", 399 }, 460af69d88dSmrg { "glMultiTexCoord4dARB", 400 }, 461af69d88dSmrg { "glMultiTexCoord4dvARB", 401 }, 462af69d88dSmrg { "glMultiTexCoord4fARB", 402 }, 463af69d88dSmrg { "glMultiTexCoord4fvARB", 403 }, 464af69d88dSmrg { "glMultiTexCoord4iARB", 404 }, 465af69d88dSmrg { "glMultiTexCoord4ivARB", 405 }, 466af69d88dSmrg { "glMultiTexCoord4sARB", 406 }, 467af69d88dSmrg { "glMultiTexCoord4svARB", 407 }, 468af69d88dSmrg { NULL, 0 } 469af69d88dSmrg}; 470