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