• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_gl_enum_utils.py using data from gl.xml and gl_angle_ext.xml.
3 //
4 // Copyright 2019 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // gl_enum_utils_autogen.cpp:
9 //   mapping of GLenum value to string.
10 
11 #include "libANGLE/gl_enum_utils_autogen.h"
12 
13 #include <sstream>
14 
15 #include "common/bitset_utils.h"
16 
17 namespace gl
18 {
19 
GLbooleanToString(unsigned int value)20 const char *GLbooleanToString(unsigned int value)
21 {
22     switch (value)
23     {
24         case 0x0:
25             return "GL_FALSE";
26         case 0x1:
27             return "GL_TRUE";
28         default:
29             return "EnumUnknown";
30     }
31 }
32 
GLenumToString(GLenumGroup enumGroup,unsigned int value)33 const char *GLenumToString(GLenumGroup enumGroup, unsigned int value)
34 {
35     switch (enumGroup)
36     {
37         case GLenumGroup::AccumOp:
38         {
39             switch (value)
40             {
41                 case 0x100:
42                     return "GL_ACCUM";
43                 case 0x101:
44                     return "GL_LOAD";
45                 case 0x102:
46                     return "GL_RETURN";
47                 case 0x103:
48                     return "GL_MULT";
49                 case 0x104:
50                     return "GL_ADD";
51                 default:
52                     return "EnumUnknown";
53             }
54         }
55 
56         case GLenumGroup::AlphaFunction:
57         {
58             switch (value)
59             {
60                 case 0x200:
61                     return "GL_NEVER";
62                 case 0x201:
63                     return "GL_LESS";
64                 case 0x202:
65                     return "GL_EQUAL";
66                 case 0x203:
67                     return "GL_LEQUAL";
68                 case 0x204:
69                     return "GL_GREATER";
70                 case 0x205:
71                     return "GL_NOTEQUAL";
72                 case 0x206:
73                     return "GL_GEQUAL";
74                 case 0x207:
75                     return "GL_ALWAYS";
76                 default:
77                     return "EnumUnknown";
78             }
79         }
80 
81         case GLenumGroup::AtomicCounterBufferPName:
82         {
83             switch (value)
84             {
85                 case 0x90ed:
86                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER";
87                 case 0x92c1:
88                     return "GL_ATOMIC_COUNTER_BUFFER_BINDING";
89                 case 0x92c4:
90                     return "GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE";
91                 case 0x92c5:
92                     return "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS";
93                 case 0x92c6:
94                     return "GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES";
95                 case 0x92c7:
96                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER";
97                 case 0x92c8:
98                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER";
99                 case 0x92c9:
100                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER";
101                 case 0x92ca:
102                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER";
103                 case 0x92cb:
104                     return "GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER";
105                 default:
106                     return "EnumUnknown";
107             }
108         }
109 
110         case GLenumGroup::AttribMask:
111         {
112             switch (value)
113             {
114                 case 0x1:
115                     return "GL_CURRENT_BIT";
116                 case 0x2:
117                     return "GL_POINT_BIT";
118                 case 0x4:
119                     return "GL_LINE_BIT";
120                 case 0x8:
121                     return "GL_POLYGON_BIT";
122                 case 0x10:
123                     return "GL_POLYGON_STIPPLE_BIT";
124                 case 0x20:
125                     return "GL_PIXEL_MODE_BIT";
126                 case 0x40:
127                     return "GL_LIGHTING_BIT";
128                 case 0x80:
129                     return "GL_FOG_BIT";
130                 case 0x100:
131                     return "GL_DEPTH_BUFFER_BIT";
132                 case 0x200:
133                     return "GL_ACCUM_BUFFER_BIT";
134                 case 0x400:
135                     return "GL_STENCIL_BUFFER_BIT";
136                 case 0x800:
137                     return "GL_VIEWPORT_BIT";
138                 case 0x1000:
139                     return "GL_TRANSFORM_BIT";
140                 case 0x2000:
141                     return "GL_ENABLE_BIT";
142                 case 0x4000:
143                     return "GL_COLOR_BUFFER_BIT";
144                 case 0x8000:
145                     return "GL_HINT_BIT";
146                 case 0x10000:
147                     return "GL_EVAL_BIT";
148                 case 0x20000:
149                     return "GL_LIST_BIT";
150                 case 0x40000:
151                     return "GL_TEXTURE_BIT";
152                 case 0x80000:
153                     return "GL_SCISSOR_BIT";
154                 case 0x20000000:
155                     return "GL_MULTISAMPLE_BIT";
156                 case 0xffffffff:
157                     return "GL_ALL_ATTRIB_BITS";
158                 default:
159                     return "EnumUnknown";
160             }
161         }
162 
163         case GLenumGroup::AttributeType:
164         {
165             switch (value)
166             {
167                 case 0x8b50:
168                     return "GL_FLOAT_VEC2";
169                 case 0x8b51:
170                     return "GL_FLOAT_VEC3";
171                 case 0x8b52:
172                     return "GL_FLOAT_VEC4";
173                 case 0x8b53:
174                     return "GL_INT_VEC2";
175                 case 0x8b54:
176                     return "GL_INT_VEC3";
177                 case 0x8b55:
178                     return "GL_INT_VEC4";
179                 case 0x8b56:
180                     return "GL_BOOL";
181                 case 0x8b57:
182                     return "GL_BOOL_VEC2";
183                 case 0x8b58:
184                     return "GL_BOOL_VEC3";
185                 case 0x8b59:
186                     return "GL_BOOL_VEC4";
187                 case 0x8b5a:
188                     return "GL_FLOAT_MAT2";
189                 case 0x8b5b:
190                     return "GL_FLOAT_MAT3";
191                 case 0x8b5c:
192                     return "GL_FLOAT_MAT4";
193                 case 0x8b5d:
194                     return "GL_SAMPLER_1D";
195                 case 0x8b5e:
196                     return "GL_SAMPLER_2D";
197                 case 0x8b5f:
198                     return "GL_SAMPLER_3D";
199                 case 0x8b60:
200                     return "GL_SAMPLER_CUBE";
201                 case 0x8b61:
202                     return "GL_SAMPLER_1D_SHADOW";
203                 case 0x8b62:
204                     return "GL_SAMPLER_2D_SHADOW";
205                 case 0x8b63:
206                     return "GL_SAMPLER_2D_RECT";
207                 case 0x8b64:
208                     return "GL_SAMPLER_2D_RECT_SHADOW";
209                 case 0x8b65:
210                     return "GL_FLOAT_MAT2x3";
211                 case 0x8b66:
212                     return "GL_FLOAT_MAT2x4";
213                 case 0x8b67:
214                     return "GL_FLOAT_MAT3x2";
215                 case 0x8b68:
216                     return "GL_FLOAT_MAT3x4";
217                 case 0x8b69:
218                     return "GL_FLOAT_MAT4x2";
219                 case 0x8b6a:
220                     return "GL_FLOAT_MAT4x3";
221                 default:
222                     return "EnumUnknown";
223             }
224         }
225 
226         case GLenumGroup::BindTransformFeedbackTarget:
227         {
228             switch (value)
229             {
230                 case 0x8e22:
231                     return "GL_TRANSFORM_FEEDBACK";
232                 default:
233                     return "EnumUnknown";
234             }
235         }
236 
237         case GLenumGroup::BlendEquationModeEXT:
238         {
239             switch (value)
240             {
241                 case 0xbf1:
242                     return "GL_LOGIC_OP";
243                 case 0x8006:
244                     return "GL_FUNC_ADD";
245                 case 0x800a:
246                     return "GL_FUNC_SUBTRACT";
247                 case 0x800b:
248                     return "GL_FUNC_REVERSE_SUBTRACT";
249                 default:
250                     return "EnumUnknown";
251             }
252         }
253 
254         case GLenumGroup::BlendingFactor:
255         {
256             switch (value)
257             {
258                 case 0x0:
259                     return "GL_ZERO";
260                 case 0x1:
261                     return "GL_ONE";
262                 case 0x300:
263                     return "GL_SRC_COLOR";
264                 case 0x301:
265                     return "GL_ONE_MINUS_SRC_COLOR";
266                 case 0x302:
267                     return "GL_SRC_ALPHA";
268                 case 0x303:
269                     return "GL_ONE_MINUS_SRC_ALPHA";
270                 case 0x304:
271                     return "GL_DST_ALPHA";
272                 case 0x305:
273                     return "GL_ONE_MINUS_DST_ALPHA";
274                 case 0x306:
275                     return "GL_DST_COLOR";
276                 case 0x307:
277                     return "GL_ONE_MINUS_DST_COLOR";
278                 case 0x308:
279                     return "GL_SRC_ALPHA_SATURATE";
280                 case 0x8001:
281                     return "GL_CONSTANT_COLOR";
282                 case 0x8002:
283                     return "GL_ONE_MINUS_CONSTANT_COLOR";
284                 case 0x8003:
285                     return "GL_CONSTANT_ALPHA";
286                 case 0x8004:
287                     return "GL_ONE_MINUS_CONSTANT_ALPHA";
288                 case 0x8589:
289                     return "GL_SRC1_ALPHA";
290                 case 0x88f9:
291                     return "GL_SRC1_COLOR";
292                 case 0x88fa:
293                     return "GL_ONE_MINUS_SRC1_COLOR";
294                 case 0x88fb:
295                     return "GL_ONE_MINUS_SRC1_ALPHA";
296                 default:
297                     return "EnumUnknown";
298             }
299         }
300 
301         case GLenumGroup::BlitFramebufferFilter:
302         {
303             switch (value)
304             {
305                 case 0x2600:
306                     return "GL_NEAREST";
307                 case 0x2601:
308                     return "GL_LINEAR";
309                 default:
310                     return "EnumUnknown";
311             }
312         }
313 
314         case GLenumGroup::Boolean:
315         {
316             switch (value)
317             {
318                 case 0x0:
319                     return "GL_FALSE";
320                 case 0x1:
321                     return "GL_TRUE";
322                 default:
323                     return "EnumUnknown";
324             }
325         }
326 
327         case GLenumGroup::Buffer:
328         {
329             switch (value)
330             {
331                 case 0x1800:
332                     return "GL_COLOR";
333                 case 0x1801:
334                     return "GL_DEPTH";
335                 case 0x1802:
336                     return "GL_STENCIL";
337                 default:
338                     return "EnumUnknown";
339             }
340         }
341 
342         case GLenumGroup::BufferAccessARB:
343         {
344             switch (value)
345             {
346                 case 0x88b8:
347                     return "GL_READ_ONLY";
348                 case 0x88b9:
349                     return "GL_WRITE_ONLY";
350                 case 0x88ba:
351                     return "GL_READ_WRITE";
352                 default:
353                     return "EnumUnknown";
354             }
355         }
356 
357         case GLenumGroup::BufferAccessMask:
358         {
359             switch (value)
360             {
361                 case 0x1:
362                     return "GL_MAP_READ_BIT";
363                 case 0x2:
364                     return "GL_MAP_WRITE_BIT";
365                 case 0x4:
366                     return "GL_MAP_INVALIDATE_RANGE_BIT";
367                 case 0x8:
368                     return "GL_MAP_INVALIDATE_BUFFER_BIT";
369                 case 0x10:
370                     return "GL_MAP_FLUSH_EXPLICIT_BIT";
371                 case 0x20:
372                     return "GL_MAP_UNSYNCHRONIZED_BIT";
373                 case 0x40:
374                     return "GL_MAP_PERSISTENT_BIT";
375                 case 0x80:
376                     return "GL_MAP_COHERENT_BIT";
377                 default:
378                     return "EnumUnknown";
379             }
380         }
381 
382         case GLenumGroup::BufferStorageTarget:
383         {
384             switch (value)
385             {
386                 case 0x8892:
387                     return "GL_ARRAY_BUFFER";
388                 case 0x8893:
389                     return "GL_ELEMENT_ARRAY_BUFFER";
390                 case 0x88eb:
391                     return "GL_PIXEL_PACK_BUFFER";
392                 case 0x88ec:
393                     return "GL_PIXEL_UNPACK_BUFFER";
394                 case 0x8a11:
395                     return "GL_UNIFORM_BUFFER";
396                 case 0x8c2a:
397                     return "GL_TEXTURE_BUFFER";
398                 case 0x8c8e:
399                     return "GL_TRANSFORM_FEEDBACK_BUFFER";
400                 case 0x8f36:
401                     return "GL_COPY_READ_BUFFER";
402                 case 0x8f37:
403                     return "GL_COPY_WRITE_BUFFER";
404                 case 0x8f3f:
405                     return "GL_DRAW_INDIRECT_BUFFER";
406                 case 0x90d2:
407                     return "GL_SHADER_STORAGE_BUFFER";
408                 case 0x90ee:
409                     return "GL_DISPATCH_INDIRECT_BUFFER";
410                 case 0x9192:
411                     return "GL_QUERY_BUFFER";
412                 case 0x92c0:
413                     return "GL_ATOMIC_COUNTER_BUFFER";
414                 default:
415                     return "EnumUnknown";
416             }
417         }
418 
419         case GLenumGroup::BufferTargetARB:
420         {
421             switch (value)
422             {
423                 case 0x8892:
424                     return "GL_ARRAY_BUFFER";
425                 case 0x8893:
426                     return "GL_ELEMENT_ARRAY_BUFFER";
427                 case 0x88eb:
428                     return "GL_PIXEL_PACK_BUFFER";
429                 case 0x88ec:
430                     return "GL_PIXEL_UNPACK_BUFFER";
431                 case 0x8a11:
432                     return "GL_UNIFORM_BUFFER";
433                 case 0x8c2a:
434                     return "GL_TEXTURE_BUFFER";
435                 case 0x8c8e:
436                     return "GL_TRANSFORM_FEEDBACK_BUFFER";
437                 case 0x8f36:
438                     return "GL_COPY_READ_BUFFER";
439                 case 0x8f37:
440                     return "GL_COPY_WRITE_BUFFER";
441                 case 0x8f3f:
442                     return "GL_DRAW_INDIRECT_BUFFER";
443                 case 0x90d2:
444                     return "GL_SHADER_STORAGE_BUFFER";
445                 case 0x90ee:
446                     return "GL_DISPATCH_INDIRECT_BUFFER";
447                 case 0x9192:
448                     return "GL_QUERY_BUFFER";
449                 case 0x92c0:
450                     return "GL_ATOMIC_COUNTER_BUFFER";
451                 default:
452                     return "EnumUnknown";
453             }
454         }
455 
456         case GLenumGroup::BufferUsageARB:
457         {
458             switch (value)
459             {
460                 case 0x88e0:
461                     return "GL_STREAM_DRAW";
462                 case 0x88e1:
463                     return "GL_STREAM_READ";
464                 case 0x88e2:
465                     return "GL_STREAM_COPY";
466                 case 0x88e4:
467                     return "GL_STATIC_DRAW";
468                 case 0x88e5:
469                     return "GL_STATIC_READ";
470                 case 0x88e6:
471                     return "GL_STATIC_COPY";
472                 case 0x88e8:
473                     return "GL_DYNAMIC_DRAW";
474                 case 0x88e9:
475                     return "GL_DYNAMIC_READ";
476                 case 0x88ea:
477                     return "GL_DYNAMIC_COPY";
478                 default:
479                     return "EnumUnknown";
480             }
481         }
482 
483         case GLenumGroup::CheckFramebufferStatusTarget:
484         {
485             switch (value)
486             {
487                 case 0x8ca8:
488                     return "GL_READ_FRAMEBUFFER";
489                 case 0x8ca9:
490                     return "GL_DRAW_FRAMEBUFFER";
491                 case 0x8d40:
492                     return "GL_FRAMEBUFFER";
493                 default:
494                     return "EnumUnknown";
495             }
496         }
497 
498         case GLenumGroup::ClearBufferMask:
499         {
500             switch (value)
501             {
502                 case 0x100:
503                     return "GL_DEPTH_BUFFER_BIT";
504                 case 0x200:
505                     return "GL_ACCUM_BUFFER_BIT";
506                 case 0x400:
507                     return "GL_STENCIL_BUFFER_BIT";
508                 case 0x4000:
509                     return "GL_COLOR_BUFFER_BIT";
510                 default:
511                     return "EnumUnknown";
512             }
513         }
514 
515         case GLenumGroup::ClientAttribMask:
516         {
517             switch (value)
518             {
519                 case 0x1:
520                     return "GL_CLIENT_PIXEL_STORE_BIT";
521                 case 0x2:
522                     return "GL_CLIENT_VERTEX_ARRAY_BIT";
523                 case 0xffffffff:
524                     return "GL_CLIENT_ALL_ATTRIB_BITS";
525                 default:
526                     return "EnumUnknown";
527             }
528         }
529 
530         case GLenumGroup::ClipControlDepth:
531         {
532             switch (value)
533             {
534                 case 0x935e:
535                     return "GL_NEGATIVE_ONE_TO_ONE";
536                 case 0x935f:
537                     return "GL_ZERO_TO_ONE";
538                 default:
539                     return "EnumUnknown";
540             }
541         }
542 
543         case GLenumGroup::ClipControlOrigin:
544         {
545             switch (value)
546             {
547                 case 0x8ca1:
548                     return "GL_LOWER_LEFT";
549                 case 0x8ca2:
550                     return "GL_UPPER_LEFT";
551                 default:
552                     return "EnumUnknown";
553             }
554         }
555 
556         case GLenumGroup::ClipPlaneName:
557         {
558             switch (value)
559             {
560                 case 0x3000:
561                     return "GL_CLIP_DISTANCE0";
562                 case 0x3001:
563                     return "GL_CLIP_DISTANCE1";
564                 case 0x3002:
565                     return "GL_CLIP_DISTANCE2";
566                 case 0x3003:
567                     return "GL_CLIP_DISTANCE3";
568                 case 0x3004:
569                     return "GL_CLIP_DISTANCE4";
570                 case 0x3005:
571                     return "GL_CLIP_DISTANCE5";
572                 case 0x3006:
573                     return "GL_CLIP_DISTANCE6";
574                 case 0x3007:
575                     return "GL_CLIP_DISTANCE7";
576                 default:
577                     return "EnumUnknown";
578             }
579         }
580 
581         case GLenumGroup::ColorBuffer:
582         {
583             switch (value)
584             {
585                 case 0x0:
586                     return "GL_NONE";
587                 case 0x400:
588                     return "GL_FRONT_LEFT";
589                 case 0x401:
590                     return "GL_FRONT_RIGHT";
591                 case 0x402:
592                     return "GL_BACK_LEFT";
593                 case 0x403:
594                     return "GL_BACK_RIGHT";
595                 case 0x404:
596                     return "GL_FRONT";
597                 case 0x405:
598                     return "GL_BACK";
599                 case 0x406:
600                     return "GL_LEFT";
601                 case 0x407:
602                     return "GL_RIGHT";
603                 case 0x408:
604                     return "GL_FRONT_AND_BACK";
605                 case 0x8ce0:
606                     return "GL_COLOR_ATTACHMENT0";
607                 case 0x8ce1:
608                     return "GL_COLOR_ATTACHMENT1";
609                 case 0x8ce2:
610                     return "GL_COLOR_ATTACHMENT2";
611                 case 0x8ce3:
612                     return "GL_COLOR_ATTACHMENT3";
613                 case 0x8ce4:
614                     return "GL_COLOR_ATTACHMENT4";
615                 case 0x8ce5:
616                     return "GL_COLOR_ATTACHMENT5";
617                 case 0x8ce6:
618                     return "GL_COLOR_ATTACHMENT6";
619                 case 0x8ce7:
620                     return "GL_COLOR_ATTACHMENT7";
621                 case 0x8ce8:
622                     return "GL_COLOR_ATTACHMENT8";
623                 case 0x8ce9:
624                     return "GL_COLOR_ATTACHMENT9";
625                 case 0x8cea:
626                     return "GL_COLOR_ATTACHMENT10";
627                 case 0x8ceb:
628                     return "GL_COLOR_ATTACHMENT11";
629                 case 0x8cec:
630                     return "GL_COLOR_ATTACHMENT12";
631                 case 0x8ced:
632                     return "GL_COLOR_ATTACHMENT13";
633                 case 0x8cee:
634                     return "GL_COLOR_ATTACHMENT14";
635                 case 0x8cef:
636                     return "GL_COLOR_ATTACHMENT15";
637                 case 0x8cf0:
638                     return "GL_COLOR_ATTACHMENT16";
639                 case 0x8cf1:
640                     return "GL_COLOR_ATTACHMENT17";
641                 case 0x8cf2:
642                     return "GL_COLOR_ATTACHMENT18";
643                 case 0x8cf3:
644                     return "GL_COLOR_ATTACHMENT19";
645                 case 0x8cf4:
646                     return "GL_COLOR_ATTACHMENT20";
647                 case 0x8cf5:
648                     return "GL_COLOR_ATTACHMENT21";
649                 case 0x8cf6:
650                     return "GL_COLOR_ATTACHMENT22";
651                 case 0x8cf7:
652                     return "GL_COLOR_ATTACHMENT23";
653                 case 0x8cf8:
654                     return "GL_COLOR_ATTACHMENT24";
655                 case 0x8cf9:
656                     return "GL_COLOR_ATTACHMENT25";
657                 case 0x8cfa:
658                     return "GL_COLOR_ATTACHMENT26";
659                 case 0x8cfb:
660                     return "GL_COLOR_ATTACHMENT27";
661                 case 0x8cfc:
662                     return "GL_COLOR_ATTACHMENT28";
663                 case 0x8cfd:
664                     return "GL_COLOR_ATTACHMENT29";
665                 case 0x8cfe:
666                     return "GL_COLOR_ATTACHMENT30";
667                 case 0x8cff:
668                     return "GL_COLOR_ATTACHMENT31";
669                 default:
670                     return "EnumUnknown";
671             }
672         }
673 
674         case GLenumGroup::ColorMaterialFace:
675         {
676             switch (value)
677             {
678                 case 0x404:
679                     return "GL_FRONT";
680                 case 0x405:
681                     return "GL_BACK";
682                 case 0x408:
683                     return "GL_FRONT_AND_BACK";
684                 default:
685                     return "EnumUnknown";
686             }
687         }
688 
689         case GLenumGroup::ColorMaterialParameter:
690         {
691             switch (value)
692             {
693                 case 0x1200:
694                     return "GL_AMBIENT";
695                 case 0x1201:
696                     return "GL_DIFFUSE";
697                 case 0x1202:
698                     return "GL_SPECULAR";
699                 case 0x1600:
700                     return "GL_EMISSION";
701                 case 0x1602:
702                     return "GL_AMBIENT_AND_DIFFUSE";
703                 default:
704                     return "EnumUnknown";
705             }
706         }
707 
708         case GLenumGroup::ColorPointerType:
709         {
710             switch (value)
711             {
712                 case 0x1400:
713                     return "GL_BYTE";
714                 case 0x1401:
715                     return "GL_UNSIGNED_BYTE";
716                 case 0x1402:
717                     return "GL_SHORT";
718                 case 0x1403:
719                     return "GL_UNSIGNED_SHORT";
720                 case 0x1404:
721                     return "GL_INT";
722                 case 0x1405:
723                     return "GL_UNSIGNED_INT";
724                 case 0x1406:
725                     return "GL_FLOAT";
726                 case 0x140a:
727                     return "GL_DOUBLE";
728                 default:
729                     return "EnumUnknown";
730             }
731         }
732 
733         case GLenumGroup::ContextFlagMask:
734         {
735             switch (value)
736             {
737                 case 0x1:
738                     return "GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT";
739                 case 0x2:
740                     return "GL_CONTEXT_FLAG_DEBUG_BIT";
741                 case 0x4:
742                     return "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT";
743                 case 0x8:
744                     return "GL_CONTEXT_FLAG_NO_ERROR_BIT";
745                 default:
746                     return "EnumUnknown";
747             }
748         }
749 
750         case GLenumGroup::ContextProfileMask:
751         {
752             switch (value)
753             {
754                 case 0x1:
755                     return "GL_CONTEXT_CORE_PROFILE_BIT";
756                 case 0x2:
757                     return "GL_CONTEXT_COMPATIBILITY_PROFILE_BIT";
758                 default:
759                     return "EnumUnknown";
760             }
761         }
762 
763         case GLenumGroup::CopyBufferSubDataTarget:
764         {
765             switch (value)
766             {
767                 case 0x8892:
768                     return "GL_ARRAY_BUFFER";
769                 case 0x8893:
770                     return "GL_ELEMENT_ARRAY_BUFFER";
771                 case 0x88eb:
772                     return "GL_PIXEL_PACK_BUFFER";
773                 case 0x88ec:
774                     return "GL_PIXEL_UNPACK_BUFFER";
775                 case 0x8a11:
776                     return "GL_UNIFORM_BUFFER";
777                 case 0x8c2a:
778                     return "GL_TEXTURE_BUFFER";
779                 case 0x8c8e:
780                     return "GL_TRANSFORM_FEEDBACK_BUFFER";
781                 case 0x8f36:
782                     return "GL_COPY_READ_BUFFER";
783                 case 0x8f37:
784                     return "GL_COPY_WRITE_BUFFER";
785                 case 0x8f3f:
786                     return "GL_DRAW_INDIRECT_BUFFER";
787                 case 0x90d2:
788                     return "GL_SHADER_STORAGE_BUFFER";
789                 case 0x90ee:
790                     return "GL_DISPATCH_INDIRECT_BUFFER";
791                 case 0x9192:
792                     return "GL_QUERY_BUFFER";
793                 case 0x92c0:
794                     return "GL_ATOMIC_COUNTER_BUFFER";
795                 default:
796                     return "EnumUnknown";
797             }
798         }
799 
800         case GLenumGroup::CullFaceMode:
801         {
802             switch (value)
803             {
804                 case 0x404:
805                     return "GL_FRONT";
806                 case 0x405:
807                     return "GL_BACK";
808                 case 0x408:
809                     return "GL_FRONT_AND_BACK";
810                 default:
811                     return "EnumUnknown";
812             }
813         }
814 
815         case GLenumGroup::DebugSeverity:
816         {
817             switch (value)
818             {
819                 case 0x1100:
820                     return "GL_DONT_CARE";
821                 case 0x9146:
822                     return "GL_DEBUG_SEVERITY_HIGH";
823                 case 0x9147:
824                     return "GL_DEBUG_SEVERITY_MEDIUM";
825                 case 0x9148:
826                     return "GL_DEBUG_SEVERITY_LOW";
827                 default:
828                     return "EnumUnknown";
829             }
830         }
831 
832         case GLenumGroup::DebugSource:
833         {
834             switch (value)
835             {
836                 case 0x1100:
837                     return "GL_DONT_CARE";
838                 case 0x8246:
839                     return "GL_DEBUG_SOURCE_API";
840                 case 0x8247:
841                     return "GL_DEBUG_SOURCE_WINDOW_SYSTEM";
842                 case 0x8248:
843                     return "GL_DEBUG_SOURCE_SHADER_COMPILER";
844                 case 0x8249:
845                     return "GL_DEBUG_SOURCE_THIRD_PARTY";
846                 case 0x824a:
847                     return "GL_DEBUG_SOURCE_APPLICATION";
848                 case 0x824b:
849                     return "GL_DEBUG_SOURCE_OTHER";
850                 default:
851                     return "EnumUnknown";
852             }
853         }
854 
855         case GLenumGroup::DebugType:
856         {
857             switch (value)
858             {
859                 case 0x1100:
860                     return "GL_DONT_CARE";
861                 case 0x824c:
862                     return "GL_DEBUG_TYPE_ERROR";
863                 case 0x824d:
864                     return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR";
865                 case 0x824e:
866                     return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR";
867                 case 0x824f:
868                     return "GL_DEBUG_TYPE_PORTABILITY";
869                 case 0x8250:
870                     return "GL_DEBUG_TYPE_PERFORMANCE";
871                 case 0x8251:
872                     return "GL_DEBUG_TYPE_OTHER";
873                 case 0x8268:
874                     return "GL_DEBUG_TYPE_MARKER";
875                 case 0x8269:
876                     return "GL_DEBUG_TYPE_PUSH_GROUP";
877                 case 0x826a:
878                     return "GL_DEBUG_TYPE_POP_GROUP";
879                 default:
880                     return "EnumUnknown";
881             }
882         }
883 
884         case GLenumGroup::DefaultGroup:
885         {
886             switch (value)
887             {
888                 case 0x16:
889                     return "GL_UUID_SIZE_EXT";
890                 case 0x308:
891                     return "GL_SRC_ALPHA_SATURATE_EXT";
892                 case 0x503:
893                     return "GL_STACK_OVERFLOW_KHR";
894                 case 0x504:
895                     return "GL_STACK_UNDERFLOW_KHR";
896                 case 0x507:
897                     return "GL_CONTEXT_LOST";
898                 case 0x1004:
899                     return "GL_TEXTURE_BORDER_COLOR_OES";
900                 case 0x1006:
901                     return "GL_TEXTURE_TARGET";
902                 case 0x2500:
903                     return "GL_TEXTURE_GEN_MODE_OES";
904                 case 0x8005:
905                     return "GL_BLEND_COLOR";
906                 case 0x8007:
907                     return "GL_MIN";
908                 case 0x8008:
909                     return "GL_MAX";
910                 case 0x8009:
911                     return "GL_BLEND_EQUATION";
912                 case 0x803a:
913                     return "GL_RESCALE_NORMAL";
914                 case 0x803c:
915                     return "GL_ALPHA8_EXT";
916                 case 0x8040:
917                     return "GL_LUMINANCE8_EXT";
918                 case 0x8045:
919                     return "GL_LUMINANCE8_ALPHA8_EXT";
920                 case 0x8055:
921                     return "GL_RGBA2";
922                 case 0x806a:
923                     return "GL_TEXTURE_BINDING_3D_OES";
924                 case 0x8071:
925                     return "GL_TEXTURE_DEPTH";
926                 case 0x8073:
927                     return "GL_MAX_3D_TEXTURE_SIZE";
928                 case 0x8074:
929                     return "GL_VERTEX_ARRAY_KHR";
930                 case 0x809d:
931                     return "GL_MULTISAMPLE";
932                 case 0x809e:
933                     return "GL_SAMPLE_ALPHA_TO_COVERAGE";
934                 case 0x809f:
935                     return "GL_SAMPLE_ALPHA_TO_ONE";
936                 case 0x80a0:
937                     return "GL_SAMPLE_COVERAGE";
938                 case 0x80aa:
939                     return "GL_SAMPLE_COVERAGE_VALUE";
940                 case 0x80ab:
941                     return "GL_SAMPLE_COVERAGE_INVERT";
942                 case 0x80c8:
943                     return "GL_BLEND_DST_RGB";
944                 case 0x80c9:
945                     return "GL_BLEND_SRC_RGB";
946                 case 0x80ca:
947                     return "GL_BLEND_DST_ALPHA";
948                 case 0x80cb:
949                     return "GL_BLEND_SRC_ALPHA";
950                 case 0x80e0:
951                     return "GL_BGR";
952                 case 0x80e1:
953                     return "GL_BGRA";
954                 case 0x80e8:
955                     return "GL_MAX_ELEMENTS_VERTICES";
956                 case 0x80e9:
957                     return "GL_MAX_ELEMENTS_INDICES";
958                 case 0x80ee:
959                     return "GL_PARAMETER_BUFFER";
960                 case 0x80ef:
961                     return "GL_PARAMETER_BUFFER_BINDING";
962                 case 0x812d:
963                     return "GL_CLAMP_TO_BORDER_OES";
964                 case 0x81a6:
965                     return "GL_DEPTH_COMPONENT24";
966                 case 0x81a7:
967                     return "GL_DEPTH_COMPONENT32";
968                 case 0x8218:
969                     return "GL_FRAMEBUFFER_DEFAULT";
970                 case 0x821a:
971                     return "GL_DEPTH_STENCIL_ATTACHMENT";
972                 case 0x821b:
973                     return "GL_MAJOR_VERSION";
974                 case 0x821c:
975                     return "GL_MINOR_VERSION";
976                 case 0x821d:
977                     return "GL_NUM_EXTENSIONS";
978                 case 0x821e:
979                     return "GL_CONTEXT_FLAGS";
980                 case 0x8221:
981                     return "GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED";
982                 case 0x8222:
983                     return "GL_INDEX";
984                 case 0x8228:
985                     return "GL_RG_INTEGER";
986                 case 0x8242:
987                     return "GL_DEBUG_OUTPUT_SYNCHRONOUS";
988                 case 0x8243:
989                     return "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH";
990                 case 0x8244:
991                     return "GL_DEBUG_CALLBACK_FUNCTION_KHR";
992                 case 0x8245:
993                     return "GL_DEBUG_CALLBACK_USER_PARAM_KHR";
994                 case 0x8246:
995                     return "GL_DEBUG_SOURCE_API_KHR";
996                 case 0x8247:
997                     return "GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR";
998                 case 0x8248:
999                     return "GL_DEBUG_SOURCE_SHADER_COMPILER_KHR";
1000                 case 0x8249:
1001                     return "GL_DEBUG_SOURCE_THIRD_PARTY_KHR";
1002                 case 0x824a:
1003                     return "GL_DEBUG_SOURCE_APPLICATION_KHR";
1004                 case 0x824b:
1005                     return "GL_DEBUG_SOURCE_OTHER_KHR";
1006                 case 0x824c:
1007                     return "GL_DEBUG_TYPE_ERROR_KHR";
1008                 case 0x824d:
1009                     return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR";
1010                 case 0x824e:
1011                     return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR";
1012                 case 0x824f:
1013                     return "GL_DEBUG_TYPE_PORTABILITY_KHR";
1014                 case 0x8250:
1015                     return "GL_DEBUG_TYPE_PERFORMANCE_KHR";
1016                 case 0x8251:
1017                     return "GL_DEBUG_TYPE_OTHER_KHR";
1018                 case 0x8252:
1019                     return "GL_LOSE_CONTEXT_ON_RESET";
1020                 case 0x8253:
1021                     return "GL_GUILTY_CONTEXT_RESET_EXT";
1022                 case 0x8254:
1023                     return "GL_INNOCENT_CONTEXT_RESET_EXT";
1024                 case 0x8255:
1025                     return "GL_UNKNOWN_CONTEXT_RESET_EXT";
1026                 case 0x8256:
1027                     return "GL_RESET_NOTIFICATION_STRATEGY";
1028                 case 0x825a:
1029                     return "GL_PROGRAM_PIPELINE_BINDING";
1030                 case 0x825b:
1031                     return "GL_MAX_VIEWPORTS";
1032                 case 0x825c:
1033                     return "GL_VIEWPORT_SUBPIXEL_BITS";
1034                 case 0x825d:
1035                     return "GL_VIEWPORT_BOUNDS_RANGE";
1036                 case 0x825e:
1037                     return "GL_LAYER_PROVOKING_VERTEX";
1038                 case 0x825f:
1039                     return "GL_VIEWPORT_INDEX_PROVOKING_VERTEX";
1040                 case 0x8260:
1041                     return "GL_UNDEFINED_VERTEX";
1042                 case 0x8261:
1043                     return "GL_NO_RESET_NOTIFICATION";
1044                 case 0x8262:
1045                     return "GL_MAX_COMPUTE_SHARED_MEMORY_SIZE";
1046                 case 0x8263:
1047                     return "GL_MAX_COMPUTE_UNIFORM_COMPONENTS";
1048                 case 0x8264:
1049                     return "GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS";
1050                 case 0x8265:
1051                     return "GL_MAX_COMPUTE_ATOMIC_COUNTERS";
1052                 case 0x8266:
1053                     return "GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS";
1054                 case 0x8268:
1055                     return "GL_DEBUG_TYPE_MARKER_KHR";
1056                 case 0x8269:
1057                     return "GL_DEBUG_TYPE_PUSH_GROUP_KHR";
1058                 case 0x826a:
1059                     return "GL_DEBUG_TYPE_POP_GROUP_KHR";
1060                 case 0x826b:
1061                     return "GL_DEBUG_SEVERITY_NOTIFICATION";
1062                 case 0x826c:
1063                     return "GL_MAX_DEBUG_GROUP_STACK_DEPTH";
1064                 case 0x826d:
1065                     return "GL_DEBUG_GROUP_STACK_DEPTH";
1066                 case 0x826e:
1067                     return "GL_MAX_UNIFORM_LOCATIONS";
1068                 case 0x8282:
1069                     return "GL_MAX_COMBINED_DIMENSIONS";
1070                 case 0x8284:
1071                     return "GL_DEPTH_COMPONENTS";
1072                 case 0x8285:
1073                     return "GL_STENCIL_COMPONENTS";
1074                 case 0x8294:
1075                     return "GL_MANUAL_GENERATE_MIPMAP";
1076                 case 0x82b7:
1077                     return "GL_FULL_SUPPORT";
1078                 case 0x82b8:
1079                     return "GL_CAVEAT_SUPPORT";
1080                 case 0x82b9:
1081                     return "GL_IMAGE_CLASS_4_X_32";
1082                 case 0x82ba:
1083                     return "GL_IMAGE_CLASS_2_X_32";
1084                 case 0x82bb:
1085                     return "GL_IMAGE_CLASS_1_X_32";
1086                 case 0x82bc:
1087                     return "GL_IMAGE_CLASS_4_X_16";
1088                 case 0x82bd:
1089                     return "GL_IMAGE_CLASS_2_X_16";
1090                 case 0x82be:
1091                     return "GL_IMAGE_CLASS_1_X_16";
1092                 case 0x82bf:
1093                     return "GL_IMAGE_CLASS_4_X_8";
1094                 case 0x82c0:
1095                     return "GL_IMAGE_CLASS_2_X_8";
1096                 case 0x82c1:
1097                     return "GL_IMAGE_CLASS_1_X_8";
1098                 case 0x82c2:
1099                     return "GL_IMAGE_CLASS_11_11_10";
1100                 case 0x82c3:
1101                     return "GL_IMAGE_CLASS_10_10_10_2";
1102                 case 0x82c4:
1103                     return "GL_VIEW_CLASS_128_BITS";
1104                 case 0x82c5:
1105                     return "GL_VIEW_CLASS_96_BITS";
1106                 case 0x82c6:
1107                     return "GL_VIEW_CLASS_64_BITS";
1108                 case 0x82c7:
1109                     return "GL_VIEW_CLASS_48_BITS";
1110                 case 0x82c8:
1111                     return "GL_VIEW_CLASS_32_BITS";
1112                 case 0x82c9:
1113                     return "GL_VIEW_CLASS_24_BITS";
1114                 case 0x82ca:
1115                     return "GL_VIEW_CLASS_16_BITS";
1116                 case 0x82cb:
1117                     return "GL_VIEW_CLASS_8_BITS";
1118                 case 0x82cc:
1119                     return "GL_VIEW_CLASS_S3TC_DXT1_RGB";
1120                 case 0x82cd:
1121                     return "GL_VIEW_CLASS_S3TC_DXT1_RGBA";
1122                 case 0x82ce:
1123                     return "GL_VIEW_CLASS_S3TC_DXT3_RGBA";
1124                 case 0x82cf:
1125                     return "GL_VIEW_CLASS_S3TC_DXT5_RGBA";
1126                 case 0x82d0:
1127                     return "GL_VIEW_CLASS_RGTC1_RED";
1128                 case 0x82d1:
1129                     return "GL_VIEW_CLASS_RGTC2_RG";
1130                 case 0x82d2:
1131                     return "GL_VIEW_CLASS_BPTC_UNORM";
1132                 case 0x82d3:
1133                     return "GL_VIEW_CLASS_BPTC_FLOAT";
1134                 case 0x82d4:
1135                     return "GL_VERTEX_ATTRIB_BINDING";
1136                 case 0x82d6:
1137                     return "GL_VERTEX_BINDING_DIVISOR";
1138                 case 0x82d7:
1139                     return "GL_VERTEX_BINDING_OFFSET";
1140                 case 0x82d8:
1141                     return "GL_VERTEX_BINDING_STRIDE";
1142                 case 0x82d9:
1143                     return "GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET";
1144                 case 0x82da:
1145                     return "GL_MAX_VERTEX_ATTRIB_BINDINGS";
1146                 case 0x82db:
1147                     return "GL_TEXTURE_VIEW_MIN_LEVEL";
1148                 case 0x82dc:
1149                     return "GL_TEXTURE_VIEW_NUM_LEVELS";
1150                 case 0x82dd:
1151                     return "GL_TEXTURE_VIEW_MIN_LAYER";
1152                 case 0x82de:
1153                     return "GL_TEXTURE_VIEW_NUM_LAYERS";
1154                 case 0x82df:
1155                     return "GL_TEXTURE_IMMUTABLE_LEVELS";
1156                 case 0x82e0:
1157                     return "GL_BUFFER_KHR";
1158                 case 0x82e1:
1159                     return "GL_SHADER_KHR";
1160                 case 0x82e2:
1161                     return "GL_PROGRAM_KHR";
1162                 case 0x82e3:
1163                     return "GL_QUERY_KHR";
1164                 case 0x82e4:
1165                     return "GL_PROGRAM_PIPELINE_KHR";
1166                 case 0x82e5:
1167                     return "GL_MAX_VERTEX_ATTRIB_STRIDE";
1168                 case 0x82e6:
1169                     return "GL_SAMPLER_KHR";
1170                 case 0x82e7:
1171                     return "GL_DISPLAY_LIST";
1172                 case 0x82e8:
1173                     return "GL_MAX_LABEL_LENGTH";
1174                 case 0x82e9:
1175                     return "GL_NUM_SHADING_LANGUAGE_VERSIONS";
1176                 case 0x82ec:
1177                     return "GL_TRANSFORM_FEEDBACK_OVERFLOW";
1178                 case 0x82ed:
1179                     return "GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW";
1180                 case 0x82ee:
1181                     return "GL_VERTICES_SUBMITTED";
1182                 case 0x82ef:
1183                     return "GL_PRIMITIVES_SUBMITTED";
1184                 case 0x82f0:
1185                     return "GL_VERTEX_SHADER_INVOCATIONS";
1186                 case 0x82f1:
1187                     return "GL_TESS_CONTROL_SHADER_PATCHES";
1188                 case 0x82f2:
1189                     return "GL_TESS_EVALUATION_SHADER_INVOCATIONS";
1190                 case 0x82f3:
1191                     return "GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED";
1192                 case 0x82f4:
1193                     return "GL_FRAGMENT_SHADER_INVOCATIONS";
1194                 case 0x82f5:
1195                     return "GL_COMPUTE_SHADER_INVOCATIONS";
1196                 case 0x82f6:
1197                     return "GL_CLIPPING_INPUT_PRIMITIVES";
1198                 case 0x82f7:
1199                     return "GL_CLIPPING_OUTPUT_PRIMITIVES";
1200                 case 0x82f9:
1201                     return "GL_MAX_CULL_DISTANCES";
1202                 case 0x82fa:
1203                     return "GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES";
1204                 case 0x82fb:
1205                     return "GL_CONTEXT_RELEASE_BEHAVIOR";
1206                 case 0x82fc:
1207                     return "GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH";
1208                 case 0x8362:
1209                     return "GL_UNSIGNED_BYTE_2_3_3_REV";
1210                 case 0x8363:
1211                     return "GL_UNSIGNED_SHORT_5_6_5";
1212                 case 0x8364:
1213                     return "GL_UNSIGNED_SHORT_5_6_5_REV";
1214                 case 0x8365:
1215                     return "GL_UNSIGNED_SHORT_4_4_4_4_REV";
1216                 case 0x8366:
1217                     return "GL_UNSIGNED_SHORT_1_5_5_5_REV";
1218                 case 0x8367:
1219                     return "GL_UNSIGNED_INT_8_8_8_8_REV";
1220                 case 0x8370:
1221                     return "GL_MIRRORED_REPEAT";
1222                 case 0x8450:
1223                     return "GL_FOG_COORDINATE_SOURCE";
1224                 case 0x8451:
1225                     return "GL_FOG_COORD";
1226                 case 0x8452:
1227                     return "GL_FRAGMENT_DEPTH";
1228                 case 0x8453:
1229                     return "GL_CURRENT_FOG_COORD";
1230                 case 0x8454:
1231                     return "GL_FOG_COORDINATE_ARRAY_TYPE";
1232                 case 0x8455:
1233                     return "GL_FOG_COORDINATE_ARRAY_STRIDE";
1234                 case 0x8456:
1235                     return "GL_FOG_COORDINATE_ARRAY_POINTER";
1236                 case 0x8457:
1237                     return "GL_FOG_COORDINATE_ARRAY";
1238                 case 0x8458:
1239                     return "GL_COLOR_SUM";
1240                 case 0x8459:
1241                     return "GL_CURRENT_SECONDARY_COLOR";
1242                 case 0x845a:
1243                     return "GL_SECONDARY_COLOR_ARRAY_SIZE";
1244                 case 0x845b:
1245                     return "GL_SECONDARY_COLOR_ARRAY_TYPE";
1246                 case 0x845c:
1247                     return "GL_SECONDARY_COLOR_ARRAY_STRIDE";
1248                 case 0x845d:
1249                     return "GL_SECONDARY_COLOR_ARRAY_POINTER";
1250                 case 0x845e:
1251                     return "GL_SECONDARY_COLOR_ARRAY";
1252                 case 0x845f:
1253                     return "GL_CURRENT_RASTER_SECONDARY_COLOR";
1254                 case 0x84e0:
1255                     return "GL_ACTIVE_TEXTURE";
1256                 case 0x84e1:
1257                     return "GL_CLIENT_ACTIVE_TEXTURE";
1258                 case 0x84e2:
1259                     return "GL_MAX_TEXTURE_UNITS";
1260                 case 0x84e3:
1261                     return "GL_TRANSPOSE_MODELVIEW_MATRIX";
1262                 case 0x84e4:
1263                     return "GL_TRANSPOSE_PROJECTION_MATRIX";
1264                 case 0x84e5:
1265                     return "GL_TRANSPOSE_TEXTURE_MATRIX";
1266                 case 0x84e6:
1267                     return "GL_TRANSPOSE_COLOR_MATRIX";
1268                 case 0x84e7:
1269                     return "GL_SUBTRACT";
1270                 case 0x84e8:
1271                     return "GL_MAX_RENDERBUFFER_SIZE";
1272                 case 0x84e9:
1273                     return "GL_COMPRESSED_ALPHA";
1274                 case 0x84ea:
1275                     return "GL_COMPRESSED_LUMINANCE";
1276                 case 0x84eb:
1277                     return "GL_COMPRESSED_LUMINANCE_ALPHA";
1278                 case 0x84ec:
1279                     return "GL_COMPRESSED_INTENSITY";
1280                 case 0x84f2:
1281                     return "GL_ALL_COMPLETED_NV";
1282                 case 0x84f3:
1283                     return "GL_FENCE_STATUS_NV";
1284                 case 0x84f4:
1285                     return "GL_FENCE_CONDITION_NV";
1286                 case 0x84f6:
1287                     return "GL_TEXTURE_BINDING_RECTANGLE";
1288                 case 0x84f8:
1289                     return "GL_MAX_RECTANGLE_TEXTURE_SIZE";
1290                 case 0x84fa:
1291                     return "GL_UNSIGNED_INT_24_8";
1292                 case 0x84fd:
1293                     return "GL_MAX_TEXTURE_LOD_BIAS";
1294                 case 0x84fe:
1295                     return "GL_TEXTURE_MAX_ANISOTROPY";
1296                 case 0x84ff:
1297                     return "GL_MAX_TEXTURE_MAX_ANISOTROPY";
1298                 case 0x8500:
1299                     return "GL_TEXTURE_FILTER_CONTROL";
1300                 case 0x8507:
1301                     return "GL_INCR_WRAP";
1302                 case 0x8508:
1303                     return "GL_DECR_WRAP";
1304                 case 0x8511:
1305                     return "GL_NORMAL_MAP";
1306                 case 0x8512:
1307                     return "GL_REFLECTION_MAP";
1308                 case 0x8513:
1309                     return "GL_TEXTURE_CUBE_MAP_OES";
1310                 case 0x8514:
1311                     return "GL_TEXTURE_BINDING_CUBE_MAP";
1312                 case 0x8515:
1313                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES";
1314                 case 0x8516:
1315                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES";
1316                 case 0x8517:
1317                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES";
1318                 case 0x8518:
1319                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES";
1320                 case 0x8519:
1321                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES";
1322                 case 0x851a:
1323                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES";
1324                 case 0x851c:
1325                     return "GL_MAX_CUBE_MAP_TEXTURE_SIZE";
1326                 case 0x8570:
1327                     return "GL_COMBINE";
1328                 case 0x8571:
1329                     return "GL_COMBINE_RGB";
1330                 case 0x8572:
1331                     return "GL_COMBINE_ALPHA";
1332                 case 0x8573:
1333                     return "GL_RGB_SCALE";
1334                 case 0x8574:
1335                     return "GL_ADD_SIGNED";
1336                 case 0x8575:
1337                     return "GL_INTERPOLATE";
1338                 case 0x8578:
1339                     return "GL_PREVIOUS";
1340                 case 0x8580:
1341                     return "GL_SOURCE0_RGB";
1342                 case 0x8581:
1343                     return "GL_SOURCE1_RGB";
1344                 case 0x8582:
1345                     return "GL_SOURCE2_RGB";
1346                 case 0x8588:
1347                     return "GL_SOURCE0_ALPHA";
1348                 case 0x8589:
1349                     return "GL_SOURCE1_ALPHA";
1350                 case 0x858a:
1351                     return "GL_SOURCE2_ALPHA";
1352                 case 0x8590:
1353                     return "GL_OPERAND0_RGB";
1354                 case 0x8591:
1355                     return "GL_OPERAND1_RGB";
1356                 case 0x8592:
1357                     return "GL_OPERAND2_RGB";
1358                 case 0x8598:
1359                     return "GL_OPERAND0_ALPHA";
1360                 case 0x8599:
1361                     return "GL_OPERAND1_ALPHA";
1362                 case 0x859a:
1363                     return "GL_OPERAND2_ALPHA";
1364                 case 0x85b5:
1365                     return "GL_VERTEX_ARRAY_BINDING";
1366                 case 0x8642:
1367                     return "GL_PROGRAM_POINT_SIZE";
1368                 case 0x8643:
1369                     return "GL_VERTEX_PROGRAM_TWO_SIDE";
1370                 case 0x8645:
1371                     return "GL_VERTEX_ATTRIB_ARRAY_POINTER";
1372                 case 0x864f:
1373                     return "GL_DEPTH_CLAMP";
1374                 case 0x86a0:
1375                     return "GL_TEXTURE_COMPRESSED_IMAGE_SIZE";
1376                 case 0x86a2:
1377                     return "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
1378                 case 0x86a3:
1379                     return "GL_COMPRESSED_TEXTURE_FORMATS";
1380                 case 0x86a4:
1381                     return "GL_MAX_VERTEX_UNITS_OES";
1382                 case 0x86a9:
1383                     return "GL_WEIGHT_ARRAY_TYPE_OES";
1384                 case 0x86aa:
1385                     return "GL_WEIGHT_ARRAY_STRIDE_OES";
1386                 case 0x86ab:
1387                     return "GL_WEIGHT_ARRAY_SIZE_OES";
1388                 case 0x86ac:
1389                     return "GL_WEIGHT_ARRAY_POINTER_OES";
1390                 case 0x86ad:
1391                     return "GL_WEIGHT_ARRAY_OES";
1392                 case 0x86ae:
1393                     return "GL_DOT3_RGB";
1394                 case 0x86af:
1395                     return "GL_DOT3_RGBA";
1396                 case 0x8741:
1397                     return "GL_PROGRAM_BINARY_LENGTH_OES";
1398                 case 0x8743:
1399                     return "GL_MIRROR_CLAMP_TO_EDGE";
1400                 case 0x87fe:
1401                     return "GL_NUM_PROGRAM_BINARY_FORMATS";
1402                 case 0x87ff:
1403                     return "GL_PROGRAM_BINARY_FORMATS";
1404                 case 0x8800:
1405                     return "GL_STENCIL_BACK_FUNC";
1406                 case 0x8801:
1407                     return "GL_STENCIL_BACK_FAIL";
1408                 case 0x8802:
1409                     return "GL_STENCIL_BACK_PASS_DEPTH_FAIL";
1410                 case 0x8803:
1411                     return "GL_STENCIL_BACK_PASS_DEPTH_PASS";
1412                 case 0x8815:
1413                     return "GL_RGB32F";
1414                 case 0x8816:
1415                     return "GL_ALPHA32F_EXT";
1416                 case 0x8818:
1417                     return "GL_LUMINANCE32F_EXT";
1418                 case 0x8819:
1419                     return "GL_LUMINANCE_ALPHA32F_EXT";
1420                 case 0x881c:
1421                     return "GL_ALPHA16F_EXT";
1422                 case 0x881e:
1423                     return "GL_LUMINANCE16F_EXT";
1424                 case 0x881f:
1425                     return "GL_LUMINANCE_ALPHA16F_EXT";
1426                 case 0x8824:
1427                     return "GL_MAX_DRAW_BUFFERS";
1428                 case 0x8825:
1429                     return "GL_DRAW_BUFFER0";
1430                 case 0x8826:
1431                     return "GL_DRAW_BUFFER1";
1432                 case 0x8827:
1433                     return "GL_DRAW_BUFFER2";
1434                 case 0x8828:
1435                     return "GL_DRAW_BUFFER3";
1436                 case 0x8829:
1437                     return "GL_DRAW_BUFFER4";
1438                 case 0x882a:
1439                     return "GL_DRAW_BUFFER5";
1440                 case 0x882b:
1441                     return "GL_DRAW_BUFFER6";
1442                 case 0x882c:
1443                     return "GL_DRAW_BUFFER7";
1444                 case 0x882d:
1445                     return "GL_DRAW_BUFFER8";
1446                 case 0x882e:
1447                     return "GL_DRAW_BUFFER9";
1448                 case 0x882f:
1449                     return "GL_DRAW_BUFFER10";
1450                 case 0x8830:
1451                     return "GL_DRAW_BUFFER11";
1452                 case 0x8831:
1453                     return "GL_DRAW_BUFFER12";
1454                 case 0x8832:
1455                     return "GL_DRAW_BUFFER13";
1456                 case 0x8833:
1457                     return "GL_DRAW_BUFFER14";
1458                 case 0x8834:
1459                     return "GL_DRAW_BUFFER15";
1460                 case 0x883d:
1461                     return "GL_BLEND_EQUATION_ALPHA";
1462                 case 0x8840:
1463                     return "GL_MATRIX_PALETTE_OES";
1464                 case 0x8842:
1465                     return "GL_MAX_PALETTE_MATRICES_OES";
1466                 case 0x8843:
1467                     return "GL_CURRENT_PALETTE_MATRIX_OES";
1468                 case 0x8844:
1469                     return "GL_MATRIX_INDEX_ARRAY_OES";
1470                 case 0x8846:
1471                     return "GL_MATRIX_INDEX_ARRAY_SIZE_OES";
1472                 case 0x8847:
1473                     return "GL_MATRIX_INDEX_ARRAY_TYPE_OES";
1474                 case 0x8848:
1475                     return "GL_MATRIX_INDEX_ARRAY_STRIDE_OES";
1476                 case 0x8849:
1477                     return "GL_MATRIX_INDEX_ARRAY_POINTER_OES";
1478                 case 0x884a:
1479                     return "GL_TEXTURE_DEPTH_SIZE";
1480                 case 0x884b:
1481                     return "GL_DEPTH_TEXTURE_MODE";
1482                 case 0x884e:
1483                     return "GL_COMPARE_REF_TO_TEXTURE";
1484                 case 0x884f:
1485                     return "GL_TEXTURE_CUBE_MAP_SEAMLESS";
1486                 case 0x8861:
1487                     return "GL_POINT_SPRITE";
1488                 case 0x8862:
1489                     return "GL_COORD_REPLACE";
1490                 case 0x8864:
1491                     return "GL_QUERY_COUNTER_BITS_EXT";
1492                 case 0x8865:
1493                     return "GL_CURRENT_QUERY_EXT";
1494                 case 0x8866:
1495                     return "GL_QUERY_RESULT_EXT";
1496                 case 0x8867:
1497                     return "GL_QUERY_RESULT_AVAILABLE_EXT";
1498                 case 0x8869:
1499                     return "GL_MAX_VERTEX_ATTRIBS";
1500                 case 0x886c:
1501                     return "GL_MAX_TESS_CONTROL_INPUT_COMPONENTS";
1502                 case 0x886d:
1503                     return "GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS";
1504                 case 0x8871:
1505                     return "GL_MAX_TEXTURE_COORDS";
1506                 case 0x8872:
1507                     return "GL_MAX_TEXTURE_IMAGE_UNITS";
1508                 case 0x887f:
1509                     return "GL_GEOMETRY_SHADER_INVOCATIONS";
1510                 case 0x8894:
1511                     return "GL_ARRAY_BUFFER_BINDING";
1512                 case 0x8895:
1513                     return "GL_ELEMENT_ARRAY_BUFFER_BINDING";
1514                 case 0x8896:
1515                     return "GL_VERTEX_ARRAY_BUFFER_BINDING";
1516                 case 0x8897:
1517                     return "GL_NORMAL_ARRAY_BUFFER_BINDING";
1518                 case 0x8898:
1519                     return "GL_COLOR_ARRAY_BUFFER_BINDING";
1520                 case 0x8899:
1521                     return "GL_INDEX_ARRAY_BUFFER_BINDING";
1522                 case 0x889a:
1523                     return "GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING";
1524                 case 0x889b:
1525                     return "GL_EDGE_FLAG_ARRAY_BUFFER_BINDING";
1526                 case 0x889c:
1527                     return "GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING";
1528                 case 0x889d:
1529                     return "GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING";
1530                 case 0x889e:
1531                     return "GL_WEIGHT_ARRAY_BUFFER_BINDING";
1532                 case 0x88b9:
1533                     return "GL_WRITE_ONLY_OES";
1534                 case 0x88bb:
1535                     return "GL_BUFFER_ACCESS_OES";
1536                 case 0x88bc:
1537                     return "GL_BUFFER_MAPPED_OES";
1538                 case 0x88bd:
1539                     return "GL_BUFFER_MAP_POINTER";
1540                 case 0x88bf:
1541                     return "GL_TIME_ELAPSED_EXT";
1542                 case 0x88ed:
1543                     return "GL_PIXEL_PACK_BUFFER_BINDING";
1544                 case 0x88ef:
1545                     return "GL_PIXEL_UNPACK_BUFFER_BINDING";
1546                 case 0x88f1:
1547                     return "GL_TEXTURE_STENCIL_SIZE";
1548                 case 0x88f9:
1549                     return "GL_SRC1_COLOR_EXT";
1550                 case 0x88fa:
1551                     return "GL_ONE_MINUS_SRC1_COLOR_EXT";
1552                 case 0x88fb:
1553                     return "GL_ONE_MINUS_SRC1_ALPHA_EXT";
1554                 case 0x88fc:
1555                     return "GL_MAX_DUAL_SOURCE_DRAW_BUFFERS";
1556                 case 0x88fe:
1557                     return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE";
1558                 case 0x88ff:
1559                     return "GL_MAX_ARRAY_TEXTURE_LAYERS";
1560                 case 0x8904:
1561                     return "GL_MIN_PROGRAM_TEXEL_OFFSET";
1562                 case 0x8905:
1563                     return "GL_MAX_PROGRAM_TEXEL_OFFSET";
1564                 case 0x8916:
1565                     return "GL_GEOMETRY_LINKED_VERTICES_OUT_EXT";
1566                 case 0x8917:
1567                     return "GL_GEOMETRY_LINKED_INPUT_TYPE_EXT";
1568                 case 0x8918:
1569                     return "GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT";
1570                 case 0x8919:
1571                     return "GL_SAMPLER_BINDING";
1572                 case 0x891a:
1573                     return "GL_CLAMP_VERTEX_COLOR";
1574                 case 0x891b:
1575                     return "GL_CLAMP_FRAGMENT_COLOR";
1576                 case 0x891c:
1577                     return "GL_CLAMP_READ_COLOR";
1578                 case 0x891d:
1579                     return "GL_FIXED_ONLY";
1580                 case 0x898a:
1581                     return "GL_POINT_SIZE_ARRAY_TYPE_OES";
1582                 case 0x898b:
1583                     return "GL_POINT_SIZE_ARRAY_STRIDE_OES";
1584                 case 0x898c:
1585                     return "GL_POINT_SIZE_ARRAY_POINTER_OES";
1586                 case 0x8a28:
1587                     return "GL_UNIFORM_BUFFER_BINDING";
1588                 case 0x8a29:
1589                     return "GL_UNIFORM_BUFFER_START";
1590                 case 0x8a2a:
1591                     return "GL_UNIFORM_BUFFER_SIZE";
1592                 case 0x8a2b:
1593                     return "GL_MAX_VERTEX_UNIFORM_BLOCKS";
1594                 case 0x8a2c:
1595                     return "GL_MAX_GEOMETRY_UNIFORM_BLOCKS";
1596                 case 0x8a2d:
1597                     return "GL_MAX_FRAGMENT_UNIFORM_BLOCKS";
1598                 case 0x8a2e:
1599                     return "GL_MAX_COMBINED_UNIFORM_BLOCKS";
1600                 case 0x8a2f:
1601                     return "GL_MAX_UNIFORM_BUFFER_BINDINGS";
1602                 case 0x8a30:
1603                     return "GL_MAX_UNIFORM_BLOCK_SIZE";
1604                 case 0x8a31:
1605                     return "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS";
1606                 case 0x8a32:
1607                     return "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS";
1608                 case 0x8a33:
1609                     return "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS";
1610                 case 0x8a34:
1611                     return "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT";
1612                 case 0x8b49:
1613                     return "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS";
1614                 case 0x8b4a:
1615                     return "GL_MAX_VERTEX_UNIFORM_COMPONENTS";
1616                 case 0x8b4b:
1617                     return "GL_MAX_VARYING_COMPONENTS";
1618                 case 0x8b4c:
1619                     return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
1620                 case 0x8b4d:
1621                     return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
1622                 case 0x8b8d:
1623                     return "GL_CURRENT_PROGRAM";
1624                 case 0x8b9c:
1625                     return "GL_POINT_SIZE_ARRAY_OES";
1626                 case 0x8b9d:
1627                     return "GL_TEXTURE_CROP_RECT_OES";
1628                 case 0x8b9e:
1629                     return "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES";
1630                 case 0x8b9f:
1631                     return "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES";
1632                 case 0x8c10:
1633                     return "GL_TEXTURE_RED_TYPE";
1634                 case 0x8c11:
1635                     return "GL_TEXTURE_GREEN_TYPE";
1636                 case 0x8c12:
1637                     return "GL_TEXTURE_BLUE_TYPE";
1638                 case 0x8c13:
1639                     return "GL_TEXTURE_ALPHA_TYPE";
1640                 case 0x8c14:
1641                     return "GL_TEXTURE_LUMINANCE_TYPE";
1642                 case 0x8c15:
1643                     return "GL_TEXTURE_INTENSITY_TYPE";
1644                 case 0x8c16:
1645                     return "GL_TEXTURE_DEPTH_TYPE";
1646                 case 0x8c17:
1647                     return "GL_UNSIGNED_NORMALIZED";
1648                 case 0x8c1c:
1649                     return "GL_TEXTURE_BINDING_1D_ARRAY";
1650                 case 0x8c1d:
1651                     return "GL_TEXTURE_BINDING_2D_ARRAY";
1652                 case 0x8c29:
1653                     return "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS";
1654                 case 0x8c2a:
1655                     return "GL_TEXTURE_BUFFER_BINDING";
1656                 case 0x8c2b:
1657                     return "GL_MAX_TEXTURE_BUFFER_SIZE";
1658                 case 0x8c2c:
1659                     return "GL_TEXTURE_BINDING_BUFFER";
1660                 case 0x8c2d:
1661                     return "GL_TEXTURE_BUFFER_DATA_STORE_BINDING";
1662                 case 0x8c2f:
1663                     return "GL_ANY_SAMPLES_PASSED_EXT";
1664                 case 0x8c36:
1665                     return "GL_SAMPLE_SHADING";
1666                 case 0x8c37:
1667                     return "GL_MIN_SAMPLE_SHADING_VALUE";
1668                 case 0x8c3e:
1669                     return "GL_UNSIGNED_INT_5_9_9_9_REV";
1670                 case 0x8c3f:
1671                     return "GL_TEXTURE_SHARED_SIZE";
1672                 case 0x8c44:
1673                     return "GL_SLUMINANCE_ALPHA";
1674                 case 0x8c45:
1675                     return "GL_SLUMINANCE8_ALPHA8";
1676                 case 0x8c46:
1677                     return "GL_SLUMINANCE";
1678                 case 0x8c47:
1679                     return "GL_SLUMINANCE8";
1680                 case 0x8c4a:
1681                     return "GL_COMPRESSED_SLUMINANCE";
1682                 case 0x8c4b:
1683                     return "GL_COMPRESSED_SLUMINANCE_ALPHA";
1684                 case 0x8c80:
1685                     return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS";
1686                 case 0x8c87:
1687                     return "GL_PRIMITIVES_GENERATED_EXT";
1688                 case 0x8c89:
1689                     return "GL_RASTERIZER_DISCARD";
1690                 case 0x8c8a:
1691                     return "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS";
1692                 case 0x8c8b:
1693                     return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS";
1694                 case 0x8c8c:
1695                     return "GL_INTERLEAVED_ATTRIBS";
1696                 case 0x8c8d:
1697                     return "GL_SEPARATE_ATTRIBS";
1698                 case 0x8ca0:
1699                     return "GL_POINT_SPRITE_COORD_ORIGIN";
1700                 case 0x8ca3:
1701                     return "GL_STENCIL_BACK_REF";
1702                 case 0x8ca4:
1703                     return "GL_STENCIL_BACK_VALUE_MASK";
1704                 case 0x8ca5:
1705                     return "GL_STENCIL_BACK_WRITEMASK";
1706                 case 0x8ca6:
1707                     return "GL_DRAW_FRAMEBUFFER_BINDING";
1708                 case 0x8ca7:
1709                     return "GL_RENDERBUFFER_BINDING";
1710                 case 0x8ca8:
1711                     return "GL_READ_FRAMEBUFFER_ANGLE";
1712                 case 0x8ca9:
1713                     return "GL_DRAW_FRAMEBUFFER_ANGLE";
1714                 case 0x8caa:
1715                     return "GL_READ_FRAMEBUFFER_BINDING";
1716                 case 0x8cab:
1717                     return "GL_RENDERBUFFER_SAMPLES_ANGLE";
1718                 case 0x8cd0:
1719                     return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
1720                 case 0x8cd1:
1721                     return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES";
1722                 case 0x8cd2:
1723                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES";
1724                 case 0x8cd3:
1725                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES";
1726                 case 0x8cd4:
1727                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES";
1728                 case 0x8cd5:
1729                     return "GL_FRAMEBUFFER_COMPLETE_OES";
1730                 case 0x8cd6:
1731                     return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES";
1732                 case 0x8cd7:
1733                     return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES";
1734                 case 0x8cd9:
1735                     return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
1736                 case 0x8cda:
1737                     return "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES";
1738                 case 0x8cdd:
1739                     return "GL_FRAMEBUFFER_UNSUPPORTED_OES";
1740                 case 0x8d20:
1741                     return "GL_STENCIL_ATTACHMENT";
1742                 case 0x8d40:
1743                     return "GL_FRAMEBUFFER_OES";
1744                 case 0x8d41:
1745                     return "GL_RENDERBUFFER_OES";
1746                 case 0x8d42:
1747                     return "GL_RENDERBUFFER_WIDTH_OES";
1748                 case 0x8d43:
1749                     return "GL_RENDERBUFFER_HEIGHT_OES";
1750                 case 0x8d44:
1751                     return "GL_RENDERBUFFER_INTERNAL_FORMAT_OES";
1752                 case 0x8d46:
1753                     return "GL_STENCIL_INDEX1";
1754                 case 0x8d47:
1755                     return "GL_STENCIL_INDEX4";
1756                 case 0x8d48:
1757                     return "GL_STENCIL_INDEX8";
1758                 case 0x8d49:
1759                     return "GL_STENCIL_INDEX16";
1760                 case 0x8d50:
1761                     return "GL_RENDERBUFFER_RED_SIZE_OES";
1762                 case 0x8d51:
1763                     return "GL_RENDERBUFFER_GREEN_SIZE_OES";
1764                 case 0x8d52:
1765                     return "GL_RENDERBUFFER_BLUE_SIZE_OES";
1766                 case 0x8d53:
1767                     return "GL_RENDERBUFFER_ALPHA_SIZE_OES";
1768                 case 0x8d54:
1769                     return "GL_RENDERBUFFER_DEPTH_SIZE_OES";
1770                 case 0x8d55:
1771                     return "GL_RENDERBUFFER_STENCIL_SIZE_OES";
1772                 case 0x8d56:
1773                     return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE";
1774                 case 0x8d57:
1775                     return "GL_MAX_SAMPLES";
1776                 case 0x8d60:
1777                     return "GL_TEXTURE_GEN_STR_OES";
1778                 case 0x8d62:
1779                     return "GL_RGB565";
1780                 case 0x8d69:
1781                     return "GL_PRIMITIVE_RESTART_FIXED_INDEX";
1782                 case 0x8d6a:
1783                     return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT";
1784                 case 0x8d6b:
1785                     return "GL_MAX_ELEMENT_INDEX";
1786                 case 0x8d94:
1787                     return "GL_RED_INTEGER";
1788                 case 0x8d95:
1789                     return "GL_GREEN_INTEGER";
1790                 case 0x8d96:
1791                     return "GL_BLUE_INTEGER";
1792                 case 0x8d97:
1793                     return "GL_ALPHA_INTEGER";
1794                 case 0x8d98:
1795                     return "GL_RGB_INTEGER";
1796                 case 0x8d99:
1797                     return "GL_RGBA_INTEGER";
1798                 case 0x8d9a:
1799                     return "GL_BGR_INTEGER";
1800                 case 0x8d9b:
1801                     return "GL_BGRA_INTEGER";
1802                 case 0x8da7:
1803                     return "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT";
1804                 case 0x8da8:
1805                     return "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT";
1806                 case 0x8dad:
1807                     return "GL_FLOAT_32_UNSIGNED_INT_24_8_REV";
1808                 case 0x8db9:
1809                     return "GL_FRAMEBUFFER_SRGB";
1810                 case 0x8dc0:
1811                     return "GL_SAMPLER_1D_ARRAY";
1812                 case 0x8dc1:
1813                     return "GL_SAMPLER_2D_ARRAY";
1814                 case 0x8dc2:
1815                     return "GL_SAMPLER_BUFFER";
1816                 case 0x8dc3:
1817                     return "GL_SAMPLER_1D_ARRAY_SHADOW";
1818                 case 0x8dc4:
1819                     return "GL_SAMPLER_2D_ARRAY_SHADOW";
1820                 case 0x8dc5:
1821                     return "GL_SAMPLER_CUBE_SHADOW";
1822                 case 0x8dc6:
1823                     return "GL_UNSIGNED_INT_VEC2";
1824                 case 0x8dc7:
1825                     return "GL_UNSIGNED_INT_VEC3";
1826                 case 0x8dc8:
1827                     return "GL_UNSIGNED_INT_VEC4";
1828                 case 0x8dc9:
1829                     return "GL_INT_SAMPLER_1D";
1830                 case 0x8dca:
1831                     return "GL_INT_SAMPLER_2D";
1832                 case 0x8dcb:
1833                     return "GL_INT_SAMPLER_3D";
1834                 case 0x8dcc:
1835                     return "GL_INT_SAMPLER_CUBE";
1836                 case 0x8dcd:
1837                     return "GL_INT_SAMPLER_2D_RECT";
1838                 case 0x8dce:
1839                     return "GL_INT_SAMPLER_1D_ARRAY";
1840                 case 0x8dcf:
1841                     return "GL_INT_SAMPLER_2D_ARRAY";
1842                 case 0x8dd0:
1843                     return "GL_INT_SAMPLER_BUFFER";
1844                 case 0x8dd1:
1845                     return "GL_UNSIGNED_INT_SAMPLER_1D";
1846                 case 0x8dd2:
1847                     return "GL_UNSIGNED_INT_SAMPLER_2D";
1848                 case 0x8dd3:
1849                     return "GL_UNSIGNED_INT_SAMPLER_3D";
1850                 case 0x8dd4:
1851                     return "GL_UNSIGNED_INT_SAMPLER_CUBE";
1852                 case 0x8dd5:
1853                     return "GL_UNSIGNED_INT_SAMPLER_2D_RECT";
1854                 case 0x8dd6:
1855                     return "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY";
1856                 case 0x8dd7:
1857                     return "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY";
1858                 case 0x8dd8:
1859                     return "GL_UNSIGNED_INT_SAMPLER_BUFFER";
1860                 case 0x8dd9:
1861                     return "GL_GEOMETRY_SHADER_EXT";
1862                 case 0x8ddf:
1863                     return "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS";
1864                 case 0x8de0:
1865                     return "GL_MAX_GEOMETRY_OUTPUT_VERTICES";
1866                 case 0x8de1:
1867                     return "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS";
1868                 case 0x8de7:
1869                     return "GL_MAX_SUBROUTINES";
1870                 case 0x8de8:
1871                     return "GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS";
1872                 case 0x8df8:
1873                     return "GL_SHADER_BINARY_FORMATS";
1874                 case 0x8df9:
1875                     return "GL_NUM_SHADER_BINARY_FORMATS";
1876                 case 0x8dfa:
1877                     return "GL_SHADER_COMPILER";
1878                 case 0x8dfb:
1879                     return "GL_MAX_VERTEX_UNIFORM_VECTORS";
1880                 case 0x8dfc:
1881                     return "GL_MAX_VARYING_VECTORS";
1882                 case 0x8dfd:
1883                     return "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
1884                 case 0x8e17:
1885                     return "GL_QUERY_WAIT_INVERTED";
1886                 case 0x8e18:
1887                     return "GL_QUERY_NO_WAIT_INVERTED";
1888                 case 0x8e19:
1889                     return "GL_QUERY_BY_REGION_WAIT_INVERTED";
1890                 case 0x8e1a:
1891                     return "GL_QUERY_BY_REGION_NO_WAIT_INVERTED";
1892                 case 0x8e1b:
1893                     return "GL_POLYGON_OFFSET_CLAMP";
1894                 case 0x8e1e:
1895                     return "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS";
1896                 case 0x8e1f:
1897                     return "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS";
1898                 case 0x8e23:
1899                     return "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED";
1900                 case 0x8e24:
1901                     return "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE";
1902                 case 0x8e25:
1903                     return "GL_TRANSFORM_FEEDBACK_BINDING";
1904                 case 0x8e28:
1905                     return "GL_TIMESTAMP";
1906                 case 0x8e4c:
1907                     return "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION";
1908                 case 0x8e4d:
1909                     return "GL_FIRST_VERTEX_CONVENTION_EXT";
1910                 case 0x8e4e:
1911                     return "GL_LAST_VERTEX_CONVENTION_EXT";
1912                 case 0x8e4f:
1913                     return "GL_PROVOKING_VERTEX";
1914                 case 0x8e50:
1915                     return "GL_SAMPLE_POSITION";
1916                 case 0x8e51:
1917                     return "GL_SAMPLE_MASK";
1918                 case 0x8e52:
1919                     return "GL_SAMPLE_MASK_VALUE";
1920                 case 0x8e59:
1921                     return "GL_MAX_SAMPLE_MASK_WORDS";
1922                 case 0x8e5a:
1923                     return "GL_MAX_GEOMETRY_SHADER_INVOCATIONS";
1924                 case 0x8e5b:
1925                     return "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET";
1926                 case 0x8e5c:
1927                     return "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET";
1928                 case 0x8e5d:
1929                     return "GL_FRAGMENT_INTERPOLATION_OFFSET_BITS";
1930                 case 0x8e5e:
1931                     return "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET";
1932                 case 0x8e5f:
1933                     return "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET";
1934                 case 0x8e70:
1935                     return "GL_MAX_TRANSFORM_FEEDBACK_BUFFERS";
1936                 case 0x8e71:
1937                     return "GL_MAX_VERTEX_STREAMS";
1938                 case 0x8e75:
1939                     return "GL_TESS_CONTROL_OUTPUT_VERTICES";
1940                 case 0x8e76:
1941                     return "GL_TESS_GEN_MODE";
1942                 case 0x8e77:
1943                     return "GL_TESS_GEN_SPACING";
1944                 case 0x8e78:
1945                     return "GL_TESS_GEN_VERTEX_ORDER";
1946                 case 0x8e79:
1947                     return "GL_TESS_GEN_POINT_MODE";
1948                 case 0x8e7a:
1949                     return "GL_ISOLINES";
1950                 case 0x8e7b:
1951                     return "GL_FRACTIONAL_ODD";
1952                 case 0x8e7c:
1953                     return "GL_FRACTIONAL_EVEN";
1954                 case 0x8e7d:
1955                     return "GL_MAX_PATCH_VERTICES";
1956                 case 0x8e7e:
1957                     return "GL_MAX_TESS_GEN_LEVEL";
1958                 case 0x8e7f:
1959                     return "GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS";
1960                 case 0x8e80:
1961                     return "GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS";
1962                 case 0x8e81:
1963                     return "GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS";
1964                 case 0x8e82:
1965                     return "GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS";
1966                 case 0x8e83:
1967                     return "GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS";
1968                 case 0x8e84:
1969                     return "GL_MAX_TESS_PATCH_COMPONENTS";
1970                 case 0x8e85:
1971                     return "GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS";
1972                 case 0x8e86:
1973                     return "GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS";
1974                 case 0x8e89:
1975                     return "GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS";
1976                 case 0x8e8a:
1977                     return "GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS";
1978                 case 0x8f36:
1979                     return "GL_COPY_READ_BUFFER_BINDING";
1980                 case 0x8f37:
1981                     return "GL_COPY_WRITE_BUFFER_BINDING";
1982                 case 0x8f38:
1983                     return "GL_MAX_IMAGE_UNITS";
1984                 case 0x8f39:
1985                     return "GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS";
1986                 case 0x8f3a:
1987                     return "GL_IMAGE_BINDING_NAME";
1988                 case 0x8f3b:
1989                     return "GL_IMAGE_BINDING_LEVEL";
1990                 case 0x8f3c:
1991                     return "GL_IMAGE_BINDING_LAYERED";
1992                 case 0x8f3d:
1993                     return "GL_IMAGE_BINDING_LAYER";
1994                 case 0x8f3e:
1995                     return "GL_IMAGE_BINDING_ACCESS";
1996                 case 0x8f43:
1997                     return "GL_DRAW_INDIRECT_BUFFER_BINDING";
1998                 case 0x8f46:
1999                     return "GL_DOUBLE_MAT2";
2000                 case 0x8f47:
2001                     return "GL_DOUBLE_MAT3";
2002                 case 0x8f48:
2003                     return "GL_DOUBLE_MAT4";
2004                 case 0x8f49:
2005                     return "GL_DOUBLE_MAT2x3";
2006                 case 0x8f4a:
2007                     return "GL_DOUBLE_MAT2x4";
2008                 case 0x8f4b:
2009                     return "GL_DOUBLE_MAT3x2";
2010                 case 0x8f4c:
2011                     return "GL_DOUBLE_MAT3x4";
2012                 case 0x8f4d:
2013                     return "GL_DOUBLE_MAT4x2";
2014                 case 0x8f4e:
2015                     return "GL_DOUBLE_MAT4x3";
2016                 case 0x8f4f:
2017                     return "GL_VERTEX_BINDING_BUFFER";
2018                 case 0x8f9b:
2019                     return "GL_RGBA16_SNORM";
2020                 case 0x8f9c:
2021                     return "GL_SIGNED_NORMALIZED";
2022                 case 0x8f9d:
2023                     return "GL_PRIMITIVE_RESTART";
2024                 case 0x8f9e:
2025                     return "GL_PRIMITIVE_RESTART_INDEX";
2026                 case 0x8fbb:
2027                     return "GL_GPU_DISJOINT_EXT";
2028                 case 0x8ffc:
2029                     return "GL_DOUBLE_VEC2";
2030                 case 0x8ffd:
2031                     return "GL_DOUBLE_VEC3";
2032                 case 0x8ffe:
2033                     return "GL_DOUBLE_VEC4";
2034                 case 0x900a:
2035                     return "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY";
2036                 case 0x900c:
2037                     return "GL_SAMPLER_CUBE_MAP_ARRAY";
2038                 case 0x900d:
2039                     return "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW";
2040                 case 0x900e:
2041                     return "GL_INT_SAMPLER_CUBE_MAP_ARRAY";
2042                 case 0x900f:
2043                     return "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY";
2044                 case 0x904c:
2045                     return "GL_IMAGE_1D";
2046                 case 0x904d:
2047                     return "GL_IMAGE_2D";
2048                 case 0x904e:
2049                     return "GL_IMAGE_3D";
2050                 case 0x904f:
2051                     return "GL_IMAGE_2D_RECT";
2052                 case 0x9050:
2053                     return "GL_IMAGE_CUBE";
2054                 case 0x9051:
2055                     return "GL_IMAGE_BUFFER";
2056                 case 0x9052:
2057                     return "GL_IMAGE_1D_ARRAY";
2058                 case 0x9053:
2059                     return "GL_IMAGE_2D_ARRAY";
2060                 case 0x9054:
2061                     return "GL_IMAGE_CUBE_MAP_ARRAY";
2062                 case 0x9055:
2063                     return "GL_IMAGE_2D_MULTISAMPLE";
2064                 case 0x9056:
2065                     return "GL_IMAGE_2D_MULTISAMPLE_ARRAY";
2066                 case 0x9057:
2067                     return "GL_INT_IMAGE_1D";
2068                 case 0x9058:
2069                     return "GL_INT_IMAGE_2D";
2070                 case 0x9059:
2071                     return "GL_INT_IMAGE_3D";
2072                 case 0x905a:
2073                     return "GL_INT_IMAGE_2D_RECT";
2074                 case 0x905b:
2075                     return "GL_INT_IMAGE_CUBE";
2076                 case 0x905c:
2077                     return "GL_INT_IMAGE_BUFFER";
2078                 case 0x905d:
2079                     return "GL_INT_IMAGE_1D_ARRAY";
2080                 case 0x905e:
2081                     return "GL_INT_IMAGE_2D_ARRAY";
2082                 case 0x905f:
2083                     return "GL_INT_IMAGE_CUBE_MAP_ARRAY";
2084                 case 0x9060:
2085                     return "GL_INT_IMAGE_2D_MULTISAMPLE";
2086                 case 0x9061:
2087                     return "GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY";
2088                 case 0x9062:
2089                     return "GL_UNSIGNED_INT_IMAGE_1D";
2090                 case 0x9063:
2091                     return "GL_UNSIGNED_INT_IMAGE_2D";
2092                 case 0x9064:
2093                     return "GL_UNSIGNED_INT_IMAGE_3D";
2094                 case 0x9065:
2095                     return "GL_UNSIGNED_INT_IMAGE_2D_RECT";
2096                 case 0x9066:
2097                     return "GL_UNSIGNED_INT_IMAGE_CUBE";
2098                 case 0x9067:
2099                     return "GL_UNSIGNED_INT_IMAGE_BUFFER";
2100                 case 0x9068:
2101                     return "GL_UNSIGNED_INT_IMAGE_1D_ARRAY";
2102                 case 0x9069:
2103                     return "GL_UNSIGNED_INT_IMAGE_2D_ARRAY";
2104                 case 0x906a:
2105                     return "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY";
2106                 case 0x906b:
2107                     return "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE";
2108                 case 0x906c:
2109                     return "GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY";
2110                 case 0x906d:
2111                     return "GL_MAX_IMAGE_SAMPLES";
2112                 case 0x906e:
2113                     return "GL_IMAGE_BINDING_FORMAT";
2114                 case 0x90bc:
2115                     return "GL_MIN_MAP_BUFFER_ALIGNMENT";
2116                 case 0x90c8:
2117                     return "GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE";
2118                 case 0x90c9:
2119                     return "GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS";
2120                 case 0x90ca:
2121                     return "GL_MAX_VERTEX_IMAGE_UNIFORMS";
2122                 case 0x90cb:
2123                     return "GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS";
2124                 case 0x90cc:
2125                     return "GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS";
2126                 case 0x90cd:
2127                     return "GL_MAX_GEOMETRY_IMAGE_UNIFORMS";
2128                 case 0x90ce:
2129                     return "GL_MAX_FRAGMENT_IMAGE_UNIFORMS";
2130                 case 0x90cf:
2131                     return "GL_MAX_COMBINED_IMAGE_UNIFORMS";
2132                 case 0x90d3:
2133                     return "GL_SHADER_STORAGE_BUFFER_BINDING";
2134                 case 0x90d4:
2135                     return "GL_SHADER_STORAGE_BUFFER_START";
2136                 case 0x90d5:
2137                     return "GL_SHADER_STORAGE_BUFFER_SIZE";
2138                 case 0x90d6:
2139                     return "GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS";
2140                 case 0x90d7:
2141                     return "GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS";
2142                 case 0x90d8:
2143                     return "GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS";
2144                 case 0x90d9:
2145                     return "GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS";
2146                 case 0x90da:
2147                     return "GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS";
2148                 case 0x90db:
2149                     return "GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS";
2150                 case 0x90dc:
2151                     return "GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS";
2152                 case 0x90dd:
2153                     return "GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS";
2154                 case 0x90de:
2155                     return "GL_MAX_SHADER_STORAGE_BLOCK_SIZE";
2156                 case 0x90df:
2157                     return "GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT";
2158                 case 0x90eb:
2159                     return "GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS";
2160                 case 0x90ef:
2161                     return "GL_DISPATCH_INDIRECT_BUFFER_BINDING";
2162                 case 0x90f3:
2163                     return "GL_CONTEXT_ROBUST_ACCESS";
2164                 case 0x9102:
2165                     return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES";
2166                 case 0x9104:
2167                     return "GL_TEXTURE_BINDING_2D_MULTISAMPLE";
2168                 case 0x9105:
2169                     return "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY";
2170                 case 0x9106:
2171                     return "GL_TEXTURE_SAMPLES";
2172                 case 0x9107:
2173                     return "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS";
2174                 case 0x9108:
2175                     return "GL_SAMPLER_2D_MULTISAMPLE";
2176                 case 0x9109:
2177                     return "GL_INT_SAMPLER_2D_MULTISAMPLE";
2178                 case 0x910a:
2179                     return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE";
2180                 case 0x910b:
2181                     return "GL_SAMPLER_2D_MULTISAMPLE_ARRAY";
2182                 case 0x910c:
2183                     return "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY";
2184                 case 0x910d:
2185                     return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY";
2186                 case 0x910e:
2187                     return "GL_MAX_COLOR_TEXTURE_SAMPLES";
2188                 case 0x910f:
2189                     return "GL_MAX_DEPTH_TEXTURE_SAMPLES";
2190                 case 0x9110:
2191                     return "GL_MAX_INTEGER_SAMPLES";
2192                 case 0x9111:
2193                     return "GL_MAX_SERVER_WAIT_TIMEOUT";
2194                 case 0x9116:
2195                     return "GL_SYNC_FENCE";
2196                 case 0x9118:
2197                     return "GL_UNSIGNALED";
2198                 case 0x9119:
2199                     return "GL_SIGNALED";
2200                 case 0x9122:
2201                     return "GL_MAX_VERTEX_OUTPUT_COMPONENTS";
2202                 case 0x9123:
2203                     return "GL_MAX_GEOMETRY_INPUT_COMPONENTS";
2204                 case 0x9124:
2205                     return "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS";
2206                 case 0x9125:
2207                     return "GL_MAX_FRAGMENT_INPUT_COMPONENTS";
2208                 case 0x9126:
2209                     return "GL_CONTEXT_PROFILE_MASK";
2210                 case 0x9127:
2211                     return "GL_UNPACK_COMPRESSED_BLOCK_WIDTH";
2212                 case 0x9128:
2213                     return "GL_UNPACK_COMPRESSED_BLOCK_HEIGHT";
2214                 case 0x9129:
2215                     return "GL_UNPACK_COMPRESSED_BLOCK_DEPTH";
2216                 case 0x912a:
2217                     return "GL_UNPACK_COMPRESSED_BLOCK_SIZE";
2218                 case 0x912b:
2219                     return "GL_PACK_COMPRESSED_BLOCK_WIDTH";
2220                 case 0x912c:
2221                     return "GL_PACK_COMPRESSED_BLOCK_HEIGHT";
2222                 case 0x912d:
2223                     return "GL_PACK_COMPRESSED_BLOCK_DEPTH";
2224                 case 0x912e:
2225                     return "GL_PACK_COMPRESSED_BLOCK_SIZE";
2226                 case 0x912f:
2227                     return "GL_TEXTURE_IMMUTABLE_FORMAT";
2228                 case 0x9143:
2229                     return "GL_MAX_DEBUG_MESSAGE_LENGTH";
2230                 case 0x9144:
2231                     return "GL_MAX_DEBUG_LOGGED_MESSAGES";
2232                 case 0x9145:
2233                     return "GL_DEBUG_LOGGED_MESSAGES";
2234                 case 0x9146:
2235                     return "GL_DEBUG_SEVERITY_HIGH_KHR";
2236                 case 0x9147:
2237                     return "GL_DEBUG_SEVERITY_MEDIUM_KHR";
2238                 case 0x9148:
2239                     return "GL_DEBUG_SEVERITY_LOW_KHR";
2240                 case 0x9193:
2241                     return "GL_QUERY_BUFFER_BINDING";
2242                 case 0x919d:
2243                     return "GL_TEXTURE_BUFFER_OFFSET";
2244                 case 0x919e:
2245                     return "GL_TEXTURE_BUFFER_SIZE";
2246                 case 0x919f:
2247                     return "GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT";
2248                 case 0x91b0:
2249                     return "GL_MAX_SHADER_COMPILER_THREADS_KHR";
2250                 case 0x91b1:
2251                     return "GL_COMPLETION_STATUS_KHR";
2252                 case 0x91bb:
2253                     return "GL_MAX_COMPUTE_UNIFORM_BLOCKS";
2254                 case 0x91bc:
2255                     return "GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS";
2256                 case 0x91bd:
2257                     return "GL_MAX_COMPUTE_IMAGE_UNIFORMS";
2258                 case 0x91be:
2259                     return "GL_MAX_COMPUTE_WORK_GROUP_COUNT";
2260                 case 0x91bf:
2261                     return "GL_MAX_COMPUTE_WORK_GROUP_SIZE";
2262                 case 0x9294:
2263                     return "GL_MULTIPLY";
2264                 case 0x9295:
2265                     return "GL_SCREEN";
2266                 case 0x9296:
2267                     return "GL_OVERLAY";
2268                 case 0x9297:
2269                     return "GL_DARKEN";
2270                 case 0x9298:
2271                     return "GL_LIGHTEN";
2272                 case 0x9299:
2273                     return "GL_COLORDODGE";
2274                 case 0x929a:
2275                     return "GL_COLORBURN";
2276                 case 0x929b:
2277                     return "GL_HARDLIGHT";
2278                 case 0x929c:
2279                     return "GL_SOFTLIGHT";
2280                 case 0x929e:
2281                     return "GL_DIFFERENCE";
2282                 case 0x92a0:
2283                     return "GL_EXCLUSION";
2284                 case 0x92ad:
2285                     return "GL_HSL_HUE";
2286                 case 0x92ae:
2287                     return "GL_HSL_SATURATION";
2288                 case 0x92af:
2289                     return "GL_HSL_COLOR";
2290                 case 0x92b0:
2291                     return "GL_HSL_LUMINOSITY";
2292                 case 0x92be:
2293                     return "GL_PRIMITIVE_BOUNDING_BOX";
2294                 case 0x92c2:
2295                     return "GL_ATOMIC_COUNTER_BUFFER_START";
2296                 case 0x92c3:
2297                     return "GL_ATOMIC_COUNTER_BUFFER_SIZE";
2298                 case 0x92cc:
2299                     return "GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS";
2300                 case 0x92cd:
2301                     return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS";
2302                 case 0x92ce:
2303                     return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS";
2304                 case 0x92cf:
2305                     return "GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS";
2306                 case 0x92d0:
2307                     return "GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS";
2308                 case 0x92d1:
2309                     return "GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS";
2310                 case 0x92d2:
2311                     return "GL_MAX_VERTEX_ATOMIC_COUNTERS";
2312                 case 0x92d3:
2313                     return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS";
2314                 case 0x92d4:
2315                     return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS";
2316                 case 0x92d5:
2317                     return "GL_MAX_GEOMETRY_ATOMIC_COUNTERS";
2318                 case 0x92d6:
2319                     return "GL_MAX_FRAGMENT_ATOMIC_COUNTERS";
2320                 case 0x92d7:
2321                     return "GL_MAX_COMBINED_ATOMIC_COUNTERS";
2322                 case 0x92d8:
2323                     return "GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE";
2324                 case 0x92db:
2325                     return "GL_UNSIGNED_INT_ATOMIC_COUNTER";
2326                 case 0x92dc:
2327                     return "GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS";
2328                 case 0x92e0:
2329                     return "GL_DEBUG_OUTPUT";
2330                 case 0x92e7:
2331                     return "GL_IS_PER_PATCH";
2332                 case 0x92f9:
2333                     return "GL_NAME_LENGTH";
2334                 case 0x92fa:
2335                     return "GL_TYPE";
2336                 case 0x92fb:
2337                     return "GL_ARRAY_SIZE";
2338                 case 0x92fc:
2339                     return "GL_OFFSET";
2340                 case 0x92fd:
2341                     return "GL_BLOCK_INDEX";
2342                 case 0x92fe:
2343                     return "GL_ARRAY_STRIDE";
2344                 case 0x92ff:
2345                     return "GL_MATRIX_STRIDE";
2346                 case 0x9300:
2347                     return "GL_IS_ROW_MAJOR";
2348                 case 0x9301:
2349                     return "GL_ATOMIC_COUNTER_BUFFER_INDEX";
2350                 case 0x9302:
2351                     return "GL_BUFFER_BINDING";
2352                 case 0x9303:
2353                     return "GL_BUFFER_DATA_SIZE";
2354                 case 0x9304:
2355                     return "GL_NUM_ACTIVE_VARIABLES";
2356                 case 0x9305:
2357                     return "GL_ACTIVE_VARIABLES";
2358                 case 0x9306:
2359                     return "GL_REFERENCED_BY_VERTEX_SHADER";
2360                 case 0x9307:
2361                     return "GL_REFERENCED_BY_TESS_CONTROL_SHADER";
2362                 case 0x9308:
2363                     return "GL_REFERENCED_BY_TESS_EVALUATION_SHADER";
2364                 case 0x9309:
2365                     return "GL_REFERENCED_BY_GEOMETRY_SHADER";
2366                 case 0x930a:
2367                     return "GL_REFERENCED_BY_FRAGMENT_SHADER";
2368                 case 0x930b:
2369                     return "GL_REFERENCED_BY_COMPUTE_SHADER";
2370                 case 0x930c:
2371                     return "GL_TOP_LEVEL_ARRAY_SIZE";
2372                 case 0x930d:
2373                     return "GL_TOP_LEVEL_ARRAY_STRIDE";
2374                 case 0x930e:
2375                     return "GL_LOCATION";
2376                 case 0x930f:
2377                     return "GL_LOCATION_INDEX";
2378                 case 0x9312:
2379                     return "GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT";
2380                 case 0x9315:
2381                     return "GL_MAX_FRAMEBUFFER_WIDTH";
2382                 case 0x9316:
2383                     return "GL_MAX_FRAMEBUFFER_HEIGHT";
2384                 case 0x9317:
2385                     return "GL_MAX_FRAMEBUFFER_LAYERS";
2386                 case 0x9318:
2387                     return "GL_MAX_FRAMEBUFFER_SAMPLES";
2388                 case 0x934a:
2389                     return "GL_LOCATION_COMPONENT";
2390                 case 0x934b:
2391                     return "GL_TRANSFORM_FEEDBACK_BUFFER_INDEX";
2392                 case 0x934c:
2393                     return "GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE";
2394                 case 0x935c:
2395                     return "GL_CLIP_ORIGIN";
2396                 case 0x935d:
2397                     return "GL_CLIP_DEPTH_MODE";
2398                 case 0x9381:
2399                     return "GL_MULTISAMPLE_LINE_WIDTH_RANGE";
2400                 case 0x9382:
2401                     return "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY";
2402                 case 0x93a0:
2403                     return "GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE";
2404                 case 0x93a1:
2405                     return "GL_BGRA8_EXT";
2406                 case 0x93b0:
2407                     return "GL_COMPRESSED_RGBA_ASTC_4x4";
2408                 case 0x93b1:
2409                     return "GL_COMPRESSED_RGBA_ASTC_5x4";
2410                 case 0x93b2:
2411                     return "GL_COMPRESSED_RGBA_ASTC_5x5";
2412                 case 0x93b3:
2413                     return "GL_COMPRESSED_RGBA_ASTC_6x5";
2414                 case 0x93b4:
2415                     return "GL_COMPRESSED_RGBA_ASTC_6x6";
2416                 case 0x93b5:
2417                     return "GL_COMPRESSED_RGBA_ASTC_8x5";
2418                 case 0x93b6:
2419                     return "GL_COMPRESSED_RGBA_ASTC_8x6";
2420                 case 0x93b7:
2421                     return "GL_COMPRESSED_RGBA_ASTC_8x8";
2422                 case 0x93b8:
2423                     return "GL_COMPRESSED_RGBA_ASTC_10x5";
2424                 case 0x93b9:
2425                     return "GL_COMPRESSED_RGBA_ASTC_10x6";
2426                 case 0x93ba:
2427                     return "GL_COMPRESSED_RGBA_ASTC_10x8";
2428                 case 0x93bb:
2429                     return "GL_COMPRESSED_RGBA_ASTC_10x10";
2430                 case 0x93bc:
2431                     return "GL_COMPRESSED_RGBA_ASTC_12x10";
2432                 case 0x93bd:
2433                     return "GL_COMPRESSED_RGBA_ASTC_12x12";
2434                 case 0x93d0:
2435                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4";
2436                 case 0x93d1:
2437                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4";
2438                 case 0x93d2:
2439                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5";
2440                 case 0x93d3:
2441                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5";
2442                 case 0x93d4:
2443                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6";
2444                 case 0x93d5:
2445                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5";
2446                 case 0x93d6:
2447                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6";
2448                 case 0x93d7:
2449                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8";
2450                 case 0x93d8:
2451                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5";
2452                 case 0x93d9:
2453                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6";
2454                 case 0x93da:
2455                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8";
2456                 case 0x93db:
2457                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10";
2458                 case 0x93dc:
2459                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10";
2460                 case 0x93dd:
2461                     return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12";
2462                 case 0x9551:
2463                     return "GL_SHADER_BINARY_FORMAT_SPIR_V";
2464                 case 0x9552:
2465                     return "GL_SPIR_V_BINARY";
2466                 case 0x9553:
2467                     return "GL_SPIR_V_EXTENSIONS";
2468                 case 0x9554:
2469                     return "GL_NUM_SPIR_V_EXTENSIONS";
2470                 case 0x9582:
2471                     return "GL_NUM_TILING_TYPES_EXT";
2472                 case 0x9583:
2473                     return "GL_TILING_TYPES_EXT";
2474                 case 0x9584:
2475                     return "GL_OPTIMAL_TILING_EXT";
2476                 case 0x9585:
2477                     return "GL_LINEAR_TILING_EXT";
2478                 case 0x9630:
2479                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR";
2480                 case 0x9631:
2481                     return "GL_MAX_VIEWS_OVR";
2482                 case 0x9632:
2483                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR";
2484                 case 0x9633:
2485                     return "GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR";
2486                 default:
2487                     return "EnumUnknown";
2488             }
2489         }
2490 
2491         case GLenumGroup::DepthFunction:
2492         {
2493             switch (value)
2494             {
2495                 case 0x200:
2496                     return "GL_NEVER";
2497                 case 0x201:
2498                     return "GL_LESS";
2499                 case 0x202:
2500                     return "GL_EQUAL";
2501                 case 0x203:
2502                     return "GL_LEQUAL";
2503                 case 0x204:
2504                     return "GL_GREATER";
2505                 case 0x205:
2506                     return "GL_NOTEQUAL";
2507                 case 0x206:
2508                     return "GL_GEQUAL";
2509                 case 0x207:
2510                     return "GL_ALWAYS";
2511                 default:
2512                     return "EnumUnknown";
2513             }
2514         }
2515 
2516         case GLenumGroup::DrawBufferMode:
2517         {
2518             switch (value)
2519             {
2520                 case 0x0:
2521                     return "GL_NONE";
2522                 case 0x400:
2523                     return "GL_FRONT_LEFT";
2524                 case 0x401:
2525                     return "GL_FRONT_RIGHT";
2526                 case 0x402:
2527                     return "GL_BACK_LEFT";
2528                 case 0x403:
2529                     return "GL_BACK_RIGHT";
2530                 case 0x404:
2531                     return "GL_FRONT";
2532                 case 0x405:
2533                     return "GL_BACK";
2534                 case 0x406:
2535                     return "GL_LEFT";
2536                 case 0x407:
2537                     return "GL_RIGHT";
2538                 case 0x408:
2539                     return "GL_FRONT_AND_BACK";
2540                 case 0x409:
2541                     return "GL_AUX0";
2542                 case 0x40a:
2543                     return "GL_AUX1";
2544                 case 0x40b:
2545                     return "GL_AUX2";
2546                 case 0x40c:
2547                     return "GL_AUX3";
2548                 default:
2549                     return "EnumUnknown";
2550             }
2551         }
2552 
2553         case GLenumGroup::DrawElementsType:
2554         {
2555             switch (value)
2556             {
2557                 case 0x1401:
2558                     return "GL_UNSIGNED_BYTE";
2559                 case 0x1403:
2560                     return "GL_UNSIGNED_SHORT";
2561                 case 0x1405:
2562                     return "GL_UNSIGNED_INT";
2563                 default:
2564                     return "EnumUnknown";
2565             }
2566         }
2567 
2568         case GLenumGroup::EnableCap:
2569         {
2570             switch (value)
2571             {
2572                 case 0xb10:
2573                     return "GL_POINT_SMOOTH";
2574                 case 0xb20:
2575                     return "GL_LINE_SMOOTH";
2576                 case 0xb24:
2577                     return "GL_LINE_STIPPLE";
2578                 case 0xb41:
2579                     return "GL_POLYGON_SMOOTH";
2580                 case 0xb42:
2581                     return "GL_POLYGON_STIPPLE";
2582                 case 0xb44:
2583                     return "GL_CULL_FACE";
2584                 case 0xb50:
2585                     return "GL_LIGHTING";
2586                 case 0xb57:
2587                     return "GL_COLOR_MATERIAL";
2588                 case 0xb60:
2589                     return "GL_FOG";
2590                 case 0xb71:
2591                     return "GL_DEPTH_TEST";
2592                 case 0xb90:
2593                     return "GL_STENCIL_TEST";
2594                 case 0xba1:
2595                     return "GL_NORMALIZE";
2596                 case 0xbc0:
2597                     return "GL_ALPHA_TEST";
2598                 case 0xbd0:
2599                     return "GL_DITHER";
2600                 case 0xbe2:
2601                     return "GL_BLEND";
2602                 case 0xbf1:
2603                     return "GL_INDEX_LOGIC_OP";
2604                 case 0xbf2:
2605                     return "GL_COLOR_LOGIC_OP";
2606                 case 0xc11:
2607                     return "GL_SCISSOR_TEST";
2608                 case 0xc60:
2609                     return "GL_TEXTURE_GEN_S";
2610                 case 0xc61:
2611                     return "GL_TEXTURE_GEN_T";
2612                 case 0xc62:
2613                     return "GL_TEXTURE_GEN_R";
2614                 case 0xc63:
2615                     return "GL_TEXTURE_GEN_Q";
2616                 case 0xd80:
2617                     return "GL_AUTO_NORMAL";
2618                 case 0xd90:
2619                     return "GL_MAP1_COLOR_4";
2620                 case 0xd91:
2621                     return "GL_MAP1_INDEX";
2622                 case 0xd92:
2623                     return "GL_MAP1_NORMAL";
2624                 case 0xd93:
2625                     return "GL_MAP1_TEXTURE_COORD_1";
2626                 case 0xd94:
2627                     return "GL_MAP1_TEXTURE_COORD_2";
2628                 case 0xd95:
2629                     return "GL_MAP1_TEXTURE_COORD_3";
2630                 case 0xd96:
2631                     return "GL_MAP1_TEXTURE_COORD_4";
2632                 case 0xd97:
2633                     return "GL_MAP1_VERTEX_3";
2634                 case 0xd98:
2635                     return "GL_MAP1_VERTEX_4";
2636                 case 0xdb0:
2637                     return "GL_MAP2_COLOR_4";
2638                 case 0xdb1:
2639                     return "GL_MAP2_INDEX";
2640                 case 0xdb2:
2641                     return "GL_MAP2_NORMAL";
2642                 case 0xdb3:
2643                     return "GL_MAP2_TEXTURE_COORD_1";
2644                 case 0xdb4:
2645                     return "GL_MAP2_TEXTURE_COORD_2";
2646                 case 0xdb5:
2647                     return "GL_MAP2_TEXTURE_COORD_3";
2648                 case 0xdb6:
2649                     return "GL_MAP2_TEXTURE_COORD_4";
2650                 case 0xdb7:
2651                     return "GL_MAP2_VERTEX_3";
2652                 case 0xdb8:
2653                     return "GL_MAP2_VERTEX_4";
2654                 case 0xde0:
2655                     return "GL_TEXTURE_1D";
2656                 case 0xde1:
2657                     return "GL_TEXTURE_2D";
2658                 case 0x2a01:
2659                     return "GL_POLYGON_OFFSET_POINT";
2660                 case 0x2a02:
2661                     return "GL_POLYGON_OFFSET_LINE";
2662                 case 0x3000:
2663                     return "GL_CLIP_PLANE0";
2664                 case 0x3001:
2665                     return "GL_CLIP_PLANE1";
2666                 case 0x3002:
2667                     return "GL_CLIP_PLANE2";
2668                 case 0x3003:
2669                     return "GL_CLIP_PLANE3";
2670                 case 0x3004:
2671                     return "GL_CLIP_PLANE4";
2672                 case 0x3005:
2673                     return "GL_CLIP_PLANE5";
2674                 case 0x4000:
2675                     return "GL_LIGHT0";
2676                 case 0x4001:
2677                     return "GL_LIGHT1";
2678                 case 0x4002:
2679                     return "GL_LIGHT2";
2680                 case 0x4003:
2681                     return "GL_LIGHT3";
2682                 case 0x4004:
2683                     return "GL_LIGHT4";
2684                 case 0x4005:
2685                     return "GL_LIGHT5";
2686                 case 0x4006:
2687                     return "GL_LIGHT6";
2688                 case 0x4007:
2689                     return "GL_LIGHT7";
2690                 case 0x8037:
2691                     return "GL_POLYGON_OFFSET_FILL";
2692                 case 0x8074:
2693                     return "GL_VERTEX_ARRAY";
2694                 case 0x8075:
2695                     return "GL_NORMAL_ARRAY";
2696                 case 0x8076:
2697                     return "GL_COLOR_ARRAY";
2698                 case 0x8077:
2699                     return "GL_INDEX_ARRAY";
2700                 case 0x8078:
2701                     return "GL_TEXTURE_COORD_ARRAY";
2702                 case 0x8079:
2703                     return "GL_EDGE_FLAG_ARRAY";
2704                 default:
2705                     return "EnumUnknown";
2706             }
2707         }
2708 
2709         case GLenumGroup::ErrorCode:
2710         {
2711             switch (value)
2712             {
2713                 case 0x500:
2714                     return "GL_INVALID_ENUM";
2715                 case 0x501:
2716                     return "GL_INVALID_VALUE";
2717                 case 0x502:
2718                     return "GL_INVALID_OPERATION";
2719                 case 0x503:
2720                     return "GL_STACK_OVERFLOW";
2721                 case 0x504:
2722                     return "GL_STACK_UNDERFLOW";
2723                 case 0x505:
2724                     return "GL_OUT_OF_MEMORY";
2725                 case 0x506:
2726                     return "GL_INVALID_FRAMEBUFFER_OPERATION";
2727                 default:
2728                     return "EnumUnknown";
2729             }
2730         }
2731 
2732         case GLenumGroup::ExternalHandleType:
2733         {
2734             switch (value)
2735             {
2736                 case 0x9586:
2737                     return "GL_HANDLE_TYPE_OPAQUE_FD_EXT";
2738                 default:
2739                     return "EnumUnknown";
2740             }
2741         }
2742 
2743         case GLenumGroup::FeedBackToken:
2744         {
2745             switch (value)
2746             {
2747                 case 0x700:
2748                     return "GL_PASS_THROUGH_TOKEN";
2749                 case 0x701:
2750                     return "GL_POINT_TOKEN";
2751                 case 0x702:
2752                     return "GL_LINE_TOKEN";
2753                 case 0x703:
2754                     return "GL_POLYGON_TOKEN";
2755                 case 0x704:
2756                     return "GL_BITMAP_TOKEN";
2757                 case 0x705:
2758                     return "GL_DRAW_PIXEL_TOKEN";
2759                 case 0x706:
2760                     return "GL_COPY_PIXEL_TOKEN";
2761                 case 0x707:
2762                     return "GL_LINE_RESET_TOKEN";
2763                 default:
2764                     return "EnumUnknown";
2765             }
2766         }
2767 
2768         case GLenumGroup::FeedbackType:
2769         {
2770             switch (value)
2771             {
2772                 case 0x600:
2773                     return "GL_2D";
2774                 case 0x601:
2775                     return "GL_3D";
2776                 case 0x602:
2777                     return "GL_3D_COLOR";
2778                 case 0x603:
2779                     return "GL_3D_COLOR_TEXTURE";
2780                 case 0x604:
2781                     return "GL_4D_COLOR_TEXTURE";
2782                 default:
2783                     return "EnumUnknown";
2784             }
2785         }
2786 
2787         case GLenumGroup::FogCoordinatePointerType:
2788         {
2789             switch (value)
2790             {
2791                 case 0x1406:
2792                     return "GL_FLOAT";
2793                 case 0x140a:
2794                     return "GL_DOUBLE";
2795                 default:
2796                     return "EnumUnknown";
2797             }
2798         }
2799 
2800         case GLenumGroup::FogMode:
2801         {
2802             switch (value)
2803             {
2804                 case 0x800:
2805                     return "GL_EXP";
2806                 case 0x801:
2807                     return "GL_EXP2";
2808                 case 0x2601:
2809                     return "GL_LINEAR";
2810                 default:
2811                     return "EnumUnknown";
2812             }
2813         }
2814 
2815         case GLenumGroup::FogPName:
2816         {
2817             switch (value)
2818             {
2819                 case 0xb61:
2820                     return "GL_FOG_INDEX";
2821                 case 0xb62:
2822                     return "GL_FOG_DENSITY";
2823                 case 0xb63:
2824                     return "GL_FOG_START";
2825                 case 0xb64:
2826                     return "GL_FOG_END";
2827                 case 0xb65:
2828                     return "GL_FOG_MODE";
2829                 case 0x8450:
2830                     return "GL_FOG_COORD_SRC";
2831                 default:
2832                     return "EnumUnknown";
2833             }
2834         }
2835 
2836         case GLenumGroup::FogParameter:
2837         {
2838             switch (value)
2839             {
2840                 case 0xb61:
2841                     return "GL_FOG_INDEX";
2842                 case 0xb62:
2843                     return "GL_FOG_DENSITY";
2844                 case 0xb63:
2845                     return "GL_FOG_START";
2846                 case 0xb64:
2847                     return "GL_FOG_END";
2848                 case 0xb65:
2849                     return "GL_FOG_MODE";
2850                 case 0xb66:
2851                     return "GL_FOG_COLOR";
2852                 default:
2853                     return "EnumUnknown";
2854             }
2855         }
2856 
2857         case GLenumGroup::FogPointerTypeEXT:
2858         {
2859             switch (value)
2860             {
2861                 case 0x1406:
2862                     return "GL_FLOAT";
2863                 case 0x140a:
2864                     return "GL_DOUBLE";
2865                 default:
2866                     return "EnumUnknown";
2867             }
2868         }
2869 
2870         case GLenumGroup::FogPointerTypeIBM:
2871         {
2872             switch (value)
2873             {
2874                 case 0x1406:
2875                     return "GL_FLOAT";
2876                 case 0x140a:
2877                     return "GL_DOUBLE";
2878                 default:
2879                     return "EnumUnknown";
2880             }
2881         }
2882 
2883         case GLenumGroup::FramebufferAttachment:
2884         {
2885             switch (value)
2886             {
2887                 case 0x8cdf:
2888                     return "GL_MAX_COLOR_ATTACHMENTS";
2889                 case 0x8ce0:
2890                     return "GL_COLOR_ATTACHMENT0";
2891                 case 0x8ce1:
2892                     return "GL_COLOR_ATTACHMENT1";
2893                 case 0x8ce2:
2894                     return "GL_COLOR_ATTACHMENT2";
2895                 case 0x8ce3:
2896                     return "GL_COLOR_ATTACHMENT3";
2897                 case 0x8ce4:
2898                     return "GL_COLOR_ATTACHMENT4";
2899                 case 0x8ce5:
2900                     return "GL_COLOR_ATTACHMENT5";
2901                 case 0x8ce6:
2902                     return "GL_COLOR_ATTACHMENT6";
2903                 case 0x8ce7:
2904                     return "GL_COLOR_ATTACHMENT7";
2905                 case 0x8ce8:
2906                     return "GL_COLOR_ATTACHMENT8";
2907                 case 0x8ce9:
2908                     return "GL_COLOR_ATTACHMENT9";
2909                 case 0x8cea:
2910                     return "GL_COLOR_ATTACHMENT10";
2911                 case 0x8ceb:
2912                     return "GL_COLOR_ATTACHMENT11";
2913                 case 0x8cec:
2914                     return "GL_COLOR_ATTACHMENT12";
2915                 case 0x8ced:
2916                     return "GL_COLOR_ATTACHMENT13";
2917                 case 0x8cee:
2918                     return "GL_COLOR_ATTACHMENT14";
2919                 case 0x8cef:
2920                     return "GL_COLOR_ATTACHMENT15";
2921                 case 0x8cf0:
2922                     return "GL_COLOR_ATTACHMENT16";
2923                 case 0x8cf1:
2924                     return "GL_COLOR_ATTACHMENT17";
2925                 case 0x8cf2:
2926                     return "GL_COLOR_ATTACHMENT18";
2927                 case 0x8cf3:
2928                     return "GL_COLOR_ATTACHMENT19";
2929                 case 0x8cf4:
2930                     return "GL_COLOR_ATTACHMENT20";
2931                 case 0x8cf5:
2932                     return "GL_COLOR_ATTACHMENT21";
2933                 case 0x8cf6:
2934                     return "GL_COLOR_ATTACHMENT22";
2935                 case 0x8cf7:
2936                     return "GL_COLOR_ATTACHMENT23";
2937                 case 0x8cf8:
2938                     return "GL_COLOR_ATTACHMENT24";
2939                 case 0x8cf9:
2940                     return "GL_COLOR_ATTACHMENT25";
2941                 case 0x8cfa:
2942                     return "GL_COLOR_ATTACHMENT26";
2943                 case 0x8cfb:
2944                     return "GL_COLOR_ATTACHMENT27";
2945                 case 0x8cfc:
2946                     return "GL_COLOR_ATTACHMENT28";
2947                 case 0x8cfd:
2948                     return "GL_COLOR_ATTACHMENT29";
2949                 case 0x8cfe:
2950                     return "GL_COLOR_ATTACHMENT30";
2951                 case 0x8cff:
2952                     return "GL_COLOR_ATTACHMENT31";
2953                 case 0x8d00:
2954                     return "GL_DEPTH_ATTACHMENT";
2955                 default:
2956                     return "EnumUnknown";
2957             }
2958         }
2959 
2960         case GLenumGroup::FramebufferAttachmentParameterName:
2961         {
2962             switch (value)
2963             {
2964                 case 0x8210:
2965                     return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING";
2966                 case 0x8211:
2967                     return "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE";
2968                 case 0x8212:
2969                     return "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE";
2970                 case 0x8213:
2971                     return "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE";
2972                 case 0x8214:
2973                     return "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE";
2974                 case 0x8215:
2975                     return "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE";
2976                 case 0x8216:
2977                     return "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE";
2978                 case 0x8217:
2979                     return "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE";
2980                 case 0x8cd1:
2981                     return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
2982                 case 0x8cd2:
2983                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
2984                 case 0x8cd3:
2985                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
2986                 case 0x8cd4:
2987                     return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER";
2988                 case 0x8da7:
2989                     return "GL_FRAMEBUFFER_ATTACHMENT_LAYERED";
2990                 default:
2991                     return "EnumUnknown";
2992             }
2993         }
2994 
2995         case GLenumGroup::FramebufferParameterName:
2996         {
2997             switch (value)
2998             {
2999                 case 0x9310:
3000                     return "GL_FRAMEBUFFER_DEFAULT_WIDTH";
3001                 case 0x9311:
3002                     return "GL_FRAMEBUFFER_DEFAULT_HEIGHT";
3003                 case 0x9312:
3004                     return "GL_FRAMEBUFFER_DEFAULT_LAYERS";
3005                 case 0x9313:
3006                     return "GL_FRAMEBUFFER_DEFAULT_SAMPLES";
3007                 case 0x9314:
3008                     return "GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS";
3009                 default:
3010                     return "EnumUnknown";
3011             }
3012         }
3013 
3014         case GLenumGroup::FramebufferStatus:
3015         {
3016             switch (value)
3017             {
3018                 case 0x8219:
3019                     return "GL_FRAMEBUFFER_UNDEFINED";
3020                 case 0x8cd5:
3021                     return "GL_FRAMEBUFFER_COMPLETE";
3022                 case 0x8cd6:
3023                     return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
3024                 case 0x8cd7:
3025                     return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
3026                 case 0x8cdb:
3027                     return "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER";
3028                 case 0x8cdc:
3029                     return "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER";
3030                 case 0x8cdd:
3031                     return "GL_FRAMEBUFFER_UNSUPPORTED";
3032                 case 0x8d56:
3033                     return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE";
3034                 case 0x8da8:
3035                     return "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS";
3036                 default:
3037                     return "EnumUnknown";
3038             }
3039         }
3040 
3041         case GLenumGroup::FramebufferTarget:
3042         {
3043             switch (value)
3044             {
3045                 case 0x8ca8:
3046                     return "GL_READ_FRAMEBUFFER";
3047                 case 0x8ca9:
3048                     return "GL_DRAW_FRAMEBUFFER";
3049                 case 0x8d40:
3050                     return "GL_FRAMEBUFFER";
3051                 default:
3052                     return "EnumUnknown";
3053             }
3054         }
3055 
3056         case GLenumGroup::FrontFaceDirection:
3057         {
3058             switch (value)
3059             {
3060                 case 0x900:
3061                     return "GL_CW";
3062                 case 0x901:
3063                     return "GL_CCW";
3064                 default:
3065                     return "EnumUnknown";
3066             }
3067         }
3068 
3069         case GLenumGroup::GetFramebufferParameter:
3070         {
3071             switch (value)
3072             {
3073                 case 0xc32:
3074                     return "GL_DOUBLEBUFFER";
3075                 case 0xc33:
3076                     return "GL_STEREO";
3077                 case 0x80a8:
3078                     return "GL_SAMPLE_BUFFERS";
3079                 case 0x80a9:
3080                     return "GL_SAMPLES";
3081                 case 0x8b9a:
3082                     return "GL_IMPLEMENTATION_COLOR_READ_TYPE";
3083                 case 0x8b9b:
3084                     return "GL_IMPLEMENTATION_COLOR_READ_FORMAT";
3085                 case 0x9310:
3086                     return "GL_FRAMEBUFFER_DEFAULT_WIDTH";
3087                 case 0x9311:
3088                     return "GL_FRAMEBUFFER_DEFAULT_HEIGHT";
3089                 case 0x9312:
3090                     return "GL_FRAMEBUFFER_DEFAULT_LAYERS";
3091                 case 0x9313:
3092                     return "GL_FRAMEBUFFER_DEFAULT_SAMPLES";
3093                 case 0x9314:
3094                     return "GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS";
3095                 default:
3096                     return "EnumUnknown";
3097             }
3098         }
3099 
3100         case GLenumGroup::GetMapQuery:
3101         {
3102             switch (value)
3103             {
3104                 case 0xa00:
3105                     return "GL_COEFF";
3106                 case 0xa01:
3107                     return "GL_ORDER";
3108                 case 0xa02:
3109                     return "GL_DOMAIN";
3110                 default:
3111                     return "EnumUnknown";
3112             }
3113         }
3114 
3115         case GLenumGroup::GetPName:
3116         {
3117             switch (value)
3118             {
3119                 case 0xb00:
3120                     return "GL_CURRENT_COLOR";
3121                 case 0xb01:
3122                     return "GL_CURRENT_INDEX";
3123                 case 0xb02:
3124                     return "GL_CURRENT_NORMAL";
3125                 case 0xb03:
3126                     return "GL_CURRENT_TEXTURE_COORDS";
3127                 case 0xb04:
3128                     return "GL_CURRENT_RASTER_COLOR";
3129                 case 0xb05:
3130                     return "GL_CURRENT_RASTER_INDEX";
3131                 case 0xb06:
3132                     return "GL_CURRENT_RASTER_TEXTURE_COORDS";
3133                 case 0xb07:
3134                     return "GL_CURRENT_RASTER_POSITION";
3135                 case 0xb08:
3136                     return "GL_CURRENT_RASTER_POSITION_VALID";
3137                 case 0xb09:
3138                     return "GL_CURRENT_RASTER_DISTANCE";
3139                 case 0xb10:
3140                     return "GL_POINT_SMOOTH";
3141                 case 0xb11:
3142                     return "GL_POINT_SIZE";
3143                 case 0xb12:
3144                     return "GL_POINT_SIZE_RANGE";
3145                 case 0xb13:
3146                     return "GL_POINT_SIZE_GRANULARITY";
3147                 case 0xb20:
3148                     return "GL_LINE_SMOOTH";
3149                 case 0xb21:
3150                     return "GL_LINE_WIDTH";
3151                 case 0xb22:
3152                     return "GL_LINE_WIDTH_RANGE";
3153                 case 0xb23:
3154                     return "GL_LINE_WIDTH_GRANULARITY";
3155                 case 0xb24:
3156                     return "GL_LINE_STIPPLE";
3157                 case 0xb25:
3158                     return "GL_LINE_STIPPLE_PATTERN";
3159                 case 0xb26:
3160                     return "GL_LINE_STIPPLE_REPEAT";
3161                 case 0xb30:
3162                     return "GL_LIST_MODE";
3163                 case 0xb31:
3164                     return "GL_MAX_LIST_NESTING";
3165                 case 0xb32:
3166                     return "GL_LIST_BASE";
3167                 case 0xb33:
3168                     return "GL_LIST_INDEX";
3169                 case 0xb40:
3170                     return "GL_POLYGON_MODE";
3171                 case 0xb41:
3172                     return "GL_POLYGON_SMOOTH";
3173                 case 0xb42:
3174                     return "GL_POLYGON_STIPPLE";
3175                 case 0xb43:
3176                     return "GL_EDGE_FLAG";
3177                 case 0xb44:
3178                     return "GL_CULL_FACE";
3179                 case 0xb45:
3180                     return "GL_CULL_FACE_MODE";
3181                 case 0xb46:
3182                     return "GL_FRONT_FACE";
3183                 case 0xb50:
3184                     return "GL_LIGHTING";
3185                 case 0xb51:
3186                     return "GL_LIGHT_MODEL_LOCAL_VIEWER";
3187                 case 0xb52:
3188                     return "GL_LIGHT_MODEL_TWO_SIDE";
3189                 case 0xb53:
3190                     return "GL_LIGHT_MODEL_AMBIENT";
3191                 case 0xb54:
3192                     return "GL_SHADE_MODEL";
3193                 case 0xb55:
3194                     return "GL_COLOR_MATERIAL_FACE";
3195                 case 0xb56:
3196                     return "GL_COLOR_MATERIAL_PARAMETER";
3197                 case 0xb57:
3198                     return "GL_COLOR_MATERIAL";
3199                 case 0xb60:
3200                     return "GL_FOG";
3201                 case 0xb61:
3202                     return "GL_FOG_INDEX";
3203                 case 0xb62:
3204                     return "GL_FOG_DENSITY";
3205                 case 0xb63:
3206                     return "GL_FOG_START";
3207                 case 0xb64:
3208                     return "GL_FOG_END";
3209                 case 0xb65:
3210                     return "GL_FOG_MODE";
3211                 case 0xb66:
3212                     return "GL_FOG_COLOR";
3213                 case 0xb70:
3214                     return "GL_DEPTH_RANGE";
3215                 case 0xb71:
3216                     return "GL_DEPTH_TEST";
3217                 case 0xb72:
3218                     return "GL_DEPTH_WRITEMASK";
3219                 case 0xb73:
3220                     return "GL_DEPTH_CLEAR_VALUE";
3221                 case 0xb74:
3222                     return "GL_DEPTH_FUNC";
3223                 case 0xb80:
3224                     return "GL_ACCUM_CLEAR_VALUE";
3225                 case 0xb90:
3226                     return "GL_STENCIL_TEST";
3227                 case 0xb91:
3228                     return "GL_STENCIL_CLEAR_VALUE";
3229                 case 0xb92:
3230                     return "GL_STENCIL_FUNC";
3231                 case 0xb93:
3232                     return "GL_STENCIL_VALUE_MASK";
3233                 case 0xb94:
3234                     return "GL_STENCIL_FAIL";
3235                 case 0xb95:
3236                     return "GL_STENCIL_PASS_DEPTH_FAIL";
3237                 case 0xb96:
3238                     return "GL_STENCIL_PASS_DEPTH_PASS";
3239                 case 0xb97:
3240                     return "GL_STENCIL_REF";
3241                 case 0xb98:
3242                     return "GL_STENCIL_WRITEMASK";
3243                 case 0xba0:
3244                     return "GL_MATRIX_MODE";
3245                 case 0xba1:
3246                     return "GL_NORMALIZE";
3247                 case 0xba2:
3248                     return "GL_VIEWPORT";
3249                 case 0xba3:
3250                     return "GL_MODELVIEW_STACK_DEPTH";
3251                 case 0xba4:
3252                     return "GL_PROJECTION_STACK_DEPTH";
3253                 case 0xba5:
3254                     return "GL_TEXTURE_STACK_DEPTH";
3255                 case 0xba6:
3256                     return "GL_MODELVIEW_MATRIX";
3257                 case 0xba7:
3258                     return "GL_PROJECTION_MATRIX";
3259                 case 0xba8:
3260                     return "GL_TEXTURE_MATRIX";
3261                 case 0xbb0:
3262                     return "GL_ATTRIB_STACK_DEPTH";
3263                 case 0xbb1:
3264                     return "GL_CLIENT_ATTRIB_STACK_DEPTH";
3265                 case 0xbc0:
3266                     return "GL_ALPHA_TEST";
3267                 case 0xbc1:
3268                     return "GL_ALPHA_TEST_FUNC";
3269                 case 0xbc2:
3270                     return "GL_ALPHA_TEST_REF";
3271                 case 0xbd0:
3272                     return "GL_DITHER";
3273                 case 0xbe0:
3274                     return "GL_BLEND_DST";
3275                 case 0xbe1:
3276                     return "GL_BLEND_SRC";
3277                 case 0xbe2:
3278                     return "GL_BLEND";
3279                 case 0xbf0:
3280                     return "GL_LOGIC_OP_MODE";
3281                 case 0xbf1:
3282                     return "GL_INDEX_LOGIC_OP";
3283                 case 0xbf2:
3284                     return "GL_COLOR_LOGIC_OP";
3285                 case 0xc00:
3286                     return "GL_AUX_BUFFERS";
3287                 case 0xc01:
3288                     return "GL_DRAW_BUFFER";
3289                 case 0xc02:
3290                     return "GL_READ_BUFFER";
3291                 case 0xc10:
3292                     return "GL_SCISSOR_BOX";
3293                 case 0xc11:
3294                     return "GL_SCISSOR_TEST";
3295                 case 0xc20:
3296                     return "GL_INDEX_CLEAR_VALUE";
3297                 case 0xc21:
3298                     return "GL_INDEX_WRITEMASK";
3299                 case 0xc22:
3300                     return "GL_COLOR_CLEAR_VALUE";
3301                 case 0xc23:
3302                     return "GL_COLOR_WRITEMASK";
3303                 case 0xc30:
3304                     return "GL_INDEX_MODE";
3305                 case 0xc31:
3306                     return "GL_RGBA_MODE";
3307                 case 0xc32:
3308                     return "GL_DOUBLEBUFFER";
3309                 case 0xc33:
3310                     return "GL_STEREO";
3311                 case 0xc40:
3312                     return "GL_RENDER_MODE";
3313                 case 0xc50:
3314                     return "GL_PERSPECTIVE_CORRECTION_HINT";
3315                 case 0xc51:
3316                     return "GL_POINT_SMOOTH_HINT";
3317                 case 0xc52:
3318                     return "GL_LINE_SMOOTH_HINT";
3319                 case 0xc53:
3320                     return "GL_POLYGON_SMOOTH_HINT";
3321                 case 0xc54:
3322                     return "GL_FOG_HINT";
3323                 case 0xc60:
3324                     return "GL_TEXTURE_GEN_S";
3325                 case 0xc61:
3326                     return "GL_TEXTURE_GEN_T";
3327                 case 0xc62:
3328                     return "GL_TEXTURE_GEN_R";
3329                 case 0xc63:
3330                     return "GL_TEXTURE_GEN_Q";
3331                 case 0xcb0:
3332                     return "GL_PIXEL_MAP_I_TO_I_SIZE";
3333                 case 0xcb1:
3334                     return "GL_PIXEL_MAP_S_TO_S_SIZE";
3335                 case 0xcb2:
3336                     return "GL_PIXEL_MAP_I_TO_R_SIZE";
3337                 case 0xcb3:
3338                     return "GL_PIXEL_MAP_I_TO_G_SIZE";
3339                 case 0xcb4:
3340                     return "GL_PIXEL_MAP_I_TO_B_SIZE";
3341                 case 0xcb5:
3342                     return "GL_PIXEL_MAP_I_TO_A_SIZE";
3343                 case 0xcb6:
3344                     return "GL_PIXEL_MAP_R_TO_R_SIZE";
3345                 case 0xcb7:
3346                     return "GL_PIXEL_MAP_G_TO_G_SIZE";
3347                 case 0xcb8:
3348                     return "GL_PIXEL_MAP_B_TO_B_SIZE";
3349                 case 0xcb9:
3350                     return "GL_PIXEL_MAP_A_TO_A_SIZE";
3351                 case 0xcf0:
3352                     return "GL_UNPACK_SWAP_BYTES";
3353                 case 0xcf1:
3354                     return "GL_UNPACK_LSB_FIRST";
3355                 case 0xcf2:
3356                     return "GL_UNPACK_ROW_LENGTH";
3357                 case 0xcf3:
3358                     return "GL_UNPACK_SKIP_ROWS";
3359                 case 0xcf4:
3360                     return "GL_UNPACK_SKIP_PIXELS";
3361                 case 0xcf5:
3362                     return "GL_UNPACK_ALIGNMENT";
3363                 case 0xd00:
3364                     return "GL_PACK_SWAP_BYTES";
3365                 case 0xd01:
3366                     return "GL_PACK_LSB_FIRST";
3367                 case 0xd02:
3368                     return "GL_PACK_ROW_LENGTH";
3369                 case 0xd03:
3370                     return "GL_PACK_SKIP_ROWS";
3371                 case 0xd04:
3372                     return "GL_PACK_SKIP_PIXELS";
3373                 case 0xd05:
3374                     return "GL_PACK_ALIGNMENT";
3375                 case 0xd10:
3376                     return "GL_MAP_COLOR";
3377                 case 0xd11:
3378                     return "GL_MAP_STENCIL";
3379                 case 0xd12:
3380                     return "GL_INDEX_SHIFT";
3381                 case 0xd13:
3382                     return "GL_INDEX_OFFSET";
3383                 case 0xd14:
3384                     return "GL_RED_SCALE";
3385                 case 0xd15:
3386                     return "GL_RED_BIAS";
3387                 case 0xd16:
3388                     return "GL_ZOOM_X";
3389                 case 0xd17:
3390                     return "GL_ZOOM_Y";
3391                 case 0xd18:
3392                     return "GL_GREEN_SCALE";
3393                 case 0xd19:
3394                     return "GL_GREEN_BIAS";
3395                 case 0xd1a:
3396                     return "GL_BLUE_SCALE";
3397                 case 0xd1b:
3398                     return "GL_BLUE_BIAS";
3399                 case 0xd1c:
3400                     return "GL_ALPHA_SCALE";
3401                 case 0xd1d:
3402                     return "GL_ALPHA_BIAS";
3403                 case 0xd1e:
3404                     return "GL_DEPTH_SCALE";
3405                 case 0xd1f:
3406                     return "GL_DEPTH_BIAS";
3407                 case 0xd30:
3408                     return "GL_MAX_EVAL_ORDER";
3409                 case 0xd31:
3410                     return "GL_MAX_LIGHTS";
3411                 case 0xd32:
3412                     return "GL_MAX_CLIP_DISTANCES";
3413                 case 0xd33:
3414                     return "GL_MAX_TEXTURE_SIZE";
3415                 case 0xd34:
3416                     return "GL_MAX_PIXEL_MAP_TABLE";
3417                 case 0xd35:
3418                     return "GL_MAX_ATTRIB_STACK_DEPTH";
3419                 case 0xd36:
3420                     return "GL_MAX_MODELVIEW_STACK_DEPTH";
3421                 case 0xd37:
3422                     return "GL_MAX_NAME_STACK_DEPTH";
3423                 case 0xd38:
3424                     return "GL_MAX_PROJECTION_STACK_DEPTH";
3425                 case 0xd39:
3426                     return "GL_MAX_TEXTURE_STACK_DEPTH";
3427                 case 0xd3a:
3428                     return "GL_MAX_VIEWPORT_DIMS";
3429                 case 0xd3b:
3430                     return "GL_MAX_CLIENT_ATTRIB_STACK_DEPTH";
3431                 case 0xd50:
3432                     return "GL_SUBPIXEL_BITS";
3433                 case 0xd51:
3434                     return "GL_INDEX_BITS";
3435                 case 0xd52:
3436                     return "GL_RED_BITS";
3437                 case 0xd53:
3438                     return "GL_GREEN_BITS";
3439                 case 0xd54:
3440                     return "GL_BLUE_BITS";
3441                 case 0xd55:
3442                     return "GL_ALPHA_BITS";
3443                 case 0xd56:
3444                     return "GL_DEPTH_BITS";
3445                 case 0xd57:
3446                     return "GL_STENCIL_BITS";
3447                 case 0xd58:
3448                     return "GL_ACCUM_RED_BITS";
3449                 case 0xd59:
3450                     return "GL_ACCUM_GREEN_BITS";
3451                 case 0xd5a:
3452                     return "GL_ACCUM_BLUE_BITS";
3453                 case 0xd5b:
3454                     return "GL_ACCUM_ALPHA_BITS";
3455                 case 0xd70:
3456                     return "GL_NAME_STACK_DEPTH";
3457                 case 0xd80:
3458                     return "GL_AUTO_NORMAL";
3459                 case 0xd90:
3460                     return "GL_MAP1_COLOR_4";
3461                 case 0xd91:
3462                     return "GL_MAP1_INDEX";
3463                 case 0xd92:
3464                     return "GL_MAP1_NORMAL";
3465                 case 0xd93:
3466                     return "GL_MAP1_TEXTURE_COORD_1";
3467                 case 0xd94:
3468                     return "GL_MAP1_TEXTURE_COORD_2";
3469                 case 0xd95:
3470                     return "GL_MAP1_TEXTURE_COORD_3";
3471                 case 0xd96:
3472                     return "GL_MAP1_TEXTURE_COORD_4";
3473                 case 0xd97:
3474                     return "GL_MAP1_VERTEX_3";
3475                 case 0xd98:
3476                     return "GL_MAP1_VERTEX_4";
3477                 case 0xdb0:
3478                     return "GL_MAP2_COLOR_4";
3479                 case 0xdb1:
3480                     return "GL_MAP2_INDEX";
3481                 case 0xdb2:
3482                     return "GL_MAP2_NORMAL";
3483                 case 0xdb3:
3484                     return "GL_MAP2_TEXTURE_COORD_1";
3485                 case 0xdb4:
3486                     return "GL_MAP2_TEXTURE_COORD_2";
3487                 case 0xdb5:
3488                     return "GL_MAP2_TEXTURE_COORD_3";
3489                 case 0xdb6:
3490                     return "GL_MAP2_TEXTURE_COORD_4";
3491                 case 0xdb7:
3492                     return "GL_MAP2_VERTEX_3";
3493                 case 0xdb8:
3494                     return "GL_MAP2_VERTEX_4";
3495                 case 0xdd0:
3496                     return "GL_MAP1_GRID_DOMAIN";
3497                 case 0xdd1:
3498                     return "GL_MAP1_GRID_SEGMENTS";
3499                 case 0xdd2:
3500                     return "GL_MAP2_GRID_DOMAIN";
3501                 case 0xdd3:
3502                     return "GL_MAP2_GRID_SEGMENTS";
3503                 case 0xde0:
3504                     return "GL_TEXTURE_1D";
3505                 case 0xde1:
3506                     return "GL_TEXTURE_2D";
3507                 case 0xdf1:
3508                     return "GL_FEEDBACK_BUFFER_SIZE";
3509                 case 0xdf2:
3510                     return "GL_FEEDBACK_BUFFER_TYPE";
3511                 case 0xdf4:
3512                     return "GL_SELECTION_BUFFER_SIZE";
3513                 case 0x2a00:
3514                     return "GL_POLYGON_OFFSET_UNITS";
3515                 case 0x2a01:
3516                     return "GL_POLYGON_OFFSET_POINT";
3517                 case 0x2a02:
3518                     return "GL_POLYGON_OFFSET_LINE";
3519                 case 0x3000:
3520                     return "GL_CLIP_PLANE0";
3521                 case 0x3001:
3522                     return "GL_CLIP_PLANE1";
3523                 case 0x3002:
3524                     return "GL_CLIP_PLANE2";
3525                 case 0x3003:
3526                     return "GL_CLIP_PLANE3";
3527                 case 0x3004:
3528                     return "GL_CLIP_PLANE4";
3529                 case 0x3005:
3530                     return "GL_CLIP_PLANE5";
3531                 case 0x4000:
3532                     return "GL_LIGHT0";
3533                 case 0x4001:
3534                     return "GL_LIGHT1";
3535                 case 0x4002:
3536                     return "GL_LIGHT2";
3537                 case 0x4003:
3538                     return "GL_LIGHT3";
3539                 case 0x4004:
3540                     return "GL_LIGHT4";
3541                 case 0x4005:
3542                     return "GL_LIGHT5";
3543                 case 0x4006:
3544                     return "GL_LIGHT6";
3545                 case 0x4007:
3546                     return "GL_LIGHT7";
3547                 case 0x8037:
3548                     return "GL_POLYGON_OFFSET_FILL";
3549                 case 0x8038:
3550                     return "GL_POLYGON_OFFSET_FACTOR";
3551                 case 0x8068:
3552                     return "GL_TEXTURE_BINDING_1D";
3553                 case 0x8069:
3554                     return "GL_TEXTURE_BINDING_2D";
3555                 case 0x806a:
3556                     return "GL_TEXTURE_BINDING_3D";
3557                 case 0x8074:
3558                     return "GL_VERTEX_ARRAY";
3559                 case 0x8075:
3560                     return "GL_NORMAL_ARRAY";
3561                 case 0x8076:
3562                     return "GL_COLOR_ARRAY";
3563                 case 0x8077:
3564                     return "GL_INDEX_ARRAY";
3565                 case 0x8078:
3566                     return "GL_TEXTURE_COORD_ARRAY";
3567                 case 0x8079:
3568                     return "GL_EDGE_FLAG_ARRAY";
3569                 case 0x807a:
3570                     return "GL_VERTEX_ARRAY_SIZE";
3571                 case 0x807b:
3572                     return "GL_VERTEX_ARRAY_TYPE";
3573                 case 0x807c:
3574                     return "GL_VERTEX_ARRAY_STRIDE";
3575                 case 0x807e:
3576                     return "GL_NORMAL_ARRAY_TYPE";
3577                 case 0x807f:
3578                     return "GL_NORMAL_ARRAY_STRIDE";
3579                 case 0x8081:
3580                     return "GL_COLOR_ARRAY_SIZE";
3581                 case 0x8082:
3582                     return "GL_COLOR_ARRAY_TYPE";
3583                 case 0x8083:
3584                     return "GL_COLOR_ARRAY_STRIDE";
3585                 case 0x8085:
3586                     return "GL_INDEX_ARRAY_TYPE";
3587                 case 0x8086:
3588                     return "GL_INDEX_ARRAY_STRIDE";
3589                 case 0x8088:
3590                     return "GL_TEXTURE_COORD_ARRAY_SIZE";
3591                 case 0x8089:
3592                     return "GL_TEXTURE_COORD_ARRAY_TYPE";
3593                 case 0x808a:
3594                     return "GL_TEXTURE_COORD_ARRAY_STRIDE";
3595                 case 0x808c:
3596                     return "GL_EDGE_FLAG_ARRAY_STRIDE";
3597                 case 0x81f8:
3598                     return "GL_LIGHT_MODEL_COLOR_CONTROL";
3599                 case 0x846d:
3600                     return "GL_ALIASED_POINT_SIZE_RANGE";
3601                 case 0x846e:
3602                     return "GL_ALIASED_LINE_WIDTH_RANGE";
3603                 case 0x9596:
3604                     return "GL_NUM_DEVICE_UUIDS_EXT";
3605                 case 0x9597:
3606                     return "GL_DEVICE_UUID_EXT";
3607                 case 0x9598:
3608                     return "GL_DRIVER_UUID_EXT";
3609                 default:
3610                     return "EnumUnknown";
3611             }
3612         }
3613 
3614         case GLenumGroup::GetPixelMap:
3615         {
3616             switch (value)
3617             {
3618                 case 0xc70:
3619                     return "GL_PIXEL_MAP_I_TO_I";
3620                 case 0xc71:
3621                     return "GL_PIXEL_MAP_S_TO_S";
3622                 case 0xc72:
3623                     return "GL_PIXEL_MAP_I_TO_R";
3624                 case 0xc73:
3625                     return "GL_PIXEL_MAP_I_TO_G";
3626                 case 0xc74:
3627                     return "GL_PIXEL_MAP_I_TO_B";
3628                 case 0xc75:
3629                     return "GL_PIXEL_MAP_I_TO_A";
3630                 case 0xc76:
3631                     return "GL_PIXEL_MAP_R_TO_R";
3632                 case 0xc77:
3633                     return "GL_PIXEL_MAP_G_TO_G";
3634                 case 0xc78:
3635                     return "GL_PIXEL_MAP_B_TO_B";
3636                 case 0xc79:
3637                     return "GL_PIXEL_MAP_A_TO_A";
3638                 default:
3639                     return "EnumUnknown";
3640             }
3641         }
3642 
3643         case GLenumGroup::GetPointervPName:
3644         {
3645             switch (value)
3646             {
3647                 case 0xdf0:
3648                     return "GL_FEEDBACK_BUFFER_POINTER";
3649                 case 0xdf3:
3650                     return "GL_SELECTION_BUFFER_POINTER";
3651                 case 0x808e:
3652                     return "GL_VERTEX_ARRAY_POINTER";
3653                 case 0x808f:
3654                     return "GL_NORMAL_ARRAY_POINTER";
3655                 case 0x8090:
3656                     return "GL_COLOR_ARRAY_POINTER";
3657                 case 0x8091:
3658                     return "GL_INDEX_ARRAY_POINTER";
3659                 case 0x8092:
3660                     return "GL_TEXTURE_COORD_ARRAY_POINTER";
3661                 case 0x8093:
3662                     return "GL_EDGE_FLAG_ARRAY_POINTER";
3663                 case 0x8244:
3664                     return "GL_DEBUG_CALLBACK_FUNCTION";
3665                 case 0x8245:
3666                     return "GL_DEBUG_CALLBACK_USER_PARAM";
3667                 default:
3668                     return "EnumUnknown";
3669             }
3670         }
3671 
3672         case GLenumGroup::GetTextureParameter:
3673         {
3674             switch (value)
3675             {
3676                 case 0x1000:
3677                     return "GL_TEXTURE_WIDTH";
3678                 case 0x1001:
3679                     return "GL_TEXTURE_HEIGHT";
3680                 case 0x1003:
3681                     return "GL_TEXTURE_COMPONENTS";
3682                 case 0x1004:
3683                     return "GL_TEXTURE_BORDER_COLOR";
3684                 case 0x1005:
3685                     return "GL_TEXTURE_BORDER";
3686                 case 0x2800:
3687                     return "GL_TEXTURE_MAG_FILTER";
3688                 case 0x2801:
3689                     return "GL_TEXTURE_MIN_FILTER";
3690                 case 0x2802:
3691                     return "GL_TEXTURE_WRAP_S";
3692                 case 0x2803:
3693                     return "GL_TEXTURE_WRAP_T";
3694                 case 0x805c:
3695                     return "GL_TEXTURE_RED_SIZE";
3696                 case 0x805d:
3697                     return "GL_TEXTURE_GREEN_SIZE";
3698                 case 0x805e:
3699                     return "GL_TEXTURE_BLUE_SIZE";
3700                 case 0x805f:
3701                     return "GL_TEXTURE_ALPHA_SIZE";
3702                 case 0x8060:
3703                     return "GL_TEXTURE_LUMINANCE_SIZE";
3704                 case 0x8061:
3705                     return "GL_TEXTURE_INTENSITY_SIZE";
3706                 case 0x8066:
3707                     return "GL_TEXTURE_PRIORITY";
3708                 case 0x8067:
3709                     return "GL_TEXTURE_RESIDENT";
3710                 default:
3711                     return "EnumUnknown";
3712             }
3713         }
3714 
3715         case GLenumGroup::GraphicsResetStatus:
3716         {
3717             switch (value)
3718             {
3719                 case 0x8253:
3720                     return "GL_GUILTY_CONTEXT_RESET";
3721                 case 0x8254:
3722                     return "GL_INNOCENT_CONTEXT_RESET";
3723                 case 0x8255:
3724                     return "GL_UNKNOWN_CONTEXT_RESET";
3725                 default:
3726                     return "EnumUnknown";
3727             }
3728         }
3729 
3730         case GLenumGroup::HintMode:
3731         {
3732             switch (value)
3733             {
3734                 case 0x1100:
3735                     return "GL_DONT_CARE";
3736                 case 0x1101:
3737                     return "GL_FASTEST";
3738                 case 0x1102:
3739                     return "GL_NICEST";
3740                 default:
3741                     return "EnumUnknown";
3742             }
3743         }
3744 
3745         case GLenumGroup::HintTarget:
3746         {
3747             switch (value)
3748             {
3749                 case 0xc50:
3750                     return "GL_PERSPECTIVE_CORRECTION_HINT";
3751                 case 0xc51:
3752                     return "GL_POINT_SMOOTH_HINT";
3753                 case 0xc52:
3754                     return "GL_LINE_SMOOTH_HINT";
3755                 case 0xc53:
3756                     return "GL_POLYGON_SMOOTH_HINT";
3757                 case 0xc54:
3758                     return "GL_FOG_HINT";
3759                 case 0x8192:
3760                     return "GL_GENERATE_MIPMAP_HINT";
3761                 case 0x8257:
3762                     return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT";
3763                 case 0x84ef:
3764                     return "GL_TEXTURE_COMPRESSION_HINT";
3765                 case 0x8b8b:
3766                     return "GL_FRAGMENT_SHADER_DERIVATIVE_HINT";
3767                 default:
3768                     return "EnumUnknown";
3769             }
3770         }
3771 
3772         case GLenumGroup::IndexPointerType:
3773         {
3774             switch (value)
3775             {
3776                 case 0x1402:
3777                     return "GL_SHORT";
3778                 case 0x1404:
3779                     return "GL_INT";
3780                 case 0x1406:
3781                     return "GL_FLOAT";
3782                 case 0x140a:
3783                     return "GL_DOUBLE";
3784                 default:
3785                     return "EnumUnknown";
3786             }
3787         }
3788 
3789         case GLenumGroup::InterleavedArrayFormat:
3790         {
3791             switch (value)
3792             {
3793                 case 0x2a20:
3794                     return "GL_V2F";
3795                 case 0x2a21:
3796                     return "GL_V3F";
3797                 case 0x2a22:
3798                     return "GL_C4UB_V2F";
3799                 case 0x2a23:
3800                     return "GL_C4UB_V3F";
3801                 case 0x2a24:
3802                     return "GL_C3F_V3F";
3803                 case 0x2a25:
3804                     return "GL_N3F_V3F";
3805                 case 0x2a26:
3806                     return "GL_C4F_N3F_V3F";
3807                 case 0x2a27:
3808                     return "GL_T2F_V3F";
3809                 case 0x2a28:
3810                     return "GL_T4F_V4F";
3811                 case 0x2a29:
3812                     return "GL_T2F_C4UB_V3F";
3813                 case 0x2a2a:
3814                     return "GL_T2F_C3F_V3F";
3815                 case 0x2a2b:
3816                     return "GL_T2F_N3F_V3F";
3817                 case 0x2a2c:
3818                     return "GL_T2F_C4F_N3F_V3F";
3819                 case 0x2a2d:
3820                     return "GL_T4F_C4F_N3F_V4F";
3821                 default:
3822                     return "EnumUnknown";
3823             }
3824         }
3825 
3826         case GLenumGroup::InternalFormat:
3827         {
3828             switch (value)
3829             {
3830                 case 0x1902:
3831                     return "GL_DEPTH_COMPONENT";
3832                 case 0x1903:
3833                     return "GL_RED";
3834                 case 0x1907:
3835                     return "GL_RGB";
3836                 case 0x1908:
3837                     return "GL_RGBA";
3838                 case 0x2a10:
3839                     return "GL_R3_G3_B2";
3840                 case 0x803b:
3841                     return "GL_ALPHA4";
3842                 case 0x803c:
3843                     return "GL_ALPHA8";
3844                 case 0x803d:
3845                     return "GL_ALPHA12";
3846                 case 0x803e:
3847                     return "GL_ALPHA16";
3848                 case 0x803f:
3849                     return "GL_LUMINANCE4";
3850                 case 0x8040:
3851                     return "GL_LUMINANCE8";
3852                 case 0x8041:
3853                     return "GL_LUMINANCE12";
3854                 case 0x8042:
3855                     return "GL_LUMINANCE16";
3856                 case 0x8043:
3857                     return "GL_LUMINANCE4_ALPHA4";
3858                 case 0x8044:
3859                     return "GL_LUMINANCE6_ALPHA2";
3860                 case 0x8045:
3861                     return "GL_LUMINANCE8_ALPHA8";
3862                 case 0x8046:
3863                     return "GL_LUMINANCE12_ALPHA4";
3864                 case 0x8047:
3865                     return "GL_LUMINANCE12_ALPHA12";
3866                 case 0x8048:
3867                     return "GL_LUMINANCE16_ALPHA16";
3868                 case 0x8049:
3869                     return "GL_INTENSITY";
3870                 case 0x804a:
3871                     return "GL_INTENSITY4";
3872                 case 0x804b:
3873                     return "GL_INTENSITY8";
3874                 case 0x804c:
3875                     return "GL_INTENSITY12";
3876                 case 0x804d:
3877                     return "GL_INTENSITY16";
3878                 case 0x804f:
3879                     return "GL_RGB4";
3880                 case 0x8050:
3881                     return "GL_RGB5";
3882                 case 0x8051:
3883                     return "GL_RGB8";
3884                 case 0x8052:
3885                     return "GL_RGB10";
3886                 case 0x8053:
3887                     return "GL_RGB12";
3888                 case 0x8054:
3889                     return "GL_RGB16";
3890                 case 0x8056:
3891                     return "GL_RGBA4";
3892                 case 0x8057:
3893                     return "GL_RGB5_A1";
3894                 case 0x8058:
3895                     return "GL_RGBA8";
3896                 case 0x8059:
3897                     return "GL_RGB10_A2";
3898                 case 0x805a:
3899                     return "GL_RGBA12";
3900                 case 0x805b:
3901                     return "GL_RGBA16";
3902                 case 0x81a5:
3903                     return "GL_DEPTH_COMPONENT16";
3904                 case 0x8225:
3905                     return "GL_COMPRESSED_RED";
3906                 case 0x8226:
3907                     return "GL_COMPRESSED_RG";
3908                 case 0x8227:
3909                     return "GL_RG";
3910                 case 0x8229:
3911                     return "GL_R8";
3912                 case 0x822a:
3913                     return "GL_R16";
3914                 case 0x822b:
3915                     return "GL_RG8";
3916                 case 0x822c:
3917                     return "GL_RG16";
3918                 case 0x822d:
3919                     return "GL_R16F";
3920                 case 0x822e:
3921                     return "GL_R32F";
3922                 case 0x822f:
3923                     return "GL_RG16F";
3924                 case 0x8230:
3925                     return "GL_RG32F";
3926                 case 0x8231:
3927                     return "GL_R8I";
3928                 case 0x8232:
3929                     return "GL_R8UI";
3930                 case 0x8233:
3931                     return "GL_R16I";
3932                 case 0x8234:
3933                     return "GL_R16UI";
3934                 case 0x8235:
3935                     return "GL_R32I";
3936                 case 0x8236:
3937                     return "GL_R32UI";
3938                 case 0x8237:
3939                     return "GL_RG8I";
3940                 case 0x8238:
3941                     return "GL_RG8UI";
3942                 case 0x8239:
3943                     return "GL_RG16I";
3944                 case 0x823a:
3945                     return "GL_RG16UI";
3946                 case 0x823b:
3947                     return "GL_RG32I";
3948                 case 0x823c:
3949                     return "GL_RG32UI";
3950                 case 0x84ed:
3951                     return "GL_COMPRESSED_RGB";
3952                 case 0x84ee:
3953                     return "GL_COMPRESSED_RGBA";
3954                 case 0x84f9:
3955                     return "GL_DEPTH_STENCIL";
3956                 case 0x8814:
3957                     return "GL_RGBA32F";
3958                 case 0x881a:
3959                     return "GL_RGBA16F";
3960                 case 0x881b:
3961                     return "GL_RGB16F";
3962                 case 0x88f0:
3963                     return "GL_DEPTH24_STENCIL8";
3964                 case 0x8c3a:
3965                     return "GL_R11F_G11F_B10F";
3966                 case 0x8c3d:
3967                     return "GL_RGB9_E5";
3968                 case 0x8c40:
3969                     return "GL_SRGB";
3970                 case 0x8c41:
3971                     return "GL_SRGB8";
3972                 case 0x8c42:
3973                     return "GL_SRGB_ALPHA";
3974                 case 0x8c43:
3975                     return "GL_SRGB8_ALPHA8";
3976                 case 0x8c48:
3977                     return "GL_COMPRESSED_SRGB";
3978                 case 0x8c49:
3979                     return "GL_COMPRESSED_SRGB_ALPHA";
3980                 case 0x8cac:
3981                     return "GL_DEPTH_COMPONENT32F";
3982                 case 0x8cad:
3983                     return "GL_DEPTH32F_STENCIL8";
3984                 case 0x8d70:
3985                     return "GL_RGBA32UI";
3986                 case 0x8d71:
3987                     return "GL_RGB32UI";
3988                 case 0x8d76:
3989                     return "GL_RGBA16UI";
3990                 case 0x8d77:
3991                     return "GL_RGB16UI";
3992                 case 0x8d7c:
3993                     return "GL_RGBA8UI";
3994                 case 0x8d7d:
3995                     return "GL_RGB8UI";
3996                 case 0x8d82:
3997                     return "GL_RGBA32I";
3998                 case 0x8d83:
3999                     return "GL_RGB32I";
4000                 case 0x8d88:
4001                     return "GL_RGBA16I";
4002                 case 0x8d89:
4003                     return "GL_RGB16I";
4004                 case 0x8d8e:
4005                     return "GL_RGBA8I";
4006                 case 0x8d8f:
4007                     return "GL_RGB8I";
4008                 case 0x8dbb:
4009                     return "GL_COMPRESSED_RED_RGTC1";
4010                 case 0x8dbc:
4011                     return "GL_COMPRESSED_SIGNED_RED_RGTC1";
4012                 case 0x8dbd:
4013                     return "GL_COMPRESSED_RG_RGTC2";
4014                 case 0x8dbe:
4015                     return "GL_COMPRESSED_SIGNED_RG_RGTC2";
4016                 case 0x8e8c:
4017                     return "GL_COMPRESSED_RGBA_BPTC_UNORM";
4018                 case 0x8e8d:
4019                     return "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM";
4020                 case 0x8e8e:
4021                     return "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT";
4022                 case 0x8e8f:
4023                     return "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT";
4024                 case 0x8f94:
4025                     return "GL_R8_SNORM";
4026                 case 0x8f95:
4027                     return "GL_RG8_SNORM";
4028                 case 0x8f96:
4029                     return "GL_RGB8_SNORM";
4030                 case 0x8f97:
4031                     return "GL_RGBA8_SNORM";
4032                 case 0x8f98:
4033                     return "GL_R16_SNORM";
4034                 case 0x8f99:
4035                     return "GL_RG16_SNORM";
4036                 case 0x8f9a:
4037                     return "GL_RGB16_SNORM";
4038                 case 0x906f:
4039                     return "GL_RGB10_A2UI";
4040                 case 0x9270:
4041                     return "GL_COMPRESSED_R11_EAC";
4042                 case 0x9271:
4043                     return "GL_COMPRESSED_SIGNED_R11_EAC";
4044                 case 0x9272:
4045                     return "GL_COMPRESSED_RG11_EAC";
4046                 case 0x9273:
4047                     return "GL_COMPRESSED_SIGNED_RG11_EAC";
4048                 case 0x9274:
4049                     return "GL_COMPRESSED_RGB8_ETC2";
4050                 case 0x9275:
4051                     return "GL_COMPRESSED_SRGB8_ETC2";
4052                 case 0x9276:
4053                     return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2";
4054                 case 0x9277:
4055                     return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2";
4056                 case 0x9278:
4057                     return "GL_COMPRESSED_RGBA8_ETC2_EAC";
4058                 case 0x9279:
4059                     return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC";
4060                 default:
4061                     return "EnumUnknown";
4062             }
4063         }
4064 
4065         case GLenumGroup::InternalFormatPName:
4066         {
4067             switch (value)
4068             {
4069                 case 0x80a9:
4070                     return "GL_SAMPLES";
4071                 case 0x8191:
4072                     return "GL_GENERATE_MIPMAP";
4073                 case 0x826f:
4074                     return "GL_INTERNALFORMAT_SUPPORTED";
4075                 case 0x8270:
4076                     return "GL_INTERNALFORMAT_PREFERRED";
4077                 case 0x8271:
4078                     return "GL_INTERNALFORMAT_RED_SIZE";
4079                 case 0x8272:
4080                     return "GL_INTERNALFORMAT_GREEN_SIZE";
4081                 case 0x8273:
4082                     return "GL_INTERNALFORMAT_BLUE_SIZE";
4083                 case 0x8274:
4084                     return "GL_INTERNALFORMAT_ALPHA_SIZE";
4085                 case 0x8275:
4086                     return "GL_INTERNALFORMAT_DEPTH_SIZE";
4087                 case 0x8276:
4088                     return "GL_INTERNALFORMAT_STENCIL_SIZE";
4089                 case 0x8277:
4090                     return "GL_INTERNALFORMAT_SHARED_SIZE";
4091                 case 0x8278:
4092                     return "GL_INTERNALFORMAT_RED_TYPE";
4093                 case 0x8279:
4094                     return "GL_INTERNALFORMAT_GREEN_TYPE";
4095                 case 0x827a:
4096                     return "GL_INTERNALFORMAT_BLUE_TYPE";
4097                 case 0x827b:
4098                     return "GL_INTERNALFORMAT_ALPHA_TYPE";
4099                 case 0x827c:
4100                     return "GL_INTERNALFORMAT_DEPTH_TYPE";
4101                 case 0x827d:
4102                     return "GL_INTERNALFORMAT_STENCIL_TYPE";
4103                 case 0x827e:
4104                     return "GL_MAX_WIDTH";
4105                 case 0x827f:
4106                     return "GL_MAX_HEIGHT";
4107                 case 0x8280:
4108                     return "GL_MAX_DEPTH";
4109                 case 0x8281:
4110                     return "GL_MAX_LAYERS";
4111                 case 0x8283:
4112                     return "GL_COLOR_COMPONENTS";
4113                 case 0x8286:
4114                     return "GL_COLOR_RENDERABLE";
4115                 case 0x8287:
4116                     return "GL_DEPTH_RENDERABLE";
4117                 case 0x8288:
4118                     return "GL_STENCIL_RENDERABLE";
4119                 case 0x8289:
4120                     return "GL_FRAMEBUFFER_RENDERABLE";
4121                 case 0x828a:
4122                     return "GL_FRAMEBUFFER_RENDERABLE_LAYERED";
4123                 case 0x828b:
4124                     return "GL_FRAMEBUFFER_BLEND";
4125                 case 0x828c:
4126                     return "GL_READ_PIXELS";
4127                 case 0x828d:
4128                     return "GL_READ_PIXELS_FORMAT";
4129                 case 0x828e:
4130                     return "GL_READ_PIXELS_TYPE";
4131                 case 0x828f:
4132                     return "GL_TEXTURE_IMAGE_FORMAT";
4133                 case 0x8290:
4134                     return "GL_TEXTURE_IMAGE_TYPE";
4135                 case 0x8291:
4136                     return "GL_GET_TEXTURE_IMAGE_FORMAT";
4137                 case 0x8292:
4138                     return "GL_GET_TEXTURE_IMAGE_TYPE";
4139                 case 0x8293:
4140                     return "GL_MIPMAP";
4141                 case 0x8295:
4142                     return "GL_AUTO_GENERATE_MIPMAP";
4143                 case 0x8296:
4144                     return "GL_COLOR_ENCODING";
4145                 case 0x8297:
4146                     return "GL_SRGB_READ";
4147                 case 0x8298:
4148                     return "GL_SRGB_WRITE";
4149                 case 0x829a:
4150                     return "GL_FILTER";
4151                 case 0x829b:
4152                     return "GL_VERTEX_TEXTURE";
4153                 case 0x829c:
4154                     return "GL_TESS_CONTROL_TEXTURE";
4155                 case 0x829d:
4156                     return "GL_TESS_EVALUATION_TEXTURE";
4157                 case 0x829e:
4158                     return "GL_GEOMETRY_TEXTURE";
4159                 case 0x829f:
4160                     return "GL_FRAGMENT_TEXTURE";
4161                 case 0x82a0:
4162                     return "GL_COMPUTE_TEXTURE";
4163                 case 0x82a1:
4164                     return "GL_TEXTURE_SHADOW";
4165                 case 0x82a2:
4166                     return "GL_TEXTURE_GATHER";
4167                 case 0x82a3:
4168                     return "GL_TEXTURE_GATHER_SHADOW";
4169                 case 0x82a4:
4170                     return "GL_SHADER_IMAGE_LOAD";
4171                 case 0x82a5:
4172                     return "GL_SHADER_IMAGE_STORE";
4173                 case 0x82a6:
4174                     return "GL_SHADER_IMAGE_ATOMIC";
4175                 case 0x82a7:
4176                     return "GL_IMAGE_TEXEL_SIZE";
4177                 case 0x82a8:
4178                     return "GL_IMAGE_COMPATIBILITY_CLASS";
4179                 case 0x82a9:
4180                     return "GL_IMAGE_PIXEL_FORMAT";
4181                 case 0x82aa:
4182                     return "GL_IMAGE_PIXEL_TYPE";
4183                 case 0x82ac:
4184                     return "GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST";
4185                 case 0x82ad:
4186                     return "GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST";
4187                 case 0x82ae:
4188                     return "GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE";
4189                 case 0x82af:
4190                     return "GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE";
4191                 case 0x82b1:
4192                     return "GL_TEXTURE_COMPRESSED_BLOCK_WIDTH";
4193                 case 0x82b2:
4194                     return "GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT";
4195                 case 0x82b3:
4196                     return "GL_TEXTURE_COMPRESSED_BLOCK_SIZE";
4197                 case 0x82b4:
4198                     return "GL_CLEAR_BUFFER";
4199                 case 0x82b5:
4200                     return "GL_TEXTURE_VIEW";
4201                 case 0x82b6:
4202                     return "GL_VIEW_COMPATIBILITY_CLASS";
4203                 case 0x86a1:
4204                     return "GL_TEXTURE_COMPRESSED";
4205                 case 0x90c7:
4206                     return "GL_IMAGE_FORMAT_COMPATIBILITY_TYPE";
4207                 case 0x9365:
4208                     return "GL_CLEAR_TEXTURE";
4209                 case 0x9380:
4210                     return "GL_NUM_SAMPLE_COUNTS";
4211                 default:
4212                     return "EnumUnknown";
4213             }
4214         }
4215 
4216         case GLenumGroup::LightEnvModeSGIX:
4217         {
4218             switch (value)
4219             {
4220                 case 0x104:
4221                     return "GL_ADD";
4222                 case 0x1e01:
4223                     return "GL_REPLACE";
4224                 case 0x2100:
4225                     return "GL_MODULATE";
4226                 default:
4227                     return "EnumUnknown";
4228             }
4229         }
4230 
4231         case GLenumGroup::LightModelColorControl:
4232         {
4233             switch (value)
4234             {
4235                 case 0x81f9:
4236                     return "GL_SINGLE_COLOR";
4237                 case 0x81fa:
4238                     return "GL_SEPARATE_SPECULAR_COLOR";
4239                 default:
4240                     return "EnumUnknown";
4241             }
4242         }
4243 
4244         case GLenumGroup::LightModelParameter:
4245         {
4246             switch (value)
4247             {
4248                 case 0xb51:
4249                     return "GL_LIGHT_MODEL_LOCAL_VIEWER";
4250                 case 0xb52:
4251                     return "GL_LIGHT_MODEL_TWO_SIDE";
4252                 case 0xb53:
4253                     return "GL_LIGHT_MODEL_AMBIENT";
4254                 case 0x81f8:
4255                     return "GL_LIGHT_MODEL_COLOR_CONTROL";
4256                 default:
4257                     return "EnumUnknown";
4258             }
4259         }
4260 
4261         case GLenumGroup::LightName:
4262         {
4263             switch (value)
4264             {
4265                 case 0x4000:
4266                     return "GL_LIGHT0";
4267                 case 0x4001:
4268                     return "GL_LIGHT1";
4269                 case 0x4002:
4270                     return "GL_LIGHT2";
4271                 case 0x4003:
4272                     return "GL_LIGHT3";
4273                 case 0x4004:
4274                     return "GL_LIGHT4";
4275                 case 0x4005:
4276                     return "GL_LIGHT5";
4277                 case 0x4006:
4278                     return "GL_LIGHT6";
4279                 case 0x4007:
4280                     return "GL_LIGHT7";
4281                 default:
4282                     return "EnumUnknown";
4283             }
4284         }
4285 
4286         case GLenumGroup::LightParameter:
4287         {
4288             switch (value)
4289             {
4290                 case 0x1200:
4291                     return "GL_AMBIENT";
4292                 case 0x1201:
4293                     return "GL_DIFFUSE";
4294                 case 0x1202:
4295                     return "GL_SPECULAR";
4296                 case 0x1203:
4297                     return "GL_POSITION";
4298                 case 0x1204:
4299                     return "GL_SPOT_DIRECTION";
4300                 case 0x1205:
4301                     return "GL_SPOT_EXPONENT";
4302                 case 0x1206:
4303                     return "GL_SPOT_CUTOFF";
4304                 case 0x1207:
4305                     return "GL_CONSTANT_ATTENUATION";
4306                 case 0x1208:
4307                     return "GL_LINEAR_ATTENUATION";
4308                 case 0x1209:
4309                     return "GL_QUADRATIC_ATTENUATION";
4310                 default:
4311                     return "EnumUnknown";
4312             }
4313         }
4314 
4315         case GLenumGroup::ListMode:
4316         {
4317             switch (value)
4318             {
4319                 case 0x1300:
4320                     return "GL_COMPILE";
4321                 case 0x1301:
4322                     return "GL_COMPILE_AND_EXECUTE";
4323                 default:
4324                     return "EnumUnknown";
4325             }
4326         }
4327 
4328         case GLenumGroup::ListNameType:
4329         {
4330             switch (value)
4331             {
4332                 case 0x1400:
4333                     return "GL_BYTE";
4334                 case 0x1401:
4335                     return "GL_UNSIGNED_BYTE";
4336                 case 0x1402:
4337                     return "GL_SHORT";
4338                 case 0x1403:
4339                     return "GL_UNSIGNED_SHORT";
4340                 case 0x1404:
4341                     return "GL_INT";
4342                 case 0x1405:
4343                     return "GL_UNSIGNED_INT";
4344                 case 0x1406:
4345                     return "GL_FLOAT";
4346                 case 0x1407:
4347                     return "GL_2_BYTES";
4348                 case 0x1408:
4349                     return "GL_3_BYTES";
4350                 case 0x1409:
4351                     return "GL_4_BYTES";
4352                 default:
4353                     return "EnumUnknown";
4354             }
4355         }
4356 
4357         case GLenumGroup::LogicOp:
4358         {
4359             switch (value)
4360             {
4361                 case 0x1500:
4362                     return "GL_CLEAR";
4363                 case 0x1501:
4364                     return "GL_AND";
4365                 case 0x1502:
4366                     return "GL_AND_REVERSE";
4367                 case 0x1503:
4368                     return "GL_COPY";
4369                 case 0x1504:
4370                     return "GL_AND_INVERTED";
4371                 case 0x1505:
4372                     return "GL_NOOP";
4373                 case 0x1506:
4374                     return "GL_XOR";
4375                 case 0x1507:
4376                     return "GL_OR";
4377                 case 0x1508:
4378                     return "GL_NOR";
4379                 case 0x1509:
4380                     return "GL_EQUIV";
4381                 case 0x150a:
4382                     return "GL_INVERT";
4383                 case 0x150b:
4384                     return "GL_OR_REVERSE";
4385                 case 0x150c:
4386                     return "GL_COPY_INVERTED";
4387                 case 0x150d:
4388                     return "GL_OR_INVERTED";
4389                 case 0x150e:
4390                     return "GL_NAND";
4391                 case 0x150f:
4392                     return "GL_SET";
4393                 default:
4394                     return "EnumUnknown";
4395             }
4396         }
4397 
4398         case GLenumGroup::MapBufferUsageMask:
4399         {
4400             switch (value)
4401             {
4402                 case 0x1:
4403                     return "GL_MAP_READ_BIT";
4404                 case 0x2:
4405                     return "GL_MAP_WRITE_BIT";
4406                 case 0x4:
4407                     return "GL_MAP_INVALIDATE_RANGE_BIT";
4408                 case 0x8:
4409                     return "GL_MAP_INVALIDATE_BUFFER_BIT";
4410                 case 0x10:
4411                     return "GL_MAP_FLUSH_EXPLICIT_BIT";
4412                 case 0x20:
4413                     return "GL_MAP_UNSYNCHRONIZED_BIT";
4414                 case 0x40:
4415                     return "GL_MAP_PERSISTENT_BIT";
4416                 case 0x80:
4417                     return "GL_MAP_COHERENT_BIT";
4418                 case 0x100:
4419                     return "GL_DYNAMIC_STORAGE_BIT";
4420                 case 0x200:
4421                     return "GL_CLIENT_STORAGE_BIT";
4422                 default:
4423                     return "EnumUnknown";
4424             }
4425         }
4426 
4427         case GLenumGroup::MapQuery:
4428         {
4429             switch (value)
4430             {
4431                 case 0xa00:
4432                     return "GL_COEFF";
4433                 case 0xa01:
4434                     return "GL_ORDER";
4435                 case 0xa02:
4436                     return "GL_DOMAIN";
4437                 default:
4438                     return "EnumUnknown";
4439             }
4440         }
4441 
4442         case GLenumGroup::MapTarget:
4443         {
4444             switch (value)
4445             {
4446                 case 0xd90:
4447                     return "GL_MAP1_COLOR_4";
4448                 case 0xd91:
4449                     return "GL_MAP1_INDEX";
4450                 case 0xd92:
4451                     return "GL_MAP1_NORMAL";
4452                 case 0xd93:
4453                     return "GL_MAP1_TEXTURE_COORD_1";
4454                 case 0xd94:
4455                     return "GL_MAP1_TEXTURE_COORD_2";
4456                 case 0xd95:
4457                     return "GL_MAP1_TEXTURE_COORD_3";
4458                 case 0xd96:
4459                     return "GL_MAP1_TEXTURE_COORD_4";
4460                 case 0xd97:
4461                     return "GL_MAP1_VERTEX_3";
4462                 case 0xd98:
4463                     return "GL_MAP1_VERTEX_4";
4464                 case 0xdb0:
4465                     return "GL_MAP2_COLOR_4";
4466                 case 0xdb1:
4467                     return "GL_MAP2_INDEX";
4468                 case 0xdb2:
4469                     return "GL_MAP2_NORMAL";
4470                 case 0xdb3:
4471                     return "GL_MAP2_TEXTURE_COORD_1";
4472                 case 0xdb4:
4473                     return "GL_MAP2_TEXTURE_COORD_2";
4474                 case 0xdb5:
4475                     return "GL_MAP2_TEXTURE_COORD_3";
4476                 case 0xdb6:
4477                     return "GL_MAP2_TEXTURE_COORD_4";
4478                 case 0xdb7:
4479                     return "GL_MAP2_VERTEX_3";
4480                 case 0xdb8:
4481                     return "GL_MAP2_VERTEX_4";
4482                 default:
4483                     return "EnumUnknown";
4484             }
4485         }
4486 
4487         case GLenumGroup::MaterialFace:
4488         {
4489             switch (value)
4490             {
4491                 case 0x404:
4492                     return "GL_FRONT";
4493                 case 0x405:
4494                     return "GL_BACK";
4495                 case 0x408:
4496                     return "GL_FRONT_AND_BACK";
4497                 default:
4498                     return "EnumUnknown";
4499             }
4500         }
4501 
4502         case GLenumGroup::MaterialParameter:
4503         {
4504             switch (value)
4505             {
4506                 case 0x1200:
4507                     return "GL_AMBIENT";
4508                 case 0x1201:
4509                     return "GL_DIFFUSE";
4510                 case 0x1202:
4511                     return "GL_SPECULAR";
4512                 case 0x1600:
4513                     return "GL_EMISSION";
4514                 case 0x1601:
4515                     return "GL_SHININESS";
4516                 case 0x1602:
4517                     return "GL_AMBIENT_AND_DIFFUSE";
4518                 case 0x1603:
4519                     return "GL_COLOR_INDEXES";
4520                 default:
4521                     return "EnumUnknown";
4522             }
4523         }
4524 
4525         case GLenumGroup::MatrixMode:
4526         {
4527             switch (value)
4528             {
4529                 case 0x1700:
4530                     return "GL_MODELVIEW";
4531                 case 0x1701:
4532                     return "GL_PROJECTION";
4533                 case 0x1702:
4534                     return "GL_TEXTURE";
4535                 default:
4536                     return "EnumUnknown";
4537             }
4538         }
4539 
4540         case GLenumGroup::MemoryBarrierMask:
4541         {
4542             switch (value)
4543             {
4544                 case 0x1:
4545                     return "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT";
4546                 case 0x2:
4547                     return "GL_ELEMENT_ARRAY_BARRIER_BIT";
4548                 case 0x4:
4549                     return "GL_UNIFORM_BARRIER_BIT";
4550                 case 0x8:
4551                     return "GL_TEXTURE_FETCH_BARRIER_BIT";
4552                 case 0x20:
4553                     return "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT";
4554                 case 0x40:
4555                     return "GL_COMMAND_BARRIER_BIT";
4556                 case 0x80:
4557                     return "GL_PIXEL_BUFFER_BARRIER_BIT";
4558                 case 0x100:
4559                     return "GL_TEXTURE_UPDATE_BARRIER_BIT";
4560                 case 0x200:
4561                     return "GL_BUFFER_UPDATE_BARRIER_BIT";
4562                 case 0x400:
4563                     return "GL_FRAMEBUFFER_BARRIER_BIT";
4564                 case 0x800:
4565                     return "GL_TRANSFORM_FEEDBACK_BARRIER_BIT";
4566                 case 0x1000:
4567                     return "GL_ATOMIC_COUNTER_BARRIER_BIT";
4568                 case 0x2000:
4569                     return "GL_SHADER_STORAGE_BARRIER_BIT";
4570                 case 0x4000:
4571                     return "GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT";
4572                 case 0x8000:
4573                     return "GL_QUERY_BUFFER_BARRIER_BIT";
4574                 case 0xffffffff:
4575                     return "GL_ALL_BARRIER_BITS";
4576                 default:
4577                     return "EnumUnknown";
4578             }
4579         }
4580 
4581         case GLenumGroup::MemoryObjectParameterName:
4582         {
4583             switch (value)
4584             {
4585                 case 0x9581:
4586                     return "GL_DEDICATED_MEMORY_OBJECT_EXT";
4587                 case 0x959b:
4588                     return "GL_PROTECTED_MEMORY_OBJECT_EXT";
4589                 default:
4590                     return "EnumUnknown";
4591             }
4592         }
4593 
4594         case GLenumGroup::MeshMode1:
4595         {
4596             switch (value)
4597             {
4598                 case 0x1b00:
4599                     return "GL_POINT";
4600                 case 0x1b01:
4601                     return "GL_LINE";
4602                 default:
4603                     return "EnumUnknown";
4604             }
4605         }
4606 
4607         case GLenumGroup::MeshMode2:
4608         {
4609             switch (value)
4610             {
4611                 case 0x1b00:
4612                     return "GL_POINT";
4613                 case 0x1b01:
4614                     return "GL_LINE";
4615                 case 0x1b02:
4616                     return "GL_FILL";
4617                 default:
4618                     return "EnumUnknown";
4619             }
4620         }
4621 
4622         case GLenumGroup::NormalPointerType:
4623         {
4624             switch (value)
4625             {
4626                 case 0x1400:
4627                     return "GL_BYTE";
4628                 case 0x1402:
4629                     return "GL_SHORT";
4630                 case 0x1404:
4631                     return "GL_INT";
4632                 case 0x1406:
4633                     return "GL_FLOAT";
4634                 case 0x140a:
4635                     return "GL_DOUBLE";
4636                 default:
4637                     return "EnumUnknown";
4638             }
4639         }
4640 
4641         case GLenumGroup::ObjectIdentifier:
4642         {
4643             switch (value)
4644             {
4645                 case 0x1702:
4646                     return "GL_TEXTURE";
4647                 case 0x8074:
4648                     return "GL_VERTEX_ARRAY";
4649                 case 0x82e0:
4650                     return "GL_BUFFER";
4651                 case 0x82e1:
4652                     return "GL_SHADER";
4653                 case 0x82e2:
4654                     return "GL_PROGRAM";
4655                 case 0x82e3:
4656                     return "GL_QUERY";
4657                 case 0x82e4:
4658                     return "GL_PROGRAM_PIPELINE";
4659                 case 0x82e6:
4660                     return "GL_SAMPLER";
4661                 case 0x8d40:
4662                     return "GL_FRAMEBUFFER";
4663                 case 0x8d41:
4664                     return "GL_RENDERBUFFER";
4665                 case 0x8e22:
4666                     return "GL_TRANSFORM_FEEDBACK";
4667                 default:
4668                     return "EnumUnknown";
4669             }
4670         }
4671 
4672         case GLenumGroup::PatchParameterName:
4673         {
4674             switch (value)
4675             {
4676                 case 0x8e72:
4677                     return "GL_PATCH_VERTICES";
4678                 case 0x8e73:
4679                     return "GL_PATCH_DEFAULT_INNER_LEVEL";
4680                 case 0x8e74:
4681                     return "GL_PATCH_DEFAULT_OUTER_LEVEL";
4682                 default:
4683                     return "EnumUnknown";
4684             }
4685         }
4686 
4687         case GLenumGroup::PathColor:
4688         {
4689             switch (value)
4690             {
4691                 case 0x8577:
4692                     return "GL_PRIMARY_COLOR";
4693                 default:
4694                     return "EnumUnknown";
4695             }
4696         }
4697 
4698         case GLenumGroup::PathFillMode:
4699         {
4700             switch (value)
4701             {
4702                 case 0x150a:
4703                     return "GL_INVERT";
4704                 default:
4705                     return "EnumUnknown";
4706             }
4707         }
4708 
4709         case GLenumGroup::PathFontStyle:
4710         {
4711             switch (value)
4712             {
4713                 case 0x0:
4714                     return "GL_NONE";
4715                 default:
4716                     return "EnumUnknown";
4717             }
4718         }
4719 
4720         case GLenumGroup::PathGenMode:
4721         {
4722             switch (value)
4723             {
4724                 case 0x0:
4725                     return "GL_NONE";
4726                 case 0x2400:
4727                     return "GL_EYE_LINEAR";
4728                 case 0x2401:
4729                     return "GL_OBJECT_LINEAR";
4730                 case 0x8576:
4731                     return "GL_CONSTANT";
4732                 default:
4733                     return "EnumUnknown";
4734             }
4735         }
4736 
4737         case GLenumGroup::PathTransformType:
4738         {
4739             switch (value)
4740             {
4741                 case 0x0:
4742                     return "GL_NONE";
4743                 default:
4744                     return "EnumUnknown";
4745             }
4746         }
4747 
4748         case GLenumGroup::PipelineParameterName:
4749         {
4750             switch (value)
4751             {
4752                 case 0x8259:
4753                     return "GL_ACTIVE_PROGRAM";
4754                 case 0x8b30:
4755                     return "GL_FRAGMENT_SHADER";
4756                 case 0x8b31:
4757                     return "GL_VERTEX_SHADER";
4758                 case 0x8b84:
4759                     return "GL_INFO_LOG_LENGTH";
4760                 case 0x8dd9:
4761                     return "GL_GEOMETRY_SHADER";
4762                 case 0x8e87:
4763                     return "GL_TESS_EVALUATION_SHADER";
4764                 case 0x8e88:
4765                     return "GL_TESS_CONTROL_SHADER";
4766                 default:
4767                     return "EnumUnknown";
4768             }
4769         }
4770 
4771         case GLenumGroup::PixelCopyType:
4772         {
4773             switch (value)
4774             {
4775                 case 0x1800:
4776                     return "GL_COLOR";
4777                 case 0x1801:
4778                     return "GL_DEPTH";
4779                 case 0x1802:
4780                     return "GL_STENCIL";
4781                 default:
4782                     return "EnumUnknown";
4783             }
4784         }
4785 
4786         case GLenumGroup::PixelFormat:
4787         {
4788             switch (value)
4789             {
4790                 case 0x1403:
4791                     return "GL_UNSIGNED_SHORT";
4792                 case 0x1405:
4793                     return "GL_UNSIGNED_INT";
4794                 case 0x1900:
4795                     return "GL_COLOR_INDEX";
4796                 case 0x1901:
4797                     return "GL_STENCIL_INDEX";
4798                 case 0x1902:
4799                     return "GL_DEPTH_COMPONENT";
4800                 case 0x1903:
4801                     return "GL_RED";
4802                 case 0x1904:
4803                     return "GL_GREEN";
4804                 case 0x1905:
4805                     return "GL_BLUE";
4806                 case 0x1906:
4807                     return "GL_ALPHA";
4808                 case 0x1907:
4809                     return "GL_RGB";
4810                 case 0x1908:
4811                     return "GL_RGBA";
4812                 case 0x1909:
4813                     return "GL_LUMINANCE";
4814                 case 0x190a:
4815                     return "GL_LUMINANCE_ALPHA";
4816                 default:
4817                     return "EnumUnknown";
4818             }
4819         }
4820 
4821         case GLenumGroup::PixelMap:
4822         {
4823             switch (value)
4824             {
4825                 case 0xc70:
4826                     return "GL_PIXEL_MAP_I_TO_I";
4827                 case 0xc71:
4828                     return "GL_PIXEL_MAP_S_TO_S";
4829                 case 0xc72:
4830                     return "GL_PIXEL_MAP_I_TO_R";
4831                 case 0xc73:
4832                     return "GL_PIXEL_MAP_I_TO_G";
4833                 case 0xc74:
4834                     return "GL_PIXEL_MAP_I_TO_B";
4835                 case 0xc75:
4836                     return "GL_PIXEL_MAP_I_TO_A";
4837                 case 0xc76:
4838                     return "GL_PIXEL_MAP_R_TO_R";
4839                 case 0xc77:
4840                     return "GL_PIXEL_MAP_G_TO_G";
4841                 case 0xc78:
4842                     return "GL_PIXEL_MAP_B_TO_B";
4843                 case 0xc79:
4844                     return "GL_PIXEL_MAP_A_TO_A";
4845                 default:
4846                     return "EnumUnknown";
4847             }
4848         }
4849 
4850         case GLenumGroup::PixelStoreParameter:
4851         {
4852             switch (value)
4853             {
4854                 case 0xcf0:
4855                     return "GL_UNPACK_SWAP_BYTES";
4856                 case 0xcf1:
4857                     return "GL_UNPACK_LSB_FIRST";
4858                 case 0xcf2:
4859                     return "GL_UNPACK_ROW_LENGTH";
4860                 case 0xcf3:
4861                     return "GL_UNPACK_SKIP_ROWS";
4862                 case 0xcf4:
4863                     return "GL_UNPACK_SKIP_PIXELS";
4864                 case 0xcf5:
4865                     return "GL_UNPACK_ALIGNMENT";
4866                 case 0xd00:
4867                     return "GL_PACK_SWAP_BYTES";
4868                 case 0xd01:
4869                     return "GL_PACK_LSB_FIRST";
4870                 case 0xd02:
4871                     return "GL_PACK_ROW_LENGTH";
4872                 case 0xd03:
4873                     return "GL_PACK_SKIP_ROWS";
4874                 case 0xd04:
4875                     return "GL_PACK_SKIP_PIXELS";
4876                 case 0xd05:
4877                     return "GL_PACK_ALIGNMENT";
4878                 case 0x806b:
4879                     return "GL_PACK_SKIP_IMAGES";
4880                 case 0x806c:
4881                     return "GL_PACK_IMAGE_HEIGHT";
4882                 case 0x806d:
4883                     return "GL_UNPACK_SKIP_IMAGES";
4884                 case 0x806e:
4885                     return "GL_UNPACK_IMAGE_HEIGHT";
4886                 default:
4887                     return "EnumUnknown";
4888             }
4889         }
4890 
4891         case GLenumGroup::PixelTexGenMode:
4892         {
4893             switch (value)
4894             {
4895                 case 0x0:
4896                     return "GL_NONE";
4897                 case 0x1907:
4898                     return "GL_RGB";
4899                 case 0x1908:
4900                     return "GL_RGBA";
4901                 case 0x1909:
4902                     return "GL_LUMINANCE";
4903                 case 0x190a:
4904                     return "GL_LUMINANCE_ALPHA";
4905                 default:
4906                     return "EnumUnknown";
4907             }
4908         }
4909 
4910         case GLenumGroup::PixelTransferParameter:
4911         {
4912             switch (value)
4913             {
4914                 case 0xd10:
4915                     return "GL_MAP_COLOR";
4916                 case 0xd11:
4917                     return "GL_MAP_STENCIL";
4918                 case 0xd12:
4919                     return "GL_INDEX_SHIFT";
4920                 case 0xd13:
4921                     return "GL_INDEX_OFFSET";
4922                 case 0xd14:
4923                     return "GL_RED_SCALE";
4924                 case 0xd15:
4925                     return "GL_RED_BIAS";
4926                 case 0xd18:
4927                     return "GL_GREEN_SCALE";
4928                 case 0xd19:
4929                     return "GL_GREEN_BIAS";
4930                 case 0xd1a:
4931                     return "GL_BLUE_SCALE";
4932                 case 0xd1b:
4933                     return "GL_BLUE_BIAS";
4934                 case 0xd1c:
4935                     return "GL_ALPHA_SCALE";
4936                 case 0xd1d:
4937                     return "GL_ALPHA_BIAS";
4938                 case 0xd1e:
4939                     return "GL_DEPTH_SCALE";
4940                 case 0xd1f:
4941                     return "GL_DEPTH_BIAS";
4942                 default:
4943                     return "EnumUnknown";
4944             }
4945         }
4946 
4947         case GLenumGroup::PixelType:
4948         {
4949             switch (value)
4950             {
4951                 case 0x1400:
4952                     return "GL_BYTE";
4953                 case 0x1401:
4954                     return "GL_UNSIGNED_BYTE";
4955                 case 0x1402:
4956                     return "GL_SHORT";
4957                 case 0x1403:
4958                     return "GL_UNSIGNED_SHORT";
4959                 case 0x1404:
4960                     return "GL_INT";
4961                 case 0x1405:
4962                     return "GL_UNSIGNED_INT";
4963                 case 0x1406:
4964                     return "GL_FLOAT";
4965                 case 0x1a00:
4966                     return "GL_BITMAP";
4967                 case 0x8032:
4968                     return "GL_UNSIGNED_BYTE_3_3_2";
4969                 case 0x8033:
4970                     return "GL_UNSIGNED_SHORT_4_4_4_4";
4971                 case 0x8034:
4972                     return "GL_UNSIGNED_SHORT_5_5_5_1";
4973                 case 0x8035:
4974                     return "GL_UNSIGNED_INT_8_8_8_8";
4975                 case 0x8036:
4976                     return "GL_UNSIGNED_INT_10_10_10_2";
4977                 default:
4978                     return "EnumUnknown";
4979             }
4980         }
4981 
4982         case GLenumGroup::PointParameterNameSGIS:
4983         {
4984             switch (value)
4985             {
4986                 case 0x8126:
4987                     return "GL_POINT_SIZE_MIN";
4988                 case 0x8127:
4989                     return "GL_POINT_SIZE_MAX";
4990                 case 0x8128:
4991                     return "GL_POINT_FADE_THRESHOLD_SIZE";
4992                 case 0x8129:
4993                     return "GL_POINT_DISTANCE_ATTENUATION";
4994                 default:
4995                     return "EnumUnknown";
4996             }
4997         }
4998 
4999         case GLenumGroup::PolygonMode:
5000         {
5001             switch (value)
5002             {
5003                 case 0x1b00:
5004                     return "GL_POINT";
5005                 case 0x1b01:
5006                     return "GL_LINE";
5007                 case 0x1b02:
5008                     return "GL_FILL";
5009                 default:
5010                     return "EnumUnknown";
5011             }
5012         }
5013 
5014         case GLenumGroup::PrecisionType:
5015         {
5016             switch (value)
5017             {
5018                 case 0x8df0:
5019                     return "GL_LOW_FLOAT";
5020                 case 0x8df1:
5021                     return "GL_MEDIUM_FLOAT";
5022                 case 0x8df2:
5023                     return "GL_HIGH_FLOAT";
5024                 case 0x8df3:
5025                     return "GL_LOW_INT";
5026                 case 0x8df4:
5027                     return "GL_MEDIUM_INT";
5028                 case 0x8df5:
5029                     return "GL_HIGH_INT";
5030                 default:
5031                     return "EnumUnknown";
5032             }
5033         }
5034 
5035         case GLenumGroup::PrimitiveType:
5036         {
5037             switch (value)
5038             {
5039                 case 0x0:
5040                     return "GL_POINTS";
5041                 case 0x1:
5042                     return "GL_LINES";
5043                 case 0x2:
5044                     return "GL_LINE_LOOP";
5045                 case 0x3:
5046                     return "GL_LINE_STRIP";
5047                 case 0x4:
5048                     return "GL_TRIANGLES";
5049                 case 0x5:
5050                     return "GL_TRIANGLE_STRIP";
5051                 case 0x6:
5052                     return "GL_TRIANGLE_FAN";
5053                 case 0x7:
5054                     return "GL_QUADS";
5055                 case 0x8:
5056                     return "GL_QUAD_STRIP";
5057                 case 0x9:
5058                     return "GL_POLYGON";
5059                 case 0xa:
5060                     return "GL_LINES_ADJACENCY";
5061                 case 0xb:
5062                     return "GL_LINE_STRIP_ADJACENCY";
5063                 case 0xc:
5064                     return "GL_TRIANGLES_ADJACENCY";
5065                 case 0xd:
5066                     return "GL_TRIANGLE_STRIP_ADJACENCY";
5067                 case 0xe:
5068                     return "GL_PATCHES";
5069                 default:
5070                     return "EnumUnknown";
5071             }
5072         }
5073 
5074         case GLenumGroup::ProgramInterface:
5075         {
5076             switch (value)
5077             {
5078                 case 0x8c8e:
5079                     return "GL_TRANSFORM_FEEDBACK_BUFFER";
5080                 case 0x92e1:
5081                     return "GL_UNIFORM";
5082                 case 0x92e2:
5083                     return "GL_UNIFORM_BLOCK";
5084                 case 0x92e3:
5085                     return "GL_PROGRAM_INPUT";
5086                 case 0x92e4:
5087                     return "GL_PROGRAM_OUTPUT";
5088                 case 0x92e5:
5089                     return "GL_BUFFER_VARIABLE";
5090                 case 0x92e6:
5091                     return "GL_SHADER_STORAGE_BLOCK";
5092                 case 0x92e8:
5093                     return "GL_VERTEX_SUBROUTINE";
5094                 case 0x92e9:
5095                     return "GL_TESS_CONTROL_SUBROUTINE";
5096                 case 0x92ea:
5097                     return "GL_TESS_EVALUATION_SUBROUTINE";
5098                 case 0x92eb:
5099                     return "GL_GEOMETRY_SUBROUTINE";
5100                 case 0x92ec:
5101                     return "GL_FRAGMENT_SUBROUTINE";
5102                 case 0x92ed:
5103                     return "GL_COMPUTE_SUBROUTINE";
5104                 case 0x92ee:
5105                     return "GL_VERTEX_SUBROUTINE_UNIFORM";
5106                 case 0x92ef:
5107                     return "GL_TESS_CONTROL_SUBROUTINE_UNIFORM";
5108                 case 0x92f0:
5109                     return "GL_TESS_EVALUATION_SUBROUTINE_UNIFORM";
5110                 case 0x92f1:
5111                     return "GL_GEOMETRY_SUBROUTINE_UNIFORM";
5112                 case 0x92f2:
5113                     return "GL_FRAGMENT_SUBROUTINE_UNIFORM";
5114                 case 0x92f3:
5115                     return "GL_COMPUTE_SUBROUTINE_UNIFORM";
5116                 case 0x92f4:
5117                     return "GL_TRANSFORM_FEEDBACK_VARYING";
5118                 default:
5119                     return "EnumUnknown";
5120             }
5121         }
5122 
5123         case GLenumGroup::ProgramInterfacePName:
5124         {
5125             switch (value)
5126             {
5127                 case 0x92f5:
5128                     return "GL_ACTIVE_RESOURCES";
5129                 case 0x92f6:
5130                     return "GL_MAX_NAME_LENGTH";
5131                 case 0x92f7:
5132                     return "GL_MAX_NUM_ACTIVE_VARIABLES";
5133                 case 0x92f8:
5134                     return "GL_MAX_NUM_COMPATIBLE_SUBROUTINES";
5135                 default:
5136                     return "EnumUnknown";
5137             }
5138         }
5139 
5140         case GLenumGroup::ProgramParameterPName:
5141         {
5142             switch (value)
5143             {
5144                 case 0x8257:
5145                     return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT";
5146                 case 0x8258:
5147                     return "GL_PROGRAM_SEPARABLE";
5148                 default:
5149                     return "EnumUnknown";
5150             }
5151         }
5152 
5153         case GLenumGroup::ProgramPropertyARB:
5154         {
5155             switch (value)
5156             {
5157                 case 0x8267:
5158                     return "GL_COMPUTE_WORK_GROUP_SIZE";
5159                 case 0x8741:
5160                     return "GL_PROGRAM_BINARY_LENGTH";
5161                 case 0x8916:
5162                     return "GL_GEOMETRY_VERTICES_OUT";
5163                 case 0x8917:
5164                     return "GL_GEOMETRY_INPUT_TYPE";
5165                 case 0x8918:
5166                     return "GL_GEOMETRY_OUTPUT_TYPE";
5167                 case 0x8a35:
5168                     return "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH";
5169                 case 0x8a36:
5170                     return "GL_ACTIVE_UNIFORM_BLOCKS";
5171                 case 0x8b80:
5172                     return "GL_DELETE_STATUS";
5173                 case 0x8b82:
5174                     return "GL_LINK_STATUS";
5175                 case 0x8b83:
5176                     return "GL_VALIDATE_STATUS";
5177                 case 0x8b84:
5178                     return "GL_INFO_LOG_LENGTH";
5179                 case 0x8b85:
5180                     return "GL_ATTACHED_SHADERS";
5181                 case 0x8b86:
5182                     return "GL_ACTIVE_UNIFORMS";
5183                 case 0x8b87:
5184                     return "GL_ACTIVE_UNIFORM_MAX_LENGTH";
5185                 case 0x8b89:
5186                     return "GL_ACTIVE_ATTRIBUTES";
5187                 case 0x8b8a:
5188                     return "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
5189                 case 0x8c76:
5190                     return "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH";
5191                 case 0x8c7f:
5192                     return "GL_TRANSFORM_FEEDBACK_BUFFER_MODE";
5193                 case 0x8c83:
5194                     return "GL_TRANSFORM_FEEDBACK_VARYINGS";
5195                 case 0x92d9:
5196                     return "GL_ACTIVE_ATOMIC_COUNTER_BUFFERS";
5197                 default:
5198                     return "EnumUnknown";
5199             }
5200         }
5201 
5202         case GLenumGroup::ProgramStagePName:
5203         {
5204             switch (value)
5205             {
5206                 case 0x8de5:
5207                     return "GL_ACTIVE_SUBROUTINES";
5208                 case 0x8de6:
5209                     return "GL_ACTIVE_SUBROUTINE_UNIFORMS";
5210                 case 0x8e47:
5211                     return "GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS";
5212                 case 0x8e48:
5213                     return "GL_ACTIVE_SUBROUTINE_MAX_LENGTH";
5214                 case 0x8e49:
5215                     return "GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH";
5216                 default:
5217                     return "EnumUnknown";
5218             }
5219         }
5220 
5221         case GLenumGroup::QueryObjectParameterName:
5222         {
5223             switch (value)
5224             {
5225                 case 0x82ea:
5226                     return "GL_QUERY_TARGET";
5227                 case 0x8866:
5228                     return "GL_QUERY_RESULT";
5229                 case 0x8867:
5230                     return "GL_QUERY_RESULT_AVAILABLE";
5231                 case 0x9194:
5232                     return "GL_QUERY_RESULT_NO_WAIT";
5233                 default:
5234                     return "EnumUnknown";
5235             }
5236         }
5237 
5238         case GLenumGroup::QueryParameterName:
5239         {
5240             switch (value)
5241             {
5242                 case 0x8864:
5243                     return "GL_QUERY_COUNTER_BITS";
5244                 case 0x8865:
5245                     return "GL_CURRENT_QUERY";
5246                 default:
5247                     return "EnumUnknown";
5248             }
5249         }
5250 
5251         case GLenumGroup::QueryTarget:
5252         {
5253             switch (value)
5254             {
5255                 case 0x88bf:
5256                     return "GL_TIME_ELAPSED";
5257                 case 0x8914:
5258                     return "GL_SAMPLES_PASSED";
5259                 case 0x8c2f:
5260                     return "GL_ANY_SAMPLES_PASSED";
5261                 case 0x8c87:
5262                     return "GL_PRIMITIVES_GENERATED";
5263                 case 0x8c88:
5264                     return "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN";
5265                 case 0x8d6a:
5266                     return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE";
5267                 default:
5268                     return "EnumUnknown";
5269             }
5270         }
5271 
5272         case GLenumGroup::ReadBufferMode:
5273         {
5274             switch (value)
5275             {
5276                 case 0x400:
5277                     return "GL_FRONT_LEFT";
5278                 case 0x401:
5279                     return "GL_FRONT_RIGHT";
5280                 case 0x402:
5281                     return "GL_BACK_LEFT";
5282                 case 0x403:
5283                     return "GL_BACK_RIGHT";
5284                 case 0x404:
5285                     return "GL_FRONT";
5286                 case 0x405:
5287                     return "GL_BACK";
5288                 case 0x406:
5289                     return "GL_LEFT";
5290                 case 0x407:
5291                     return "GL_RIGHT";
5292                 case 0x409:
5293                     return "GL_AUX0";
5294                 case 0x40a:
5295                     return "GL_AUX1";
5296                 case 0x40b:
5297                     return "GL_AUX2";
5298                 case 0x40c:
5299                     return "GL_AUX3";
5300                 default:
5301                     return "EnumUnknown";
5302             }
5303         }
5304 
5305         case GLenumGroup::RenderbufferParameterName:
5306         {
5307             switch (value)
5308             {
5309                 case 0x8cab:
5310                     return "GL_RENDERBUFFER_SAMPLES";
5311                 case 0x8d42:
5312                     return "GL_RENDERBUFFER_WIDTH";
5313                 case 0x8d43:
5314                     return "GL_RENDERBUFFER_HEIGHT";
5315                 case 0x8d44:
5316                     return "GL_RENDERBUFFER_INTERNAL_FORMAT";
5317                 case 0x8d50:
5318                     return "GL_RENDERBUFFER_RED_SIZE";
5319                 case 0x8d51:
5320                     return "GL_RENDERBUFFER_GREEN_SIZE";
5321                 case 0x8d52:
5322                     return "GL_RENDERBUFFER_BLUE_SIZE";
5323                 case 0x8d53:
5324                     return "GL_RENDERBUFFER_ALPHA_SIZE";
5325                 case 0x8d54:
5326                     return "GL_RENDERBUFFER_DEPTH_SIZE";
5327                 case 0x8d55:
5328                     return "GL_RENDERBUFFER_STENCIL_SIZE";
5329                 default:
5330                     return "EnumUnknown";
5331             }
5332         }
5333 
5334         case GLenumGroup::RenderbufferTarget:
5335         {
5336             switch (value)
5337             {
5338                 case 0x8d41:
5339                     return "GL_RENDERBUFFER";
5340                 default:
5341                     return "EnumUnknown";
5342             }
5343         }
5344 
5345         case GLenumGroup::RenderingMode:
5346         {
5347             switch (value)
5348             {
5349                 case 0x1c00:
5350                     return "GL_RENDER";
5351                 case 0x1c01:
5352                     return "GL_FEEDBACK";
5353                 case 0x1c02:
5354                     return "GL_SELECT";
5355                 default:
5356                     return "EnumUnknown";
5357             }
5358         }
5359 
5360         case GLenumGroup::SamplerParameterName:
5361         {
5362             switch (value)
5363             {
5364                 case 0x1004:
5365                     return "GL_TEXTURE_BORDER_COLOR";
5366                 case 0x2800:
5367                     return "GL_TEXTURE_MAG_FILTER";
5368                 case 0x2801:
5369                     return "GL_TEXTURE_MIN_FILTER";
5370                 case 0x2802:
5371                     return "GL_TEXTURE_WRAP_S";
5372                 case 0x2803:
5373                     return "GL_TEXTURE_WRAP_T";
5374                 case 0x8072:
5375                     return "GL_TEXTURE_WRAP_R";
5376                 case 0x813a:
5377                     return "GL_TEXTURE_MIN_LOD";
5378                 case 0x813b:
5379                     return "GL_TEXTURE_MAX_LOD";
5380                 case 0x884c:
5381                     return "GL_TEXTURE_COMPARE_MODE";
5382                 case 0x884d:
5383                     return "GL_TEXTURE_COMPARE_FUNC";
5384                 default:
5385                     return "EnumUnknown";
5386             }
5387         }
5388 
5389         case GLenumGroup::ShaderParameterName:
5390         {
5391             switch (value)
5392             {
5393                 case 0x8b4f:
5394                     return "GL_SHADER_TYPE";
5395                 case 0x8b80:
5396                     return "GL_DELETE_STATUS";
5397                 case 0x8b81:
5398                     return "GL_COMPILE_STATUS";
5399                 case 0x8b84:
5400                     return "GL_INFO_LOG_LENGTH";
5401                 case 0x8b88:
5402                     return "GL_SHADER_SOURCE_LENGTH";
5403                 default:
5404                     return "EnumUnknown";
5405             }
5406         }
5407 
5408         case GLenumGroup::ShaderType:
5409         {
5410             switch (value)
5411             {
5412                 case 0x8b30:
5413                     return "GL_FRAGMENT_SHADER";
5414                 case 0x8b31:
5415                     return "GL_VERTEX_SHADER";
5416                 case 0x8dd9:
5417                     return "GL_GEOMETRY_SHADER";
5418                 case 0x8e87:
5419                     return "GL_TESS_EVALUATION_SHADER";
5420                 case 0x8e88:
5421                     return "GL_TESS_CONTROL_SHADER";
5422                 case 0x91b9:
5423                     return "GL_COMPUTE_SHADER";
5424                 default:
5425                     return "EnumUnknown";
5426             }
5427         }
5428 
5429         case GLenumGroup::ShadingModel:
5430         {
5431             switch (value)
5432             {
5433                 case 0x1d00:
5434                     return "GL_FLAT";
5435                 case 0x1d01:
5436                     return "GL_SMOOTH";
5437                 default:
5438                     return "EnumUnknown";
5439             }
5440         }
5441 
5442         case GLenumGroup::StencilFaceDirection:
5443         {
5444             switch (value)
5445             {
5446                 case 0x404:
5447                     return "GL_FRONT";
5448                 case 0x405:
5449                     return "GL_BACK";
5450                 case 0x408:
5451                     return "GL_FRONT_AND_BACK";
5452                 default:
5453                     return "EnumUnknown";
5454             }
5455         }
5456 
5457         case GLenumGroup::StencilFunction:
5458         {
5459             switch (value)
5460             {
5461                 case 0x200:
5462                     return "GL_NEVER";
5463                 case 0x201:
5464                     return "GL_LESS";
5465                 case 0x202:
5466                     return "GL_EQUAL";
5467                 case 0x203:
5468                     return "GL_LEQUAL";
5469                 case 0x204:
5470                     return "GL_GREATER";
5471                 case 0x205:
5472                     return "GL_NOTEQUAL";
5473                 case 0x206:
5474                     return "GL_GEQUAL";
5475                 case 0x207:
5476                     return "GL_ALWAYS";
5477                 default:
5478                     return "EnumUnknown";
5479             }
5480         }
5481 
5482         case GLenumGroup::StencilOp:
5483         {
5484             switch (value)
5485             {
5486                 case 0x0:
5487                     return "GL_ZERO";
5488                 case 0x150a:
5489                     return "GL_INVERT";
5490                 case 0x1e00:
5491                     return "GL_KEEP";
5492                 case 0x1e01:
5493                     return "GL_REPLACE";
5494                 case 0x1e02:
5495                     return "GL_INCR";
5496                 case 0x1e03:
5497                     return "GL_DECR";
5498                 default:
5499                     return "EnumUnknown";
5500             }
5501         }
5502 
5503         case GLenumGroup::StringName:
5504         {
5505             switch (value)
5506             {
5507                 case 0x1f00:
5508                     return "GL_VENDOR";
5509                 case 0x1f01:
5510                     return "GL_RENDERER";
5511                 case 0x1f02:
5512                     return "GL_VERSION";
5513                 case 0x1f03:
5514                     return "GL_EXTENSIONS";
5515                 case 0x8b8c:
5516                     return "GL_SHADING_LANGUAGE_VERSION";
5517                 default:
5518                     return "EnumUnknown";
5519             }
5520         }
5521 
5522         case GLenumGroup::SubroutineParameterName:
5523         {
5524             switch (value)
5525             {
5526                 case 0x8a38:
5527                     return "GL_UNIFORM_SIZE";
5528                 case 0x8a39:
5529                     return "GL_UNIFORM_NAME_LENGTH";
5530                 case 0x8e4a:
5531                     return "GL_NUM_COMPATIBLE_SUBROUTINES";
5532                 case 0x8e4b:
5533                     return "GL_COMPATIBLE_SUBROUTINES";
5534                 default:
5535                     return "EnumUnknown";
5536             }
5537         }
5538 
5539         case GLenumGroup::SyncCondition:
5540         {
5541             switch (value)
5542             {
5543                 case 0x9117:
5544                     return "GL_SYNC_GPU_COMMANDS_COMPLETE";
5545                 default:
5546                     return "EnumUnknown";
5547             }
5548         }
5549 
5550         case GLenumGroup::SyncObjectMask:
5551         {
5552             switch (value)
5553             {
5554                 case 0x1:
5555                     return "GL_SYNC_FLUSH_COMMANDS_BIT";
5556                 default:
5557                     return "EnumUnknown";
5558             }
5559         }
5560 
5561         case GLenumGroup::SyncParameterName:
5562         {
5563             switch (value)
5564             {
5565                 case 0x9112:
5566                     return "GL_OBJECT_TYPE";
5567                 case 0x9113:
5568                     return "GL_SYNC_CONDITION";
5569                 case 0x9114:
5570                     return "GL_SYNC_STATUS";
5571                 case 0x9115:
5572                     return "GL_SYNC_FLAGS";
5573                 default:
5574                     return "EnumUnknown";
5575             }
5576         }
5577 
5578         case GLenumGroup::SyncStatus:
5579         {
5580             switch (value)
5581             {
5582                 case 0x911a:
5583                     return "GL_ALREADY_SIGNALED";
5584                 case 0x911b:
5585                     return "GL_TIMEOUT_EXPIRED";
5586                 case 0x911c:
5587                     return "GL_CONDITION_SATISFIED";
5588                 case 0x911d:
5589                     return "GL_WAIT_FAILED";
5590                 default:
5591                     return "EnumUnknown";
5592             }
5593         }
5594 
5595         case GLenumGroup::TexCoordPointerType:
5596         {
5597             switch (value)
5598             {
5599                 case 0x1402:
5600                     return "GL_SHORT";
5601                 case 0x1404:
5602                     return "GL_INT";
5603                 case 0x1406:
5604                     return "GL_FLOAT";
5605                 case 0x140a:
5606                     return "GL_DOUBLE";
5607                 default:
5608                     return "EnumUnknown";
5609             }
5610         }
5611 
5612         case GLenumGroup::TextureCoordName:
5613         {
5614             switch (value)
5615             {
5616                 case 0x2000:
5617                     return "GL_S";
5618                 case 0x2001:
5619                     return "GL_T";
5620                 case 0x2002:
5621                     return "GL_R";
5622                 case 0x2003:
5623                     return "GL_Q";
5624                 default:
5625                     return "EnumUnknown";
5626             }
5627         }
5628 
5629         case GLenumGroup::TextureEnvMode:
5630         {
5631             switch (value)
5632             {
5633                 case 0x104:
5634                     return "GL_ADD";
5635                 case 0xbe2:
5636                     return "GL_BLEND";
5637                 case 0x2100:
5638                     return "GL_MODULATE";
5639                 case 0x2101:
5640                     return "GL_DECAL";
5641                 default:
5642                     return "EnumUnknown";
5643             }
5644         }
5645 
5646         case GLenumGroup::TextureEnvParameter:
5647         {
5648             switch (value)
5649             {
5650                 case 0x2200:
5651                     return "GL_TEXTURE_ENV_MODE";
5652                 case 0x2201:
5653                     return "GL_TEXTURE_ENV_COLOR";
5654                 default:
5655                     return "EnumUnknown";
5656             }
5657         }
5658 
5659         case GLenumGroup::TextureEnvTarget:
5660         {
5661             switch (value)
5662             {
5663                 case 0x2300:
5664                     return "GL_TEXTURE_ENV";
5665                 default:
5666                     return "EnumUnknown";
5667             }
5668         }
5669 
5670         case GLenumGroup::TextureGenMode:
5671         {
5672             switch (value)
5673             {
5674                 case 0x2400:
5675                     return "GL_EYE_LINEAR";
5676                 case 0x2401:
5677                     return "GL_OBJECT_LINEAR";
5678                 case 0x2402:
5679                     return "GL_SPHERE_MAP";
5680                 default:
5681                     return "EnumUnknown";
5682             }
5683         }
5684 
5685         case GLenumGroup::TextureGenParameter:
5686         {
5687             switch (value)
5688             {
5689                 case 0x2500:
5690                     return "GL_TEXTURE_GEN_MODE";
5691                 case 0x2501:
5692                     return "GL_OBJECT_PLANE";
5693                 case 0x2502:
5694                     return "GL_EYE_PLANE";
5695                 default:
5696                     return "EnumUnknown";
5697             }
5698         }
5699 
5700         case GLenumGroup::TextureLayout:
5701         {
5702             switch (value)
5703             {
5704                 case 0x9530:
5705                     return "GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT";
5706                 case 0x9531:
5707                     return "GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT";
5708                 case 0x958d:
5709                     return "GL_LAYOUT_GENERAL_EXT";
5710                 case 0x958e:
5711                     return "GL_LAYOUT_COLOR_ATTACHMENT_EXT";
5712                 case 0x958f:
5713                     return "GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT";
5714                 case 0x9590:
5715                     return "GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT";
5716                 case 0x9591:
5717                     return "GL_LAYOUT_SHADER_READ_ONLY_EXT";
5718                 case 0x9592:
5719                     return "GL_LAYOUT_TRANSFER_SRC_EXT";
5720                 case 0x9593:
5721                     return "GL_LAYOUT_TRANSFER_DST_EXT";
5722                 default:
5723                     return "EnumUnknown";
5724             }
5725         }
5726 
5727         case GLenumGroup::TextureMagFilter:
5728         {
5729             switch (value)
5730             {
5731                 case 0x2600:
5732                     return "GL_NEAREST";
5733                 case 0x2601:
5734                     return "GL_LINEAR";
5735                 default:
5736                     return "EnumUnknown";
5737             }
5738         }
5739 
5740         case GLenumGroup::TextureMinFilter:
5741         {
5742             switch (value)
5743             {
5744                 case 0x2600:
5745                     return "GL_NEAREST";
5746                 case 0x2601:
5747                     return "GL_LINEAR";
5748                 case 0x2700:
5749                     return "GL_NEAREST_MIPMAP_NEAREST";
5750                 case 0x2701:
5751                     return "GL_LINEAR_MIPMAP_NEAREST";
5752                 case 0x2702:
5753                     return "GL_NEAREST_MIPMAP_LINEAR";
5754                 case 0x2703:
5755                     return "GL_LINEAR_MIPMAP_LINEAR";
5756                 default:
5757                     return "EnumUnknown";
5758             }
5759         }
5760 
5761         case GLenumGroup::TextureParameterName:
5762         {
5763             switch (value)
5764             {
5765                 case 0x1000:
5766                     return "GL_TEXTURE_WIDTH";
5767                 case 0x1001:
5768                     return "GL_TEXTURE_HEIGHT";
5769                 case 0x1003:
5770                     return "GL_TEXTURE_COMPONENTS";
5771                 case 0x1004:
5772                     return "GL_TEXTURE_BORDER_COLOR";
5773                 case 0x1005:
5774                     return "GL_TEXTURE_BORDER";
5775                 case 0x2800:
5776                     return "GL_TEXTURE_MAG_FILTER";
5777                 case 0x2801:
5778                     return "GL_TEXTURE_MIN_FILTER";
5779                 case 0x2802:
5780                     return "GL_TEXTURE_WRAP_S";
5781                 case 0x2803:
5782                     return "GL_TEXTURE_WRAP_T";
5783                 case 0x805c:
5784                     return "GL_TEXTURE_RED_SIZE";
5785                 case 0x805d:
5786                     return "GL_TEXTURE_GREEN_SIZE";
5787                 case 0x805e:
5788                     return "GL_TEXTURE_BLUE_SIZE";
5789                 case 0x805f:
5790                     return "GL_TEXTURE_ALPHA_SIZE";
5791                 case 0x8060:
5792                     return "GL_TEXTURE_LUMINANCE_SIZE";
5793                 case 0x8061:
5794                     return "GL_TEXTURE_INTENSITY_SIZE";
5795                 case 0x8066:
5796                     return "GL_TEXTURE_PRIORITY";
5797                 case 0x8067:
5798                     return "GL_TEXTURE_RESIDENT";
5799                 case 0x8072:
5800                     return "GL_TEXTURE_WRAP_R";
5801                 case 0x813a:
5802                     return "GL_TEXTURE_MIN_LOD";
5803                 case 0x813b:
5804                     return "GL_TEXTURE_MAX_LOD";
5805                 case 0x813c:
5806                     return "GL_TEXTURE_BASE_LEVEL";
5807                 case 0x813d:
5808                     return "GL_TEXTURE_MAX_LEVEL";
5809                 case 0x8191:
5810                     return "GL_GENERATE_MIPMAP";
5811                 case 0x8501:
5812                     return "GL_TEXTURE_LOD_BIAS";
5813                 case 0x884c:
5814                     return "GL_TEXTURE_COMPARE_MODE";
5815                 case 0x884d:
5816                     return "GL_TEXTURE_COMPARE_FUNC";
5817                 case 0x8e42:
5818                     return "GL_TEXTURE_SWIZZLE_R";
5819                 case 0x8e43:
5820                     return "GL_TEXTURE_SWIZZLE_G";
5821                 case 0x8e44:
5822                     return "GL_TEXTURE_SWIZZLE_B";
5823                 case 0x8e45:
5824                     return "GL_TEXTURE_SWIZZLE_A";
5825                 case 0x8e46:
5826                     return "GL_TEXTURE_SWIZZLE_RGBA";
5827                 case 0x90ea:
5828                     return "GL_DEPTH_STENCIL_TEXTURE_MODE";
5829                 case 0x9580:
5830                     return "GL_TEXTURE_TILING_EXT";
5831                 default:
5832                     return "EnumUnknown";
5833             }
5834         }
5835 
5836         case GLenumGroup::TextureTarget:
5837         {
5838             switch (value)
5839             {
5840                 case 0xde0:
5841                     return "GL_TEXTURE_1D";
5842                 case 0xde1:
5843                     return "GL_TEXTURE_2D";
5844                 case 0x8063:
5845                     return "GL_PROXY_TEXTURE_1D";
5846                 case 0x8064:
5847                     return "GL_PROXY_TEXTURE_2D";
5848                 case 0x806f:
5849                     return "GL_TEXTURE_3D";
5850                 case 0x8070:
5851                     return "GL_PROXY_TEXTURE_3D";
5852                 case 0x84f5:
5853                     return "GL_TEXTURE_RECTANGLE";
5854                 case 0x84f7:
5855                     return "GL_PROXY_TEXTURE_RECTANGLE";
5856                 case 0x8513:
5857                     return "GL_TEXTURE_CUBE_MAP";
5858                 case 0x8515:
5859                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_X";
5860                 case 0x8516:
5861                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X";
5862                 case 0x8517:
5863                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y";
5864                 case 0x8518:
5865                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y";
5866                 case 0x8519:
5867                     return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z";
5868                 case 0x851a:
5869                     return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
5870                 case 0x851b:
5871                     return "GL_PROXY_TEXTURE_CUBE_MAP";
5872                 case 0x8c18:
5873                     return "GL_TEXTURE_1D_ARRAY";
5874                 case 0x8c19:
5875                     return "GL_PROXY_TEXTURE_1D_ARRAY";
5876                 case 0x8c1a:
5877                     return "GL_TEXTURE_2D_ARRAY";
5878                 case 0x8c1b:
5879                     return "GL_PROXY_TEXTURE_2D_ARRAY";
5880                 case 0x9009:
5881                     return "GL_TEXTURE_CUBE_MAP_ARRAY";
5882                 case 0x900b:
5883                     return "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY";
5884                 case 0x9100:
5885                     return "GL_TEXTURE_2D_MULTISAMPLE";
5886                 case 0x9101:
5887                     return "GL_PROXY_TEXTURE_2D_MULTISAMPLE";
5888                 case 0x9102:
5889                     return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY";
5890                 case 0x9103:
5891                     return "GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY";
5892                 default:
5893                     return "EnumUnknown";
5894             }
5895         }
5896 
5897         case GLenumGroup::TextureUnit:
5898         {
5899             switch (value)
5900             {
5901                 case 0x84c0:
5902                     return "GL_TEXTURE0";
5903                 case 0x84c1:
5904                     return "GL_TEXTURE1";
5905                 case 0x84c2:
5906                     return "GL_TEXTURE2";
5907                 case 0x84c3:
5908                     return "GL_TEXTURE3";
5909                 case 0x84c4:
5910                     return "GL_TEXTURE4";
5911                 case 0x84c5:
5912                     return "GL_TEXTURE5";
5913                 case 0x84c6:
5914                     return "GL_TEXTURE6";
5915                 case 0x84c7:
5916                     return "GL_TEXTURE7";
5917                 case 0x84c8:
5918                     return "GL_TEXTURE8";
5919                 case 0x84c9:
5920                     return "GL_TEXTURE9";
5921                 case 0x84ca:
5922                     return "GL_TEXTURE10";
5923                 case 0x84cb:
5924                     return "GL_TEXTURE11";
5925                 case 0x84cc:
5926                     return "GL_TEXTURE12";
5927                 case 0x84cd:
5928                     return "GL_TEXTURE13";
5929                 case 0x84ce:
5930                     return "GL_TEXTURE14";
5931                 case 0x84cf:
5932                     return "GL_TEXTURE15";
5933                 case 0x84d0:
5934                     return "GL_TEXTURE16";
5935                 case 0x84d1:
5936                     return "GL_TEXTURE17";
5937                 case 0x84d2:
5938                     return "GL_TEXTURE18";
5939                 case 0x84d3:
5940                     return "GL_TEXTURE19";
5941                 case 0x84d4:
5942                     return "GL_TEXTURE20";
5943                 case 0x84d5:
5944                     return "GL_TEXTURE21";
5945                 case 0x84d6:
5946                     return "GL_TEXTURE22";
5947                 case 0x84d7:
5948                     return "GL_TEXTURE23";
5949                 case 0x84d8:
5950                     return "GL_TEXTURE24";
5951                 case 0x84d9:
5952                     return "GL_TEXTURE25";
5953                 case 0x84da:
5954                     return "GL_TEXTURE26";
5955                 case 0x84db:
5956                     return "GL_TEXTURE27";
5957                 case 0x84dc:
5958                     return "GL_TEXTURE28";
5959                 case 0x84dd:
5960                     return "GL_TEXTURE29";
5961                 case 0x84de:
5962                     return "GL_TEXTURE30";
5963                 case 0x84df:
5964                     return "GL_TEXTURE31";
5965                 default:
5966                     return "EnumUnknown";
5967             }
5968         }
5969 
5970         case GLenumGroup::TextureWrapMode:
5971         {
5972             switch (value)
5973             {
5974                 case 0x2900:
5975                     return "GL_CLAMP";
5976                 case 0x2901:
5977                     return "GL_REPEAT";
5978                 case 0x812d:
5979                     return "GL_CLAMP_TO_BORDER";
5980                 case 0x812f:
5981                     return "GL_CLAMP_TO_EDGE";
5982                 default:
5983                     return "EnumUnknown";
5984             }
5985         }
5986 
5987         case GLenumGroup::TransformFeedbackPName:
5988         {
5989             switch (value)
5990             {
5991                 case 0x8c84:
5992                     return "GL_TRANSFORM_FEEDBACK_BUFFER_START";
5993                 case 0x8c85:
5994                     return "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE";
5995                 case 0x8c8f:
5996                     return "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING";
5997                 case 0x8e23:
5998                     return "GL_TRANSFORM_FEEDBACK_PAUSED";
5999                 case 0x8e24:
6000                     return "GL_TRANSFORM_FEEDBACK_ACTIVE";
6001                 default:
6002                     return "EnumUnknown";
6003             }
6004         }
6005 
6006         case GLenumGroup::TypeEnum:
6007         {
6008             switch (value)
6009             {
6010                 case 0x8e13:
6011                     return "GL_QUERY_WAIT";
6012                 case 0x8e14:
6013                     return "GL_QUERY_NO_WAIT";
6014                 case 0x8e15:
6015                     return "GL_QUERY_BY_REGION_WAIT";
6016                 case 0x8e16:
6017                     return "GL_QUERY_BY_REGION_NO_WAIT";
6018                 default:
6019                     return "EnumUnknown";
6020             }
6021         }
6022 
6023         case GLenumGroup::UniformBlockPName:
6024         {
6025             switch (value)
6026             {
6027                 case 0x84f0:
6028                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER";
6029                 case 0x84f1:
6030                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER";
6031                 case 0x8a3f:
6032                     return "GL_UNIFORM_BLOCK_BINDING";
6033                 case 0x8a40:
6034                     return "GL_UNIFORM_BLOCK_DATA_SIZE";
6035                 case 0x8a41:
6036                     return "GL_UNIFORM_BLOCK_NAME_LENGTH";
6037                 case 0x8a42:
6038                     return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS";
6039                 case 0x8a43:
6040                     return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES";
6041                 case 0x8a44:
6042                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER";
6043                 case 0x8a45:
6044                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER";
6045                 case 0x8a46:
6046                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER";
6047                 case 0x90ec:
6048                     return "GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER";
6049                 default:
6050                     return "EnumUnknown";
6051             }
6052         }
6053 
6054         case GLenumGroup::UniformPName:
6055         {
6056             switch (value)
6057             {
6058                 case 0x8a37:
6059                     return "GL_UNIFORM_TYPE";
6060                 case 0x8a38:
6061                     return "GL_UNIFORM_SIZE";
6062                 case 0x8a39:
6063                     return "GL_UNIFORM_NAME_LENGTH";
6064                 case 0x8a3a:
6065                     return "GL_UNIFORM_BLOCK_INDEX";
6066                 case 0x8a3b:
6067                     return "GL_UNIFORM_OFFSET";
6068                 case 0x8a3c:
6069                     return "GL_UNIFORM_ARRAY_STRIDE";
6070                 case 0x8a3d:
6071                     return "GL_UNIFORM_MATRIX_STRIDE";
6072                 case 0x8a3e:
6073                     return "GL_UNIFORM_IS_ROW_MAJOR";
6074                 case 0x92da:
6075                     return "GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX";
6076                 default:
6077                     return "EnumUnknown";
6078             }
6079         }
6080 
6081         case GLenumGroup::UseProgramStageMask:
6082         {
6083             switch (value)
6084             {
6085                 case 0x1:
6086                     return "GL_VERTEX_SHADER_BIT";
6087                 case 0x2:
6088                     return "GL_FRAGMENT_SHADER_BIT";
6089                 case 0x4:
6090                     return "GL_GEOMETRY_SHADER_BIT";
6091                 case 0x8:
6092                     return "GL_TESS_CONTROL_SHADER_BIT";
6093                 case 0x10:
6094                     return "GL_TESS_EVALUATION_SHADER_BIT";
6095                 case 0x20:
6096                     return "GL_COMPUTE_SHADER_BIT";
6097                 case 0xffffffff:
6098                     return "GL_ALL_SHADER_BITS";
6099                 default:
6100                     return "EnumUnknown";
6101             }
6102         }
6103 
6104         case GLenumGroup::VertexArrayPName:
6105         {
6106             switch (value)
6107             {
6108                 case 0x82d5:
6109                     return "GL_VERTEX_ATTRIB_RELATIVE_OFFSET";
6110                 case 0x8622:
6111                     return "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
6112                 case 0x8623:
6113                     return "GL_VERTEX_ATTRIB_ARRAY_SIZE";
6114                 case 0x8624:
6115                     return "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
6116                 case 0x8625:
6117                     return "GL_VERTEX_ATTRIB_ARRAY_TYPE";
6118                 case 0x874e:
6119                     return "GL_VERTEX_ATTRIB_ARRAY_LONG";
6120                 case 0x886a:
6121                     return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
6122                 case 0x88fd:
6123                     return "GL_VERTEX_ATTRIB_ARRAY_INTEGER";
6124                 case 0x88fe:
6125                     return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR";
6126                 default:
6127                     return "EnumUnknown";
6128             }
6129         }
6130 
6131         case GLenumGroup::VertexAttribEnum:
6132         {
6133             switch (value)
6134             {
6135                 case 0x8622:
6136                     return "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
6137                 case 0x8623:
6138                     return "GL_VERTEX_ATTRIB_ARRAY_SIZE";
6139                 case 0x8624:
6140                     return "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
6141                 case 0x8625:
6142                     return "GL_VERTEX_ATTRIB_ARRAY_TYPE";
6143                 case 0x8626:
6144                     return "GL_CURRENT_VERTEX_ATTRIB";
6145                 case 0x886a:
6146                     return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
6147                 case 0x889f:
6148                     return "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING";
6149                 case 0x88fd:
6150                     return "GL_VERTEX_ATTRIB_ARRAY_INTEGER";
6151                 case 0x88fe:
6152                     return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR";
6153                 default:
6154                     return "EnumUnknown";
6155             }
6156         }
6157 
6158         case GLenumGroup::VertexAttribPointerType:
6159         {
6160             switch (value)
6161             {
6162                 case 0x1400:
6163                     return "GL_BYTE";
6164                 case 0x1401:
6165                     return "GL_UNSIGNED_BYTE";
6166                 case 0x1402:
6167                     return "GL_SHORT";
6168                 case 0x1403:
6169                     return "GL_UNSIGNED_SHORT";
6170                 case 0x1404:
6171                     return "GL_INT";
6172                 case 0x1405:
6173                     return "GL_UNSIGNED_INT";
6174                 case 0x1406:
6175                     return "GL_FLOAT";
6176                 case 0x140a:
6177                     return "GL_DOUBLE";
6178                 case 0x140b:
6179                     return "GL_HALF_FLOAT";
6180                 case 0x140c:
6181                     return "GL_FIXED";
6182                 case 0x8368:
6183                     return "GL_UNSIGNED_INT_2_10_10_10_REV";
6184                 case 0x8c3b:
6185                     return "GL_UNSIGNED_INT_10F_11F_11F_REV";
6186                 case 0x8d9f:
6187                     return "GL_INT_2_10_10_10_REV";
6188                 default:
6189                     return "EnumUnknown";
6190             }
6191         }
6192 
6193         case GLenumGroup::VertexAttribType:
6194         {
6195             switch (value)
6196             {
6197                 case 0x1400:
6198                     return "GL_BYTE";
6199                 case 0x1401:
6200                     return "GL_UNSIGNED_BYTE";
6201                 case 0x1402:
6202                     return "GL_SHORT";
6203                 case 0x1403:
6204                     return "GL_UNSIGNED_SHORT";
6205                 case 0x1404:
6206                     return "GL_INT";
6207                 case 0x1405:
6208                     return "GL_UNSIGNED_INT";
6209                 case 0x1406:
6210                     return "GL_FLOAT";
6211                 case 0x140a:
6212                     return "GL_DOUBLE";
6213                 case 0x140b:
6214                     return "GL_HALF_FLOAT";
6215                 case 0x140c:
6216                     return "GL_FIXED";
6217                 case 0x8368:
6218                     return "GL_UNSIGNED_INT_2_10_10_10_REV";
6219                 case 0x8c3b:
6220                     return "GL_UNSIGNED_INT_10F_11F_11F_REV";
6221                 case 0x8d9f:
6222                     return "GL_INT_2_10_10_10_REV";
6223                 default:
6224                     return "EnumUnknown";
6225             }
6226         }
6227 
6228         case GLenumGroup::VertexBufferObjectParameter:
6229         {
6230             switch (value)
6231             {
6232                 case 0x821f:
6233                     return "GL_BUFFER_IMMUTABLE_STORAGE";
6234                 case 0x8220:
6235                     return "GL_BUFFER_STORAGE_FLAGS";
6236                 case 0x8764:
6237                     return "GL_BUFFER_SIZE";
6238                 case 0x8765:
6239                     return "GL_BUFFER_USAGE";
6240                 case 0x88bb:
6241                     return "GL_BUFFER_ACCESS";
6242                 case 0x88bc:
6243                     return "GL_BUFFER_MAPPED";
6244                 case 0x911f:
6245                     return "GL_BUFFER_ACCESS_FLAGS";
6246                 case 0x9120:
6247                     return "GL_BUFFER_MAP_LENGTH";
6248                 case 0x9121:
6249                     return "GL_BUFFER_MAP_OFFSET";
6250                 default:
6251                     return "EnumUnknown";
6252             }
6253         }
6254 
6255         case GLenumGroup::VertexBufferObjectUsage:
6256         {
6257             switch (value)
6258             {
6259                 case 0x88e0:
6260                     return "GL_STREAM_DRAW";
6261                 case 0x88e1:
6262                     return "GL_STREAM_READ";
6263                 case 0x88e2:
6264                     return "GL_STREAM_COPY";
6265                 case 0x88e4:
6266                     return "GL_STATIC_DRAW";
6267                 case 0x88e5:
6268                     return "GL_STATIC_READ";
6269                 case 0x88e6:
6270                     return "GL_STATIC_COPY";
6271                 case 0x88e8:
6272                     return "GL_DYNAMIC_DRAW";
6273                 case 0x88e9:
6274                     return "GL_DYNAMIC_READ";
6275                 case 0x88ea:
6276                     return "GL_DYNAMIC_COPY";
6277                 default:
6278                     return "EnumUnknown";
6279             }
6280         }
6281 
6282         case GLenumGroup::VertexPointerType:
6283         {
6284             switch (value)
6285             {
6286                 case 0x1402:
6287                     return "GL_SHORT";
6288                 case 0x1404:
6289                     return "GL_INT";
6290                 case 0x1406:
6291                     return "GL_FLOAT";
6292                 case 0x140a:
6293                     return "GL_DOUBLE";
6294                 default:
6295                     return "EnumUnknown";
6296             }
6297         }
6298 
6299         case GLenumGroup::VertexProvokingMode:
6300         {
6301             switch (value)
6302             {
6303                 case 0x8e4d:
6304                     return "GL_FIRST_VERTEX_CONVENTION";
6305                 case 0x8e4e:
6306                     return "GL_LAST_VERTEX_CONVENTION";
6307                 default:
6308                     return "EnumUnknown";
6309             }
6310         }
6311 
6312         default:
6313             return "EnumUnknown";
6314     }
6315 }
6316 
GLbitfieldToString(GLenumGroup enumGroup,unsigned int value)6317 std::string GLbitfieldToString(GLenumGroup enumGroup, unsigned int value)
6318 {
6319     std::stringstream st;
6320 
6321     const angle::BitSet<32> bitSet(value);
6322     bool first = true;
6323     for (const auto index : bitSet)
6324     {
6325         if (!first)
6326         {
6327             st << " | ";
6328         }
6329         first = false;
6330 
6331         unsigned int mask = 1u << index;
6332         st << GLenumToString(enumGroup, mask);
6333     }
6334 
6335     return st.str();
6336 }
6337 
6338 }  // namespace gl
6339