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
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
|
#ifndef HONEY_GL_H
#define HONEY_GL_H
#include <lua.h>
#define GL_FUNCTIONS \
X("ActiveShaderProgram", glActiveShaderProgram_bind) \
X("ActiveTexture", glActiveTexture_bind) \
X("AttachShader", glAttachShader_bind) \
X("BeginConditionalRender", glBeginConditionalRender_bind) \
X("BeginQuery", glBeginQuery_bind) \
X("BeginQuery", glBeginQuery_bind) \
X("BeginTransformFeedback", glBeginTransformFeedback_bind) \
X("BindAttribLocation", glBindAttribLocation_bind) \
X("BindBuffer", glBindBuffer_bind) \
X("BindBufferBase", glBindBufferBase_bind) \
X("BindBufferRange", glBindBufferRange_bind) \
X("BindFragDataLocation", glBindFragDataLocation_bind) \
X("BindFragDataLocationIndexed", glBindFragDataLocationIndexed_bind) \
X("BindFramebuffer", glBindFramebuffer_bind) \
X("BindImageTexture", glBindImageTexture_bind) \
X("BindProgramPipeline", glBindProgramPipeline_bind) \
X("BindRenderbuffer", glBindRenderbuffer_bind) \
X("BindSampler", glBindSampler_bind) \
X("BindTexture", glBindTexture_bind) \
X("BindTextureUnit", glBindTextureUnit_bind) \
X("BindTransformFeedback", glBindTransformFeedback_bind) \
X("BindVertexArray", glBindVertexArray_bind) \
X("BindVertexBuffer", glBindVertexBuffer_bind) \
X("BlendColor", glBlendColor_bind) \
X("BlendEquation", glBlendEquation_bind) \
X("BlendEquationi", glBlendEquationi_bind) \
X("BlendEquationSeparate", glBlendEquationSeparate_bind) \
X("BlendEquationSeparatei", glBlendEquationSeparatei_bind) \
X("BlendFunc", glBlendFunc_bind) \
X("BlendFunci", glBlendFunci_bind) \
X("BlendFuncSeparate", glBlendFuncSeparate_bind) \
X("BlendFuncSeparatei", glBlendFuncSeparatei_bind) \
X("BlitFramebuffer", glBlitFramebuffer_bind) \
X("BlitNamedFramebuffer", glBlitNamedFramebuffer_bind) \
X("BufferData", glBufferData_bind) \
X("BufferStorage", glBufferStorage_bind) \
X("BufferSubData", glBufferSubData_bind) \
X("CheckFramebufferStatus", glCheckFramebufferStatus_bind) \
X("CheckNamedFramebufferStatus", glCheckNamedFramebufferStatus_bind) \
X("ClampColor", glClampColor_bind) \
X("Clear", glClear_bind) \
X("ClearBufferiv", glClearBufferiv_bind) \
X("ClearBufferuiv", glClearBufferuiv_bind) \
X("ClearBufferfv", glClearBufferfv_bind) \
X("ClearBufferfi", glClearBufferfi_bind) \
X("ClearStencil", glClearStencil_bind) \
X("ClientWaitSync", glClientWaitSync_bind) \
X("ColorMask", glColorMask_bind) \
X("ColorMaski", glColorMaski_bind) \
X("CompileShader", glCompileShader_bind) \
X("CompressedTexImage1D", glCompressedTexImage1D_bind) \
X("CompressedTexImage2D", glCompressedTexImage2D_bind) \
X("CompressedTexImage3D", glCompressedTexImage3D_bind) \
X("CompressedTexSubImage1D", glCompressedTexSubImage1D_bind) \
X("CompressedTexSubImage2D", glCompressedTexSubImage2D_bind) \
X("CompressedTexSubImage3D", glCompressedTexSubImage3D_bind) \
X("CopyBufferSubData", glCopyBufferSubData_bind) \
X("CopyBufferSubData", glCopyBufferSubData_bind) \
X("CopyTexImage1D", glCopyTexImage1D_bind) \
X("CopyTexImage2D", glCopyTexImage2D_bind) \
X("CopyTexSubImage1D", glCopyTexSubImage1D_bind) \
X("CopyTexSubImage2D", glCopyTexSubImage2D_bind) \
X("CopyTexSubImage3D", glCopyTexSubImage3D_bind) \
X("CreateProgram", glCreateProgram_bind) \
X("CreateShader", glCreateShader_bind) \
X("CreateShaderProgramv", glCreateShaderProgramv_bind) \
X("CullFace", glCullFace_bind) \
X("DeleteBuffers", glDeleteBuffers_bind) \
X("DeleteFramebuffers", glDeleteFramebuffers_bind) \
X("DeleteProgram", glDeleteProgram_bind) \
X("DeleteProgramPipelines", glDeleteProgramPipelines_bind) \
X("DeleteQueries", glDeleteQueries_bind) \
X("DeleteRenderbuffers", glDeleteRenderbuffers_bind) \
X("DeleteSamplers", glDeleteSamplers_bind) \
X("DeleteShader", glDeleteShader_bind) \
X("DeleteSync", glDeleteSync_bind) \
X("DeleteTextures", glDeleteTextures_bind) \
X("DeleteTransformFeedbacks", glDeleteTransformFeedbacks_bind) \
X("DeleteVertexArrays", glDeleteVertexArrays_bind) \
X("DepthFunc", glDepthFunc_bind) \
X("DepthMask", glDepthMask_bind) \
X("DepthRange", glDepthRange_bind) \
X("DepthRangef", glDepthRangef_bind) \
X("DepthRangeArrayv", glDepthRangeArrayv_bind) \
X("DepthRangeIndexed", glDepthRangeIndexed_bind) \
X("DetachShader", glDetachShader_bind) \
X("Disable", glDisable_bind) \
X("Disablei", glDisablei_bind) \
X("DisableVertexAttribArray", glDisableVertexAttribArray_bind) \
X("DrawArrays", glDrawArrays_bind) \
X("DrawArraysIndirect", glDrawArraysIndirect_bind) \
X("DrawArraysInstanced", glDrawArraysInstanced_bind) \
X("DrawBuffer", glDrawBuffer_bind) \
X("DrawBuffers", glDrawBuffers_bind) \
X("DrawElements", glDrawElements_bind) \
X("DrawElementsBaseVertex", glDrawElementsBaseVertex_bind) \
X("DrawElementsIndirect", glDrawElementsIndirect_bind) \
X("DrawElementsInstanced", glDrawElementsInstanced_bind) \
X("DrawRangeElements", glDrawRangeElements_bind) \
X("DrawRangeElementsBaseVertex", glDrawRangeElementsBaseVertex_bind) \
X("DrawTransformFeedback", glDrawTransformFeedback_bind) \
X("DrawTransformFeedbackStream", glDrawTransformFeedbackStream_bind) \
X("Enable", glEnable_bind) \
X("Enablei", glEnablei_bind) \
X("EnableVertexAttribArray", glEnableVertexAttribArray_bind) \
X("EndConditionalRender", glEndConditionalRender_bind) \
X("EndQuery", glEndQuery_bind) \
X("EndQueryIndexed", glEndQueryIndexed_bind) \
X("EndTransformFeedback", glEndTransformFeedback_bind) \
X("FenceSync", glFenceSync_bind) \
X("Finish", glFinish_bind) \
X("Flush", glFlush_bind) \
X("FlushMappedBufferRange", glFlushMappedBufferRange_bind) \
X("FramebufferRenderbuffer", glFramebufferRenderbuffer_bind) \
X("FramebufferTexture", glFramebufferTexture_bind) \
X("FramebufferTexture1D", glFramebufferTexture1D_bind) \
X("FramebufferTexture2D", glFramebufferTexture2D_bind) \
X("FramebufferTexture3D", glFramebufferTexture3D_bind) \
X("FramebufferTextureLayer", glFramebufferTextureLayer_bind) \
X("FrontFace", glFrontFace_bind) \
X("GenBuffers", glGenBuffers_bind) \
X("GenerateMipmap", glGenerateMipmap_bind) \
X("GenFramebuffers", glGenFramebuffers_bind) \
X("GenProgramPipelines", glGenProgramPipelines_bind) \
X("GenQueries", glGenQueries_bind) \
X("GenRenderbuffers", glGenRenderbuffers_bind) \
X("GenSamplers", glGenSamplers_bind) \
X("GenTextures", glGenTextures_bind) \
X("GenTransformFeedbacks", glGenTransformFeedbacks_bind) \
X("GenVertexArrays", glGenVertexArrays_bind) \
X("GetBooleanv", glGetBooleanv_bind) \
X("GetDoublev", glGetDoublev_bind) \
X("GetFloatv", glGetFloatv_bind) \
X("GetIntegerv", glGetIntegerv_bind) \
X("GetInteger64v", glGetInteger64v_bind) \
X("GetBooleani_v", glGetBooleani_v_bind) \
X("GetIntegeri_v", glGetIntegeri_v_bind) \
X("GetFloati_v", glGetFloati_v_bind) \
X("GetDoublei_v", glGetDoublei_v_bind) \
X("GetInteger64i_v", glGetInteger64i_v_bind) \
X("GetActiveAttrib", glGetActiveAttrib_bind) \
X("GetActiveSubroutineName", glGetActiveSubroutineName_bind) \
X("GetActiveSubroutineUniformiv", glGetActiveSubroutineUniformiv_bind) \
X("GetActiveSubroutineUniformName", glGetActiveSubroutineUniformName_bind) \
X("GetActiveUniform", glGetActiveUniform_bind) \
X("GetActiveUniformBlockiv", glGetActiveUniformBlockiv_bind) \
X("GetActiveUniformBlockName", glGetActiveUniformBlockName_bind) \
X("GetActiveUniformName", glGetActiveUniformName_bind) \
X("GetActiveUniformsiv", glGetActiveUniformsiv_bind) \
X("GetAttachedShaders", glGetAttachedShaders_bind) \
X("GetAttribLocation", glGetAttribLocation_bind) \
X("GetBufferParameteriv", glGetBufferParameteriv_bind) \
X("GetBufferParameteri64v", glGetBufferParameteri64v_bind) \
X("GetBufferPointerv", glGetBufferPointerv_bind) \
X("GetBufferSubData", glGetBufferSubData_bind) \
X("GetCompressedTexImage", glGetCompressedTexImage_bind) \
X("GetError", glGetError_bind) \
X("GetFragDataIndex", glGetFragDataIndex_bind) \
X("GetFragDataLocation", glGetFragDataLocation_bind) \
X("GetFramebufferAttachmentParameteriv", glGetFramebufferAttachmentParameteriv_bind) \
X("GetMultisamplefv", glGetMultisamplefv_bind) \
X("GetUniformfv", glGetUniformfv_bind) \
X("GetUniformiv", glGetUniformiv_bind) \
X("GetUniformuiv", glGetUniformuiv_bind) \
X("GetUniformdv", glGetUniformdv_bind) \
X("GetProgramiv", glGetProgramiv_bind) \
X("GetProgramBinary", glGetProgramBinary_bind) \
X("GetProgramInfoLog", glGetProgramInfoLog_bind) \
X("GetProgramPipelineiv", glGetProgramPipelineiv_bind) \
X("GetProgramPipelineInfoLog", glGetProgramPipelineInfoLog_bind) \
X("GetProgramPipelineiv", glGetProgramPipelineiv_bind) \
X("GetProgramStageiv", glGetProgramStageiv_bind) \
X("GetQueryIndexediv", glGetQueryIndexediv_bind) \
X("GetQueryiv", glGetQueryiv_bind) \
X("GetRenderbufferParameteriv", glGetRenderbufferParameteriv_bind) \
X("GetSamplerParameterfv", glGetSamplerParameterfv_bind) \
X("GetSamplerParameteriv", glGetSamplerParameteriv_bind) \
X("GetSamplerParameterIiv", glGetSamplerParameterIiv_bind) \
X("GetSamplerParameterIuiv", glGetSamplerParameterIuiv_bind) \
X("GetShaderiv", glGetShaderiv_bind) \
X("GetShaderInfoLog", glGetShaderInfoLog_bind) \
X("GetShaderiv", glGetShaderiv_bind) \
X("GetShaderPrecisionFormat", glGetShaderPrecisionFormat_bind) \
X("GetShaderSource", glGetShaderSource_bind) \
X("GetString", glGetString_bind) \
X("GetStringi", glGetStringi_bind) \
X("GetSubroutineIndex", glGetSubroutineIndex_bind) \
X("GetSubroutineUniformLocation", glGetSubroutineUniformLocation_bind) \
X("GetSynciv", glGetSynciv_bind) \
X("GetTexImage", glGetTexImage_bind) \
X("GetTexLevelParameterfv", glGetTexLevelParameterfv_bind) \
X("GetTexLevelParameteriv", glGetTexLevelParameteriv_bind) \
X("GetTexParameterfv", glGetTexParameterfv_bind) \
X("GetTexParameteriv", glGetTexParameteriv_bind) \
X("GetTexParameterIiv", glGetTexParameterIiv_bind) \
X("GetTexParameterIuiv", glGetTexParameterIuiv_bind) \
X("GetTransformFeedbackVarying", glGetTransformFeedbackVarying_bind) \
X("GetUniformBlockIndex", glGetUniformBlockIndex_bind) \
X("GetUniformIndices", glGetUniformIndices_bind) \
X("GetUniformLocation", glGetUniformLocation_bind) \
X("GetUniformSubroutineuiv", glGetUniformSubroutineuiv_bind) \
X("GetVertexAttribdv", glGetVertexAttribdv_bind) \
X("GetVertexAttribfv", glGetVertexAttribfv_bind) \
X("GetVertexAttribiv", glGetVertexAttribiv_bind) \
X("GetVertexAttribIiv", glGetVertexAttribIiv_bind) \
X("GetVertexAttribIuiv", glGetVertexAttribIuiv_bind) \
X("GetVertexAttribLdv", glGetVertexAttribLdv_bind) \
X("GetVertexAttribPointerv", glGetVertexAttribPointerv_bind) \
X("Hint", glHint_bind) \
X("IsBuffer", glIsBuffer_bind) \
X("IsEnabled", glIsEnabled_bind) \
X("IsEnabledi", glIsEnabledi_bind) \
X("IsFramebuffer", glIsFramebuffer_bind) \
X("IsProgram", glIsProgram_bind) \
X("IsProgramPipeline", glIsProgramPipeline_bind) \
X("IsQuery", glIsQuery_bind) \
X("IsRenderbuffer", glIsRenderbuffer_bind) \
X("IsSampler", glIsSampler_bind) \
X("IsShader", glIsShader_bind) \
X("IsSync", glIsSync_bind) \
X("IsTexture", glIsTexture_bind) \
X("IsTransformFeedback", glIsTransformFeedback_bind) \
X("IsVertexArray", glIsVertexArray_bind) \
X("LineWidth", glLineWidth_bind) \
X("LinkProgram", glLinkProgram_bind) \
X("LogicOp", glLogicOp_bind) \
X("MapBuffer", glMapBuffer_bind) \
X("MapBufferRange", glMapBufferRange_bind) \
X("MinSampleShading", glMinSampleShading_bind) \
X("MultiDrawArrays", glMultiDrawArrays_bind) \
X("MultiDrawElements", glMultiDrawElements_bind) \
X("MultiDrawElementsBaseVertex", glMultiDrawElementsBaseVertex_bind) \
X("PatchParameteri", glPatchParameteri_bind) \
X("PatchParameterfv", glPatchParameterfv_bind) \
X("PauseTransformFeedback", glPauseTransformFeedback_bind) \
X("PixelStoref", glPixelStoref_bind) \
X("PixelStorei", glPixelStorei_bind) \
X("PointParameterf", glPointParameterf_bind) \
X("PointParameteri", glPointParameteri_bind) \
X("PointParameterfv", glPointParameterfv_bind) \
X("PointParameteriv", glPointParameteriv_bind) \
X("PointSize", glPointSize_bind) \
X("PolygonMode", glPolygonMode_bind) \
X("PolygonOffset", glPolygonOffset_bind) \
X("PrimitiveRestartIndex", glPrimitiveRestartIndex_bind) \
X("ProgramBinary", glProgramBinary_bind) \
X("ProgramParameteri", glProgramParameteri_bind) \
X("ProgramUniform1f", glProgramUniform1f_bind) \
X("ProgramUniform2f", glProgramUniform2f_bind) \
X("ProgramUniform3f", glProgramUniform3f_bind) \
X("ProgramUniform4f", glProgramUniform4f_bind) \
X("ProgramUniform1i", glProgramUniform1i_bind) \
X("ProgramUniform2i", glProgramUniform2i_bind) \
X("ProgramUniform3i", glProgramUniform3i_bind) \
X("ProgramUniform4i", glProgramUniform4i_bind) \
X("ProgramUniform1ui", glProgramUniform1ui_bind) \
X("ProgramUniform2ui", glProgramUniform2ui_bind) \
X("ProgramUniform3ui", glProgramUniform3ui_bind) \
X("ProgramUniform4ui", glProgramUniform4ui_bind) \
X("ProgramUniform1fv", glProgramUniform1fv_bind) \
X("ProgramUniform2fv", glProgramUniform2fv_bind) \
X("ProgramUniform3fv", glProgramUniform3fv_bind) \
X("ProgramUniform4fv", glProgramUniform4fv_bind) \
X("ProgramUniform1iv", glProgramUniform1iv_bind) \
X("ProgramUniform2iv", glProgramUniform2iv_bind) \
X("ProgramUniform3iv", glProgramUniform3iv_bind) \
X("ProgramUniform4iv", glProgramUniform4iv_bind) \
X("ProgramUniform1uiv", glProgramUniform1uiv_bind) \
X("ProgramUniform2uiv", glProgramUniform2uiv_bind) \
X("ProgramUniform3uiv", glProgramUniform3uiv_bind) \
X("ProgramUniform4uiv", glProgramUniform4uiv_bind) \
X("ProgramUniformMatrix2fv", glProgramUniformMatrix2fv_bind) \
X("ProgramUniformMatrix3fv", glProgramUniformMatrix3fv_bind) \
X("ProgramUniformMatrix4fv", glProgramUniformMatrix4fv_bind) \
X("ProgramUniformMatrix2x3fv", glProgramUniformMatrix2x3fv_bind) \
X("ProgramUniformMatrix3x2fv", glProgramUniformMatrix3x2fv_bind) \
X("ProgramUniformMatrix2x4fv", glProgramUniformMatrix2x4fv_bind) \
X("ProgramUniformMatrix4x2fv", glProgramUniformMatrix4x2fv_bind) \
X("ProgramUniformMatrix3x4fv", glProgramUniformMatrix3x4fv_bind) \
X("ProgramUniformMatrix4x3fv", glProgramUniformMatrix4x3fv_bind) \
X("ProvokingVertex", glProvokingVertex_bind) \
X("QueryCounter", glQueryCounter_bind) \
X("ReadBuffer", glReadBuffer_bind) \
X("ReadPixels", glReadPixels_bind) \
X("ReleaseShaderCompiler", glReleaseShaderCompiler_bind) \
X("RenderbufferStorage", glRenderbufferStorage_bind) \
X("RenderbufferStorageMultisample", glRenderbufferStorageMultisample_bind) \
X("ResumeTransformFeedback", glResumeTransformFeedback_bind) \
X("SampleCoverage", glSampleCoverage_bind) \
X("SampleMaski", glSampleMaski_bind) \
X("SamplerParameterf", glSamplerParameterf_bind) \
X("SamplerParameteri", glSamplerParameteri_bind) \
X("SamplerParameterfv", glSamplerParameterfv_bind) \
X("SamplerParameteriv", glSamplerParameteriv_bind) \
X("SamplerParameterIiv", glSamplerParameterIiv_bind) \
X("SamplerParameterIuiv", glSamplerParameterIuiv_bind) \
X("Scissor", glScissor_bind) \
X("ScissorArrayv", glScissorArrayv_bind) \
X("ScissorIndexed", glScissorIndexed_bind) \
X("ScissorIndexedv", glScissorIndexedv_bind) \
X("ShaderBinary", glShaderBinary_bind) \
X("ShaderSource", glShaderSource_bind) \
X("StencilFunc", glStencilFunc_bind) \
X("StencilFuncSeparate", glStencilFuncSeparate_bind) \
X("StencilMask", glStencilMask_bind) \
X("StencilMaskSeparate", glStencilMaskSeparate_bind) \
X("StencilOp", glStencilOp_bind) \
X("StencilOpSeparate", glStencilOpSeparate_bind) \
X("TexBuffer", glTexBuffer_bind) \
X("TexImage1D", glTexImage1D_bind) \
X("TexImage2D", glTexImage2D_bind) \
X("TexImage2DMultisample", glTexImage2DMultisample_bind) \
X("TexImage3D", glTexImage3D_bind) \
X("TexImage3DMultisample", glTexImage3DMultisample_bind) \
X("TexParameterf", glTexParameterf_bind) \
X("TexParameteri", glTexParameteri_bind) \
X("TexParameterfv", glTexParameterfv_bind) \
X("TexParameteriv", glTexParameteriv_bind) \
X("TexParameterIiv", glTexParameterIiv_bind) \
X("TexParameterIuiv", glTexParameterIuiv_bind) \
X("TexSubImage1D", glTexSubImage1D_bind) \
X("TexSubImage2D", glTexSubImage2D_bind) \
X("TexSubImage3D", glTexSubImage3D_bind) \
X("TransformFeedbackVaryings", glTransformFeedbackVaryings_bind) \
X("Uniform1f", glUniform1f_bind) \
X("Uniform2f", glUniform2f_bind) \
X("Uniform3f", glUniform3f_bind) \
X("Uniform4f", glUniform4f_bind) \
X("Uniform1i", glUniform1i_bind) \
X("Uniform2i", glUniform2i_bind) \
X("Uniform3i", glUniform3i_bind) \
X("Uniform4i", glUniform4i_bind) \
X("Uniform1ui", glUniform1ui_bind) \
X("Uniform2ui", glUniform2ui_bind) \
X("Uniform3ui", glUniform3ui_bind) \
X("Uniform4ui", glUniform4ui_bind) \
X("Uniform1fv", glUniform1fv_bind) \
X("Uniform2fv", glUniform2fv_bind) \
X("Uniform3fv", glUniform3fv_bind) \
X("Uniform4fv", glUniform4fv_bind) \
X("Uniform1iv", glUniform1iv_bind) \
X("Uniform2iv", glUniform2iv_bind) \
X("Uniform3iv", glUniform3iv_bind) \
X("Uniform4iv", glUniform4iv_bind) \
X("Uniform1uiv", glUniform1uiv_bind) \
X("Uniform2uiv", glUniform2uiv_bind) \
X("Uniform3uiv", glUniform3uiv_bind) \
X("Uniform4uiv", glUniform4uiv_bind) \
X("UniformMatrix2fv", glUniformMatrix2fv_bind) \
X("UniformMatrix3fv", glUniformMatrix3fv_bind) \
X("UniformMatrix4fv", glUniformMatrix4fv_bind) \
X("UniformMatrix2x3fv", glUniformMatrix2x3fv_bind) \
X("UniformMatrix3x2fv", glUniformMatrix3x2fv_bind) \
X("UniformMatrix2x4fv", glUniformMatrix2x4fv_bind) \
X("UniformMatrix4x2fv", glUniformMatrix4x2fv_bind) \
X("UniformMatrix3x4fv", glUniformMatrix3x4fv_bind) \
X("UniformMatrix4x3fv", glUniformMatrix4x3fv_bind) \
X("UniformSubroutinesuiv", glUniformSubroutinesuiv_bind) \
X("UnmapBuffer", glUnmapBuffer_bind) \
X("UseProgram", glUseProgram_bind) \
X("UseProgramStages", glUseProgramStages_bind) \
X("ValidateProgram", glValidateProgram_bind) \
X("ValidateProgramPipeline", glValidateProgramPipeline_bind) \
X("VertexAttrib1f", glVertexAttrib1f_bind) \
X("VertexAttrib1s", glVertexAttrib1s_bind) \
X("VertexAttrib1d", glVertexAttrib1d_bind) \
X("VertexAttribI1i", glVertexAttribI1i_bind) \
X("VertexAttribI1ui", glVertexAttribI1ui_bind) \
X("VertexAttrib2f", glVertexAttrib2f_bind) \
X("VertexAttrib2s", glVertexAttrib2s_bind) \
X("VertexAttrib2d", glVertexAttrib2d_bind) \
X("VertexAttribI2i", glVertexAttribI2i_bind) \
X("VertexAttribI2ui", glVertexAttribI2ui_bind) \
X("VertexAttrib3f", glVertexAttrib3f_bind) \
X("VertexAttrib3s", glVertexAttrib3s_bind) \
X("VertexAttrib3d", glVertexAttrib3d_bind) \
X("VertexAttribI3i", glVertexAttribI3i_bind) \
X("VertexAttribI3ui", glVertexAttribI3ui_bind) \
X("VertexAttrib4f", glVertexAttrib4f_bind) \
X("VertexAttrib4s", glVertexAttrib4s_bind) \
X("VertexAttrib4d", glVertexAttrib4d_bind) \
X("VertexAttrib4Nub", glVertexAttrib4Nub_bind) \
X("VertexAttribI4i", glVertexAttribI4i_bind) \
X("VertexAttribI4ui", glVertexAttribI4ui_bind) \
X("VertexAttribL1d", glVertexAttribL1d_bind) \
X("VertexAttribL2d", glVertexAttribL2d_bind) \
X("VertexAttribL3d", glVertexAttribL3d_bind) \
X("VertexAttribL4d", glVertexAttribL4d_bind) \
X("VertexAttrib1fv", glVertexAttrib1fv_bind) \
X("VertexAttrib1sv", glVertexAttrib1sv_bind) \
X("VertexAttrib1dv", glVertexAttrib1dv_bind) \
X("VertexAttribI1iv", glVertexAttribI1iv_bind) \
X("VertexAttribI1uiv", glVertexAttribI1uiv_bind) \
X("VertexAttrib2fv", glVertexAttrib2fv_bind) \
X("VertexAttrib2sv", glVertexAttrib2sv_bind) \
X("VertexAttrib2dv", glVertexAttrib2dv_bind) \
X("VertexAttribI2iv", glVertexAttribI2iv_bind) \
X("VertexAttribI2uiv", glVertexAttribI2uiv_bind) \
X("VertexAttrib3fv", glVertexAttrib3fv_bind) \
X("VertexAttrib3sv", glVertexAttrib3sv_bind) \
X("VertexAttrib3dv", glVertexAttrib3dv_bind) \
X("VertexAttribI3iv", glVertexAttribI3iv_bind) \
X("VertexAttribI3uiv", glVertexAttribI3uiv_bind) \
X("VertexAttrib4fv", glVertexAttrib4fv_bind) \
X("VertexAttrib4sv", glVertexAttrib4sv_bind) \
X("VertexAttrib4dv", glVertexAttrib4dv_bind) \
X("VertexAttrib4iv", glVertexAttrib4iv_bind) \
X("VertexAttrib4bv", glVertexAttrib4bv_bind) \
X("VertexAttrib4ubv", glVertexAttrib4ubv_bind) \
X("VertexAttrib4usv", glVertexAttrib4usv_bind) \
X("VertexAttrib4uiv", glVertexAttrib4uiv_bind) \
X("VertexAttrib4Nbv", glVertexAttrib4Nbv_bind) \
X("VertexAttrib4Nsv", glVertexAttrib4Nsv_bind) \
X("VertexAttrib4Niv", glVertexAttrib4Niv_bind) \
X("VertexAttrib4Nubv", glVertexAttrib4Nubv_bind) \
X("VertexAttrib4Nusv", glVertexAttrib4Nusv_bind) \
X("VertexAttrib4Nuiv", glVertexAttrib4Nuiv_bind) \
X("VertexAttribI4bv", glVertexAttribI4bv_bind) \
X("VertexAttribI4ubv", glVertexAttribI4ubv_bind) \
X("VertexAttribI4sv", glVertexAttribI4sv_bind) \
X("VertexAttribI4usv", glVertexAttribI4usv_bind) \
X("VertexAttribI4iv", glVertexAttribI4iv_bind) \
X("VertexAttribI4uiv", glVertexAttribI4uiv_bind) \
X("VertexAttribL1dv", glVertexAttribL1dv_bind) \
X("VertexAttribL2dv", glVertexAttribL2dv_bind) \
X("VertexAttribL3dv", glVertexAttribL3dv_bind) \
X("VertexAttribL4dv", glVertexAttribL4dv_bind) \
X("VertexAttribP1ui", glVertexAttribP1ui_bind) \
X("VertexAttribP2ui", glVertexAttribP2ui_bind) \
X("VertexAttribP3ui", glVertexAttribP3ui_bind) \
X("VertexAttribP4ui", glVertexAttribP4ui_bind) \
X("VertexAttribPointer", glVertexAttribPointer_bind) \
X("VertexAttribIPointer", glVertexAttribIPointer_bind) \
X("Viewport", glViewport_bind) \
X("ViewportArrayv", glViewportArrayv_bind) \
X("ViewportIndexedf", glViewportIndexedf_bind) \
X("ViewportIndexedfv", glViewportIndexedfv_bind) \
X("WaitSync", glWaitSync_bind) \
#define GL_ENUM \
X("DEPTH_BUFFER_BIT", GL_DEPTH_BUFFER_BIT) \
X("STENCIL_BUFFER_BIT", GL_STENCIL_BUFFER_BIT) \
X("COLOR_BUFFER_BIT", GL_COLOR_BUFFER_BIT) \
X("FALSE", GL_FALSE) \
X("TRUE", GL_TRUE) \
X("POINTS", GL_POINTS) \
X("LINES", GL_LINES) \
X("LINE_LOOP", GL_LINE_LOOP) \
X("LINE_STRIP", GL_LINE_STRIP) \
X("TRIANGLES", GL_TRIANGLES) \
X("TRIANGLE_STRIP", GL_TRIANGLE_STRIP) \
X("TRIANGLE_FAN", GL_TRIANGLE_FAN) \
X("QUADS", GL_QUADS) \
X("NEVER", GL_NEVER) \
X("LESS", GL_LESS) \
X("EQUAL", GL_EQUAL) \
X("LEQUAL", GL_LEQUAL) \
X("GREATER", GL_GREATER) \
X("NOTEQUAL", GL_NOTEQUAL) \
X("GEQUAL", GL_GEQUAL) \
X("ALWAYS", GL_ALWAYS) \
X("ZERO", GL_ZERO) \
X("ONE", GL_ONE) \
X("SRC_COLOR", GL_SRC_COLOR) \
X("ONE_MINUS_SRC_COLOR", GL_ONE_MINUS_SRC_COLOR) \
X("SRC_ALPHA", GL_SRC_ALPHA) \
X("ONE_MINUS_SRC_ALPHA", GL_ONE_MINUS_SRC_ALPHA) \
X("DST_ALPHA", GL_DST_ALPHA) \
X("ONE_MINUS_DST_ALPHA", GL_ONE_MINUS_DST_ALPHA) \
X("DST_COLOR", GL_DST_COLOR) \
X("ONE_MINUS_DST_COLOR", GL_ONE_MINUS_DST_COLOR) \
X("SRC_ALPHA_SATURATE", GL_SRC_ALPHA_SATURATE) \
X("NONE", GL_NONE) \
X("FRONT_LEFT", GL_FRONT_LEFT) \
X("FRONT_RIGHT", GL_FRONT_RIGHT) \
X("BACK_LEFT", GL_BACK_LEFT) \
X("BACK_RIGHT", GL_BACK_RIGHT) \
X("FRONT", GL_FRONT) \
X("BACK", GL_BACK) \
X("LEFT", GL_LEFT) \
X("RIGHT", GL_RIGHT) \
X("FRONT_AND_BACK", GL_FRONT_AND_BACK) \
X("NO_ERROR", GL_NO_ERROR) \
X("INVALID_ENUM", GL_INVALID_ENUM) \
X("INVALID_VALUE", GL_INVALID_VALUE) \
X("INVALID_OPERATION", GL_INVALID_OPERATION) \
X("OUT_OF_MEMORY", GL_OUT_OF_MEMORY) \
X("CW", GL_CW) \
X("CCW", GL_CCW) \
X("POINT_SIZE", GL_POINT_SIZE) \
X("POINT_SIZE_RANGE", GL_POINT_SIZE_RANGE) \
X("POINT_SIZE_GRANULARITY", GL_POINT_SIZE_GRANULARITY) \
X("LINE_SMOOTH", GL_LINE_SMOOTH) \
X("LINE_WIDTH", GL_LINE_WIDTH) \
X("LINE_WIDTH_RANGE", GL_LINE_WIDTH_RANGE) \
X("LINE_WIDTH_GRANULARITY", GL_LINE_WIDTH_GRANULARITY) \
X("POLYGON_MODE", GL_POLYGON_MODE) \
X("POLYGON_SMOOTH", GL_POLYGON_SMOOTH) \
X("CULL_FACE", GL_CULL_FACE) \
X("CULL_FACE_MODE", GL_CULL_FACE_MODE) \
X("FRONT_FACE", GL_FRONT_FACE) \
X("DEPTH_RANGE", GL_DEPTH_RANGE) \
X("DEPTH_TEST", GL_DEPTH_TEST) \
X("DEPTH_WRITEMASK", GL_DEPTH_WRITEMASK) \
X("DEPTH_CLEAR_VALUE", GL_DEPTH_CLEAR_VALUE) \
X("DEPTH_FUNC", GL_DEPTH_FUNC) \
X("STENCIL_TEST", GL_STENCIL_TEST) \
X("STENCIL_CLEAR_VALUE", GL_STENCIL_CLEAR_VALUE) \
X("STENCIL_FUNC", GL_STENCIL_FUNC) \
X("STENCIL_VALUE_MASK", GL_STENCIL_VALUE_MASK) \
X("STENCIL_FAIL", GL_STENCIL_FAIL) \
X("STENCIL_PASS_DEPTH_FAIL", GL_STENCIL_PASS_DEPTH_FAIL) \
X("STENCIL_PASS_DEPTH_PASS", GL_STENCIL_PASS_DEPTH_PASS) \
X("STENCIL_REF", GL_STENCIL_REF) \
X("STENCIL_WRITEMASK", GL_STENCIL_WRITEMASK) \
X("VIEWPORT", GL_VIEWPORT) \
X("DITHER", GL_DITHER) \
X("BLEND_DST", GL_BLEND_DST) \
X("BLEND_SRC", GL_BLEND_SRC) \
X("BLEND", GL_BLEND) \
X("LOGIC_OP_MODE", GL_LOGIC_OP_MODE) \
X("DRAW_BUFFER", GL_DRAW_BUFFER) \
X("READ_BUFFER", GL_READ_BUFFER) \
X("SCISSOR_BOX", GL_SCISSOR_BOX) \
X("SCISSOR_TEST", GL_SCISSOR_TEST) \
X("COLOR_CLEAR_VALUE", GL_COLOR_CLEAR_VALUE) \
X("COLOR_WRITEMASK", GL_COLOR_WRITEMASK) \
X("DOUBLEBUFFER", GL_DOUBLEBUFFER) \
X("STEREO", GL_STEREO) \
X("LINE_SMOOTH_HINT", GL_LINE_SMOOTH_HINT) \
X("POLYGON_SMOOTH_HINT", GL_POLYGON_SMOOTH_HINT) \
X("UNPACK_SWAP_BYTES", GL_UNPACK_SWAP_BYTES) \
X("UNPACK_LSB_FIRST", GL_UNPACK_LSB_FIRST) \
X("UNPACK_ROW_LENGTH", GL_UNPACK_ROW_LENGTH) \
X("UNPACK_SKIP_ROWS", GL_UNPACK_SKIP_ROWS) \
X("UNPACK_SKIP_PIXELS", GL_UNPACK_SKIP_PIXELS) \
X("UNPACK_ALIGNMENT", GL_UNPACK_ALIGNMENT) \
X("PACK_SWAP_BYTES", GL_PACK_SWAP_BYTES) \
X("PACK_LSB_FIRST", GL_PACK_LSB_FIRST) \
X("PACK_ROW_LENGTH", GL_PACK_ROW_LENGTH) \
X("PACK_SKIP_ROWS", GL_PACK_SKIP_ROWS) \
X("PACK_SKIP_PIXELS", GL_PACK_SKIP_PIXELS) \
X("PACK_ALIGNMENT", GL_PACK_ALIGNMENT) \
X("MAX_TEXTURE_SIZE", GL_MAX_TEXTURE_SIZE) \
X("MAX_VIEWPORT_DIMS", GL_MAX_VIEWPORT_DIMS) \
X("SUBPIXEL_BITS", GL_SUBPIXEL_BITS) \
X("TEXTURE_1D", GL_TEXTURE_1D) \
X("TEXTURE_2D", GL_TEXTURE_2D) \
X("TEXTURE_WIDTH", GL_TEXTURE_WIDTH) \
X("TEXTURE_HEIGHT", GL_TEXTURE_HEIGHT) \
X("TEXTURE_BORDER_COLOR", GL_TEXTURE_BORDER_COLOR) \
X("DONT_CARE", GL_DONT_CARE) \
X("FASTEST", GL_FASTEST) \
X("NICEST", GL_NICEST) \
X("BYTE", GL_BYTE) \
X("UNSIGNED_BYTE", GL_UNSIGNED_BYTE) \
X("SHORT", GL_SHORT) \
X("UNSIGNED_SHORT", GL_UNSIGNED_SHORT) \
X("INT", GL_INT) \
X("UNSIGNED_INT", GL_UNSIGNED_INT) \
X("FLOAT", GL_FLOAT) \
X("STACK_OVERFLOW", GL_STACK_OVERFLOW) \
X("STACK_UNDERFLOW", GL_STACK_UNDERFLOW) \
X("CLEAR", GL_CLEAR) \
X("AND", GL_AND) \
X("AND_REVERSE", GL_AND_REVERSE) \
X("COPY", GL_COPY) \
X("AND_INVERTED", GL_AND_INVERTED) \
X("NOOP", GL_NOOP) \
X("XOR", GL_XOR) \
X("OR", GL_OR) \
X("NOR", GL_NOR) \
X("EQUIV", GL_EQUIV) \
X("INVERT", GL_INVERT) \
X("OR_REVERSE", GL_OR_REVERSE) \
X("COPY_INVERTED", GL_COPY_INVERTED) \
X("OR_INVERTED", GL_OR_INVERTED) \
X("NAND", GL_NAND) \
X("SET", GL_SET) \
X("TEXTURE", GL_TEXTURE) \
X("COLOR", GL_COLOR) \
X("DEPTH", GL_DEPTH) \
X("STENCIL", GL_STENCIL) \
X("STENCIL_INDEX", GL_STENCIL_INDEX) \
X("DEPTH_COMPONENT", GL_DEPTH_COMPONENT) \
X("RED", GL_RED) \
X("GREEN", GL_GREEN) \
X("BLUE", GL_BLUE) \
X("ALPHA", GL_ALPHA) \
X("RGB", GL_RGB) \
X("RGBA", GL_RGBA) \
X("POINT", GL_POINT) \
X("LINE", GL_LINE) \
X("FILL", GL_FILL) \
X("KEEP", GL_KEEP) \
X("REPLACE", GL_REPLACE) \
X("INCR", GL_INCR) \
X("DECR", GL_DECR) \
X("VENDOR", GL_VENDOR) \
X("RENDERER", GL_RENDERER) \
X("VERSION", GL_VERSION) \
X("EXTENSIONS", GL_EXTENSIONS) \
X("NEAREST", GL_NEAREST) \
X("LINEAR", GL_LINEAR) \
X("NEAREST_MIPMAP_NEAREST", GL_NEAREST_MIPMAP_NEAREST) \
X("LINEAR_MIPMAP_NEAREST", GL_LINEAR_MIPMAP_NEAREST) \
X("NEAREST_MIPMAP_LINEAR", GL_NEAREST_MIPMAP_LINEAR) \
X("LINEAR_MIPMAP_LINEAR", GL_LINEAR_MIPMAP_LINEAR) \
X("TEXTURE_MAG_FILTER", GL_TEXTURE_MAG_FILTER) \
X("TEXTURE_MIN_FILTER", GL_TEXTURE_MIN_FILTER) \
X("TEXTURE_WRAP_S", GL_TEXTURE_WRAP_S) \
X("TEXTURE_WRAP_T", GL_TEXTURE_WRAP_T) \
X("REPEAT", GL_REPEAT) \
X("CURRENT_BIT", GL_CURRENT_BIT) \
X("POINT_BIT", GL_POINT_BIT) \
X("LINE_BIT", GL_LINE_BIT) \
X("POLYGON_BIT", GL_POLYGON_BIT) \
X("POLYGON_STIPPLE_BIT", GL_POLYGON_STIPPLE_BIT) \
X("PIXEL_MODE_BIT", GL_PIXEL_MODE_BIT) \
X("LIGHTING_BIT", GL_LIGHTING_BIT) \
X("FOG_BIT", GL_FOG_BIT) \
X("ACCUM_BUFFER_BIT", GL_ACCUM_BUFFER_BIT) \
X("VIEWPORT_BIT", GL_VIEWPORT_BIT) \
X("TRANSFORM_BIT", GL_TRANSFORM_BIT) \
X("ENABLE_BIT", GL_ENABLE_BIT) \
X("HINT_BIT", GL_HINT_BIT) \
X("EVAL_BIT", GL_EVAL_BIT) \
X("LIST_BIT", GL_LIST_BIT) \
X("TEXTURE_BIT", GL_TEXTURE_BIT) \
X("SCISSOR_BIT", GL_SCISSOR_BIT) \
X("ALL_ATTRIB_BITS", GL_ALL_ATTRIB_BITS) \
X("QUAD_STRIP", GL_QUAD_STRIP) \
X("POLYGON", GL_POLYGON) \
X("ACCUM", GL_ACCUM) \
X("LOAD", GL_LOAD) \
X("RETURN", GL_RETURN) \
X("MULT", GL_MULT) \
X("ADD", GL_ADD) \
X("AUX0", GL_AUX0) \
X("AUX1", GL_AUX1) \
X("AUX2", GL_AUX2) \
X("AUX3", GL_AUX3) \
X("2D", GL_2D) \
X("3D", GL_3D) \
X("3D_COLOR", GL_3D_COLOR) \
X("3D_COLOR_TEXTURE", GL_3D_COLOR_TEXTURE) \
X("4D_COLOR_TEXTURE", GL_4D_COLOR_TEXTURE) \
X("PASS_THROUGH_TOKEN", GL_PASS_THROUGH_TOKEN) \
X("POINT_TOKEN", GL_POINT_TOKEN) \
X("LINE_TOKEN", GL_LINE_TOKEN) \
X("POLYGON_TOKEN", GL_POLYGON_TOKEN) \
X("BITMAP_TOKEN", GL_BITMAP_TOKEN) \
X("DRAW_PIXEL_TOKEN", GL_DRAW_PIXEL_TOKEN) \
X("COPY_PIXEL_TOKEN", GL_COPY_PIXEL_TOKEN) \
X("LINE_RESET_TOKEN", GL_LINE_RESET_TOKEN) \
X("EXP", GL_EXP) \
X("EXP2", GL_EXP2) \
X("COEFF", GL_COEFF) \
X("ORDER", GL_ORDER) \
X("DOMAIN", GL_DOMAIN) \
X("PIXEL_MAP_I_TO_I", GL_PIXEL_MAP_I_TO_I) \
X("PIXEL_MAP_S_TO_S", GL_PIXEL_MAP_S_TO_S) \
X("PIXEL_MAP_I_TO_R", GL_PIXEL_MAP_I_TO_R) \
X("PIXEL_MAP_I_TO_G", GL_PIXEL_MAP_I_TO_G) \
X("PIXEL_MAP_I_TO_B", GL_PIXEL_MAP_I_TO_B) \
X("PIXEL_MAP_I_TO_A", GL_PIXEL_MAP_I_TO_A) \
X("PIXEL_MAP_R_TO_R", GL_PIXEL_MAP_R_TO_R) \
X("PIXEL_MAP_G_TO_G", GL_PIXEL_MAP_G_TO_G) \
X("PIXEL_MAP_B_TO_B", GL_PIXEL_MAP_B_TO_B) \
X("PIXEL_MAP_A_TO_A", GL_PIXEL_MAP_A_TO_A) \
X("CURRENT_COLOR", GL_CURRENT_COLOR) \
X("CURRENT_INDEX", GL_CURRENT_INDEX) \
X("CURRENT_NORMAL", GL_CURRENT_NORMAL) \
X("CURRENT_TEXTURE_COORDS", GL_CURRENT_TEXTURE_COORDS) \
X("CURRENT_RASTER_COLOR", GL_CURRENT_RASTER_COLOR) \
X("CURRENT_RASTER_INDEX", GL_CURRENT_RASTER_INDEX) \
X("CURRENT_RASTER_TEXTURE_COORDS", GL_CURRENT_RASTER_TEXTURE_COORDS) \
X("CURRENT_RASTER_POSITION", GL_CURRENT_RASTER_POSITION) \
X("CURRENT_RASTER_POSITION_VALID", GL_CURRENT_RASTER_POSITION_VALID) \
X("CURRENT_RASTER_DISTANCE", GL_CURRENT_RASTER_DISTANCE) \
X("POINT_SMOOTH", GL_POINT_SMOOTH) \
X("LINE_STIPPLE", GL_LINE_STIPPLE) \
X("LINE_STIPPLE_PATTERN", GL_LINE_STIPPLE_PATTERN) \
X("LINE_STIPPLE_REPEAT", GL_LINE_STIPPLE_REPEAT) \
X("LIST_MODE", GL_LIST_MODE) \
X("MAX_LIST_NESTING", GL_MAX_LIST_NESTING) \
X("LIST_BASE", GL_LIST_BASE) \
X("LIST_INDEX", GL_LIST_INDEX) \
X("POLYGON_STIPPLE", GL_POLYGON_STIPPLE) \
X("EDGE_FLAG", GL_EDGE_FLAG) \
X("LIGHTING", GL_LIGHTING) \
X("LIGHT_MODEL_LOCAL_VIEWER", GL_LIGHT_MODEL_LOCAL_VIEWER) \
X("LIGHT_MODEL_TWO_SIDE", GL_LIGHT_MODEL_TWO_SIDE) \
X("LIGHT_MODEL_AMBIENT", GL_LIGHT_MODEL_AMBIENT) \
X("SHADE_MODEL", GL_SHADE_MODEL) \
X("COLOR_MATERIAL_FACE", GL_COLOR_MATERIAL_FACE) \
X("COLOR_MATERIAL_PARAMETER", GL_COLOR_MATERIAL_PARAMETER) \
X("COLOR_MATERIAL", GL_COLOR_MATERIAL) \
X("FOG", GL_FOG) \
X("FOG_INDEX", GL_FOG_INDEX) \
X("FOG_DENSITY", GL_FOG_DENSITY) \
X("FOG_START", GL_FOG_START) \
X("FOG_END", GL_FOG_END) \
X("FOG_MODE", GL_FOG_MODE) \
X("FOG_COLOR", GL_FOG_COLOR) \
X("ACCUM_CLEAR_VALUE", GL_ACCUM_CLEAR_VALUE) \
X("MATRIX_MODE", GL_MATRIX_MODE) \
X("NORMALIZE", GL_NORMALIZE) \
X("MODELVIEW_STACK_DEPTH", GL_MODELVIEW_STACK_DEPTH) \
X("PROJECTION_STACK_DEPTH", GL_PROJECTION_STACK_DEPTH) \
X("TEXTURE_STACK_DEPTH", GL_TEXTURE_STACK_DEPTH) \
X("MODELVIEW_MATRIX", GL_MODELVIEW_MATRIX) \
X("PROJECTION_MATRIX", GL_PROJECTION_MATRIX) \
X("TEXTURE_MATRIX", GL_TEXTURE_MATRIX) \
X("ATTRIB_STACK_DEPTH", GL_ATTRIB_STACK_DEPTH) \
X("ALPHA_TEST", GL_ALPHA_TEST) \
X("ALPHA_TEST_FUNC", GL_ALPHA_TEST_FUNC) \
X("ALPHA_TEST_REF", GL_ALPHA_TEST_REF) \
X("LOGIC_OP", GL_LOGIC_OP) \
X("AUX_BUFFERS", GL_AUX_BUFFERS) \
X("INDEX_CLEAR_VALUE", GL_INDEX_CLEAR_VALUE) \
X("INDEX_WRITEMASK", GL_INDEX_WRITEMASK) \
X("INDEX_MODE", GL_INDEX_MODE) \
X("RGBA_MODE", GL_RGBA_MODE) \
X("RENDER_MODE", GL_RENDER_MODE) \
X("PERSPECTIVE_CORRECTION_HINT", GL_PERSPECTIVE_CORRECTION_HINT) \
X("POINT_SMOOTH_HINT", GL_POINT_SMOOTH_HINT) \
X("FOG_HINT", GL_FOG_HINT) \
X("TEXTURE_GEN_S", GL_TEXTURE_GEN_S) \
X("TEXTURE_GEN_T", GL_TEXTURE_GEN_T) \
X("TEXTURE_GEN_R", GL_TEXTURE_GEN_R) \
X("TEXTURE_GEN_Q", GL_TEXTURE_GEN_Q) \
X("PIXEL_MAP_I_TO_I_SIZE", GL_PIXEL_MAP_I_TO_I_SIZE) \
X("PIXEL_MAP_S_TO_S_SIZE", GL_PIXEL_MAP_S_TO_S_SIZE) \
X("PIXEL_MAP_I_TO_R_SIZE", GL_PIXEL_MAP_I_TO_R_SIZE) \
X("PIXEL_MAP_I_TO_G_SIZE", GL_PIXEL_MAP_I_TO_G_SIZE) \
X("PIXEL_MAP_I_TO_B_SIZE", GL_PIXEL_MAP_I_TO_B_SIZE) \
X("PIXEL_MAP_I_TO_A_SIZE", GL_PIXEL_MAP_I_TO_A_SIZE) \
X("PIXEL_MAP_R_TO_R_SIZE", GL_PIXEL_MAP_R_TO_R_SIZE) \
X("PIXEL_MAP_G_TO_G_SIZE", GL_PIXEL_MAP_G_TO_G_SIZE) \
X("PIXEL_MAP_B_TO_B_SIZE", GL_PIXEL_MAP_B_TO_B_SIZE) \
X("PIXEL_MAP_A_TO_A_SIZE", GL_PIXEL_MAP_A_TO_A_SIZE) \
X("MAP_COLOR", GL_MAP_COLOR) \
X("MAP_STENCIL", GL_MAP_STENCIL) \
X("INDEX_SHIFT", GL_INDEX_SHIFT) \
X("INDEX_OFFSET", GL_INDEX_OFFSET) \
X("RED_SCALE", GL_RED_SCALE) \
X("RED_BIAS", GL_RED_BIAS) \
X("ZOOM_X", GL_ZOOM_X) \
X("ZOOM_Y", GL_ZOOM_Y) \
X("GREEN_SCALE", GL_GREEN_SCALE) \
X("GREEN_BIAS", GL_GREEN_BIAS) \
X("BLUE_SCALE", GL_BLUE_SCALE) \
X("BLUE_BIAS", GL_BLUE_BIAS) \
X("ALPHA_SCALE", GL_ALPHA_SCALE) \
X("ALPHA_BIAS", GL_ALPHA_BIAS) \
X("DEPTH_SCALE", GL_DEPTH_SCALE) \
X("DEPTH_BIAS", GL_DEPTH_BIAS) \
X("MAX_EVAL_ORDER", GL_MAX_EVAL_ORDER) \
X("MAX_LIGHTS", GL_MAX_LIGHTS) \
X("MAX_CLIP_PLANES", GL_MAX_CLIP_PLANES) \
X("MAX_PIXEL_MAP_TABLE", GL_MAX_PIXEL_MAP_TABLE) \
X("MAX_ATTRIB_STACK_DEPTH", GL_MAX_ATTRIB_STACK_DEPTH) \
X("MAX_MODELVIEW_STACK_DEPTH", GL_MAX_MODELVIEW_STACK_DEPTH) \
X("MAX_NAME_STACK_DEPTH", GL_MAX_NAME_STACK_DEPTH) \
X("MAX_PROJECTION_STACK_DEPTH", GL_MAX_PROJECTION_STACK_DEPTH) \
X("MAX_TEXTURE_STACK_DEPTH", GL_MAX_TEXTURE_STACK_DEPTH) \
X("INDEX_BITS", GL_INDEX_BITS) \
X("RED_BITS", GL_RED_BITS) \
X("GREEN_BITS", GL_GREEN_BITS) \
X("BLUE_BITS", GL_BLUE_BITS) \
X("ALPHA_BITS", GL_ALPHA_BITS) \
X("DEPTH_BITS", GL_DEPTH_BITS) \
X("STENCIL_BITS", GL_STENCIL_BITS) \
X("ACCUM_RED_BITS", GL_ACCUM_RED_BITS) \
X("ACCUM_GREEN_BITS", GL_ACCUM_GREEN_BITS) \
X("ACCUM_BLUE_BITS", GL_ACCUM_BLUE_BITS) \
X("ACCUM_ALPHA_BITS", GL_ACCUM_ALPHA_BITS) \
X("NAME_STACK_DEPTH", GL_NAME_STACK_DEPTH) \
X("AUTO_NORMAL", GL_AUTO_NORMAL) \
X("MAP1_COLOR_4", GL_MAP1_COLOR_4) \
X("MAP1_INDEX", GL_MAP1_INDEX) \
X("MAP1_NORMAL", GL_MAP1_NORMAL) \
X("MAP1_TEXTURE_COORD_1", GL_MAP1_TEXTURE_COORD_1) \
X("MAP1_TEXTURE_COORD_2", GL_MAP1_TEXTURE_COORD_2) \
X("MAP1_TEXTURE_COORD_3", GL_MAP1_TEXTURE_COORD_3) \
X("MAP1_TEXTURE_COORD_4", GL_MAP1_TEXTURE_COORD_4) \
X("MAP1_VERTEX_3", GL_MAP1_VERTEX_3) \
X("MAP1_VERTEX_4", GL_MAP1_VERTEX_4) \
X("MAP2_COLOR_4", GL_MAP2_COLOR_4) \
X("MAP2_INDEX", GL_MAP2_INDEX) \
X("MAP2_NORMAL", GL_MAP2_NORMAL) \
X("MAP2_TEXTURE_COORD_1", GL_MAP2_TEXTURE_COORD_1) \
X("MAP2_TEXTURE_COORD_2", GL_MAP2_TEXTURE_COORD_2) \
X("MAP2_TEXTURE_COORD_3", GL_MAP2_TEXTURE_COORD_3) \
X("MAP2_TEXTURE_COORD_4", GL_MAP2_TEXTURE_COORD_4) \
X("MAP2_VERTEX_3", GL_MAP2_VERTEX_3) \
X("MAP2_VERTEX_4", GL_MAP2_VERTEX_4) \
X("MAP1_GRID_DOMAIN", GL_MAP1_GRID_DOMAIN) \
X("MAP1_GRID_SEGMENTS", GL_MAP1_GRID_SEGMENTS) \
X("MAP2_GRID_DOMAIN", GL_MAP2_GRID_DOMAIN) \
X("MAP2_GRID_SEGMENTS", GL_MAP2_GRID_SEGMENTS) \
X("TEXTURE_COMPONENTS", GL_TEXTURE_COMPONENTS) \
X("TEXTURE_BORDER", GL_TEXTURE_BORDER) \
X("AMBIENT", GL_AMBIENT) \
X("DIFFUSE", GL_DIFFUSE) \
X("SPECULAR", GL_SPECULAR) \
X("POSITION", GL_POSITION) \
X("SPOT_DIRECTION", GL_SPOT_DIRECTION) \
X("SPOT_EXPONENT", GL_SPOT_EXPONENT) \
X("SPOT_CUTOFF", GL_SPOT_CUTOFF) \
X("CONSTANT_ATTENUATION", GL_CONSTANT_ATTENUATION) \
X("LINEAR_ATTENUATION", GL_LINEAR_ATTENUATION) \
X("QUADRATIC_ATTENUATION", GL_QUADRATIC_ATTENUATION) \
X("COMPILE", GL_COMPILE) \
X("COMPILE_AND_EXECUTE", GL_COMPILE_AND_EXECUTE) \
X("2_BYTES", GL_2_BYTES) \
X("3_BYTES", GL_3_BYTES) \
X("4_BYTES", GL_4_BYTES) \
X("EMISSION", GL_EMISSION) \
X("SHININESS", GL_SHININESS) \
X("AMBIENT_AND_DIFFUSE", GL_AMBIENT_AND_DIFFUSE) \
X("COLOR_INDEXES", GL_COLOR_INDEXES) \
X("MODELVIEW", GL_MODELVIEW) \
X("PROJECTION", GL_PROJECTION) \
X("COLOR_INDEX", GL_COLOR_INDEX) \
X("LUMINANCE", GL_LUMINANCE) \
X("LUMINANCE_ALPHA", GL_LUMINANCE_ALPHA) \
X("BITMAP", GL_BITMAP) \
X("RENDER", GL_RENDER) \
X("FEEDBACK", GL_FEEDBACK) \
X("SELECT", GL_SELECT) \
X("FLAT", GL_FLAT) \
X("SMOOTH", GL_SMOOTH) \
X("S", GL_S) \
X("T", GL_T) \
X("R", GL_R) \
X("Q", GL_Q) \
X("MODULATE", GL_MODULATE) \
X("DECAL", GL_DECAL) \
X("TEXTURE_ENV_MODE", GL_TEXTURE_ENV_MODE) \
X("TEXTURE_ENV_COLOR", GL_TEXTURE_ENV_COLOR) \
X("TEXTURE_ENV", GL_TEXTURE_ENV) \
X("EYE_LINEAR", GL_EYE_LINEAR) \
X("OBJECT_LINEAR", GL_OBJECT_LINEAR) \
X("SPHERE_MAP", GL_SPHERE_MAP) \
X("TEXTURE_GEN_MODE", GL_TEXTURE_GEN_MODE) \
X("OBJECT_PLANE", GL_OBJECT_PLANE) \
X("EYE_PLANE", GL_EYE_PLANE) \
X("CLAMP", GL_CLAMP) \
X("CLIP_PLANE0", GL_CLIP_PLANE0) \
X("CLIP_PLANE1", GL_CLIP_PLANE1) \
X("CLIP_PLANE2", GL_CLIP_PLANE2) \
X("CLIP_PLANE3", GL_CLIP_PLANE3) \
X("CLIP_PLANE4", GL_CLIP_PLANE4) \
X("CLIP_PLANE5", GL_CLIP_PLANE5) \
X("LIGHT0", GL_LIGHT0) \
X("LIGHT1", GL_LIGHT1) \
X("LIGHT2", GL_LIGHT2) \
X("LIGHT3", GL_LIGHT3) \
X("LIGHT4", GL_LIGHT4) \
X("LIGHT5", GL_LIGHT5) \
X("LIGHT6", GL_LIGHT6) \
X("LIGHT7", GL_LIGHT7) \
X("COLOR_LOGIC_OP", GL_COLOR_LOGIC_OP) \
X("POLYGON_OFFSET_UNITS", GL_POLYGON_OFFSET_UNITS) \
X("POLYGON_OFFSET_POINT", GL_POLYGON_OFFSET_POINT) \
X("POLYGON_OFFSET_LINE", GL_POLYGON_OFFSET_LINE) \
X("POLYGON_OFFSET_FILL", GL_POLYGON_OFFSET_FILL) \
X("POLYGON_OFFSET_FACTOR", GL_POLYGON_OFFSET_FACTOR) \
X("TEXTURE_BINDING_1D", GL_TEXTURE_BINDING_1D) \
X("TEXTURE_BINDING_2D", GL_TEXTURE_BINDING_2D) \
X("TEXTURE_INTERNAL_FORMAT", GL_TEXTURE_INTERNAL_FORMAT) \
X("TEXTURE_RED_SIZE", GL_TEXTURE_RED_SIZE) \
X("TEXTURE_GREEN_SIZE", GL_TEXTURE_GREEN_SIZE) \
X("TEXTURE_BLUE_SIZE", GL_TEXTURE_BLUE_SIZE) \
X("TEXTURE_ALPHA_SIZE", GL_TEXTURE_ALPHA_SIZE) \
X("DOUBLE", GL_DOUBLE) \
X("PROXY_TEXTURE_1D", GL_PROXY_TEXTURE_1D) \
X("PROXY_TEXTURE_2D", GL_PROXY_TEXTURE_2D) \
X("R3_G3_B2", GL_R3_G3_B2) \
X("RGB4", GL_RGB4) \
X("RGB5", GL_RGB5) \
X("RGB8", GL_RGB8) \
X("RGB10", GL_RGB10) \
X("RGB12", GL_RGB12) \
X("RGB16", GL_RGB16) \
X("RGBA2", GL_RGBA2) \
X("RGBA4", GL_RGBA4) \
X("RGB5_A1", GL_RGB5_A1) \
X("RGBA8", GL_RGBA8) \
X("RGB10_A2", GL_RGB10_A2) \
X("RGBA12", GL_RGBA12) \
X("RGBA16", GL_RGBA16) \
X("CLIENT_PIXEL_STORE_BIT", GL_CLIENT_PIXEL_STORE_BIT) \
X("CLIENT_VERTEX_ARRAY_BIT", GL_CLIENT_VERTEX_ARRAY_BIT) \
X("CLIENT_ALL_ATTRIB_BITS", GL_CLIENT_ALL_ATTRIB_BITS) \
X("VERTEX_ARRAY_POINTER", GL_VERTEX_ARRAY_POINTER) \
X("NORMAL_ARRAY_POINTER", GL_NORMAL_ARRAY_POINTER) \
X("COLOR_ARRAY_POINTER", GL_COLOR_ARRAY_POINTER) \
X("INDEX_ARRAY_POINTER", GL_INDEX_ARRAY_POINTER) \
X("TEXTURE_COORD_ARRAY_POINTER", GL_TEXTURE_COORD_ARRAY_POINTER) \
X("EDGE_FLAG_ARRAY_POINTER", GL_EDGE_FLAG_ARRAY_POINTER) \
X("FEEDBACK_BUFFER_POINTER", GL_FEEDBACK_BUFFER_POINTER) \
X("SELECTION_BUFFER_POINTER", GL_SELECTION_BUFFER_POINTER) \
X("CLIENT_ATTRIB_STACK_DEPTH", GL_CLIENT_ATTRIB_STACK_DEPTH) \
X("INDEX_LOGIC_OP", GL_INDEX_LOGIC_OP) \
X("MAX_CLIENT_ATTRIB_STACK_DEPTH", GL_MAX_CLIENT_ATTRIB_STACK_DEPTH) \
X("FEEDBACK_BUFFER_SIZE", GL_FEEDBACK_BUFFER_SIZE) \
X("FEEDBACK_BUFFER_TYPE", GL_FEEDBACK_BUFFER_TYPE) \
X("SELECTION_BUFFER_SIZE", GL_SELECTION_BUFFER_SIZE) \
X("VERTEX_ARRAY", GL_VERTEX_ARRAY) \
X("NORMAL_ARRAY", GL_NORMAL_ARRAY) \
X("COLOR_ARRAY", GL_COLOR_ARRAY) \
X("INDEX_ARRAY", GL_INDEX_ARRAY) \
X("TEXTURE_COORD_ARRAY", GL_TEXTURE_COORD_ARRAY) \
X("EDGE_FLAG_ARRAY", GL_EDGE_FLAG_ARRAY) \
X("VERTEX_ARRAY_SIZE", GL_VERTEX_ARRAY_SIZE) \
X("VERTEX_ARRAY_TYPE", GL_VERTEX_ARRAY_TYPE) \
X("VERTEX_ARRAY_STRIDE", GL_VERTEX_ARRAY_STRIDE) \
X("NORMAL_ARRAY_TYPE", GL_NORMAL_ARRAY_TYPE) \
X("NORMAL_ARRAY_STRIDE", GL_NORMAL_ARRAY_STRIDE) \
X("COLOR_ARRAY_SIZE", GL_COLOR_ARRAY_SIZE) \
X("COLOR_ARRAY_TYPE", GL_COLOR_ARRAY_TYPE) \
X("COLOR_ARRAY_STRIDE", GL_COLOR_ARRAY_STRIDE) \
X("INDEX_ARRAY_TYPE", GL_INDEX_ARRAY_TYPE) \
X("INDEX_ARRAY_STRIDE", GL_INDEX_ARRAY_STRIDE) \
X("TEXTURE_COORD_ARRAY_SIZE", GL_TEXTURE_COORD_ARRAY_SIZE) \
X("TEXTURE_COORD_ARRAY_TYPE", GL_TEXTURE_COORD_ARRAY_TYPE) \
X("TEXTURE_COORD_ARRAY_STRIDE", GL_TEXTURE_COORD_ARRAY_STRIDE) \
X("EDGE_FLAG_ARRAY_STRIDE", GL_EDGE_FLAG_ARRAY_STRIDE) \
X("TEXTURE_LUMINANCE_SIZE", GL_TEXTURE_LUMINANCE_SIZE) \
X("TEXTURE_INTENSITY_SIZE", GL_TEXTURE_INTENSITY_SIZE) \
X("TEXTURE_PRIORITY", GL_TEXTURE_PRIORITY) \
X("TEXTURE_RESIDENT", GL_TEXTURE_RESIDENT) \
X("ALPHA4", GL_ALPHA4) \
X("ALPHA8", GL_ALPHA8) \
X("ALPHA12", GL_ALPHA12) \
X("ALPHA16", GL_ALPHA16) \
X("LUMINANCE4", GL_LUMINANCE4) \
X("LUMINANCE8", GL_LUMINANCE8) \
X("LUMINANCE12", GL_LUMINANCE12) \
X("LUMINANCE16", GL_LUMINANCE16) \
X("LUMINANCE4_ALPHA4", GL_LUMINANCE4_ALPHA4) \
X("LUMINANCE6_ALPHA2", GL_LUMINANCE6_ALPHA2) \
X("LUMINANCE8_ALPHA8", GL_LUMINANCE8_ALPHA8) \
X("LUMINANCE12_ALPHA4", GL_LUMINANCE12_ALPHA4) \
X("LUMINANCE12_ALPHA12", GL_LUMINANCE12_ALPHA12) \
X("LUMINANCE16_ALPHA16", GL_LUMINANCE16_ALPHA16) \
X("INTENSITY", GL_INTENSITY) \
X("INTENSITY4", GL_INTENSITY4) \
X("INTENSITY8", GL_INTENSITY8) \
X("INTENSITY12", GL_INTENSITY12) \
X("INTENSITY16", GL_INTENSITY16) \
X("V2F", GL_V2F) \
X("V3F", GL_V3F) \
X("C4UB_V2F", GL_C4UB_V2F) \
X("C4UB_V3F", GL_C4UB_V3F) \
X("C3F_V3F", GL_C3F_V3F) \
X("N3F_V3F", GL_N3F_V3F) \
X("C4F_N3F_V3F", GL_C4F_N3F_V3F) \
X("T2F_V3F", GL_T2F_V3F) \
X("T4F_V4F", GL_T4F_V4F) \
X("T2F_C4UB_V3F", GL_T2F_C4UB_V3F) \
X("T2F_C3F_V3F", GL_T2F_C3F_V3F) \
X("T2F_N3F_V3F", GL_T2F_N3F_V3F) \
X("T2F_C4F_N3F_V3F", GL_T2F_C4F_N3F_V3F) \
X("T4F_C4F_N3F_V4F", GL_T4F_C4F_N3F_V4F) \
X("UNSIGNED_BYTE_3_3_2", GL_UNSIGNED_BYTE_3_3_2) \
X("UNSIGNED_SHORT_4_4_4_4", GL_UNSIGNED_SHORT_4_4_4_4) \
X("UNSIGNED_SHORT_5_5_5_1", GL_UNSIGNED_SHORT_5_5_5_1) \
X("UNSIGNED_INT_8_8_8_8", GL_UNSIGNED_INT_8_8_8_8) \
X("UNSIGNED_INT_10_10_10_2", GL_UNSIGNED_INT_10_10_10_2) \
X("TEXTURE_BINDING_3D", GL_TEXTURE_BINDING_3D) \
X("PACK_SKIP_IMAGES", GL_PACK_SKIP_IMAGES) \
X("PACK_IMAGE_HEIGHT", GL_PACK_IMAGE_HEIGHT) \
X("UNPACK_SKIP_IMAGES", GL_UNPACK_SKIP_IMAGES) \
X("UNPACK_IMAGE_HEIGHT", GL_UNPACK_IMAGE_HEIGHT) \
X("TEXTURE_3D", GL_TEXTURE_3D) \
X("PROXY_TEXTURE_3D", GL_PROXY_TEXTURE_3D) \
X("TEXTURE_DEPTH", GL_TEXTURE_DEPTH) \
X("TEXTURE_WRAP_R", GL_TEXTURE_WRAP_R) \
X("MAX_3D_TEXTURE_SIZE", GL_MAX_3D_TEXTURE_SIZE) \
X("UNSIGNED_BYTE_2_3_3_REV", GL_UNSIGNED_BYTE_2_3_3_REV) \
X("UNSIGNED_SHORT_5_6_5", GL_UNSIGNED_SHORT_5_6_5) \
X("UNSIGNED_SHORT_5_6_5_REV", GL_UNSIGNED_SHORT_5_6_5_REV) \
X("UNSIGNED_SHORT_4_4_4_4_REV", GL_UNSIGNED_SHORT_4_4_4_4_REV) \
X("UNSIGNED_SHORT_1_5_5_5_REV", GL_UNSIGNED_SHORT_1_5_5_5_REV) \
X("UNSIGNED_INT_8_8_8_8_REV", GL_UNSIGNED_INT_8_8_8_8_REV) \
X("UNSIGNED_INT_2_10_10_10_REV", GL_UNSIGNED_INT_2_10_10_10_REV) \
X("BGR", GL_BGR) \
X("BGRA", GL_BGRA) \
X("MAX_ELEMENTS_VERTICES", GL_MAX_ELEMENTS_VERTICES) \
X("MAX_ELEMENTS_INDICES", GL_MAX_ELEMENTS_INDICES) \
X("CLAMP_TO_EDGE", GL_CLAMP_TO_EDGE) \
X("TEXTURE_MIN_LOD", GL_TEXTURE_MIN_LOD) \
X("TEXTURE_MAX_LOD", GL_TEXTURE_MAX_LOD) \
X("TEXTURE_BASE_LEVEL", GL_TEXTURE_BASE_LEVEL) \
X("TEXTURE_MAX_LEVEL", GL_TEXTURE_MAX_LEVEL) \
X("SMOOTH_POINT_SIZE_RANGE", GL_SMOOTH_POINT_SIZE_RANGE) \
X("SMOOTH_POINT_SIZE_GRANULARITY", GL_SMOOTH_POINT_SIZE_GRANULARITY) \
X("SMOOTH_LINE_WIDTH_RANGE", GL_SMOOTH_LINE_WIDTH_RANGE) \
X("SMOOTH_LINE_WIDTH_GRANULARITY", GL_SMOOTH_LINE_WIDTH_GRANULARITY) \
X("ALIASED_LINE_WIDTH_RANGE", GL_ALIASED_LINE_WIDTH_RANGE) \
X("RESCALE_NORMAL", GL_RESCALE_NORMAL) \
X("LIGHT_MODEL_COLOR_CONTROL", GL_LIGHT_MODEL_COLOR_CONTROL) \
X("SINGLE_COLOR", GL_SINGLE_COLOR) \
X("SEPARATE_SPECULAR_COLOR", GL_SEPARATE_SPECULAR_COLOR) \
X("ALIASED_POINT_SIZE_RANGE", GL_ALIASED_POINT_SIZE_RANGE) \
X("TEXTURE0", GL_TEXTURE0) \
X("TEXTURE1", GL_TEXTURE1) \
X("TEXTURE2", GL_TEXTURE2) \
X("TEXTURE3", GL_TEXTURE3) \
X("TEXTURE4", GL_TEXTURE4) \
X("TEXTURE5", GL_TEXTURE5) \
X("TEXTURE6", GL_TEXTURE6) \
X("TEXTURE7", GL_TEXTURE7) \
X("TEXTURE8", GL_TEXTURE8) \
X("TEXTURE9", GL_TEXTURE9) \
X("TEXTURE10", GL_TEXTURE10) \
X("TEXTURE11", GL_TEXTURE11) \
X("TEXTURE12", GL_TEXTURE12) \
X("TEXTURE13", GL_TEXTURE13) \
X("TEXTURE14", GL_TEXTURE14) \
X("TEXTURE15", GL_TEXTURE15) \
X("TEXTURE16", GL_TEXTURE16) \
X("TEXTURE17", GL_TEXTURE17) \
X("TEXTURE18", GL_TEXTURE18) \
X("TEXTURE19", GL_TEXTURE19) \
X("TEXTURE20", GL_TEXTURE20) \
X("TEXTURE21", GL_TEXTURE21) \
X("TEXTURE22", GL_TEXTURE22) \
X("TEXTURE23", GL_TEXTURE23) \
X("TEXTURE24", GL_TEXTURE24) \
X("TEXTURE25", GL_TEXTURE25) \
X("TEXTURE26", GL_TEXTURE26) \
X("TEXTURE27", GL_TEXTURE27) \
X("TEXTURE28", GL_TEXTURE28) \
X("TEXTURE29", GL_TEXTURE29) \
X("TEXTURE30", GL_TEXTURE30) \
X("TEXTURE31", GL_TEXTURE31) \
X("ACTIVE_TEXTURE", GL_ACTIVE_TEXTURE) \
X("MULTISAMPLE", GL_MULTISAMPLE) \
X("SAMPLE_ALPHA_TO_COVERAGE", GL_SAMPLE_ALPHA_TO_COVERAGE) \
X("SAMPLE_ALPHA_TO_ONE", GL_SAMPLE_ALPHA_TO_ONE) \
X("SAMPLE_COVERAGE", GL_SAMPLE_COVERAGE) \
X("SAMPLE_BUFFERS", GL_SAMPLE_BUFFERS) \
X("SAMPLES", GL_SAMPLES) \
X("SAMPLE_COVERAGE_VALUE", GL_SAMPLE_COVERAGE_VALUE) \
X("SAMPLE_COVERAGE_INVERT", GL_SAMPLE_COVERAGE_INVERT) \
X("TEXTURE_CUBE_MAP", GL_TEXTURE_CUBE_MAP) \
X("TEXTURE_BINDING_CUBE_MAP", GL_TEXTURE_BINDING_CUBE_MAP) \
X("TEXTURE_CUBE_MAP_POSITIVE_X", GL_TEXTURE_CUBE_MAP_POSITIVE_X) \
X("TEXTURE_CUBE_MAP_NEGATIVE_X", GL_TEXTURE_CUBE_MAP_NEGATIVE_X) \
X("TEXTURE_CUBE_MAP_POSITIVE_Y", GL_TEXTURE_CUBE_MAP_POSITIVE_Y) \
X("TEXTURE_CUBE_MAP_NEGATIVE_Y", GL_TEXTURE_CUBE_MAP_NEGATIVE_Y) \
X("TEXTURE_CUBE_MAP_POSITIVE_Z", GL_TEXTURE_CUBE_MAP_POSITIVE_Z) \
X("TEXTURE_CUBE_MAP_NEGATIVE_Z", GL_TEXTURE_CUBE_MAP_NEGATIVE_Z) \
X("PROXY_TEXTURE_CUBE_MAP", GL_PROXY_TEXTURE_CUBE_MAP) \
X("MAX_CUBE_MAP_TEXTURE_SIZE", GL_MAX_CUBE_MAP_TEXTURE_SIZE) \
X("COMPRESSED_RGB", GL_COMPRESSED_RGB) \
X("COMPRESSED_RGBA", GL_COMPRESSED_RGBA) \
X("TEXTURE_COMPRESSION_HINT", GL_TEXTURE_COMPRESSION_HINT) \
X("TEXTURE_COMPRESSED_IMAGE_SIZE", GL_TEXTURE_COMPRESSED_IMAGE_SIZE) \
X("TEXTURE_COMPRESSED", GL_TEXTURE_COMPRESSED) \
X("NUM_COMPRESSED_TEXTURE_FORMATS", GL_NUM_COMPRESSED_TEXTURE_FORMATS) \
X("COMPRESSED_TEXTURE_FORMATS", GL_COMPRESSED_TEXTURE_FORMATS) \
X("CLAMP_TO_BORDER", GL_CLAMP_TO_BORDER) \
X("CLIENT_ACTIVE_TEXTURE", GL_CLIENT_ACTIVE_TEXTURE) \
X("MAX_TEXTURE_UNITS", GL_MAX_TEXTURE_UNITS) \
X("TRANSPOSE_MODELVIEW_MATRIX", GL_TRANSPOSE_MODELVIEW_MATRIX) \
X("TRANSPOSE_PROJECTION_MATRIX", GL_TRANSPOSE_PROJECTION_MATRIX) \
X("TRANSPOSE_TEXTURE_MATRIX", GL_TRANSPOSE_TEXTURE_MATRIX) \
X("TRANSPOSE_COLOR_MATRIX", GL_TRANSPOSE_COLOR_MATRIX) \
X("MULTISAMPLE_BIT", GL_MULTISAMPLE_BIT) \
X("NORMAL_MAP", GL_NORMAL_MAP) \
X("REFLECTION_MAP", GL_REFLECTION_MAP) \
X("COMPRESSED_ALPHA", GL_COMPRESSED_ALPHA) \
X("COMPRESSED_LUMINANCE", GL_COMPRESSED_LUMINANCE) \
X("COMPRESSED_LUMINANCE_ALPHA", GL_COMPRESSED_LUMINANCE_ALPHA) \
X("COMPRESSED_INTENSITY", GL_COMPRESSED_INTENSITY) \
X("COMBINE", GL_COMBINE) \
X("COMBINE_RGB", GL_COMBINE_RGB) \
X("COMBINE_ALPHA", GL_COMBINE_ALPHA) \
X("SOURCE0_RGB", GL_SOURCE0_RGB) \
X("SOURCE1_RGB", GL_SOURCE1_RGB) \
X("SOURCE2_RGB", GL_SOURCE2_RGB) \
X("SOURCE0_ALPHA", GL_SOURCE0_ALPHA) \
X("SOURCE1_ALPHA", GL_SOURCE1_ALPHA) \
X("SOURCE2_ALPHA", GL_SOURCE2_ALPHA) \
X("OPERAND0_RGB", GL_OPERAND0_RGB) \
X("OPERAND1_RGB", GL_OPERAND1_RGB) \
X("OPERAND2_RGB", GL_OPERAND2_RGB) \
X("OPERAND0_ALPHA", GL_OPERAND0_ALPHA) \
X("OPERAND1_ALPHA", GL_OPERAND1_ALPHA) \
X("OPERAND2_ALPHA", GL_OPERAND2_ALPHA) \
X("RGB_SCALE", GL_RGB_SCALE) \
X("ADD_SIGNED", GL_ADD_SIGNED) \
X("INTERPOLATE", GL_INTERPOLATE) \
X("SUBTRACT", GL_SUBTRACT) \
X("CONSTANT", GL_CONSTANT) \
X("PRIMARY_COLOR", GL_PRIMARY_COLOR) \
X("PREVIOUS", GL_PREVIOUS) \
X("DOT3_RGB", GL_DOT3_RGB) \
X("DOT3_RGBA", GL_DOT3_RGBA) \
X("BLEND_DST_RGB", GL_BLEND_DST_RGB) \
X("BLEND_SRC_RGB", GL_BLEND_SRC_RGB) \
X("BLEND_DST_ALPHA", GL_BLEND_DST_ALPHA) \
X("BLEND_SRC_ALPHA", GL_BLEND_SRC_ALPHA) \
X("POINT_FADE_THRESHOLD_SIZE", GL_POINT_FADE_THRESHOLD_SIZE) \
X("DEPTH_COMPONENT16", GL_DEPTH_COMPONENT16) \
X("DEPTH_COMPONENT24", GL_DEPTH_COMPONENT24) \
X("DEPTH_COMPONENT32", GL_DEPTH_COMPONENT32) \
X("MIRRORED_REPEAT", GL_MIRRORED_REPEAT) \
X("MAX_TEXTURE_LOD_BIAS", GL_MAX_TEXTURE_LOD_BIAS) \
X("TEXTURE_LOD_BIAS", GL_TEXTURE_LOD_BIAS) \
X("INCR_WRAP", GL_INCR_WRAP) \
X("DECR_WRAP", GL_DECR_WRAP) \
X("TEXTURE_DEPTH_SIZE", GL_TEXTURE_DEPTH_SIZE) \
X("TEXTURE_COMPARE_MODE", GL_TEXTURE_COMPARE_MODE) \
X("TEXTURE_COMPARE_FUNC", GL_TEXTURE_COMPARE_FUNC) \
X("POINT_SIZE_MIN", GL_POINT_SIZE_MIN) \
X("POINT_SIZE_MAX", GL_POINT_SIZE_MAX) \
X("POINT_DISTANCE_ATTENUATION", GL_POINT_DISTANCE_ATTENUATION) \
X("GENERATE_MIPMAP", GL_GENERATE_MIPMAP) \
X("GENERATE_MIPMAP_HINT", GL_GENERATE_MIPMAP_HINT) \
X("FOG_COORDINATE_SOURCE", GL_FOG_COORDINATE_SOURCE) \
X("FOG_COORDINATE", GL_FOG_COORDINATE) \
X("FRAGMENT_DEPTH", GL_FRAGMENT_DEPTH) \
X("CURRENT_FOG_COORDINATE", GL_CURRENT_FOG_COORDINATE) \
X("FOG_COORDINATE_ARRAY_TYPE", GL_FOG_COORDINATE_ARRAY_TYPE) \
X("FOG_COORDINATE_ARRAY_STRIDE", GL_FOG_COORDINATE_ARRAY_STRIDE) \
X("FOG_COORDINATE_ARRAY_POINTER", GL_FOG_COORDINATE_ARRAY_POINTER) \
X("FOG_COORDINATE_ARRAY", GL_FOG_COORDINATE_ARRAY) \
X("COLOR_SUM", GL_COLOR_SUM) \
X("CURRENT_SECONDARY_COLOR", GL_CURRENT_SECONDARY_COLOR) \
X("SECONDARY_COLOR_ARRAY_SIZE", GL_SECONDARY_COLOR_ARRAY_SIZE) \
X("SECONDARY_COLOR_ARRAY_TYPE", GL_SECONDARY_COLOR_ARRAY_TYPE) \
X("SECONDARY_COLOR_ARRAY_STRIDE", GL_SECONDARY_COLOR_ARRAY_STRIDE) \
X("SECONDARY_COLOR_ARRAY_POINTER", GL_SECONDARY_COLOR_ARRAY_POINTER) \
X("SECONDARY_COLOR_ARRAY", GL_SECONDARY_COLOR_ARRAY) \
X("TEXTURE_FILTER_CONTROL", GL_TEXTURE_FILTER_CONTROL) \
X("DEPTH_TEXTURE_MODE", GL_DEPTH_TEXTURE_MODE) \
X("COMPARE_R_TO_TEXTURE", GL_COMPARE_R_TO_TEXTURE) \
X("BLEND_COLOR", GL_BLEND_COLOR) \
X("BLEND_EQUATION", GL_BLEND_EQUATION) \
X("CONSTANT_COLOR", GL_CONSTANT_COLOR) \
X("ONE_MINUS_CONSTANT_COLOR", GL_ONE_MINUS_CONSTANT_COLOR) \
X("CONSTANT_ALPHA", GL_CONSTANT_ALPHA) \
X("ONE_MINUS_CONSTANT_ALPHA", GL_ONE_MINUS_CONSTANT_ALPHA) \
X("FUNC_ADD", GL_FUNC_ADD) \
X("FUNC_REVERSE_SUBTRACT", GL_FUNC_REVERSE_SUBTRACT) \
X("FUNC_SUBTRACT", GL_FUNC_SUBTRACT) \
X("MIN", GL_MIN) \
X("MAX", GL_MAX) \
X("BUFFER_SIZE", GL_BUFFER_SIZE) \
X("BUFFER_USAGE", GL_BUFFER_USAGE) \
X("QUERY_COUNTER_BITS", GL_QUERY_COUNTER_BITS) \
X("CURRENT_QUERY", GL_CURRENT_QUERY) \
X("QUERY_RESULT", GL_QUERY_RESULT) \
X("QUERY_RESULT_AVAILABLE", GL_QUERY_RESULT_AVAILABLE) \
X("ARRAY_BUFFER", GL_ARRAY_BUFFER) \
X("ELEMENT_ARRAY_BUFFER", GL_ELEMENT_ARRAY_BUFFER) \
X("ARRAY_BUFFER_BINDING", GL_ARRAY_BUFFER_BINDING) \
X("ELEMENT_ARRAY_BUFFER_BINDING", GL_ELEMENT_ARRAY_BUFFER_BINDING) \
X("VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) \
X("READ_ONLY", GL_READ_ONLY) \
X("WRITE_ONLY", GL_WRITE_ONLY) \
X("READ_WRITE", GL_READ_WRITE) \
X("BUFFER_ACCESS", GL_BUFFER_ACCESS) \
X("BUFFER_MAPPED", GL_BUFFER_MAPPED) \
X("BUFFER_MAP_POINTER", GL_BUFFER_MAP_POINTER) \
X("STREAM_DRAW", GL_STREAM_DRAW) \
X("STREAM_READ", GL_STREAM_READ) \
X("STREAM_COPY", GL_STREAM_COPY) \
X("STATIC_DRAW", GL_STATIC_DRAW) \
X("STATIC_READ", GL_STATIC_READ) \
X("STATIC_COPY", GL_STATIC_COPY) \
X("DYNAMIC_DRAW", GL_DYNAMIC_DRAW) \
X("DYNAMIC_READ", GL_DYNAMIC_READ) \
X("DYNAMIC_COPY", GL_DYNAMIC_COPY) \
X("SAMPLES_PASSED", GL_SAMPLES_PASSED) \
X("SRC1_ALPHA", GL_SRC1_ALPHA) \
X("VERTEX_ARRAY_BUFFER_BINDING", GL_VERTEX_ARRAY_BUFFER_BINDING) \
X("NORMAL_ARRAY_BUFFER_BINDING", GL_NORMAL_ARRAY_BUFFER_BINDING) \
X("COLOR_ARRAY_BUFFER_BINDING", GL_COLOR_ARRAY_BUFFER_BINDING) \
X("INDEX_ARRAY_BUFFER_BINDING", GL_INDEX_ARRAY_BUFFER_BINDING) \
X("TEXTURE_COORD_ARRAY_BUFFER_BINDING", GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) \
X("EDGE_FLAG_ARRAY_BUFFER_BINDING", GL_EDGE_FLAG_ARRAY_BUFFER_BINDING) \
X("SECONDARY_COLOR_ARRAY_BUFFER_BINDING", GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING) \
X("FOG_COORDINATE_ARRAY_BUFFER_BINDING", GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING) \
X("WEIGHT_ARRAY_BUFFER_BINDING", GL_WEIGHT_ARRAY_BUFFER_BINDING) \
X("FOG_COORD_SRC", GL_FOG_COORD_SRC) \
X("FOG_COORD", GL_FOG_COORD) \
X("CURRENT_FOG_COORD", GL_CURRENT_FOG_COORD) \
X("FOG_COORD_ARRAY_TYPE", GL_FOG_COORD_ARRAY_TYPE) \
X("FOG_COORD_ARRAY_STRIDE", GL_FOG_COORD_ARRAY_STRIDE) \
X("FOG_COORD_ARRAY_POINTER", GL_FOG_COORD_ARRAY_POINTER) \
X("FOG_COORD_ARRAY", GL_FOG_COORD_ARRAY) \
X("FOG_COORD_ARRAY_BUFFER_BINDING", GL_FOG_COORD_ARRAY_BUFFER_BINDING) \
X("SRC0_RGB", GL_SRC0_RGB) \
X("SRC1_RGB", GL_SRC1_RGB) \
X("SRC2_RGB", GL_SRC2_RGB) \
X("SRC0_ALPHA", GL_SRC0_ALPHA) \
X("SRC2_ALPHA", GL_SRC2_ALPHA) \
X("BLEND_EQUATION_RGB", GL_BLEND_EQUATION_RGB) \
X("VERTEX_ATTRIB_ARRAY_ENABLED", GL_VERTEX_ATTRIB_ARRAY_ENABLED) \
X("VERTEX_ATTRIB_ARRAY_SIZE", GL_VERTEX_ATTRIB_ARRAY_SIZE) \
X("VERTEX_ATTRIB_ARRAY_STRIDE", GL_VERTEX_ATTRIB_ARRAY_STRIDE) \
X("VERTEX_ATTRIB_ARRAY_TYPE", GL_VERTEX_ATTRIB_ARRAY_TYPE) \
X("CURRENT_VERTEX_ATTRIB", GL_CURRENT_VERTEX_ATTRIB) \
X("VERTEX_PROGRAM_POINT_SIZE", GL_VERTEX_PROGRAM_POINT_SIZE) \
X("VERTEX_ATTRIB_ARRAY_POINTER", GL_VERTEX_ATTRIB_ARRAY_POINTER) \
X("STENCIL_BACK_FUNC", GL_STENCIL_BACK_FUNC) \
X("STENCIL_BACK_FAIL", GL_STENCIL_BACK_FAIL) \
X("STENCIL_BACK_PASS_DEPTH_FAIL", GL_STENCIL_BACK_PASS_DEPTH_FAIL) \
X("STENCIL_BACK_PASS_DEPTH_PASS", GL_STENCIL_BACK_PASS_DEPTH_PASS) \
X("MAX_DRAW_BUFFERS", GL_MAX_DRAW_BUFFERS) \
X("DRAW_BUFFER0", GL_DRAW_BUFFER0) \
X("DRAW_BUFFER1", GL_DRAW_BUFFER1) \
X("DRAW_BUFFER2", GL_DRAW_BUFFER2) \
X("DRAW_BUFFER3", GL_DRAW_BUFFER3) \
X("DRAW_BUFFER4", GL_DRAW_BUFFER4) \
X("DRAW_BUFFER5", GL_DRAW_BUFFER5) \
X("DRAW_BUFFER6", GL_DRAW_BUFFER6) \
X("DRAW_BUFFER7", GL_DRAW_BUFFER7) \
X("DRAW_BUFFER8", GL_DRAW_BUFFER8) \
X("DRAW_BUFFER9", GL_DRAW_BUFFER9) \
X("DRAW_BUFFER10", GL_DRAW_BUFFER10) \
X("DRAW_BUFFER11", GL_DRAW_BUFFER11) \
X("DRAW_BUFFER12", GL_DRAW_BUFFER12) \
X("DRAW_BUFFER13", GL_DRAW_BUFFER13) \
X("DRAW_BUFFER14", GL_DRAW_BUFFER14) \
X("DRAW_BUFFER15", GL_DRAW_BUFFER15) \
X("BLEND_EQUATION_ALPHA", GL_BLEND_EQUATION_ALPHA) \
X("MAX_VERTEX_ATTRIBS", GL_MAX_VERTEX_ATTRIBS) \
X("VERTEX_ATTRIB_ARRAY_NORMALIZED", GL_VERTEX_ATTRIB_ARRAY_NORMALIZED) \
X("MAX_TEXTURE_IMAGE_UNITS", GL_MAX_TEXTURE_IMAGE_UNITS) \
X("FRAGMENT_SHADER", GL_FRAGMENT_SHADER) \
X("VERTEX_SHADER", GL_VERTEX_SHADER) \
X("MAX_FRAGMENT_UNIFORM_COMPONENTS", GL_MAX_FRAGMENT_UNIFORM_COMPONENTS) \
X("MAX_VERTEX_UNIFORM_COMPONENTS", GL_MAX_VERTEX_UNIFORM_COMPONENTS) \
X("MAX_VARYING_FLOATS", GL_MAX_VARYING_FLOATS) \
X("MAX_VERTEX_TEXTURE_IMAGE_UNITS", GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS) \
X("MAX_COMBINED_TEXTURE_IMAGE_UNITS", GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS) \
X("SHADER_TYPE", GL_SHADER_TYPE) \
X("FLOAT_VEC2", GL_FLOAT_VEC2) \
X("FLOAT_VEC3", GL_FLOAT_VEC3) \
X("FLOAT_VEC4", GL_FLOAT_VEC4) \
X("INT_VEC2", GL_INT_VEC2) \
X("INT_VEC3", GL_INT_VEC3) \
X("INT_VEC4", GL_INT_VEC4) \
X("BOOL", GL_BOOL) \
X("BOOL_VEC2", GL_BOOL_VEC2) \
X("BOOL_VEC3", GL_BOOL_VEC3) \
X("BOOL_VEC4", GL_BOOL_VEC4) \
X("FLOAT_MAT2", GL_FLOAT_MAT2) \
X("FLOAT_MAT3", GL_FLOAT_MAT3) \
X("FLOAT_MAT4", GL_FLOAT_MAT4) \
X("SAMPLER_1D", GL_SAMPLER_1D) \
X("SAMPLER_2D", GL_SAMPLER_2D) \
X("SAMPLER_3D", GL_SAMPLER_3D) \
X("SAMPLER_CUBE", GL_SAMPLER_CUBE) \
X("SAMPLER_1D_SHADOW", GL_SAMPLER_1D_SHADOW) \
X("SAMPLER_2D_SHADOW", GL_SAMPLER_2D_SHADOW) \
X("DELETE_STATUS", GL_DELETE_STATUS) \
X("COMPILE_STATUS", GL_COMPILE_STATUS) \
X("LINK_STATUS", GL_LINK_STATUS) \
X("VALIDATE_STATUS", GL_VALIDATE_STATUS) \
X("INFO_LOG_LENGTH", GL_INFO_LOG_LENGTH) \
X("ATTACHED_SHADERS", GL_ATTACHED_SHADERS) \
X("ACTIVE_UNIFORMS", GL_ACTIVE_UNIFORMS) \
X("ACTIVE_UNIFORM_MAX_LENGTH", GL_ACTIVE_UNIFORM_MAX_LENGTH) \
X("SHADER_SOURCE_LENGTH", GL_SHADER_SOURCE_LENGTH) \
X("ACTIVE_ATTRIBUTES", GL_ACTIVE_ATTRIBUTES) \
X("ACTIVE_ATTRIBUTE_MAX_LENGTH", GL_ACTIVE_ATTRIBUTE_MAX_LENGTH) \
X("FRAGMENT_SHADER_DERIVATIVE_HINT", GL_FRAGMENT_SHADER_DERIVATIVE_HINT) \
X("SHADING_LANGUAGE_VERSION", GL_SHADING_LANGUAGE_VERSION) \
X("CURRENT_PROGRAM", GL_CURRENT_PROGRAM) \
X("POINT_SPRITE_COORD_ORIGIN", GL_POINT_SPRITE_COORD_ORIGIN) \
X("LOWER_LEFT", GL_LOWER_LEFT) \
X("UPPER_LEFT", GL_UPPER_LEFT) \
X("STENCIL_BACK_REF", GL_STENCIL_BACK_REF) \
X("STENCIL_BACK_VALUE_MASK", GL_STENCIL_BACK_VALUE_MASK) \
X("STENCIL_BACK_WRITEMASK", GL_STENCIL_BACK_WRITEMASK) \
X("VERTEX_PROGRAM_TWO_SIDE", GL_VERTEX_PROGRAM_TWO_SIDE) \
X("POINT_SPRITE", GL_POINT_SPRITE) \
X("COORD_REPLACE", GL_COORD_REPLACE) \
X("MAX_TEXTURE_COORDS", GL_MAX_TEXTURE_COORDS) \
X("PIXEL_PACK_BUFFER", GL_PIXEL_PACK_BUFFER) \
X("PIXEL_UNPACK_BUFFER", GL_PIXEL_UNPACK_BUFFER) \
X("PIXEL_PACK_BUFFER_BINDING", GL_PIXEL_PACK_BUFFER_BINDING) \
X("PIXEL_UNPACK_BUFFER_BINDING", GL_PIXEL_UNPACK_BUFFER_BINDING) \
X("FLOAT_MAT2x3", GL_FLOAT_MAT2x3) \
X("FLOAT_MAT2x4", GL_FLOAT_MAT2x4) \
X("FLOAT_MAT3x2", GL_FLOAT_MAT3x2) \
X("FLOAT_MAT3x4", GL_FLOAT_MAT3x4) \
X("FLOAT_MAT4x2", GL_FLOAT_MAT4x2) \
X("FLOAT_MAT4x3", GL_FLOAT_MAT4x3) \
X("SRGB", GL_SRGB) \
X("SRGB8", GL_SRGB8) \
X("SRGB_ALPHA", GL_SRGB_ALPHA) \
X("SRGB8_ALPHA8", GL_SRGB8_ALPHA8) \
X("COMPRESSED_SRGB", GL_COMPRESSED_SRGB) \
X("COMPRESSED_SRGB_ALPHA", GL_COMPRESSED_SRGB_ALPHA) \
X("CURRENT_RASTER_SECONDARY_COLOR", GL_CURRENT_RASTER_SECONDARY_COLOR) \
X("SLUMINANCE_ALPHA", GL_SLUMINANCE_ALPHA) \
X("SLUMINANCE8_ALPHA8", GL_SLUMINANCE8_ALPHA8) \
X("SLUMINANCE", GL_SLUMINANCE) \
X("SLUMINANCE8", GL_SLUMINANCE8) \
X("COMPRESSED_SLUMINANCE", GL_COMPRESSED_SLUMINANCE) \
X("COMPRESSED_SLUMINANCE_ALPHA", GL_COMPRESSED_SLUMINANCE_ALPHA) \
X("COMPARE_REF_TO_TEXTURE", GL_COMPARE_REF_TO_TEXTURE) \
X("CLIP_DISTANCE0", GL_CLIP_DISTANCE0) \
X("CLIP_DISTANCE1", GL_CLIP_DISTANCE1) \
X("CLIP_DISTANCE2", GL_CLIP_DISTANCE2) \
X("CLIP_DISTANCE3", GL_CLIP_DISTANCE3) \
X("CLIP_DISTANCE4", GL_CLIP_DISTANCE4) \
X("CLIP_DISTANCE5", GL_CLIP_DISTANCE5) \
X("CLIP_DISTANCE6", GL_CLIP_DISTANCE6) \
X("CLIP_DISTANCE7", GL_CLIP_DISTANCE7) \
X("MAX_CLIP_DISTANCES", GL_MAX_CLIP_DISTANCES) \
X("MAJOR_VERSION", GL_MAJOR_VERSION) \
X("MINOR_VERSION", GL_MINOR_VERSION) \
X("NUM_EXTENSIONS", GL_NUM_EXTENSIONS) \
X("CONTEXT_FLAGS", GL_CONTEXT_FLAGS) \
X("COMPRESSED_RED", GL_COMPRESSED_RED) \
X("COMPRESSED_RG", GL_COMPRESSED_RG) \
X("CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT", GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) \
X("RGBA32F", GL_RGBA32F) \
X("RGB32F", GL_RGB32F) \
X("RGBA16F", GL_RGBA16F) \
X("RGB16F", GL_RGB16F) \
X("VERTEX_ATTRIB_ARRAY_INTEGER", GL_VERTEX_ATTRIB_ARRAY_INTEGER) \
X("MAX_ARRAY_TEXTURE_LAYERS", GL_MAX_ARRAY_TEXTURE_LAYERS) \
X("MIN_PROGRAM_TEXEL_OFFSET", GL_MIN_PROGRAM_TEXEL_OFFSET) \
X("MAX_PROGRAM_TEXEL_OFFSET", GL_MAX_PROGRAM_TEXEL_OFFSET) \
X("CLAMP_READ_COLOR", GL_CLAMP_READ_COLOR) \
X("FIXED_ONLY", GL_FIXED_ONLY) \
X("MAX_VARYING_COMPONENTS", GL_MAX_VARYING_COMPONENTS) \
X("TEXTURE_1D_ARRAY", GL_TEXTURE_1D_ARRAY) \
X("PROXY_TEXTURE_1D_ARRAY", GL_PROXY_TEXTURE_1D_ARRAY) \
X("TEXTURE_2D_ARRAY", GL_TEXTURE_2D_ARRAY) \
X("PROXY_TEXTURE_2D_ARRAY", GL_PROXY_TEXTURE_2D_ARRAY) \
X("TEXTURE_BINDING_1D_ARRAY", GL_TEXTURE_BINDING_1D_ARRAY) \
X("TEXTURE_BINDING_2D_ARRAY", GL_TEXTURE_BINDING_2D_ARRAY) \
X("R11F_G11F_B10F", GL_R11F_G11F_B10F) \
X("UNSIGNED_INT_10F_11F_11F_REV", GL_UNSIGNED_INT_10F_11F_11F_REV) \
X("RGB9_E5", GL_RGB9_E5) \
X("UNSIGNED_INT_5_9_9_9_REV", GL_UNSIGNED_INT_5_9_9_9_REV) \
X("TEXTURE_SHARED_SIZE", GL_TEXTURE_SHARED_SIZE) \
X("TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH", GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH) \
X("TRANSFORM_FEEDBACK_BUFFER_MODE", GL_TRANSFORM_FEEDBACK_BUFFER_MODE) \
X("MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) \
X("TRANSFORM_FEEDBACK_VARYINGS", GL_TRANSFORM_FEEDBACK_VARYINGS) \
X("TRANSFORM_FEEDBACK_BUFFER_START", GL_TRANSFORM_FEEDBACK_BUFFER_START) \
X("TRANSFORM_FEEDBACK_BUFFER_SIZE", GL_TRANSFORM_FEEDBACK_BUFFER_SIZE) \
X("PRIMITIVES_GENERATED", GL_PRIMITIVES_GENERATED) \
X("TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN", GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) \
X("RASTERIZER_DISCARD", GL_RASTERIZER_DISCARD) \
X("MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS) \
X("MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) \
X("INTERLEAVED_ATTRIBS", GL_INTERLEAVED_ATTRIBS) \
X("SEPARATE_ATTRIBS", GL_SEPARATE_ATTRIBS) \
X("TRANSFORM_FEEDBACK_BUFFER", GL_TRANSFORM_FEEDBACK_BUFFER) \
X("TRANSFORM_FEEDBACK_BUFFER_BINDING", GL_TRANSFORM_FEEDBACK_BUFFER_BINDING) \
X("RGBA32UI", GL_RGBA32UI) \
X("RGB32UI", GL_RGB32UI) \
X("RGBA16UI", GL_RGBA16UI) \
X("RGB16UI", GL_RGB16UI) \
X("RGBA8UI", GL_RGBA8UI) \
X("RGB8UI", GL_RGB8UI) \
X("RGBA32I", GL_RGBA32I) \
X("RGB32I", GL_RGB32I) \
X("RGBA16I", GL_RGBA16I) \
X("RGB16I", GL_RGB16I) \
X("RGBA8I", GL_RGBA8I) \
X("RGB8I", GL_RGB8I) \
X("RED_INTEGER", GL_RED_INTEGER) \
X("GREEN_INTEGER", GL_GREEN_INTEGER) \
X("BLUE_INTEGER", GL_BLUE_INTEGER) \
X("RGB_INTEGER", GL_RGB_INTEGER) \
X("RGBA_INTEGER", GL_RGBA_INTEGER) \
X("BGR_INTEGER", GL_BGR_INTEGER) \
X("BGRA_INTEGER", GL_BGRA_INTEGER) \
X("SAMPLER_1D_ARRAY", GL_SAMPLER_1D_ARRAY) \
X("SAMPLER_2D_ARRAY", GL_SAMPLER_2D_ARRAY) \
X("SAMPLER_1D_ARRAY_SHADOW", GL_SAMPLER_1D_ARRAY_SHADOW) \
X("SAMPLER_2D_ARRAY_SHADOW", GL_SAMPLER_2D_ARRAY_SHADOW) \
X("SAMPLER_CUBE_SHADOW", GL_SAMPLER_CUBE_SHADOW) \
X("UNSIGNED_INT_VEC2", GL_UNSIGNED_INT_VEC2) \
X("UNSIGNED_INT_VEC3", GL_UNSIGNED_INT_VEC3) \
X("UNSIGNED_INT_VEC4", GL_UNSIGNED_INT_VEC4) \
X("INT_SAMPLER_1D", GL_INT_SAMPLER_1D) \
X("INT_SAMPLER_2D", GL_INT_SAMPLER_2D) \
X("INT_SAMPLER_3D", GL_INT_SAMPLER_3D) \
X("INT_SAMPLER_CUBE", GL_INT_SAMPLER_CUBE) \
X("INT_SAMPLER_1D_ARRAY", GL_INT_SAMPLER_1D_ARRAY) \
X("INT_SAMPLER_2D_ARRAY", GL_INT_SAMPLER_2D_ARRAY) \
X("UNSIGNED_INT_SAMPLER_1D", GL_UNSIGNED_INT_SAMPLER_1D) \
X("UNSIGNED_INT_SAMPLER_2D", GL_UNSIGNED_INT_SAMPLER_2D) \
X("UNSIGNED_INT_SAMPLER_3D", GL_UNSIGNED_INT_SAMPLER_3D) \
X("UNSIGNED_INT_SAMPLER_CUBE", GL_UNSIGNED_INT_SAMPLER_CUBE) \
X("UNSIGNED_INT_SAMPLER_1D_ARRAY", GL_UNSIGNED_INT_SAMPLER_1D_ARRAY) \
X("UNSIGNED_INT_SAMPLER_2D_ARRAY", GL_UNSIGNED_INT_SAMPLER_2D_ARRAY) \
X("QUERY_WAIT", GL_QUERY_WAIT) \
X("QUERY_NO_WAIT", GL_QUERY_NO_WAIT) \
X("QUERY_BY_REGION_WAIT", GL_QUERY_BY_REGION_WAIT) \
X("QUERY_BY_REGION_NO_WAIT", GL_QUERY_BY_REGION_NO_WAIT) \
X("BUFFER_ACCESS_FLAGS", GL_BUFFER_ACCESS_FLAGS) \
X("BUFFER_MAP_LENGTH", GL_BUFFER_MAP_LENGTH) \
X("BUFFER_MAP_OFFSET", GL_BUFFER_MAP_OFFSET) \
X("DEPTH_COMPONENT32F", GL_DEPTH_COMPONENT32F) \
X("DEPTH32F_STENCIL8", GL_DEPTH32F_STENCIL8) \
X("FLOAT_32_UNSIGNED_INT_24_8_REV", GL_FLOAT_32_UNSIGNED_INT_24_8_REV) \
X("INVALID_FRAMEBUFFER_OPERATION", GL_INVALID_FRAMEBUFFER_OPERATION) \
X("FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING", GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING) \
X("FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE", GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE) \
X("FRAMEBUFFER_ATTACHMENT_RED_SIZE", GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE) \
X("FRAMEBUFFER_ATTACHMENT_GREEN_SIZE", GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE) \
X("FRAMEBUFFER_ATTACHMENT_BLUE_SIZE", GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE) \
X("FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE", GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE) \
X("FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE", GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE) \
X("FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE", GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE) \
X("FRAMEBUFFER_DEFAULT", GL_FRAMEBUFFER_DEFAULT) \
X("FRAMEBUFFER_UNDEFINED", GL_FRAMEBUFFER_UNDEFINED) \
X("DEPTH_STENCIL_ATTACHMENT", GL_DEPTH_STENCIL_ATTACHMENT) \
X("MAX_RENDERBUFFER_SIZE", GL_MAX_RENDERBUFFER_SIZE) \
X("DEPTH_STENCIL", GL_DEPTH_STENCIL) \
X("UNSIGNED_INT_24_8", GL_UNSIGNED_INT_24_8) \
X("DEPTH24_STENCIL8", GL_DEPTH24_STENCIL8) \
X("TEXTURE_STENCIL_SIZE", GL_TEXTURE_STENCIL_SIZE) \
X("TEXTURE_RED_TYPE", GL_TEXTURE_RED_TYPE) \
X("TEXTURE_GREEN_TYPE", GL_TEXTURE_GREEN_TYPE) \
X("TEXTURE_BLUE_TYPE", GL_TEXTURE_BLUE_TYPE) \
X("TEXTURE_ALPHA_TYPE", GL_TEXTURE_ALPHA_TYPE) \
X("TEXTURE_DEPTH_TYPE", GL_TEXTURE_DEPTH_TYPE) \
X("UNSIGNED_NORMALIZED", GL_UNSIGNED_NORMALIZED) \
X("FRAMEBUFFER_BINDING", GL_FRAMEBUFFER_BINDING) \
X("DRAW_FRAMEBUFFER_BINDING", GL_DRAW_FRAMEBUFFER_BINDING) \
X("RENDERBUFFER_BINDING", GL_RENDERBUFFER_BINDING) \
X("READ_FRAMEBUFFER", GL_READ_FRAMEBUFFER) \
X("DRAW_FRAMEBUFFER", GL_DRAW_FRAMEBUFFER) \
X("READ_FRAMEBUFFER_BINDING", GL_READ_FRAMEBUFFER_BINDING) \
X("RENDERBUFFER_SAMPLES", GL_RENDERBUFFER_SAMPLES) \
X("FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) \
X("FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) \
X("FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL) \
X("FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE) \
X("FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER", GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER) \
X("FRAMEBUFFER_COMPLETE", GL_FRAMEBUFFER_COMPLETE) \
X("FRAMEBUFFER_INCOMPLETE_ATTACHMENT", GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) \
X("FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) \
X("FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER", GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER) \
X("FRAMEBUFFER_INCOMPLETE_READ_BUFFER", GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER) \
X("FRAMEBUFFER_UNSUPPORTED", GL_FRAMEBUFFER_UNSUPPORTED) \
X("MAX_COLOR_ATTACHMENTS", GL_MAX_COLOR_ATTACHMENTS) \
X("COLOR_ATTACHMENT0", GL_COLOR_ATTACHMENT0) \
X("COLOR_ATTACHMENT1", GL_COLOR_ATTACHMENT1) \
X("COLOR_ATTACHMENT2", GL_COLOR_ATTACHMENT2) \
X("COLOR_ATTACHMENT3", GL_COLOR_ATTACHMENT3) \
X("COLOR_ATTACHMENT4", GL_COLOR_ATTACHMENT4) \
X("COLOR_ATTACHMENT5", GL_COLOR_ATTACHMENT5) \
X("COLOR_ATTACHMENT6", GL_COLOR_ATTACHMENT6) \
X("COLOR_ATTACHMENT7", GL_COLOR_ATTACHMENT7) \
X("COLOR_ATTACHMENT8", GL_COLOR_ATTACHMENT8) \
X("COLOR_ATTACHMENT9", GL_COLOR_ATTACHMENT9) \
X("COLOR_ATTACHMENT10", GL_COLOR_ATTACHMENT10) \
X("COLOR_ATTACHMENT11", GL_COLOR_ATTACHMENT11) \
X("COLOR_ATTACHMENT12", GL_COLOR_ATTACHMENT12) \
X("COLOR_ATTACHMENT13", GL_COLOR_ATTACHMENT13) \
X("COLOR_ATTACHMENT14", GL_COLOR_ATTACHMENT14) \
X("COLOR_ATTACHMENT15", GL_COLOR_ATTACHMENT15) \
X("COLOR_ATTACHMENT16", GL_COLOR_ATTACHMENT16) \
X("COLOR_ATTACHMENT17", GL_COLOR_ATTACHMENT17) \
X("COLOR_ATTACHMENT18", GL_COLOR_ATTACHMENT18) \
X("COLOR_ATTACHMENT19", GL_COLOR_ATTACHMENT19) \
X("COLOR_ATTACHMENT20", GL_COLOR_ATTACHMENT20) \
X("COLOR_ATTACHMENT21", GL_COLOR_ATTACHMENT21) \
X("COLOR_ATTACHMENT22", GL_COLOR_ATTACHMENT22) \
X("COLOR_ATTACHMENT23", GL_COLOR_ATTACHMENT23) \
X("COLOR_ATTACHMENT24", GL_COLOR_ATTACHMENT24) \
X("COLOR_ATTACHMENT25", GL_COLOR_ATTACHMENT25) \
X("COLOR_ATTACHMENT26", GL_COLOR_ATTACHMENT26) \
X("COLOR_ATTACHMENT27", GL_COLOR_ATTACHMENT27) \
X("COLOR_ATTACHMENT28", GL_COLOR_ATTACHMENT28) \
X("COLOR_ATTACHMENT29", GL_COLOR_ATTACHMENT29) \
X("COLOR_ATTACHMENT30", GL_COLOR_ATTACHMENT30) \
X("COLOR_ATTACHMENT31", GL_COLOR_ATTACHMENT31) \
X("DEPTH_ATTACHMENT", GL_DEPTH_ATTACHMENT) \
X("STENCIL_ATTACHMENT", GL_STENCIL_ATTACHMENT) \
X("FRAMEBUFFER", GL_FRAMEBUFFER) \
X("RENDERBUFFER", GL_RENDERBUFFER) \
X("RENDERBUFFER_WIDTH", GL_RENDERBUFFER_WIDTH) \
X("RENDERBUFFER_HEIGHT", GL_RENDERBUFFER_HEIGHT) \
X("RENDERBUFFER_INTERNAL_FORMAT", GL_RENDERBUFFER_INTERNAL_FORMAT) \
X("STENCIL_INDEX1", GL_STENCIL_INDEX1) \
X("STENCIL_INDEX4", GL_STENCIL_INDEX4) \
X("STENCIL_INDEX8", GL_STENCIL_INDEX8) \
X("STENCIL_INDEX16", GL_STENCIL_INDEX16) \
X("RENDERBUFFER_RED_SIZE", GL_RENDERBUFFER_RED_SIZE) \
X("RENDERBUFFER_GREEN_SIZE", GL_RENDERBUFFER_GREEN_SIZE) \
X("RENDERBUFFER_BLUE_SIZE", GL_RENDERBUFFER_BLUE_SIZE) \
X("RENDERBUFFER_ALPHA_SIZE", GL_RENDERBUFFER_ALPHA_SIZE) \
X("RENDERBUFFER_DEPTH_SIZE", GL_RENDERBUFFER_DEPTH_SIZE) \
X("RENDERBUFFER_STENCIL_SIZE", GL_RENDERBUFFER_STENCIL_SIZE) \
X("FRAMEBUFFER_INCOMPLETE_MULTISAMPLE", GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) \
X("MAX_SAMPLES", GL_MAX_SAMPLES) \
X("INDEX", GL_INDEX) \
X("TEXTURE_LUMINANCE_TYPE", GL_TEXTURE_LUMINANCE_TYPE) \
X("TEXTURE_INTENSITY_TYPE", GL_TEXTURE_INTENSITY_TYPE) \
X("FRAMEBUFFER_SRGB", GL_FRAMEBUFFER_SRGB) \
X("HALF_FLOAT", GL_HALF_FLOAT) \
X("MAP_READ_BIT", GL_MAP_READ_BIT) \
X("MAP_WRITE_BIT", GL_MAP_WRITE_BIT) \
X("MAP_INVALIDATE_RANGE_BIT", GL_MAP_INVALIDATE_RANGE_BIT) \
X("MAP_INVALIDATE_BUFFER_BIT", GL_MAP_INVALIDATE_BUFFER_BIT) \
X("MAP_FLUSH_EXPLICIT_BIT", GL_MAP_FLUSH_EXPLICIT_BIT) \
X("MAP_UNSYNCHRONIZED_BIT", GL_MAP_UNSYNCHRONIZED_BIT) \
X("COMPRESSED_RED_RGTC1", GL_COMPRESSED_RED_RGTC1) \
X("COMPRESSED_SIGNED_RED_RGTC1", GL_COMPRESSED_SIGNED_RED_RGTC1) \
X("COMPRESSED_RG_RGTC2", GL_COMPRESSED_RG_RGTC2) \
X("COMPRESSED_SIGNED_RG_RGTC2", GL_COMPRESSED_SIGNED_RG_RGTC2) \
X("RG", GL_RG) \
X("RG_INTEGER", GL_RG_INTEGER) \
X("R8", GL_R8) \
X("R16", GL_R16) \
X("RG8", GL_RG8) \
X("RG16", GL_RG16) \
X("R16F", GL_R16F) \
X("R32F", GL_R32F) \
X("RG16F", GL_RG16F) \
X("RG32F", GL_RG32F) \
X("R8I", GL_R8I) \
X("R8UI", GL_R8UI) \
X("R16I", GL_R16I) \
X("R16UI", GL_R16UI) \
X("R32I", GL_R32I) \
X("R32UI", GL_R32UI) \
X("RG8I", GL_RG8I) \
X("RG8UI", GL_RG8UI) \
X("RG16I", GL_RG16I) \
X("RG16UI", GL_RG16UI) \
X("RG32I", GL_RG32I) \
X("RG32UI", GL_RG32UI) \
X("VERTEX_ARRAY_BINDING", GL_VERTEX_ARRAY_BINDING) \
X("CLAMP_VERTEX_COLOR", GL_CLAMP_VERTEX_COLOR) \
X("CLAMP_FRAGMENT_COLOR", GL_CLAMP_FRAGMENT_COLOR) \
X("ALPHA_INTEGER", GL_ALPHA_INTEGER) \
X("SAMPLER_2D_RECT", GL_SAMPLER_2D_RECT) \
X("SAMPLER_2D_RECT_SHADOW", GL_SAMPLER_2D_RECT_SHADOW) \
X("SAMPLER_BUFFER", GL_SAMPLER_BUFFER) \
X("INT_SAMPLER_2D_RECT", GL_INT_SAMPLER_2D_RECT) \
X("INT_SAMPLER_BUFFER", GL_INT_SAMPLER_BUFFER) \
X("UNSIGNED_INT_SAMPLER_2D_RECT", GL_UNSIGNED_INT_SAMPLER_2D_RECT) \
X("UNSIGNED_INT_SAMPLER_BUFFER", GL_UNSIGNED_INT_SAMPLER_BUFFER) \
X("TEXTURE_BUFFER", GL_TEXTURE_BUFFER) \
X("MAX_TEXTURE_BUFFER_SIZE", GL_MAX_TEXTURE_BUFFER_SIZE) \
X("TEXTURE_BINDING_BUFFER", GL_TEXTURE_BINDING_BUFFER) \
X("TEXTURE_BUFFER_DATA_STORE_BINDING", GL_TEXTURE_BUFFER_DATA_STORE_BINDING) \
X("TEXTURE_RECTANGLE", GL_TEXTURE_RECTANGLE) \
X("TEXTURE_BINDING_RECTANGLE", GL_TEXTURE_BINDING_RECTANGLE) \
X("PROXY_TEXTURE_RECTANGLE", GL_PROXY_TEXTURE_RECTANGLE) \
X("MAX_RECTANGLE_TEXTURE_SIZE", GL_MAX_RECTANGLE_TEXTURE_SIZE) \
X("R8_SNORM", GL_R8_SNORM) \
X("RG8_SNORM", GL_RG8_SNORM) \
X("RGB8_SNORM", GL_RGB8_SNORM) \
X("RGBA8_SNORM", GL_RGBA8_SNORM) \
X("R16_SNORM", GL_R16_SNORM) \
X("RG16_SNORM", GL_RG16_SNORM) \
X("RGB16_SNORM", GL_RGB16_SNORM) \
X("RGBA16_SNORM", GL_RGBA16_SNORM) \
X("SIGNED_NORMALIZED", GL_SIGNED_NORMALIZED) \
X("PRIMITIVE_RESTART", GL_PRIMITIVE_RESTART) \
X("PRIMITIVE_RESTART_INDEX", GL_PRIMITIVE_RESTART_INDEX) \
X("COPY_READ_BUFFER", GL_COPY_READ_BUFFER) \
X("COPY_WRITE_BUFFER", GL_COPY_WRITE_BUFFER) \
X("UNIFORM_BUFFER", GL_UNIFORM_BUFFER) \
X("UNIFORM_BUFFER_BINDING", GL_UNIFORM_BUFFER_BINDING) \
X("UNIFORM_BUFFER_START", GL_UNIFORM_BUFFER_START) \
X("UNIFORM_BUFFER_SIZE", GL_UNIFORM_BUFFER_SIZE) \
X("MAX_VERTEX_UNIFORM_BLOCKS", GL_MAX_VERTEX_UNIFORM_BLOCKS) \
X("MAX_GEOMETRY_UNIFORM_BLOCKS", GL_MAX_GEOMETRY_UNIFORM_BLOCKS) \
X("MAX_FRAGMENT_UNIFORM_BLOCKS", GL_MAX_FRAGMENT_UNIFORM_BLOCKS) \
X("MAX_COMBINED_UNIFORM_BLOCKS", GL_MAX_COMBINED_UNIFORM_BLOCKS) \
X("MAX_UNIFORM_BUFFER_BINDINGS", GL_MAX_UNIFORM_BUFFER_BINDINGS) \
X("MAX_UNIFORM_BLOCK_SIZE", GL_MAX_UNIFORM_BLOCK_SIZE) \
X("MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS) \
X("MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS", GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS) \
X("MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS) \
X("UNIFORM_BUFFER_OFFSET_ALIGNMENT", GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT) \
X("ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH", GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH) \
X("ACTIVE_UNIFORM_BLOCKS", GL_ACTIVE_UNIFORM_BLOCKS) \
X("UNIFORM_TYPE", GL_UNIFORM_TYPE) \
X("UNIFORM_SIZE", GL_UNIFORM_SIZE) \
X("UNIFORM_NAME_LENGTH", GL_UNIFORM_NAME_LENGTH) \
X("UNIFORM_BLOCK_INDEX", GL_UNIFORM_BLOCK_INDEX) \
X("UNIFORM_OFFSET", GL_UNIFORM_OFFSET) \
X("UNIFORM_ARRAY_STRIDE", GL_UNIFORM_ARRAY_STRIDE) \
X("UNIFORM_MATRIX_STRIDE", GL_UNIFORM_MATRIX_STRIDE) \
X("UNIFORM_IS_ROW_MAJOR", GL_UNIFORM_IS_ROW_MAJOR) \
X("UNIFORM_BLOCK_BINDING", GL_UNIFORM_BLOCK_BINDING) \
X("UNIFORM_BLOCK_DATA_SIZE", GL_UNIFORM_BLOCK_DATA_SIZE) \
X("UNIFORM_BLOCK_NAME_LENGTH", GL_UNIFORM_BLOCK_NAME_LENGTH) \
X("UNIFORM_BLOCK_ACTIVE_UNIFORMS", GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS) \
X("UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES", GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES) \
X("UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER", GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER) \
X("UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER", GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER) \
X("UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER", GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER) \
X("INVALID_INDEX", GL_INVALID_INDEX) \
X("CONTEXT_CORE_PROFILE_BIT", GL_CONTEXT_CORE_PROFILE_BIT) \
X("CONTEXT_COMPATIBILITY_PROFILE_BIT", GL_CONTEXT_COMPATIBILITY_PROFILE_BIT) \
X("LINES_ADJACENCY", GL_LINES_ADJACENCY) \
X("LINE_STRIP_ADJACENCY", GL_LINE_STRIP_ADJACENCY) \
X("TRIANGLES_ADJACENCY", GL_TRIANGLES_ADJACENCY) \
X("TRIANGLE_STRIP_ADJACENCY", GL_TRIANGLE_STRIP_ADJACENCY) \
X("PROGRAM_POINT_SIZE", GL_PROGRAM_POINT_SIZE) \
X("MAX_GEOMETRY_TEXTURE_IMAGE_UNITS", GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS) \
X("FRAMEBUFFER_ATTACHMENT_LAYERED", GL_FRAMEBUFFER_ATTACHMENT_LAYERED) \
X("FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS", GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS) \
X("GEOMETRY_SHADER", GL_GEOMETRY_SHADER) \
X("GEOMETRY_VERTICES_OUT", GL_GEOMETRY_VERTICES_OUT) \
X("GEOMETRY_INPUT_TYPE", GL_GEOMETRY_INPUT_TYPE) \
X("GEOMETRY_OUTPUT_TYPE", GL_GEOMETRY_OUTPUT_TYPE) \
X("MAX_GEOMETRY_UNIFORM_COMPONENTS", GL_MAX_GEOMETRY_UNIFORM_COMPONENTS) \
X("MAX_GEOMETRY_OUTPUT_VERTICES", GL_MAX_GEOMETRY_OUTPUT_VERTICES) \
X("MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS", GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS) \
X("MAX_VERTEX_OUTPUT_COMPONENTS", GL_MAX_VERTEX_OUTPUT_COMPONENTS) \
X("MAX_GEOMETRY_INPUT_COMPONENTS", GL_MAX_GEOMETRY_INPUT_COMPONENTS) \
X("MAX_GEOMETRY_OUTPUT_COMPONENTS", GL_MAX_GEOMETRY_OUTPUT_COMPONENTS) \
X("MAX_FRAGMENT_INPUT_COMPONENTS", GL_MAX_FRAGMENT_INPUT_COMPONENTS) \
X("CONTEXT_PROFILE_MASK", GL_CONTEXT_PROFILE_MASK) \
X("DEPTH_CLAMP", GL_DEPTH_CLAMP) \
X("QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION", GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION) \
X("FIRST_VERTEX_CONVENTION", GL_FIRST_VERTEX_CONVENTION) \
X("LAST_VERTEX_CONVENTION", GL_LAST_VERTEX_CONVENTION) \
X("PROVOKING_VERTEX", GL_PROVOKING_VERTEX) \
X("TEXTURE_CUBE_MAP_SEAMLESS", GL_TEXTURE_CUBE_MAP_SEAMLESS) \
X("MAX_SERVER_WAIT_TIMEOUT", GL_MAX_SERVER_WAIT_TIMEOUT) \
X("OBJECT_TYPE", GL_OBJECT_TYPE) \
X("SYNC_CONDITION", GL_SYNC_CONDITION) \
X("SYNC_STATUS", GL_SYNC_STATUS) \
X("SYNC_FLAGS", GL_SYNC_FLAGS) \
X("SYNC_FENCE", GL_SYNC_FENCE) \
X("SYNC_GPU_COMMANDS_COMPLETE", GL_SYNC_GPU_COMMANDS_COMPLETE) \
X("UNSIGNALED", GL_UNSIGNALED) \
X("SIGNALED", GL_SIGNALED) \
X("ALREADY_SIGNALED", GL_ALREADY_SIGNALED) \
X("TIMEOUT_EXPIRED", GL_TIMEOUT_EXPIRED) \
X("CONDITION_SATISFIED", GL_CONDITION_SATISFIED) \
X("WAIT_FAILED", GL_WAIT_FAILED) \
X("TIMEOUT_IGNORED", GL_TIMEOUT_IGNORED) \
X("SYNC_FLUSH_COMMANDS_BIT", GL_SYNC_FLUSH_COMMANDS_BIT) \
X("SAMPLE_POSITION", GL_SAMPLE_POSITION) \
X("SAMPLE_MASK", GL_SAMPLE_MASK) \
X("SAMPLE_MASK_VALUE", GL_SAMPLE_MASK_VALUE) \
X("MAX_SAMPLE_MASK_WORDS", GL_MAX_SAMPLE_MASK_WORDS) \
X("TEXTURE_2D_MULTISAMPLE", GL_TEXTURE_2D_MULTISAMPLE) \
X("PROXY_TEXTURE_2D_MULTISAMPLE", GL_PROXY_TEXTURE_2D_MULTISAMPLE) \
X("TEXTURE_2D_MULTISAMPLE_ARRAY", GL_TEXTURE_2D_MULTISAMPLE_ARRAY) \
X("PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY", GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY) \
X("TEXTURE_BINDING_2D_MULTISAMPLE", GL_TEXTURE_BINDING_2D_MULTISAMPLE) \
X("TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY", GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY) \
X("TEXTURE_SAMPLES", GL_TEXTURE_SAMPLES) \
X("TEXTURE_FIXED_SAMPLE_LOCATIONS", GL_TEXTURE_FIXED_SAMPLE_LOCATIONS) \
X("SAMPLER_2D_MULTISAMPLE", GL_SAMPLER_2D_MULTISAMPLE) \
X("INT_SAMPLER_2D_MULTISAMPLE", GL_INT_SAMPLER_2D_MULTISAMPLE) \
X("UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE", GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE) \
X("SAMPLER_2D_MULTISAMPLE_ARRAY", GL_SAMPLER_2D_MULTISAMPLE_ARRAY) \
X("INT_SAMPLER_2D_MULTISAMPLE_ARRAY", GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) \
X("UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY", GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY) \
X("MAX_COLOR_TEXTURE_SAMPLES", GL_MAX_COLOR_TEXTURE_SAMPLES) \
X("MAX_DEPTH_TEXTURE_SAMPLES", GL_MAX_DEPTH_TEXTURE_SAMPLES) \
X("MAX_INTEGER_SAMPLES", GL_MAX_INTEGER_SAMPLES) \
X("VERTEX_ATTRIB_ARRAY_DIVISOR", GL_VERTEX_ATTRIB_ARRAY_DIVISOR) \
X("SRC1_COLOR", GL_SRC1_COLOR) \
X("ONE_MINUS_SRC1_COLOR", GL_ONE_MINUS_SRC1_COLOR) \
X("ONE_MINUS_SRC1_ALPHA", GL_ONE_MINUS_SRC1_ALPHA) \
X("MAX_DUAL_SOURCE_DRAW_BUFFERS", GL_MAX_DUAL_SOURCE_DRAW_BUFFERS) \
X("ANY_SAMPLES_PASSED", GL_ANY_SAMPLES_PASSED) \
X("SAMPLER_BINDING", GL_SAMPLER_BINDING) \
X("RGB10_A2UI", GL_RGB10_A2UI) \
X("TEXTURE_SWIZZLE_R", GL_TEXTURE_SWIZZLE_R) \
X("TEXTURE_SWIZZLE_G", GL_TEXTURE_SWIZZLE_G) \
X("TEXTURE_SWIZZLE_B", GL_TEXTURE_SWIZZLE_B) \
X("TEXTURE_SWIZZLE_A", GL_TEXTURE_SWIZZLE_A) \
X("TEXTURE_SWIZZLE_RGBA", GL_TEXTURE_SWIZZLE_RGBA) \
X("TIME_ELAPSED", GL_TIME_ELAPSED) \
X("TIMESTAMP", GL_TIMESTAMP) \
X("INT_2_10_10_10_REV", GL_INT_2_10_10_10_REV) \
X("SAMPLE_SHADING", GL_SAMPLE_SHADING) \
X("MIN_SAMPLE_SHADING_VALUE", GL_MIN_SAMPLE_SHADING_VALUE) \
X("MIN_PROGRAM_TEXTURE_GATHER_OFFSET", GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET) \
X("MAX_PROGRAM_TEXTURE_GATHER_OFFSET", GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET) \
X("TEXTURE_CUBE_MAP_ARRAY", GL_TEXTURE_CUBE_MAP_ARRAY) \
X("TEXTURE_BINDING_CUBE_MAP_ARRAY", GL_TEXTURE_BINDING_CUBE_MAP_ARRAY) \
X("PROXY_TEXTURE_CUBE_MAP_ARRAY", GL_PROXY_TEXTURE_CUBE_MAP_ARRAY) \
X("SAMPLER_CUBE_MAP_ARRAY", GL_SAMPLER_CUBE_MAP_ARRAY) \
X("SAMPLER_CUBE_MAP_ARRAY_SHADOW", GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW) \
X("INT_SAMPLER_CUBE_MAP_ARRAY", GL_INT_SAMPLER_CUBE_MAP_ARRAY) \
X("UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY", GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY) \
X("DRAW_INDIRECT_BUFFER", GL_DRAW_INDIRECT_BUFFER) \
X("DRAW_INDIRECT_BUFFER_BINDING", GL_DRAW_INDIRECT_BUFFER_BINDING) \
X("GEOMETRY_SHADER_INVOCATIONS", GL_GEOMETRY_SHADER_INVOCATIONS) \
X("MAX_GEOMETRY_SHADER_INVOCATIONS", GL_MAX_GEOMETRY_SHADER_INVOCATIONS) \
X("MIN_FRAGMENT_INTERPOLATION_OFFSET", GL_MIN_FRAGMENT_INTERPOLATION_OFFSET) \
X("MAX_FRAGMENT_INTERPOLATION_OFFSET", GL_MAX_FRAGMENT_INTERPOLATION_OFFSET) \
X("FRAGMENT_INTERPOLATION_OFFSET_BITS", GL_FRAGMENT_INTERPOLATION_OFFSET_BITS) \
X("MAX_VERTEX_STREAMS", GL_MAX_VERTEX_STREAMS) \
X("DOUBLE_VEC2", GL_DOUBLE_VEC2) \
X("DOUBLE_VEC3", GL_DOUBLE_VEC3) \
X("DOUBLE_VEC4", GL_DOUBLE_VEC4) \
X("DOUBLE_MAT2", GL_DOUBLE_MAT2) \
X("DOUBLE_MAT3", GL_DOUBLE_MAT3) \
X("DOUBLE_MAT4", GL_DOUBLE_MAT4) \
X("DOUBLE_MAT2x3", GL_DOUBLE_MAT2x3) \
X("DOUBLE_MAT2x4", GL_DOUBLE_MAT2x4) \
X("DOUBLE_MAT3x2", GL_DOUBLE_MAT3x2) \
X("DOUBLE_MAT3x4", GL_DOUBLE_MAT3x4) \
X("DOUBLE_MAT4x2", GL_DOUBLE_MAT4x2) \
X("DOUBLE_MAT4x3", GL_DOUBLE_MAT4x3) \
X("ACTIVE_SUBROUTINES", GL_ACTIVE_SUBROUTINES) \
X("ACTIVE_SUBROUTINE_UNIFORMS", GL_ACTIVE_SUBROUTINE_UNIFORMS) \
X("ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS", GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS) \
X("ACTIVE_SUBROUTINE_MAX_LENGTH", GL_ACTIVE_SUBROUTINE_MAX_LENGTH) \
X("ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH", GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH) \
X("MAX_SUBROUTINES", GL_MAX_SUBROUTINES) \
X("MAX_SUBROUTINE_UNIFORM_LOCATIONS", GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS) \
X("NUM_COMPATIBLE_SUBROUTINES", GL_NUM_COMPATIBLE_SUBROUTINES) \
X("COMPATIBLE_SUBROUTINES", GL_COMPATIBLE_SUBROUTINES) \
X("PATCHES", GL_PATCHES) \
X("PATCH_VERTICES", GL_PATCH_VERTICES) \
X("PATCH_DEFAULT_INNER_LEVEL", GL_PATCH_DEFAULT_INNER_LEVEL) \
X("PATCH_DEFAULT_OUTER_LEVEL", GL_PATCH_DEFAULT_OUTER_LEVEL) \
X("TESS_CONTROL_OUTPUT_VERTICES", GL_TESS_CONTROL_OUTPUT_VERTICES) \
X("TESS_GEN_MODE", GL_TESS_GEN_MODE) \
X("TESS_GEN_SPACING", GL_TESS_GEN_SPACING) \
X("TESS_GEN_VERTEX_ORDER", GL_TESS_GEN_VERTEX_ORDER) \
X("TESS_GEN_POINT_MODE", GL_TESS_GEN_POINT_MODE) \
X("ISOLINES", GL_ISOLINES) \
X("FRACTIONAL_ODD", GL_FRACTIONAL_ODD) \
X("FRACTIONAL_EVEN", GL_FRACTIONAL_EVEN) \
X("MAX_PATCH_VERTICES", GL_MAX_PATCH_VERTICES) \
X("MAX_TESS_GEN_LEVEL", GL_MAX_TESS_GEN_LEVEL) \
X("MAX_TESS_CONTROL_UNIFORM_COMPONENTS", GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS) \
X("MAX_TESS_EVALUATION_UNIFORM_COMPONENTS", GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS) \
X("MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS", GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS) \
X("MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS", GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS) \
X("MAX_TESS_CONTROL_OUTPUT_COMPONENTS", GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS) \
X("MAX_TESS_PATCH_COMPONENTS", GL_MAX_TESS_PATCH_COMPONENTS) \
X("MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS", GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS) \
X("MAX_TESS_EVALUATION_OUTPUT_COMPONENTS", GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS) \
X("MAX_TESS_CONTROL_UNIFORM_BLOCKS", GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS) \
X("MAX_TESS_EVALUATION_UNIFORM_BLOCKS", GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS) \
X("MAX_TESS_CONTROL_INPUT_COMPONENTS", GL_MAX_TESS_CONTROL_INPUT_COMPONENTS) \
X("MAX_TESS_EVALUATION_INPUT_COMPONENTS", GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS) \
X("MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS", GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS) \
X("MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS", GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS) \
X("UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER", GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER) \
X("UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER", GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER) \
X("TESS_EVALUATION_SHADER", GL_TESS_EVALUATION_SHADER) \
X("TESS_CONTROL_SHADER", GL_TESS_CONTROL_SHADER) \
X("TRANSFORM_FEEDBACK", GL_TRANSFORM_FEEDBACK) \
X("TRANSFORM_FEEDBACK_BUFFER_PAUSED", GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED) \
X("TRANSFORM_FEEDBACK_BUFFER_ACTIVE", GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE) \
X("TRANSFORM_FEEDBACK_BINDING", GL_TRANSFORM_FEEDBACK_BINDING) \
X("MAX_TRANSFORM_FEEDBACK_BUFFERS", GL_MAX_TRANSFORM_FEEDBACK_BUFFERS) \
X("FIXED", GL_FIXED) \
X("IMPLEMENTATION_COLOR_READ_TYPE", GL_IMPLEMENTATION_COLOR_READ_TYPE) \
X("IMPLEMENTATION_COLOR_READ_FORMAT", GL_IMPLEMENTATION_COLOR_READ_FORMAT) \
X("LOW_FLOAT", GL_LOW_FLOAT) \
X("MEDIUM_FLOAT", GL_MEDIUM_FLOAT) \
X("HIGH_FLOAT", GL_HIGH_FLOAT) \
X("LOW_INT", GL_LOW_INT) \
X("MEDIUM_INT", GL_MEDIUM_INT) \
X("HIGH_INT", GL_HIGH_INT) \
X("SHADER_COMPILER", GL_SHADER_COMPILER) \
X("SHADER_BINARY_FORMATS", GL_SHADER_BINARY_FORMATS) \
X("NUM_SHADER_BINARY_FORMATS", GL_NUM_SHADER_BINARY_FORMATS) \
X("MAX_VERTEX_UNIFORM_VECTORS", GL_MAX_VERTEX_UNIFORM_VECTORS) \
X("MAX_VARYING_VECTORS", GL_MAX_VARYING_VECTORS) \
X("MAX_FRAGMENT_UNIFORM_VECTORS", GL_MAX_FRAGMENT_UNIFORM_VECTORS) \
X("RGB565", GL_RGB565) \
X("PROGRAM_BINARY_RETRIEVABLE_HINT", GL_PROGRAM_BINARY_RETRIEVABLE_HINT) \
X("PROGRAM_BINARY_LENGTH", GL_PROGRAM_BINARY_LENGTH) \
X("NUM_PROGRAM_BINARY_FORMATS", GL_NUM_PROGRAM_BINARY_FORMATS) \
X("PROGRAM_BINARY_FORMATS", GL_PROGRAM_BINARY_FORMATS) \
X("VERTEX_SHADER_BIT", GL_VERTEX_SHADER_BIT) \
X("FRAGMENT_SHADER_BIT", GL_FRAGMENT_SHADER_BIT) \
X("GEOMETRY_SHADER_BIT", GL_GEOMETRY_SHADER_BIT) \
X("TESS_CONTROL_SHADER_BIT", GL_TESS_CONTROL_SHADER_BIT) \
X("TESS_EVALUATION_SHADER_BIT", GL_TESS_EVALUATION_SHADER_BIT) \
X("ALL_SHADER_BITS", GL_ALL_SHADER_BITS) \
X("PROGRAM_SEPARABLE", GL_PROGRAM_SEPARABLE) \
X("ACTIVE_PROGRAM", GL_ACTIVE_PROGRAM) \
X("PROGRAM_PIPELINE_BINDING", GL_PROGRAM_PIPELINE_BINDING) \
X("MAX_VIEWPORTS", GL_MAX_VIEWPORTS) \
X("VIEWPORT_SUBPIXEL_BITS", GL_VIEWPORT_SUBPIXEL_BITS) \
X("VIEWPORT_BOUNDS_RANGE", GL_VIEWPORT_BOUNDS_RANGE) \
X("LAYER_PROVOKING_VERTEX", GL_LAYER_PROVOKING_VERTEX) \
X("VIEWPORT_INDEX_PROVOKING_VERTEX", GL_VIEWPORT_INDEX_PROVOKING_VERTEX) \
X("UNDEFINED_VERTEX", GL_UNDEFINED_VERTEX) \
X("VERSION_1_0", GL_VERSION_1_0) \
#define X(name, func) int func(lua_State *L);
GL_FUNCTIONS
#undef X
#endif
|