Repository navigation
Expand file tree
/
Copy pathGlFunctionList.cpp
More file actions
729 lines (728 loc) · 36.1 KB
/
Copy pathGlFunctionList.cpp
File metadata and controls
729 lines (728 loc) · 36.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
#include "glfunctionlist.h"
GlFunctionInfo g_glFunctionsInfo[kNumFunctionInfo] = { { "glActiveShaderProgram", 0, 2, 0, true },
{ "glActiveTexture", 0, 1, 0, true },
{ "glActiveTextureArb", 0, 1, 0, true },
{ "glAlphaFunc", 0, 2, 0, true }, // old
{ "glAttachShader", 0, 2, 0, true },
{ "glBegin", 0, 0, 0, true }, // old
{ "glEnd", 0, 0, 0, true }, // old
{ "glBeginConditionalRender", 0, 2, 0, false},
{ "glEndConditionalRender", 0, 0, 0, false },
{ "glBeginQuery", 0, 2, 0, true },
{ "glEndQuery", 0, 1, 0, true },
{ "glBeginQueryIndexed", 0, 3, 0, false },
{ "glEndQueryIndexed", 0, 2, 0, false },
{ "glBeginTransformFeedback", 0, 1, 0, false },
{ "glEndTransformFeedback", 0, 0, 0, false },
{ "glBindAttribLocation", 0, 3, 1, true },
{ "glBindBuffer", 0, 2, 0, true },
{ "glBindBufferBase", 0, 3, 0, true },
{ "glBindBufferRange", 0, 5, 0, false },
{ "glBindBuffersBase", 0, 4, 0, true },
{ "glBindBuffersRange", 0, 6, 0, false },
{ "glBindFragDataLocation", 0, 3, 1, true },
{ "glBindFragDataLocationIndexed", 0, 4, 1, false },
{ "glBindFramebuffer", 0, 2, 0, true },
{ "glBindImageTexture", 0, 7, 0, false },
{ "glBindImageTextures", 0, 3, 1, false },
{ "glBindProgramPipeline", 0, 1, 0, true },
{ "glBindRenderbuffer", 0, 2, 0, true },
{ "glBindSampler", 0, 2, 0, true },
{ "glBindSamplers", 0, 3, 1, true },
{ "glBindTexture", 0, 2, 0, true },
{ "glBindTextures", 0, 3, 1, true },
{ "glBindTextureUnit", 0, 2, 0, false },
{ "glBindTransformFeedback", 0, 2, 0, true },
{ "glBindVertexArray", 0, 1, 0, true },
{ "glBindVertexBuffer", 0, 4, 0, true },
{ "glVertexArrayVertexBuffer", 0, 5, 0, false },
{ "glBindVertexBuffers", 0, 5, 3, true },
{ "glVertexArrayVertexBuffers", 0, 6, 3, false },
{ "glBlendColor", 0, 4, 0, true },
{ "glBlendEquation", 0, 1, 0, true },
{ "glBlendEquationi", 0, 2, 0 },
{ "glBlendEquationSeparate", 0, 2, 0, true },
{ "glBlendEquationSeparatei", 0, 3, 0 },
{ "glBlendFunc", 0, 2, 0, true },
{ "glBlendFunci", 0, 3, 0 },
{ "glBlendFuncSeparate", 0, 4, 0, true },
{ "glBlendFuncSeparatei", 0, 5, 0 },
{ "glBlitFramebuffer", 0, 10, 0 },
{ "glBlitNamedFramebuffer", 0, 12, 0 },
{ "glBufferData", 0, 4, 1, true },
{ "glNamedBufferData", 0, 4, 1 },
{ "glBufferStorage", 0, 4, 1, true },
{ "glNamedBufferStorage", 0, 4, 1 },
{ "glBufferSubData", 0, 4, 1 },
{ "glNamedBufferSubData", 0, 4, 1 },
{ "glCheckFramebufferStatus", 1, 1, 0 },
{ "glCheckNamedFramebufferStatus", 1, 2, 0 },
{ "glClampColor", 0, 2, 0 },
{ "glClear", 0, 1, 0, true },
{ "glClearBufferiv", 0, 3, 1 },
{ "glClearBufferuiv", 0, 3, 1 },
{ "glClearBufferfv", 0, 3, 1 },
{ "glClearBufferfi", 0, 4, 0 },
{ "glClearNamedFramebufferiv", 0, 4, 1 },
{ "glClearNamedFramebufferuiv", 0, 4, 1 },
{ "glClearNamedFramebufferfv", 0, 4, 1 },
{ "glClearNamedFramebufferfi", 0, 5, 0 },
{ "glClearBufferData", 0, 5, 1 },
{ "glClearNamedBufferData", 0, 5, 1 },
{ "glClearBufferSubData", 0, 7, 1 },
{ "glClearNamedBufferSubData", 0, 7, 1 },
{ "glClearColor", 0, 4, 0, true },
{ "glClearDepth", 0, 1, 0, true },
{ "glClearDepthf", 0, 1, 0, true },
{ "glClearStencil", 0, 1, 0, true },
{ "glClearTexImage", 0, 5, 1 },
{ "glClearTexSubImage", 0, 11, 1 },
{ "glClientActiveTexture", 0, 1, 0, true },
{ "glClientActiveTextureArb", 0, 1, 0, true },
{ "glClientWaitSync", 1, 3, 0 },
{ "glClipControl", 0, 2, 0 },
{ "glClipPlane", 0, 2, 1, true }, // old.
{ "glColor3b", 0, 3, 0, true }, // old.
{ "glColor3s", 0, 3, 0, true }, // old.
{ "glColor3i", 0, 3, 0, true }, // old.
{ "glColor3f", 0, 3, 0, true }, // old.
{ "glColor3d", 0, 3, 0, true }, // old.
{ "glColor3ub", 0, 3, 0, true }, // old.
{ "glColor3us", 0, 3, 0, true }, // old.
{ "glColor3ui", 0, 3, 0, true }, // old.
{ "glColor4b", 0, 4, 0, true }, // old.
{ "glColor4s", 0, 4, 0, true }, // old.
{ "glColor4i", 0, 4, 0, true }, // old.
{ "glColor4f", 0, 4, 0, true }, // old.
{ "glColor4d", 0, 4, 0, true }, // old.
{ "glColor4ub", 0, 4, 0, true }, // old.
{ "glColor4us", 0, 4, 0, true }, // old.
{ "glColor4ui", 0, 4, 0, true }, // old.
{ "glColor3bv", 0, 1, 1, true }, // old.
{ "glColor3sv", 0, 1, 1, true }, // old.
{ "glColor3iv", 0, 1, 1, true }, // old.
{ "glColor3fv", 0, 1, 1, true }, // old.
{ "glColor3dv", 0, 1, 1, true }, // old.
{ "glColor3ubv", 0, 1, 1, true }, // old.
{ "glColor3usv", 0, 1, 1, true }, // old.
{ "glColor3uiv", 0, 1, 1, true }, // old.
{ "glColor4bv", 0, 1, 1, true }, // old.
{ "glColor4sv", 0, 1, 1, true }, // old.
{ "glColor4iv", 0, 1, 1, true }, // old.
{ "glColor4fv", 0, 1, 1, true }, // old.
{ "glColor4dv", 0, 1, 1, true }, // old.
{ "glColor4ubv", 0, 1, 1, true }, // old.
{ "glColor4usv", 0, 1, 1, true }, // old.
{ "glColor4uiv", 0, 1, 1, true }, // old.
{ "glColorMask", 0, 4, 0, true },
{ "glColorMaski", 0, 5, 0, true },
{ "glColorPointer", 0, 4, 1, true }, // old.
{ "glCompileShader", 0, 1, 0, true },
{ "glCompressedTexImage1D", 0, 7, 1 },
{ "glCompressedTexImage2D", 0, 8, 1, true },
{ "glCompressedTexImage3D", 0, 9, 1 },
{ "glCompressedTexSubImage1D", 0, 7, 1 },
{ "glCompressedTextureSubImage1D", 0, 7, 1 },
{ "glCompressedTexSubImage2D", 0, 9, 1 },
{ "glCompressedTextureSubImage2D", 0, 9, 1 },
{ "glCompressedTexSubImage3D", 0, 11, 1 },
{ "glCompressedTextureSubImage3D", 0, 11, 1 },
{ "glCopyBufferSubData", 0, 5, 0 },
{ "glCopyNamedBufferSubData", 0, 5, 0 },
{ "glCopyImageSubData", 0, 15, 0 },
{ "glCopyTexImage1D", 0, 7, 0 },
{ "glCopyTexImage2D", 0, 8, 0 },
{ "glCopyTexSubImage1D", 0, 6, 0 },
{ "glCopyTextureSubImage1D", 0, 6, 0 },
{ "glCopyTexSubImage2D", 0, 8, 0 },
{ "glCopyTextureSubImage2D", 0, 8, 0 },
{ "glCopyTexSubImage3D", 0, 9, 0 },
{ "glCopyTextureSubImage3D", 0, 9, 0 },
{ "glCreateBuffers", 0, 2, 1 },
{ "glCreateFramebuffers", 0, 2, 1 },
{ "glCreateProgram", 1, 0, 0, true },
{ "glCreateProgramPipelines", 0, 2, 1 },
{ "glCreateQueries", 0, 3, 1 },
{ "glCreateRenderbuffers", 0, 2, 1 },
{ "glCreateSamplers", 0, 2, 1 },
{ "glCreateShader", 1, 1, 0, true },
{ "glCreateShaderProgramEXT", 1, 3, 1, true },
{ "glCreateShaderProgramv", 1, 3, 1, true },
{ "glCreateTextures", 0, 3, 1 },
{ "glCreateTransformFeedbacks", 0, 2, 1 },
{ "glCreateVertexArrays", 0, 2, 1 },
{ "glCullFace", 0, 1, 0, true },
{ "glDebugMessageCallback", 0, 2, 2 },
{ "glDebugMessageControl", 0, 6, 1 },
{ "glDebugMessageInsert", 0, 6, 1 },
{ "glDeleteBuffers", 0, 2, 1 },
{ "glDeleteFramebuffers", 0, 2, 1 },
{ "glDeleteProgram", 0, 1, 0, true },
{ "glDeleteProgramPipelines", 0, 2, 1 },
{ "glDeleteQueries", 0, 2, 1, true },
{ "glDeleteRenderbuffers", 0, 2, 1 },
{ "glDeleteSamplers", 0, 2, 1 },
{ "glDeleteShader", 0, 1, 0, true },
{ "glDeleteSync", 0, 1, 0 },
{ "glDeleteTextures", 0, 2, 1 },
{ "glDeleteTransformFeedbacks", 0, 2, 1 },
{ "glDeleteVertexArrays", 0, 2, 1 },
{ "glDepthFunc", 0, 1, 0, true },
{ "glDepthMask", 0, 1, 0, true },
{ "glDepthRange", 0, 2, 0 },
{ "glDepthRangef", 0, 2, 0 },
{ "glDepthRangeArrayv", 0, 3, 1 },
{ "glDepthRangeIndexed", 0, 3, 0 },
{ "glDetachShader", 0, 2, 0, true },
{ "glEnable", 0, 1, 0, true },
{ "glEnableClientState", 0, 1, 0, true },
{ "glEnablei", 0, 2, 0, true },
{ "glDisable", 0, 1, 0, true },
{ "glDisableClientState", 0, 1, 0, true },
{ "glDisablei", 0, 2, 0, true },
{ "glEnableVertexAttribArray", 0, 1, 0, true },
{ "glDisableVertexAttribArray", 0, 1, 0, true },
{ "glEnableVertexArrayAttrib", 0, 2, 0 },
{ "glDisableVertexArrayAttrib", 0, 2, 0 },
{ "glDispatchCompute", 0, 3, 0 },
{ "glDispatchComputeIndirect", 0, 1, 0 },
{ "glDrawArrays", 0, 3, 0, true },
{ "glDrawArraysIndirect", 0, 2, 1 },
{ "glDrawArraysInstanced", 0, 4, 0 },
{ "glDrawArraysInstancedBaseInstance", 0, 5, 0 },
{ "glDrawBuffer", 0, 1, 0 },
{ "glNamedFramebufferDrawBuffer", 0, 2, 0 },
{ "glDrawBuffers", 0, 2, 1 },
{ "glNamedFramebufferDrawBuffers", 0, 3, 1 },
{ "glDrawElements", 0, 4, 1, true },
{ "glDrawElementsIndirect", 0, 3, 1 },
{ "glDrawElementsInstanced", 0, 5, 1 },
{ "glDrawElementsInstancedBaseInstance", 0, 6, 1 },
{ "glDrawElementsInstancedBaseVertex", 0, 6, 1 },
{ "glDrawElementsInstancedBaseVertexBaseInstance", 0, 7, 1 },
{ "glDrawRangeElements", 0, 6, 1 },
{ "glDrawRangeElementsBaseVertex", 0, 7, 1 },
{ "glDrawTransformFeedback", 0, 2, 0 },
{ "glDrawTransformFeedbackInstanced", 0, 3, 0 },
{ "glDrawTransformFeedbackStream", 0, 3, 0 },
{ "glDrawTransformFeedbackStreamInstanced", 0, 4, 0 },
{ "glFenceSync", 1, 2, 0 },
{ "glFinish", 0, 0, 0, true },
{ "glFlush", 0, 0, 0, true },
{ "glFlushMappedBufferRange", 0, 3, 0 },
{ "glFlushMappedNamedBufferRange", 0, 3, 0 },
{ "glFogf", 0, 2, 0, true }, //old.
{ "glFogfv", 0, 2, 1, true }, //old.
{ "glFogi", 0, 2, 0, true }, //old.
{ "glFogiv", 0, 2, 1, true }, //old.
{ "glFramebufferParameteri", 0, 3, 0 },
{ "glNamedFramebufferParameteri", 0, 3, 0 },
{ "glFramebufferRenderbuffer", 0, 4, 0 },
{ "glNamedFramebufferRenderbuffer", 0, 4, 0 },
{ "glFramebufferTexture", 0, 4, 0 },
{ "glFramebufferTexture1D", 0, 5, 0 },
{ "glFramebufferTexture2D", 0, 5, 0 },
{ "glFramebufferTexture3D", 0, 6, 0 },
{ "glNamedFramebufferTexture", 0, 4, 0 },
{ "glFramebufferTextureLayer", 0, 5, 0 },
{ "glNamedFramebufferTextureLayer", 0, 5, 0 },
{ "glFrontFace", 0, 1, 0, true },
{ "glGenBuffers", 0, 2, 1, true },
{ "glGenerateMipmap", 0, 1, 0 },
{ "glGenerateTextureMipmap", 0, 1, 0 },
{ "glGenFramebuffers", 0, 2, 1, true },
{ "glGenProgramPipelines", 0, 2, 1 },
{ "glGenQueries", 0, 2, 1, true },
{ "glGenRenderbuffers", 0, 2, 1, true },
{ "glGenProgramPipelines", 0, 2, 1 },
{ "glGenSamplers", 0, 2, 1 },
{ "glGenTextures", 0, 2, 1, true },
{ "glGenTransformFeedbacks", 0, 2, 1 },
{ "glGenVertexArrays", 0, 2, 1 },
{ "glGetBooleanv", 0, 2, 1 },
{ "glGetDoublev", 0, 2, 1 },
{ "glGetFloatv", 0, 2, 1 },
{ "glGetIntegerv", 0, 2, 1 },
{ "glGetInteger64v", 0, 2, 1 },
{ "glGetBooleani_v", 0, 3, 1 },
{ "glGetIntegeri_v", 0, 3, 1 },
{ "glGetFloati_v", 0, 3, 1 },
{ "glGetDoublei_v", 0, 3, 1 },
{ "glGetInteger64i_v", 0, 3, 1 },
{ "glGetActiveAtomicCounterBufferiv", 0, 4, 1 },
{ "glGetActiveAttrib", 0, 7, 4, true },
{ "glGetActiveSubroutineName", 0, 6, 2 },
{ "glGetActiveSubroutineUniformiv", 0, 5, 1 },
{ "glGetActiveSubroutineUniformName", 0, 6, 2 },
{ "glGetActiveUniform", 0, 7, 4, true },
{ "glGetActiveUniformBlockiv", 0, 4, 1 },
{ "glGetActiveUniformBlockName", 0, 5, 2 },
{ "glGetActiveUniformName", 0, 5, 2 },
{ "glGetActiveUniformsiv", 0, 5, 2, true },
{ "glGetAttachedShaders", 0, 4, 2 },
{ "glGetAttribLocation", 1, 2, 1, true },
{ "glGetBufferParameteriv", 0, 3, 1 },
{ "glGetBufferParameteri64v", 0, 3, 1 },
{ "glGetNamedBufferParameteriv", 0, 3, 1 },
{ "glGetNamedBufferParameteri64v", 0, 3, 1 },
{ "glGetBufferPointerv", 0, 3, 1 },
{ "glGetNamedBufferPointerv", 0, 3, 1 },
{ "glGetBufferSubData", 0, 4, 1 },
{ "glGetNamedBufferSubData", 0, 4, 1 },
{ "glGetCompressedTexImage", 0, 3, 1 },
{ "glGetnCompressedTexImage", 0, 4, 1 },
{ "glGetCompressedTextureImage", 0, 4, 1 },
{ "glGetDebugMessageLog", 0, 8, 6 },
{ "glGetDebugMessageLog", 0, 8, 6 },
{ "glGetError", 1, 0, 0, true },
{ "glGetFragDataIndex", 1, 2, 1, true },
{ "glGetFragDataLocation", 1, 2, 1, true },
{ "glGetFramebufferAttachmentParameteriv", 0, 4, 1 },
{ "glGetNamedFramebufferAttachmentParameteriv", 0, 4, 1 },
{ "glGetNamedFramebufferAttachmentParameteriv", 0, 4, 1 },
{ "glGetFramebufferParameteriv", 0, 3, 1 },
{ "glGetNamedFramebufferParameteriv", 0, 3, 1 },
{ "glGetGraphicsResetStatus", 1, 0, 0 },
{ "glGetInternalformativ", 0, 5, 1 },
{ "glGetInternalformati64v", 0, 5, 1 },
{ "glGetMultisamplefv", 0, 3, 1 },
{ "glGetTexImage", 0, 5, 1 },
{ "glGetnTexImage", 0, 6, 1 },
{ "glGetTextureImage", 0, 6, 1 },
{ "glGetUniformfv", 0, 3, 1 },
{ "glGetUniformiv", 0, 3, 1 },
{ "glGetUniformuiv", 0, 3, 1 },
{ "glGetUniformdv", 0, 3, 1 },
{ "glGetnUniformfv", 0, 4, 1 },
{ "glGetnUniformiv", 0, 4, 1 },
{ "glGetnUniformuiv", 0, 4, 1 },
{ "glGetnUniformdv", 0, 4, 1 },
{ "glGetObjectLabel", 0, 5, 2 },
{ "glGetObjectPtrLabel", 0, 4, 3 },
{ "glGetPointerv", 0, 2, 1 },
{ "glGetProgramiv", 0, 3, 1 },
{ "glGetProgramBinary", 0, 5, 3 },
{ "glGetProgramInfoLog", 0, 4, 2 },
{ "glGetProgramInterfaceiv", 0, 4, 1 },
{ "glGetProgramfv", 0, 3, 1 },
{ "glGetProgramPipelineiv", 0, 3, 1 },
{ "glGetProgramPipelineInfoLog", 0, 4, 2 },
{ "glGetProgramResourceiv", 0, 8, 3, true },
{ "glGetProgramResourceIndex", 1, 3, 1 },
{ "glGetProgramResourceLocation", 1, 3, 1 },
{ "glGetProgramResourceLocationIndex", 1, 3, 1 },
{ "glGetProgramResourceName", 0, 6, 2 },
{ "glGetProgramStageiv", 0, 4, 1 },
{ "glGetQueryIndexediv", 0, 4, 1 },
{ "glGetQueryiv", 0, 3, 1 },
{ "glGetQueryObjectiv", 0, 3, 1 },
{ "glGetQueryObjectuiv", 0, 3, 1 },
{ "glGetQueryObjecti64v", 0, 3, 1 },
{ "glGetQueryObjectui64v", 0, 3, 1 },
{ "glGetRenderbufferParameteriv", 0, 3, 1 },
{ "glGetNamedRenderbufferParameteriv", 0, 3, 1 },
{ "glGetSamplerParameterfv", 0, 3, 1 },
{ "glGetSamplerParameteriv", 0, 3, 1 },
{ "glGetSamplerParameterIiv", 0, 3, 1 },
{ "glGetSamplerParameterIuiv", 0, 3, 1 },
{ "glGetShaderiv", 0, 3, 1, true },
{ "glGetShaderInfoLog", 0, 4, 2, true },
{ "glGetShaderPrecisionFormat", 0, 4, 2 },
{ "glGetShaderSource", 0, 4, 2, true },
{ "glGetString", 1, 1, 1 },
{ "glGetStringi", 1, 1, 1 },
{ "glGetSubroutineIndex", 1, 3, 1 },
{ "glGetSubroutineUniformLocation", 1, 3, 1 },
{ "glGetSynciv", 0, 5, 2 },
{ "glGetTexLevelParameterfv", 0, 4, 1 },
{ "glGetTexLevelParameteriv", 0, 4, 1 },
{ "glGetTextureLevelParameterfv", 0, 4, 1 },
{ "glGetTextureLevelParameteriv", 0, 4, 1 },
{ "glGetTextureLevelParameteriv", 0, 4, 1 },
{ "glGetTexParameterfv", 0, 3, 1 },
{ "glGetTexParameteriv", 0, 3, 1 },
{ "glGetTexParameterIiv", 0, 3, 1 },
{ "glGetTexParameterIuiv", 0, 3, 1 },
{ "glGetTextureParameterfv", 0, 3, 1 },
{ "glGetTextureParameteriv", 0, 3, 1 },
{ "glGetTextureParameterIiv", 0, 3, 1 },
{ "glGetTextureParameterIuiv", 0, 3, 1 },
{ "glGetTextureSubImage", 0, 12, 1 },
{ "glGetTransformFeedbackiv", 0, 3, 1 },
{ "glGetTransformFeedbacki_v", 0, 4, 1 },
{ "glGetTransformFeedbacki64_v", 0, 4, 1 },
{ "glGetTransformFeedbackVarying", 0, 7, 4 },
{ "glGetUniformBlockIndex", 1, 2, 1 },
{ "glGetUniformIndices", 0, 4, 2 },
{ "glGetUniformLocation", 1, 2, 1, true },
{ "glGetUniformSubroutineuiv", 0, 3, 1 },
{ "glGetVertexArrayIndexed64iv", 0, 4, 1 },
{ "glGetVertexArrayIndexediv", 0, 4, 1 },
{ "glGetVertexArrayiv", 0, 3, 1 },
{ "glGetVertexAttribdv", 0, 3, 1 },
{ "glGetVertexAttribfv", 0, 3, 1, true },
{ "glGetVertexAttribiv", 0, 3, 1, true },
{ "glGetVertexAttribIiv", 0, 3, 1 },
{ "glGetVertexAttribIuiv", 0, 3, 1 },
{ "glGetVertexAttribLdv", 0, 3, 1 },
{ "glGetVertexAttribPointerv", 0, 3, 1 },
{ "glHint", 0, 2, 0, true },
{ "glIndexPointer", 0, 3, 1, true }, // old.
{ "glInvalidateBufferData", 0, 1, 0, true },
{ "glInvalidateBufferSubData", 0, 3, 0, true },
{ "glInvalidateFramebuffer", 0, 3, 1, true },
{ "glInvalidateNamedFramebufferData", 0, 3, 1 },
{ "glInvalidateSubFramebuffer", 0, 7, 1 },
{ "glInvalidateNamedFramebufferSubData", 0, 7, 1 },
{ "glInvalidateTexImage", 0, 2, 0 },
{ "glInvalidateTexSubImage", 0, 8, 0 },
{ "glIsBuffer", 1, 1, 0 },
{ "glIsEnabled", 1, 1, 0, true },
{ "glIsEnabledi", 1, 2, 0 },
{ "glIsFramebuffer", 1, 1, 0 },
{ "glIsProgram", 1, 1, 0 },
{ "glIsProgramPipeline", 1, 1, 0 },
{ "glIsQuery", 1, 1, 0 },
{ "glIsRenderbuffer", 1, 1, 0 },
{ "glIsSampler", 1, 1, 0 },
{ "glIsShader", 1, 1, 0 },
{ "glIsSync", 1, 1, 0 },
{ "glIsTexture", 1, 1, 0 },
{ "glIsTransformFeedback", 1, 1, 0 },
{ "glIsVertexArray", 1, 1, 0 },
{ "glLightf", 0, 3, 0, true }, // old.
{ "glLightfv", 0, 3, 1, true }, // old.
{ "glLighti", 0, 3, 0, true }, // old.
{ "glLightiv", 0, 3, 1, true }, // old.
{ "glLightModelf", 0, 2, 0, true }, // old.
{ "glLightModelfv", 0, 2, 1, true }, // old.
{ "glLightModeli", 0, 2, 0, true }, // old.
{ "glLightModeliv", 0, 2, 1, true }, // ol.d
{ "glLineWidth", 0, 1, 0, true },
{ "glLinkProgram", 0, 1, 0 },
{ "glLoadMatrixf", 0, 1, 1, true }, // old.
{ "glLoadMatrixd", 0, 1, 1, true }, // old.
{ "glLogicOp", 0, 1, 0, true },
{ "glMapBuffer", 1, 2, 1 }, // return pointer.
{ "glMapNamedBuffer", 1, 2, 1 }, // return pointer.
{ "glMapBufferRange", 1, 4, 1 }, // return pointer.
{ "glMapNamedBufferRange", 1, 4, 1 }, // return pointer.
{ "glMaterialf", 0, 3, 0, true }, // old.
{ "glMaterialfv", 0, 3, 1, true }, // old.
{ "glMateriali", 0, 3, 0, true }, // old.
{ "glMaterialiv", 0, 3, 1, true }, // old.
{ "glMatrixMode", 0, 1, 0, true }, // old.
{ "glMemoryBarrier", 0, 1, 0 },
{ "glMemoryBarrierByRegion", 0, 1, 0 },
{ "glMinSampleShading", 0, 1, 0 },
{ "glMultiDrawArrays", 0, 4, 2 },
{ "glMultiDrawArraysIndirect", 0, 4, 1 },
{ "glMultiDrawElements", 0, 5, 2 },
{ "glMultiDrawElementsBaseVertex", 0, 6, 3 },
{ "glMultiDrawElementsIndirect", 0, 5, 1 },
{ "glNormalPointer", 0, 3, 1, true }, // old
{ "glRenderbufferStorage", 0, 4, 0, true },
{ "glNamedRenderbufferStorage", 0, 4, 0 },
{ "glRenderbufferStorageMultisample", 0, 5, 0 },
{ "glNamedRenderbufferStorageMultisample", 0, 5, 0 },
{ "glNormal3b", 0, 3, 0, true }, // old
{ "glNormal3d", 0, 3, 0, true }, // old
{ "glNormal3f", 0, 3, 0, true }, // old
{ "glNormal3i", 0, 3, 0, true }, // old
{ "glNormal3s", 0, 3, 0, true }, // old
{ "glNormal3bv", 0, 1, 1, true }, // old
{ "glNormal3dv", 0, 1, 1, true }, // old
{ "glNormal3fv", 0, 1, 1, true }, // old
{ "glNormal3iv", 0, 1, 1, true }, // old
{ "glNormal3sv", 0, 1, 1, true }, // old
{ "glObjectLabel", 0, 4, 1 },
{ "glObjectPtrLabel", 0, 3, 2 },
{ "glPatchParameteri", 0, 2, 0 },
{ "glPatchParameterfv", 0, 2, 1 },
{ "glPauseTransformFeedback", 0, 0, 0 },
{ "glPixelStoref", 0, 2, 0, true },
{ "glPixelStorei", 0, 2, 0, true },
{ "glPointParameterf", 0, 2, 0, true },
{ "glPointParameteri", 0, 2, 0, true },
{ "glPointParameterfv", 0, 2, 1, true },
{ "glPointParameteriv", 0, 2, 1, true },
{ "glPointSize", 0, 1, 0, true },
{ "glPolygonMode", 0, 2, 0 },
{ "glPolygonOffset", 0, 2, 0 },
{ "glPopDebugGroup", 0, 0, 0, true },
{ "glPrimitiveRestartIndex", 0, 1, 0 },
{ "glProgramBinary", 0, 4, 1 },
{ "glProgramParameteri", 0, 3, 0 },
{ "glProgramUniform1f", 0, 3, 0 },
{ "glProgramUniform2f", 0, 4, 0 },
{ "glProgramUniform3f", 0, 5, 0 },
{ "glProgramUniform4f", 0, 6, 0 },
{ "glProgramUniform1i", 0, 3, 0 },
{ "glProgramUniform2i", 0, 4, 0 },
{ "glProgramUniform3i", 0, 5, 0 },
{ "glProgramUniform4i", 0, 6, 0 },
{ "glProgramUniform1ui", 0, 3, 0 },
{ "glProgramUniform2ui", 0, 4, 0 },
{ "glProgramUniform3ui", 0, 5, 0 },
{ "glProgramUniform4ui", 0, 6, 0 },
{ "glProgramUniform1fv", 0, 4, 1 },
{ "glProgramUniform2fv", 0, 4, 1 },
{ "glProgramUniform3fv", 0, 4, 1 },
{ "glProgramUniform4fv", 0, 4, 1 },
{ "glProgramUniform1iv", 0, 4, 1 },
{ "glProgramUniform2iv", 0, 4, 1 },
{ "glProgramUniform3iv", 0, 4, 1 },
{ "glProgramUniform4iv", 0, 4, 1 },
{ "glProgramUniform1uiv", 0, 4, 1 },
{ "glProgramUniform2uiv", 0, 4, 1 },
{ "glProgramUniform3uiv", 0, 4, 1 },
{ "glProgramUniform4uiv", 0, 4, 1 },
{ "glProgramUniformMatrix2fv", 0, 5, 1 },
{ "glProgramUniformMatrix3fv", 0, 5, 1 },
{ "glProgramUniformMatrix4fv", 0, 5, 1 },
{ "glProgramUniformMatrix2x3fv", 0, 5, 1 },
{ "glProgramUniformMatrix3x2fv", 0, 5, 1 },
{ "glProgramUniformMatrix2x4fv", 0, 5, 1 },
{ "glProgramUniformMatrix4x2fv", 0, 5, 1 },
{ "glProgramUniformMatrix3x4fv", 0, 5, 1 },
{ "glProgramUniformMatrix4x3fv", 0, 5, 1 },
{ "glProvokingVertex", 0, 1, 0 },
{ "glPushDebugGroup", 0, 4, 1, true },
{ "glPopDebugGroup", 0, 2, 0, true },
{ "glReadBuffer", 0, 1, 0 },
{ "glNamedFramebufferReadBuffer", 0, 2, 0 },
{ "glReadPixels", 0, 7, 1 },
{ "glReadnPixels", 0, 8, 1 },
{ "glReleaseShaderCompiler", 0, 0, 0, true },
{ "glRenderbufferStorage", 0, 4, 0, true },
{ "glResumeTransformFeedback", 0, 0, 0 },
{ "glSampleCoverage", 0, 2, 0 },
{ "glSampleMaski", 0, 2, 0 },
{ "glSamplerParameterf", 0, 3, 0 },
{ "glSamplerParameteri", 0, 3, 0 },
{ "glSamplerParameterfv", 0, 3, 1 },
{ "glSamplerParameteriv", 0, 3, 1 },
{ "glSamplerParameterIiv", 0, 3, 1 },
{ "glSamplerParameterIuiv", 0, 3, 1 },
{ "glScissor", 0, 4, 0 },
{ "glScissorArrayv", 0, 3, 1 },
{ "glScissorIndexed", 0, 5, 0 },
{ "glScissorIndexedv", 0, 2, 1 },
{ "glShaderBinary", 0, 5, 2 },
{ "glShaderModel", 0, 1, 0, true }, // old.
{ "glShaderSource", 0, 4, 2, true },
{ "glShaderStorageBlockBinding", 0, 3, 0 },
{ "glStencilFunc", 0, 3, 0, true },
{ "glStencilFuncSeparate", 0, 4, 0 },
{ "glStencilMask", 0, 1, 0, true },
{ "glStencilMaskSeparate", 0, 2, 0 },
{ "glStencilOp", 0, 3, 0, true },
{ "glStencilOpSeparate", 0, 4, 0 },
{ "glTexCoordPointer", 0, 4, 1 }, // old
{ "glTexBuffer", 0, 3, 0 },
{ "glTextureBuffer", 0, 3, 0 },
{ "glTexBufferRange", 0, 5, 0 },
{ "glTextureBufferRange", 0, 5, 0 },
{ "glTexEnvf", 0, 3, 0, true}, // old.
{ "glTexEnvfv", 0, 3, 1, true }, // old.
{ "glTexEnvi", 0, 3, 0, true }, // old.
{ "glTexEnvif", 0, 3, 1, true }, // old.
{ "glTexImage1D", 0, 8, 1 },
{ "glTexImage2D", 0, 9, 1, true },
{ "glTexImage2DMultisample", 0, 6, 0 },
{ "glTexImage3D", 0, 10, 1 },
{ "glTexImage3DMultisample", 0, 7, 0 },
{ "glTexParameterf", 0, 3, 0, true },
{ "glTexParameteri", 0, 3, 0, true },
{ "glTextureParameterf", 0, 3, 0 },
{ "glTextureParameteri", 0, 3, 0 },
{ "glTexParameterfv", 0, 3, 1, true },
{ "glTexParameteriv", 0, 3, 1, true },
{ "glTexParameterIiv", 0, 3, 1 },
{ "glTexParameterIuiv", 0, 3, 1 },
{ "glTextureParameterfv", 0, 3, 1 },
{ "glTextureParameteriv", 0, 3, 1 },
{ "glTextureParameterIiv", 0, 3, 1 },
{ "glTextureParameterIuiv", 0, 3, 1 },
{ "glTexStorage1D", 0, 4, 0 },
{ "glTextureStorage1D", 0, 4, 0 },
{ "glTexStorage2D", 0, 5, 0 },
{ "glTextureStorage2D", 0, 5, 0 },
{ "glTexStorage3D", 0, 6, 0 },
{ "glTextureStorage3D", 0, 6, 0 },
{ "glTexStorage2DMultisample", 0, 6, 0 },
{ "glTextureStorage2DMultisample", 0, 6, 0 },
{ "glTexStorage3DMultisample", 0, 7, 0 },
{ "glTextureStorage3DMultisample", 0, 7, 0 },
{ "glTexSubImage1D", 0, 7, 1 },
{ "glTextureSubImage1D", 0, 7, 1 },
{ "glTexSubImage2D", 0, 9, 1 },
{ "glTextureSubImage2D", 0, 9, 1 },
{ "glTexSubImage3D", 0, 11, 1 },
{ "glTextureSubImage3D", 0, 11, 1 },
{ "glTextureBarrier", 0, 0, 0 },
{ "glTexBuffer", 0, 3, 0 },
{ "glTextureBuffer", 0, 3, 0 },
{ "glTexBufferRange", 0, 5, 0 },
{ "glTextureBufferRange", 0, 5, 0 },
{ "glTextureView", 0, 8, 0 },
{ "glTransformFeedbackBufferBase", 0, 3, 0 },
{ "glTransformFeedbackBufferRange", 0, 5, 0 },
{ "glTransformFeedbackVaryings", 0, 4, 1 },
{ "glUniform1f", 0, 2, 0 },
{ "glUniform2f", 0, 3, 0 },
{ "glUniform3f", 0, 4, 0 },
{ "glUniform4f", 0, 5, 0 },
{ "glUniform1i", 0, 2, 0 },
{ "glUniform2i", 0, 3, 0 },
{ "glUniform3i", 0, 4, 0 },
{ "glUniform4i", 0, 5, 0 },
{ "glUniform1ui", 0, 2, 0 },
{ "glUniform2ui", 0, 3, 0 },
{ "glUniform3ui", 0, 4, 0 },
{ "glUniform4ui", 0, 5, 0 },
{ "glUniform1fv", 0, 3, 1, true },
{ "glUniform2fv", 0, 3, 1, true },
{ "glUniform3fv", 0, 3, 1, true },
{ "glUniform4fv", 0, 3, 1, true },
{ "glUniform1iv", 0, 3, 1, true },
{ "glUniform2iv", 0, 3, 1, true },
{ "glUniform3iv", 0, 3, 1, true },
{ "glUniform4iv", 0, 3, 1, true },
{ "glUniform1uiv", 0, 3, 1 },
{ "glUniform2uiv", 0, 3, 1 },
{ "glUniform3uiv", 0, 3, 1 },
{ "glUniform4uiv", 0, 3, 1 },
{ "glUniformMatrix2fv", 0, 4, 1, true },
{ "glUniformMatrix3fv", 0, 4, 1, true },
{ "glUniformMatrix4fv", 0, 4, 1, true },
{ "glUniformMatrix2x3fv", 0, 4, 1, true },
{ "glUniformMatrix3x2fv", 0, 4, 1, true },
{ "glUniformMatrix2x4fv", 0, 4, 1, true },
{ "glUniformMatrix4x2fv", 0, 4, 1, true },
{ "glUniformMatrix3x4fv", 0, 4, 1, true },
{ "glUniformMatrix4x3fv", 0, 4, 1, true },
{ "glUniformBlockBinding", 0, 3, 0 },
{ "glUniformSubroutinesuiv", 0, 3, 1 },
{ "glUnmapBuffer", 1, 1, 0 },
{ "glUnmapNamedBuffer", 1, 1, 0 },
{ "glUseProgram", 0, 1, 0, true },
{ "glUseProgramStages", 0, 3, 0 },
{ "glValidateProgram", 0, 1, 0, true },
{ "glValidateProgramPipeline", 0, 1, 0, true },
{ "glVertex2s", 0, 2, 0, true }, // old
{ "glVertex2i", 0, 2, 0, true }, // old
{ "glVertex2f", 0, 2, 0, true }, // old
{ "glVertex2d", 0, 2, 0, true }, // old
{ "glVertex3s", 0, 3, 0, true }, // old
{ "glVertex3i", 0, 3, 0, true }, // old
{ "glVertex3f", 0, 3, 0, true }, // old
{ "glVertex3d", 0, 3, 0, true }, // old
{ "glVertex4s", 0, 4, 0, true }, // old
{ "glVertex4i", 0, 4, 0, true }, // old
{ "glVertex4f", 0, 4, 0, true }, // old
{ "glVertex4d", 0, 4, 0, true }, // old
{ "glVertex2sv", 0, 1, 1, true }, // old
{ "glVertex2iv", 0, 1, 1, true }, // old
{ "glVertex2fv", 0, 1, 1, true }, // old
{ "glVertex2dv", 0, 1, 1, true }, // old
{ "glVertex3sv", 0, 1, 1, true }, // old
{ "glVertex3iv", 0, 1, 1, true }, // old
{ "glVertex3fv", 0, 1, 1, true }, // old
{ "glVertex3dv", 0, 1, 1, true }, // old
{ "glVertex4sv", 0, 1, 1, true }, // old
{ "glVertex4iv", 0, 1, 1, true }, // old
{ "glVertex4fv", 0, 1, 1, true }, // old
{ "glVertex4dv", 0, 1, 1, true }, // old
{ "glVertexAttribBinding", 0, 2, 0 },
{ "glVertexArrayAttribBinding", 0, 3, 0 },
{ "glVertexAttribFormat", 0, 5, 0, true },
{ "glVertexAttribIFormat", 0, 4, 0 },
{ "glVertexAttribLFormat", 0, 4, 0 },
{ "glVertexArrayAttribFormat", 0, 6, 0 },
{ "glVertexArrayAttribIFormat", 0, 5, 0 },
{ "glVertexArrayAttribLFormat", 0, 5, 0 },
{ "glVertexBindingDivisor", 0, 2, 0 },
{ "glVertexArrayBindingDivisor", 0, 3, 0 },
{ "glVertexArrayElementBuffer", 0, 3, 0 },
{ "glVertexAttrib1f", 0, 2, 0, true },
{ "glVertexAttrib1s", 0, 2, 0, true },
{ "glVertexAttrib1d", 0, 2, 0 },
{ "glVertexAttribI1i", 0, 2, 0, true },
{ "glVertexAttribI1ui", 0, 2, 0, true },
{ "glVertexAttrib2f", 0, 3, 0, true },
{ "glVertexAttrib2s", 0, 3, 0, true },
{ "glVertexAttrib2d", 0, 3, 0 },
{ "glVertexAttribI2i", 0, 3, 0, true },
{ "glVertexAttribI2ui", 0, 3, 0, true },
{ "glVertexAttrib3f", 0, 4, 0, true },
{ "glVertexAttrib3s", 0, 4, 0, true },
{ "glVertexAttrib3d", 0, 4, 0 },
{ "glVertexAttribI3i", 0, 4, 0, true },
{ "glVertexAttribI3ui", 0, 4, 0, true },
{ "glVertexAttrib4f", 0, 5, 0, true },
{ "glVertexAttrib4s", 0, 5, 0, true },
{ "glVertexAttrib4d", 0, 5, 0 },
{ "glVertexAttribI4i", 0, 5, 0, true },
{ "glVertexAttribI4ui", 0, 5, 0, true },
{ "glVertexAttrib4Nub", 0, 5, 0, true },
{ "glVertexAttribL1d", 0, 2, 0 },
{ "glVertexAttribL2d", 0, 3, 0 },
{ "glVertexAttribL3d", 0, 4, 0 },
{ "glVertexAttribL4d", 0, 5, 0 },
{ "glVertexAttrib1fv", 0, 2, 1 },
{ "glVertexAttrib1sv", 0, 2, 1 },
{ "glVertexAttrib1dv", 0, 2, 1 },
{ "glVertexAttribI1iv", 0, 2, 1 },
{ "glVertexAttribI1uiv", 0, 2, 1 },
{ "glVertexAttrib2fv", 0, 2, 1 },
{ "glVertexAttrib2sv", 0, 2, 1 },
{ "glVertexAttrib2dv", 0, 2, 1 },
{ "glVertexAttribI2iv", 0, 2, 1 },
{ "glVertexAttribI2uiv", 0, 2, 1 },
{ "glVertexAttrib3fv", 0, 2, 1 },
{ "glVertexAttrib3sv", 0, 2, 1 },
{ "glVertexAttrib3dv", 0, 2, 1 },
{ "glVertexAttribI3iv", 0, 2, 1 },
{ "glVertexAttribI3uiv", 0, 2, 1 },
{ "glVertexAttrib4fv", 0, 2, 1 },
{ "glVertexAttrib4sv", 0, 2, 1 },
{ "glVertexAttrib4dv", 0, 2, 1 },
{ "glVertexAttrib4iv", 0, 2, 1 },
{ "glVertexAttrib4bv", 0, 2, 1 },
{ "glVertexAttrib4ubv", 0, 2, 1 },
{ "glVertexAttrib4usv", 0, 2, 1 },
{ "glVertexAttrib4uiv", 0, 2, 1 },
{ "glVertexAttrib4Nbv", 0, 2, 1 },
{ "glVertexAttrib4Nsv", 0, 2, 1 },
{ "glVertexAttrib4Niv", 0, 2, 1 },
{ "glVertexAttrib4Nubv", 0, 2, 1 },
{ "glVertexAttrib4Nusv", 0, 2, 1 },
{ "glVertexAttrib4Nuiv", 0, 2, 1 },
{ "glVertexAttribI4bv", 0, 2, 1 },
{ "glVertexAttribI4ubv", 0, 2, 1 },
{ "glVertexAttribI4sv", 0, 2, 1 },
{ "glVertexAttribI4usv", 0, 2, 1 },
{ "glVertexAttribI4iv", 0, 2, 1 },
{ "glVertexAttribI4uiv", 0, 2, 1 },
{ "glVertexAttribL1dv", 0, 2, 1 },
{ "glVertexAttribL2dv", 0, 2, 1 },
{ "glVertexAttribL3dv", 0, 2, 1 },
{ "glVertexAttribL4dv", 0, 2, 1 },
{ "glVertexAttribP1ui", 0, 4, 0, true },
{ "glVertexAttribP2ui", 0, 4, 0, true },
{ "glVertexAttribP3ui", 0, 4, 0, true },
{ "glVertexAttribP4ui", 0, 4, 0, true },
{ "glVertexAttribBinding", 0, 2, 0 },
{ "glVertexArrayAttribBinding", 0, 3, 0 },
{ "glVertexAttribDivisor", 0, 2, 0 },
{ "glVertexAttribPointer", 0, 6, 1, true },
{ "glVertexAttribIPointer", 0, 5, 1, true },
{ "glVertexAttribLPointer", 0, 5, 1, true },
{ "glVertexPointer", 0, 4, 1 },
{ "glViewport", 0, 4, 0 },
{ "glViewportArrayv", 0, 3, 1 },
{ "glViewportIndexedf", 0, 5, 0 },
{ "glViewportIndexedfv", 0, 2, 1 },
{ "glWaitSync", 0, 3, 0 },
};