// MobileGL - MobileGL/MG_Util/Converters/GLToStr/GLEnumConverter.cpp
// Copyright (c) 2025-2026 MobileGL-Dev
// Licensed under the GNU Lesser General Public License v3.0:
//   https://www.gnu.org/licenses/gpl-3.0.txt
//   https://www.gnu.org/licenses/lgpl-3.0.txt
// SPDX-License-Identifier: LGPL-3.0-only
// End of Source File Header

#include "GLEnumConverter.h"

namespace MobileGL {
    namespace MG_Util {
        String ConvertGLEnumToString(GLenum value) {
            switch (value) {
#define CASE(value)                                                                                                    \
    case value:                                                                                                        \
        return #value;
                // CASE(GL_VERSION_1_0)
                // CASE(GL_VERSION_1_1)
                CASE(GL_DEPTH_BUFFER_BIT)
                CASE(GL_STENCIL_BUFFER_BIT)
                CASE(GL_COLOR_BUFFER_BIT)
                CASE(GL_FALSE)
                CASE(GL_TRUE)
                // CASE(GL_POINTS)
                // CASE(GL_LINES)
                CASE(GL_LINE_LOOP)
                CASE(GL_LINE_STRIP)
                CASE(GL_TRIANGLES)
                CASE(GL_TRIANGLE_STRIP)
                CASE(GL_TRIANGLE_FAN)
                CASE(GL_QUADS)
                CASE(GL_NEVER)
                CASE(GL_LESS)
                CASE(GL_EQUAL)
                CASE(GL_LEQUAL)
                CASE(GL_GREATER)
                CASE(GL_NOTEQUAL)
                CASE(GL_GEQUAL)
                CASE(GL_ALWAYS)
                // CASE(GL_ZERO)
                // CASE(GL_ONE)
                CASE(GL_SRC_COLOR)
                CASE(GL_ONE_MINUS_SRC_COLOR)
                CASE(GL_SRC_ALPHA)
                CASE(GL_ONE_MINUS_SRC_ALPHA)
                CASE(GL_DST_ALPHA)
                CASE(GL_ONE_MINUS_DST_ALPHA)
                CASE(GL_DST_COLOR)
                CASE(GL_ONE_MINUS_DST_COLOR)
                CASE(GL_SRC_ALPHA_SATURATE)
                // CASE(GL_NONE)
                // CASE(GL_FRONT_LEFT)
                CASE(GL_FRONT_RIGHT)
                CASE(GL_BACK_LEFT)
                CASE(GL_BACK_RIGHT)
                CASE(GL_FRONT)
                CASE(GL_BACK)
                CASE(GL_LEFT)
                CASE(GL_RIGHT)
                CASE(GL_FRONT_AND_BACK)
                // CASE(GL_NO_ERROR)
                CASE(GL_INVALID_ENUM)
                CASE(GL_INVALID_VALUE)
                CASE(GL_INVALID_OPERATION)
                CASE(GL_OUT_OF_MEMORY)
                CASE(GL_CW)
                CASE(GL_CCW)
                CASE(GL_POINT_SIZE)
                CASE(GL_POINT_SIZE_RANGE)
                CASE(GL_POINT_SIZE_GRANULARITY)
                CASE(GL_LINE_SMOOTH)
                CASE(GL_LINE_WIDTH)
                CASE(GL_LINE_WIDTH_RANGE)
                CASE(GL_LINE_WIDTH_GRANULARITY)
                CASE(GL_POLYGON_MODE)
                CASE(GL_POLYGON_SMOOTH)
                CASE(GL_CULL_FACE)
                CASE(GL_CULL_FACE_MODE)
                CASE(GL_FRONT_FACE)
                CASE(GL_DEPTH_RANGE)
                CASE(GL_DEPTH_TEST)
                CASE(GL_DEPTH_WRITEMASK)
                CASE(GL_DEPTH_CLEAR_VALUE)
                CASE(GL_DEPTH_FUNC)
                CASE(GL_STENCIL_TEST)
                CASE(GL_STENCIL_CLEAR_VALUE)
                CASE(GL_STENCIL_FUNC)
                CASE(GL_STENCIL_VALUE_MASK)
                CASE(GL_STENCIL_FAIL)
                CASE(GL_STENCIL_PASS_DEPTH_FAIL)
                CASE(GL_STENCIL_PASS_DEPTH_PASS)
                CASE(GL_STENCIL_REF)
                CASE(GL_STENCIL_WRITEMASK)
                CASE(GL_VIEWPORT)
                CASE(GL_DITHER)
                CASE(GL_BLEND_DST)
                CASE(GL_BLEND_SRC)
                CASE(GL_BLEND)
                CASE(GL_LOGIC_OP_MODE)
                CASE(GL_COLOR_LOGIC_OP)
                CASE(GL_DRAW_BUFFER)
                CASE(GL_READ_BUFFER)
                CASE(GL_SCISSOR_BOX)
                CASE(GL_SCISSOR_TEST)
                CASE(GL_COLOR_CLEAR_VALUE)
                CASE(GL_COLOR_WRITEMASK)
                CASE(GL_DOUBLEBUFFER)
                CASE(GL_STEREO)
                CASE(GL_LINE_SMOOTH_HINT)
                CASE(GL_POLYGON_SMOOTH_HINT)
                CASE(GL_UNPACK_SWAP_BYTES)
                CASE(GL_UNPACK_LSB_FIRST)
                CASE(GL_UNPACK_ROW_LENGTH)
                CASE(GL_UNPACK_SKIP_ROWS)
                CASE(GL_UNPACK_SKIP_PIXELS)
                CASE(GL_UNPACK_ALIGNMENT)
                CASE(GL_PACK_SWAP_BYTES)
                CASE(GL_PACK_LSB_FIRST)
                CASE(GL_PACK_ROW_LENGTH)
                CASE(GL_PACK_SKIP_ROWS)
                CASE(GL_PACK_SKIP_PIXELS)
                CASE(GL_PACK_ALIGNMENT)
                CASE(GL_MAX_TEXTURE_SIZE)
                CASE(GL_MAX_VIEWPORT_DIMS)
                CASE(GL_SUBPIXEL_BITS)
                CASE(GL_TEXTURE_1D)
                CASE(GL_TEXTURE_2D)
                CASE(GL_POLYGON_OFFSET_UNITS)
                CASE(GL_POLYGON_OFFSET_POINT)
                CASE(GL_POLYGON_OFFSET_LINE)
                CASE(GL_POLYGON_OFFSET_FILL)
                CASE(GL_POLYGON_OFFSET_FACTOR)
                CASE(GL_TEXTURE_BINDING_1D)
                CASE(GL_TEXTURE_BINDING_2D)
                CASE(GL_TEXTURE_WIDTH)
                CASE(GL_TEXTURE_HEIGHT)
                CASE(GL_TEXTURE_INTERNAL_FORMAT)
                CASE(GL_TEXTURE_BORDER_COLOR)
                CASE(GL_TEXTURE_RED_SIZE)
                CASE(GL_TEXTURE_GREEN_SIZE)
                CASE(GL_TEXTURE_BLUE_SIZE)
                CASE(GL_TEXTURE_ALPHA_SIZE)
                CASE(GL_DONT_CARE)
                CASE(GL_FASTEST)
                CASE(GL_NICEST)
                CASE(GL_BYTE)
                CASE(GL_UNSIGNED_BYTE)
                CASE(GL_SHORT)
                CASE(GL_UNSIGNED_SHORT)
                CASE(GL_INT)
                CASE(GL_UNSIGNED_INT)
                CASE(GL_FLOAT)
                CASE(GL_DOUBLE)
                CASE(GL_STACK_OVERFLOW)
                CASE(GL_STACK_UNDERFLOW)
                CASE(GL_CLEAR)
                CASE(GL_AND)
                CASE(GL_AND_REVERSE)
                CASE(GL_COPY)
                CASE(GL_AND_INVERTED)
                CASE(GL_NOOP)
                CASE(GL_XOR)
                CASE(GL_OR)
                CASE(GL_NOR)
                CASE(GL_EQUIV)
                CASE(GL_INVERT)
                CASE(GL_OR_REVERSE)
                CASE(GL_COPY_INVERTED)
                CASE(GL_OR_INVERTED)
                CASE(GL_NAND)
                CASE(GL_SET)
                CASE(GL_TEXTURE)
                CASE(GL_COLOR)
                CASE(GL_DEPTH)
                CASE(GL_STENCIL)
                CASE(GL_STENCIL_INDEX)
                CASE(GL_DEPTH_COMPONENT)
                CASE(GL_RED)
                CASE(GL_GREEN)
                CASE(GL_BLUE)
                CASE(GL_ALPHA)
                CASE(GL_RGB)
                CASE(GL_RGBA)
                CASE(GL_POINT)
                CASE(GL_LINE)
                CASE(GL_FILL)
                CASE(GL_KEEP)
                CASE(GL_REPLACE)
                CASE(GL_INCR)
                CASE(GL_DECR)
                CASE(GL_VENDOR)
                CASE(GL_RENDERER)
                // CASE(GL_VERSION)
                CASE(GL_EXTENSIONS)
                CASE(GL_NEAREST)
                CASE(GL_LINEAR)
                CASE(GL_NEAREST_MIPMAP_NEAREST)
                CASE(GL_LINEAR_MIPMAP_NEAREST)
                CASE(GL_NEAREST_MIPMAP_LINEAR)
                CASE(GL_LINEAR_MIPMAP_LINEAR)
                CASE(GL_TEXTURE_MAG_FILTER)
                CASE(GL_TEXTURE_MIN_FILTER)
                CASE(GL_TEXTURE_WRAP_S)
                CASE(GL_TEXTURE_WRAP_T)
                CASE(GL_PROXY_TEXTURE_1D)
                CASE(GL_PROXY_TEXTURE_2D)
                CASE(GL_REPEAT)
                CASE(GL_R3_G3_B2)
                CASE(GL_RGB4)
                CASE(GL_RGB5)
                CASE(GL_RGB8)
                CASE(GL_RGB10)
                CASE(GL_RGB12)
                CASE(GL_RGB16)
                CASE(GL_RGBA2)
                CASE(GL_RGBA4)
                CASE(GL_RGB5_A1)
                CASE(GL_RGBA8)
                CASE(GL_RGB10_A2)
                CASE(GL_RGBA12)
                CASE(GL_RGBA16)
                CASE(GL_VERTEX_ARRAY)
                // CASE(GL_VERSION_1_2)
                CASE(GL_UNSIGNED_BYTE_3_3_2)
                CASE(GL_UNSIGNED_SHORT_4_4_4_4)
                CASE(GL_UNSIGNED_SHORT_5_5_5_1)
                CASE(GL_UNSIGNED_INT_8_8_8_8)
                CASE(GL_UNSIGNED_INT_10_10_10_2)
                CASE(GL_TEXTURE_BINDING_3D)
                CASE(GL_PACK_SKIP_IMAGES)
                CASE(GL_PACK_IMAGE_HEIGHT)
                CASE(GL_UNPACK_SKIP_IMAGES)
                CASE(GL_UNPACK_IMAGE_HEIGHT)
                CASE(GL_TEXTURE_3D)
                CASE(GL_PROXY_TEXTURE_3D)
                CASE(GL_TEXTURE_DEPTH)
                CASE(GL_TEXTURE_WRAP_R)
                CASE(GL_MAX_3D_TEXTURE_SIZE)
                CASE(GL_UNSIGNED_BYTE_2_3_3_REV)
                CASE(GL_UNSIGNED_SHORT_5_6_5)
                CASE(GL_UNSIGNED_SHORT_5_6_5_REV)
                CASE(GL_UNSIGNED_SHORT_4_4_4_4_REV)
                CASE(GL_UNSIGNED_SHORT_1_5_5_5_REV)
                CASE(GL_UNSIGNED_INT_8_8_8_8_REV)
                CASE(GL_UNSIGNED_INT_2_10_10_10_REV)
                CASE(GL_BGR)
                CASE(GL_BGRA)
                CASE(GL_MAX_ELEMENTS_VERTICES)
                CASE(GL_MAX_ELEMENTS_INDICES)
                CASE(GL_CLAMP_TO_EDGE)
                CASE(GL_TEXTURE_MIN_LOD)
                CASE(GL_TEXTURE_MAX_LOD)
                CASE(GL_TEXTURE_BASE_LEVEL)
                CASE(GL_TEXTURE_MAX_LEVEL)
                // CASE(GL_SMOOTH_POINT_SIZE_RANGE)
                // CASE(GL_SMOOTH_POINT_SIZE_GRANULARITY)
                // CASE(GL_SMOOTH_LINE_WIDTH_RANGE)
                // CASE(GL_SMOOTH_LINE_WIDTH_GRANULARITY)
                CASE(GL_ALIASED_LINE_WIDTH_RANGE)
                // CASE(GL_VERSION_1_3)
                CASE(GL_TEXTURE0)
                CASE(GL_TEXTURE1)
                CASE(GL_TEXTURE2)
                CASE(GL_TEXTURE3)
                CASE(GL_TEXTURE4)
                CASE(GL_TEXTURE5)
                CASE(GL_TEXTURE6)
                CASE(GL_TEXTURE7)
                CASE(GL_TEXTURE8)
                CASE(GL_TEXTURE9)
                CASE(GL_TEXTURE10)
                CASE(GL_TEXTURE11)
                CASE(GL_TEXTURE12)
                CASE(GL_TEXTURE13)
                CASE(GL_TEXTURE14)
                CASE(GL_TEXTURE15)
                CASE(GL_TEXTURE16)
                CASE(GL_TEXTURE17)
                CASE(GL_TEXTURE18)
                CASE(GL_TEXTURE19)
                CASE(GL_TEXTURE20)
                CASE(GL_TEXTURE21)
                CASE(GL_TEXTURE22)
                CASE(GL_TEXTURE23)
                CASE(GL_TEXTURE24)
                CASE(GL_TEXTURE25)
                CASE(GL_TEXTURE26)
                CASE(GL_TEXTURE27)
                CASE(GL_TEXTURE28)
                CASE(GL_TEXTURE29)
                CASE(GL_TEXTURE30)
                CASE(GL_TEXTURE31)
                CASE(GL_ACTIVE_TEXTURE)
                CASE(GL_MULTISAMPLE)
                CASE(GL_SAMPLE_ALPHA_TO_COVERAGE)
                CASE(GL_SAMPLE_ALPHA_TO_ONE)
                CASE(GL_SAMPLE_COVERAGE)
                CASE(GL_SAMPLE_BUFFERS)
                CASE(GL_SAMPLES)
                CASE(GL_SAMPLE_COVERAGE_VALUE)
                CASE(GL_SAMPLE_COVERAGE_INVERT)
                CASE(GL_TEXTURE_CUBE_MAP)
                CASE(GL_TEXTURE_BINDING_CUBE_MAP)
                CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_X)
                CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_X)
                CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_Y)
                CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y)
                CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_Z)
                CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z)
                CASE(GL_PROXY_TEXTURE_CUBE_MAP)
                CASE(GL_MAX_CUBE_MAP_TEXTURE_SIZE)
                CASE(GL_COMPRESSED_RGB)
                CASE(GL_COMPRESSED_RGBA)
                CASE(GL_TEXTURE_COMPRESSION_HINT)
                CASE(GL_TEXTURE_COMPRESSED_IMAGE_SIZE)
                CASE(GL_TEXTURE_COMPRESSED)
                CASE(GL_NUM_COMPRESSED_TEXTURE_FORMATS)
                CASE(GL_COMPRESSED_TEXTURE_FORMATS)
                CASE(GL_CLAMP_TO_BORDER)
                // CASE(GL_VERSION_1_4)
                CASE(GL_BLEND_DST_RGB)
                CASE(GL_BLEND_SRC_RGB)
                CASE(GL_BLEND_DST_ALPHA)
                CASE(GL_BLEND_SRC_ALPHA)
                CASE(GL_POINT_FADE_THRESHOLD_SIZE)
                CASE(GL_DEPTH_COMPONENT16)
                CASE(GL_DEPTH_COMPONENT24)
                CASE(GL_DEPTH_COMPONENT32)
                CASE(GL_MIRRORED_REPEAT)
                CASE(GL_MAX_TEXTURE_LOD_BIAS)
                CASE(GL_TEXTURE_LOD_BIAS)
                CASE(GL_INCR_WRAP)
                CASE(GL_DECR_WRAP)
                CASE(GL_TEXTURE_DEPTH_SIZE)
                CASE(GL_TEXTURE_COMPARE_MODE)
                CASE(GL_TEXTURE_COMPARE_FUNC)
                CASE(GL_FUNC_ADD)
                CASE(GL_FUNC_SUBTRACT)
                CASE(GL_FUNC_REVERSE_SUBTRACT)
                CASE(GL_MIN)
                CASE(GL_MAX)
                CASE(GL_CONSTANT_COLOR)
                CASE(GL_ONE_MINUS_CONSTANT_COLOR)
                CASE(GL_CONSTANT_ALPHA)
                CASE(GL_ONE_MINUS_CONSTANT_ALPHA)
                // CASE(GL_VERSION_1_5)
                CASE(GL_BUFFER_SIZE)
                CASE(GL_BUFFER_USAGE)
                CASE(GL_QUERY_COUNTER_BITS)
                CASE(GL_CURRENT_QUERY)
                CASE(GL_QUERY_RESULT)
                CASE(GL_QUERY_RESULT_AVAILABLE)
                CASE(GL_ARRAY_BUFFER)
                CASE(GL_ELEMENT_ARRAY_BUFFER)
                CASE(GL_ARRAY_BUFFER_BINDING)
                CASE(GL_ELEMENT_ARRAY_BUFFER_BINDING)
                CASE(GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)
                CASE(GL_READ_ONLY)
                CASE(GL_WRITE_ONLY)
                CASE(GL_READ_WRITE)
                CASE(GL_BUFFER_ACCESS)
                CASE(GL_BUFFER_MAPPED)
                CASE(GL_BUFFER_MAP_POINTER)
                CASE(GL_STREAM_DRAW)
                CASE(GL_STREAM_READ)
                CASE(GL_STREAM_COPY)
                CASE(GL_STATIC_DRAW)
                CASE(GL_STATIC_READ)
                CASE(GL_STATIC_COPY)
                CASE(GL_DYNAMIC_DRAW)
                CASE(GL_DYNAMIC_READ)
                CASE(GL_DYNAMIC_COPY)
                CASE(GL_SAMPLES_PASSED)
                CASE(GL_SRC1_ALPHA)
                // CASE(GL_VERSION_2_0)
                CASE(GL_BLEND_EQUATION_RGB)
                CASE(GL_VERTEX_ATTRIB_ARRAY_ENABLED)
                CASE(GL_VERTEX_ATTRIB_ARRAY_SIZE)
                CASE(GL_VERTEX_ATTRIB_ARRAY_STRIDE)
                CASE(GL_VERTEX_ATTRIB_ARRAY_TYPE)
                CASE(GL_CURRENT_VERTEX_ATTRIB)
                CASE(GL_VERTEX_PROGRAM_POINT_SIZE)
                CASE(GL_VERTEX_ATTRIB_ARRAY_POINTER)
                CASE(GL_STENCIL_BACK_FUNC)
                CASE(GL_STENCIL_BACK_FAIL)
                CASE(GL_STENCIL_BACK_PASS_DEPTH_FAIL)
                CASE(GL_STENCIL_BACK_PASS_DEPTH_PASS)
                CASE(GL_MAX_DRAW_BUFFERS)
                CASE(GL_DRAW_BUFFER0)
                CASE(GL_DRAW_BUFFER1)
                CASE(GL_DRAW_BUFFER2)
                CASE(GL_DRAW_BUFFER3)
                CASE(GL_DRAW_BUFFER4)
                CASE(GL_DRAW_BUFFER5)
                CASE(GL_DRAW_BUFFER6)
                CASE(GL_DRAW_BUFFER7)
                CASE(GL_DRAW_BUFFER8)
                CASE(GL_DRAW_BUFFER9)
                CASE(GL_DRAW_BUFFER10)
                CASE(GL_DRAW_BUFFER11)
                CASE(GL_DRAW_BUFFER12)
                CASE(GL_DRAW_BUFFER13)
                CASE(GL_DRAW_BUFFER14)
                CASE(GL_DRAW_BUFFER15)
                CASE(GL_BLEND_EQUATION_ALPHA)
                CASE(GL_MAX_VERTEX_ATTRIBS)
                CASE(GL_VERTEX_ATTRIB_ARRAY_NORMALIZED)
                CASE(GL_MAX_TEXTURE_IMAGE_UNITS)
                CASE(GL_FRAGMENT_SHADER)
                CASE(GL_VERTEX_SHADER)
                CASE(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS)
                CASE(GL_MAX_VERTEX_UNIFORM_COMPONENTS)
                CASE(GL_MAX_VARYING_FLOATS)
                CASE(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS)
                CASE(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS)
                CASE(GL_SHADER_TYPE)
                CASE(GL_FLOAT_VEC2)
                CASE(GL_FLOAT_VEC3)
                CASE(GL_FLOAT_VEC4)
                CASE(GL_INT_VEC2)
                CASE(GL_INT_VEC3)
                CASE(GL_INT_VEC4)
                CASE(GL_BOOL)
                CASE(GL_BOOL_VEC2)
                CASE(GL_BOOL_VEC3)
                CASE(GL_BOOL_VEC4)
                CASE(GL_FLOAT_MAT2)
                CASE(GL_FLOAT_MAT3)
                CASE(GL_FLOAT_MAT4)
                CASE(GL_SAMPLER_1D)
                CASE(GL_SAMPLER_2D)
                CASE(GL_SAMPLER_3D)
                CASE(GL_SAMPLER_CUBE)
                CASE(GL_SAMPLER_1D_SHADOW)
                CASE(GL_SAMPLER_2D_SHADOW)
                CASE(GL_DELETE_STATUS)
                CASE(GL_COMPILE_STATUS)
                CASE(GL_LINK_STATUS)
                CASE(GL_VALIDATE_STATUS)
                CASE(GL_INFO_LOG_LENGTH)
                CASE(GL_ATTACHED_SHADERS)
                CASE(GL_ACTIVE_UNIFORMS)
                CASE(GL_ACTIVE_UNIFORM_MAX_LENGTH)
                CASE(GL_SHADER_SOURCE_LENGTH)
                CASE(GL_ACTIVE_ATTRIBUTES)
                CASE(GL_ACTIVE_ATTRIBUTE_MAX_LENGTH)
                CASE(GL_FRAGMENT_SHADER_DERIVATIVE_HINT)
                CASE(GL_SHADING_LANGUAGE_VERSION)
                CASE(GL_CURRENT_PROGRAM)
                CASE(GL_POINT_SPRITE_COORD_ORIGIN)
                CASE(GL_LOWER_LEFT)
                CASE(GL_UPPER_LEFT)
                CASE(GL_STENCIL_BACK_REF)
                CASE(GL_STENCIL_BACK_VALUE_MASK)
                CASE(GL_STENCIL_BACK_WRITEMASK)
                // CASE(GL_VERSION_2_1)
                CASE(GL_PIXEL_PACK_BUFFER)
                CASE(GL_PIXEL_UNPACK_BUFFER)
                CASE(GL_PIXEL_PACK_BUFFER_BINDING)
                CASE(GL_PIXEL_UNPACK_BUFFER_BINDING)
                CASE(GL_SRGB)
                CASE(GL_SRGB8)
                CASE(GL_SRGB_ALPHA)
                CASE(GL_SRGB8_ALPHA8)
                CASE(GL_COMPRESSED_SRGB)
                CASE(GL_COMPRESSED_SRGB_ALPHA)
                // CASE(GL_VERSION_3_0)
                CASE(GL_COMPARE_REF_TO_TEXTURE)
                CASE(GL_CLIP_DISTANCE0)
                CASE(GL_CLIP_DISTANCE1)
                CASE(GL_CLIP_DISTANCE2)
                CASE(GL_CLIP_DISTANCE3)
                CASE(GL_CLIP_DISTANCE4)
                CASE(GL_CLIP_DISTANCE5)
                CASE(GL_CLIP_DISTANCE6)
                CASE(GL_CLIP_DISTANCE7)
                CASE(GL_MAX_CLIP_DISTANCES)
                CASE(GL_MAJOR_VERSION)
                CASE(GL_MINOR_VERSION)
                CASE(GL_NUM_EXTENSIONS)
                CASE(GL_CONTEXT_FLAGS)
                CASE(GL_COMPRESSED_RED)
                CASE(GL_COMPRESSED_RG)
                // CASE(GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)
                CASE(GL_RGBA32F)
                CASE(GL_RGB32F)
                CASE(GL_RGBA16F)
                CASE(GL_RGB16F)
                CASE(GL_VERTEX_ATTRIB_ARRAY_INTEGER)
                CASE(GL_MAX_ARRAY_TEXTURE_LAYERS)
                CASE(GL_MIN_PROGRAM_TEXEL_OFFSET)
                CASE(GL_MAX_PROGRAM_TEXEL_OFFSET)
                CASE(GL_CLAMP_READ_COLOR)
                CASE(GL_FIXED_ONLY)
                // CASE(GL_MAX_VARYING_COMPONENTS)
                CASE(GL_TEXTURE_1D_ARRAY)
                CASE(GL_PROXY_TEXTURE_1D_ARRAY)
                CASE(GL_TEXTURE_2D_ARRAY)
                CASE(GL_PROXY_TEXTURE_2D_ARRAY)
                CASE(GL_TEXTURE_BINDING_1D_ARRAY)
                CASE(GL_TEXTURE_BINDING_2D_ARRAY)
                CASE(GL_R11F_G11F_B10F)
                CASE(GL_UNSIGNED_INT_10F_11F_11F_REV)
                CASE(GL_RGB9_E5)
                CASE(GL_UNSIGNED_INT_5_9_9_9_REV)
                CASE(GL_TEXTURE_SHARED_SIZE)
                CASE(GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_MODE)
                CASE(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS)
                CASE(GL_TRANSFORM_FEEDBACK_VARYINGS)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_START)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_SIZE)
                CASE(GL_PRIMITIVES_GENERATED)
                CASE(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN)
                CASE(GL_RASTERIZER_DISCARD)
                CASE(GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS)
                CASE(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS)
                CASE(GL_INTERLEAVED_ATTRIBS)
                CASE(GL_SEPARATE_ATTRIBS)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING)
                CASE(GL_RGBA32UI)
                CASE(GL_RGB32UI)
                CASE(GL_RGBA16UI)
                CASE(GL_RGB16UI)
                CASE(GL_RGBA8UI)
                CASE(GL_RGB8UI)
                CASE(GL_RGBA32I)
                CASE(GL_RGB32I)
                CASE(GL_RGBA16I)
                CASE(GL_RGB16I)
                CASE(GL_RGBA8I)
                CASE(GL_RGB8I)
                CASE(GL_RED_INTEGER)
                CASE(GL_GREEN_INTEGER)
                CASE(GL_BLUE_INTEGER)
                CASE(GL_RGB_INTEGER)
                CASE(GL_RGBA_INTEGER)
                CASE(GL_BGR_INTEGER)
                CASE(GL_BGRA_INTEGER)
                CASE(GL_SAMPLER_1D_ARRAY)
                CASE(GL_SAMPLER_2D_ARRAY)
                CASE(GL_SAMPLER_1D_ARRAY_SHADOW)
                CASE(GL_SAMPLER_2D_ARRAY_SHADOW)
                CASE(GL_SAMPLER_CUBE_SHADOW)
                CASE(GL_UNSIGNED_INT_VEC2)
                CASE(GL_UNSIGNED_INT_VEC3)
                CASE(GL_UNSIGNED_INT_VEC4)
                CASE(GL_INT_SAMPLER_1D)
                CASE(GL_INT_SAMPLER_2D)
                CASE(GL_INT_SAMPLER_3D)
                CASE(GL_INT_SAMPLER_CUBE)
                CASE(GL_INT_SAMPLER_1D_ARRAY)
                CASE(GL_INT_SAMPLER_2D_ARRAY)
                CASE(GL_UNSIGNED_INT_SAMPLER_1D)
                CASE(GL_UNSIGNED_INT_SAMPLER_2D)
                CASE(GL_UNSIGNED_INT_SAMPLER_3D)
                CASE(GL_UNSIGNED_INT_SAMPLER_CUBE)
                CASE(GL_UNSIGNED_INT_SAMPLER_1D_ARRAY)
                CASE(GL_UNSIGNED_INT_SAMPLER_2D_ARRAY)
                CASE(GL_QUERY_WAIT)
                CASE(GL_QUERY_NO_WAIT)
                CASE(GL_QUERY_BY_REGION_WAIT)
                CASE(GL_QUERY_BY_REGION_NO_WAIT)
                CASE(GL_BUFFER_ACCESS_FLAGS)
                CASE(GL_BUFFER_MAP_LENGTH)
                CASE(GL_BUFFER_MAP_OFFSET)
                CASE(GL_DEPTH_COMPONENT32F)
                CASE(GL_DEPTH32F_STENCIL8)
                CASE(GL_FLOAT_32_UNSIGNED_INT_24_8_REV)
                CASE(GL_INVALID_FRAMEBUFFER_OPERATION)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE)
                CASE(GL_FRAMEBUFFER_DEFAULT)
                CASE(GL_FRAMEBUFFER_UNDEFINED)
                CASE(GL_DEPTH_STENCIL_ATTACHMENT)
                CASE(GL_MAX_RENDERBUFFER_SIZE)
                CASE(GL_DEPTH_STENCIL)
                CASE(GL_UNSIGNED_INT_24_8)
                CASE(GL_DEPTH24_STENCIL8)
                CASE(GL_TEXTURE_STENCIL_SIZE)
                CASE(GL_TEXTURE_RED_TYPE)
                CASE(GL_TEXTURE_GREEN_TYPE)
                CASE(GL_TEXTURE_BLUE_TYPE)
                CASE(GL_TEXTURE_ALPHA_TYPE)
                CASE(GL_TEXTURE_DEPTH_TYPE)
                CASE(GL_UNSIGNED_NORMALIZED)
                CASE(GL_FRAMEBUFFER_BINDING)
                // CASE(GL_DRAW_FRAMEBUFFER_BINDING)
                CASE(GL_RENDERBUFFER_BINDING)
                CASE(GL_READ_FRAMEBUFFER)
                CASE(GL_DRAW_FRAMEBUFFER)
                CASE(GL_READ_FRAMEBUFFER_BINDING)
                CASE(GL_RENDERBUFFER_SAMPLES)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER)
                CASE(GL_FRAMEBUFFER_COMPLETE)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER)
                CASE(GL_FRAMEBUFFER_UNSUPPORTED)
                CASE(GL_MAX_COLOR_ATTACHMENTS)
                CASE(GL_COLOR_ATTACHMENT0)
                CASE(GL_COLOR_ATTACHMENT1)
                CASE(GL_COLOR_ATTACHMENT2)
                CASE(GL_COLOR_ATTACHMENT3)
                CASE(GL_COLOR_ATTACHMENT4)
                CASE(GL_COLOR_ATTACHMENT5)
                CASE(GL_COLOR_ATTACHMENT6)
                CASE(GL_COLOR_ATTACHMENT7)
                CASE(GL_COLOR_ATTACHMENT8)
                CASE(GL_COLOR_ATTACHMENT9)
                CASE(GL_COLOR_ATTACHMENT10)
                CASE(GL_COLOR_ATTACHMENT11)
                CASE(GL_COLOR_ATTACHMENT12)
                CASE(GL_COLOR_ATTACHMENT13)
                CASE(GL_COLOR_ATTACHMENT14)
                CASE(GL_COLOR_ATTACHMENT15)
                CASE(GL_COLOR_ATTACHMENT16)
                CASE(GL_COLOR_ATTACHMENT17)
                CASE(GL_COLOR_ATTACHMENT18)
                CASE(GL_COLOR_ATTACHMENT19)
                CASE(GL_COLOR_ATTACHMENT20)
                CASE(GL_COLOR_ATTACHMENT21)
                CASE(GL_COLOR_ATTACHMENT22)
                CASE(GL_COLOR_ATTACHMENT23)
                CASE(GL_COLOR_ATTACHMENT24)
                CASE(GL_COLOR_ATTACHMENT25)
                CASE(GL_COLOR_ATTACHMENT26)
                CASE(GL_COLOR_ATTACHMENT27)
                CASE(GL_COLOR_ATTACHMENT28)
                CASE(GL_COLOR_ATTACHMENT29)
                CASE(GL_COLOR_ATTACHMENT30)
                CASE(GL_COLOR_ATTACHMENT31)
                CASE(GL_DEPTH_ATTACHMENT)
                CASE(GL_STENCIL_ATTACHMENT)
                CASE(GL_FRAMEBUFFER)
                CASE(GL_RENDERBUFFER)
                CASE(GL_RENDERBUFFER_WIDTH)
                CASE(GL_RENDERBUFFER_HEIGHT)
                CASE(GL_RENDERBUFFER_INTERNAL_FORMAT)
                CASE(GL_STENCIL_INDEX1)
                CASE(GL_STENCIL_INDEX4)
                CASE(GL_STENCIL_INDEX8)
                CASE(GL_STENCIL_INDEX16)
                CASE(GL_RENDERBUFFER_RED_SIZE)
                CASE(GL_RENDERBUFFER_GREEN_SIZE)
                CASE(GL_RENDERBUFFER_BLUE_SIZE)
                CASE(GL_RENDERBUFFER_ALPHA_SIZE)
                CASE(GL_RENDERBUFFER_DEPTH_SIZE)
                CASE(GL_RENDERBUFFER_STENCIL_SIZE)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE)
                CASE(GL_MAX_SAMPLES)
                CASE(GL_FRAMEBUFFER_SRGB)
                CASE(GL_HALF_FLOAT)
                // CASE(GL_MAP_READ_BIT)
                // CASE(GL_MAP_WRITE_BIT)
                // CASE(GL_MAP_INVALIDATE_RANGE_BIT)
                CASE(GL_MAP_INVALIDATE_BUFFER_BIT)
                CASE(GL_MAP_FLUSH_EXPLICIT_BIT)
                CASE(GL_MAP_UNSYNCHRONIZED_BIT)
                CASE(GL_COMPRESSED_RED_RGTC1)
                CASE(GL_COMPRESSED_SIGNED_RED_RGTC1)
                CASE(GL_COMPRESSED_RG_RGTC2)
                CASE(GL_COMPRESSED_SIGNED_RG_RGTC2)
                CASE(GL_RG)
                CASE(GL_RG_INTEGER)
                CASE(GL_R8)
                CASE(GL_R16)
                CASE(GL_RG8)
                CASE(GL_RG16)
                CASE(GL_R16F)
                CASE(GL_R32F)
                CASE(GL_RG16F)
                CASE(GL_RG32F)
                CASE(GL_R8I)
                CASE(GL_R8UI)
                CASE(GL_R16I)
                CASE(GL_R16UI)
                CASE(GL_R32I)
                CASE(GL_R32UI)
                CASE(GL_RG8I)
                CASE(GL_RG8UI)
                CASE(GL_RG16I)
                CASE(GL_RG16UI)
                CASE(GL_RG32I)
                CASE(GL_RG32UI)
                CASE(GL_VERTEX_ARRAY_BINDING)
                // CASE(GL_VERSION_3_1)
                CASE(GL_SAMPLER_2D_RECT)
                CASE(GL_SAMPLER_2D_RECT_SHADOW)
                CASE(GL_SAMPLER_BUFFER)
                CASE(GL_INT_SAMPLER_2D_RECT)
                CASE(GL_INT_SAMPLER_BUFFER)
                CASE(GL_UNSIGNED_INT_SAMPLER_2D_RECT)
                CASE(GL_UNSIGNED_INT_SAMPLER_BUFFER)
                CASE(GL_TEXTURE_BUFFER)
                CASE(GL_MAX_TEXTURE_BUFFER_SIZE)
                CASE(GL_TEXTURE_BINDING_BUFFER)
                CASE(GL_TEXTURE_BUFFER_DATA_STORE_BINDING)
                CASE(GL_TEXTURE_RECTANGLE)
                CASE(GL_TEXTURE_BINDING_RECTANGLE)
                CASE(GL_PROXY_TEXTURE_RECTANGLE)
                CASE(GL_MAX_RECTANGLE_TEXTURE_SIZE)
                CASE(GL_R8_SNORM)
                CASE(GL_RG8_SNORM)
                CASE(GL_RGB8_SNORM)
                CASE(GL_RGBA8_SNORM)
                CASE(GL_R16_SNORM)
                CASE(GL_RG16_SNORM)
                CASE(GL_RGB16_SNORM)
                CASE(GL_RGBA16_SNORM)
                CASE(GL_SIGNED_NORMALIZED)
                CASE(GL_PRIMITIVE_RESTART)
                CASE(GL_PRIMITIVE_RESTART_INDEX)
                CASE(GL_COPY_READ_BUFFER)
                CASE(GL_COPY_WRITE_BUFFER)
                CASE(GL_UNIFORM_BUFFER)
                CASE(GL_UNIFORM_BUFFER_BINDING)
                CASE(GL_UNIFORM_BUFFER_START)
                CASE(GL_UNIFORM_BUFFER_SIZE)
                CASE(GL_MAX_VERTEX_UNIFORM_BLOCKS)
                CASE(GL_MAX_GEOMETRY_UNIFORM_BLOCKS)
                CASE(GL_MAX_FRAGMENT_UNIFORM_BLOCKS)
                CASE(GL_MAX_COMBINED_UNIFORM_BLOCKS)
                CASE(GL_MAX_UNIFORM_BUFFER_BINDINGS)
                CASE(GL_MAX_UNIFORM_BLOCK_SIZE)
                CASE(GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS)
                CASE(GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS)
                CASE(GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS)
                CASE(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT)
                CASE(GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH)
                CASE(GL_ACTIVE_UNIFORM_BLOCKS)
                CASE(GL_UNIFORM_TYPE)
                CASE(GL_UNIFORM_SIZE)
                CASE(GL_UNIFORM_NAME_LENGTH)
                CASE(GL_UNIFORM_BLOCK_INDEX)
                CASE(GL_UNIFORM_OFFSET)
                CASE(GL_UNIFORM_ARRAY_STRIDE)
                CASE(GL_UNIFORM_MATRIX_STRIDE)
                CASE(GL_UNIFORM_IS_ROW_MAJOR)
                CASE(GL_UNIFORM_BLOCK_BINDING)
                CASE(GL_UNIFORM_BLOCK_DATA_SIZE)
                CASE(GL_UNIFORM_BLOCK_NAME_LENGTH)
                CASE(GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS)
                CASE(GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER)
                // CASE(GL_VERSION_3_2)
                // CASE(GL_CONTEXT_CORE_PROFILE_BIT)
                // CASE(GL_CONTEXT_COMPATIBILITY_PROFILE_BIT)
                CASE(GL_LINES_ADJACENCY)
                CASE(GL_LINE_STRIP_ADJACENCY)
                CASE(GL_TRIANGLES_ADJACENCY)
                CASE(GL_TRIANGLE_STRIP_ADJACENCY)
                // CASE(GL_PROGRAM_POINT_SIZE)
                CASE(GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS)
                CASE(GL_FRAMEBUFFER_ATTACHMENT_LAYERED)
                CASE(GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS)
                CASE(GL_GEOMETRY_SHADER)
                CASE(GL_GEOMETRY_VERTICES_OUT)
                CASE(GL_GEOMETRY_INPUT_TYPE)
                CASE(GL_GEOMETRY_OUTPUT_TYPE)
                CASE(GL_MAX_GEOMETRY_UNIFORM_COMPONENTS)
                CASE(GL_MAX_GEOMETRY_OUTPUT_VERTICES)
                CASE(GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS)
                CASE(GL_MAX_VERTEX_OUTPUT_COMPONENTS)
                CASE(GL_MAX_GEOMETRY_INPUT_COMPONENTS)
                CASE(GL_MAX_GEOMETRY_OUTPUT_COMPONENTS)
                CASE(GL_MAX_FRAGMENT_INPUT_COMPONENTS)
                CASE(GL_CONTEXT_PROFILE_MASK)
                CASE(GL_DEPTH_CLAMP)
                CASE(GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION)
                CASE(GL_FIRST_VERTEX_CONVENTION)
                CASE(GL_LAST_VERTEX_CONVENTION)
                CASE(GL_PROVOKING_VERTEX)
                CASE(GL_TEXTURE_CUBE_MAP_SEAMLESS)
                CASE(GL_MAX_SERVER_WAIT_TIMEOUT)
                CASE(GL_OBJECT_TYPE)
                CASE(GL_SYNC_CONDITION)
                CASE(GL_SYNC_STATUS)
                CASE(GL_SYNC_FLAGS)
                CASE(GL_SYNC_FENCE)
                CASE(GL_SYNC_GPU_COMMANDS_COMPLETE)
                CASE(GL_UNSIGNALED)
                CASE(GL_SIGNALED)
                CASE(GL_ALREADY_SIGNALED)
                CASE(GL_TIMEOUT_EXPIRED)
                CASE(GL_CONDITION_SATISFIED)
                CASE(GL_WAIT_FAILED)
                // CASE(GL_SYNC_FLUSH_COMMANDS_BIT)
                CASE(GL_SAMPLE_POSITION)
                CASE(GL_SAMPLE_MASK)
                CASE(GL_SAMPLE_MASK_VALUE)
                CASE(GL_MAX_SAMPLE_MASK_WORDS)
                CASE(GL_TEXTURE_2D_MULTISAMPLE)
                CASE(GL_PROXY_TEXTURE_2D_MULTISAMPLE)
                CASE(GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
                CASE(GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY)
                CASE(GL_TEXTURE_BINDING_2D_MULTISAMPLE)
                CASE(GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY)
                CASE(GL_TEXTURE_SAMPLES)
                CASE(GL_TEXTURE_FIXED_SAMPLE_LOCATIONS)
                CASE(GL_SAMPLER_2D_MULTISAMPLE)
                CASE(GL_INT_SAMPLER_2D_MULTISAMPLE)
                CASE(GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE)
                CASE(GL_SAMPLER_2D_MULTISAMPLE_ARRAY)
                CASE(GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY)
                CASE(GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY)
                CASE(GL_MAX_COLOR_TEXTURE_SAMPLES)
                CASE(GL_MAX_DEPTH_TEXTURE_SAMPLES)
                CASE(GL_MAX_INTEGER_SAMPLES)
                // CASE(GL_VERSION_3_3)
                CASE(GL_VERTEX_ATTRIB_ARRAY_DIVISOR)
                CASE(GL_SRC1_COLOR)
                CASE(GL_ONE_MINUS_SRC1_COLOR)
                CASE(GL_ONE_MINUS_SRC1_ALPHA)
                CASE(GL_MAX_DUAL_SOURCE_DRAW_BUFFERS)
                CASE(GL_ANY_SAMPLES_PASSED)
                CASE(GL_SAMPLER_BINDING)
                CASE(GL_RGB10_A2UI)
                CASE(GL_TEXTURE_SWIZZLE_R)
                CASE(GL_TEXTURE_SWIZZLE_G)
                CASE(GL_TEXTURE_SWIZZLE_B)
                CASE(GL_TEXTURE_SWIZZLE_A)
                CASE(GL_TEXTURE_SWIZZLE_RGBA)
                CASE(GL_TIME_ELAPSED)
                CASE(GL_TIMESTAMP)
                CASE(GL_INT_2_10_10_10_REV)
                // CASE(GL_VERSION_4_0)
                CASE(GL_SAMPLE_SHADING)
                CASE(GL_MIN_SAMPLE_SHADING_VALUE)
                CASE(GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET)
                CASE(GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET)
                CASE(GL_TEXTURE_CUBE_MAP_ARRAY)
                CASE(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY)
                CASE(GL_PROXY_TEXTURE_CUBE_MAP_ARRAY)
                CASE(GL_SAMPLER_CUBE_MAP_ARRAY)
                CASE(GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW)
                CASE(GL_INT_SAMPLER_CUBE_MAP_ARRAY)
                CASE(GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY)
                CASE(GL_DRAW_INDIRECT_BUFFER)
                CASE(GL_DRAW_INDIRECT_BUFFER_BINDING)
                CASE(GL_GEOMETRY_SHADER_INVOCATIONS)
                CASE(GL_MAX_GEOMETRY_SHADER_INVOCATIONS)
                CASE(GL_MIN_FRAGMENT_INTERPOLATION_OFFSET)
                CASE(GL_MAX_FRAGMENT_INTERPOLATION_OFFSET)
                CASE(GL_FRAGMENT_INTERPOLATION_OFFSET_BITS)
                CASE(GL_MAX_VERTEX_STREAMS)
                CASE(GL_DOUBLE_VEC2)
                CASE(GL_DOUBLE_VEC3)
                CASE(GL_DOUBLE_VEC4)
                CASE(GL_DOUBLE_MAT2)
                CASE(GL_DOUBLE_MAT3)
                CASE(GL_DOUBLE_MAT4)
                CASE(GL_ACTIVE_SUBROUTINES)
                CASE(GL_ACTIVE_SUBROUTINE_UNIFORMS)
                CASE(GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS)
                CASE(GL_ACTIVE_SUBROUTINE_MAX_LENGTH)
                CASE(GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH)
                CASE(GL_MAX_SUBROUTINES)
                CASE(GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS)
                CASE(GL_NUM_COMPATIBLE_SUBROUTINES)
                CASE(GL_COMPATIBLE_SUBROUTINES)
                CASE(GL_PATCHES)
                CASE(GL_PATCH_VERTICES)
                CASE(GL_PATCH_DEFAULT_INNER_LEVEL)
                CASE(GL_PATCH_DEFAULT_OUTER_LEVEL)
                CASE(GL_TESS_CONTROL_OUTPUT_VERTICES)
                CASE(GL_TESS_GEN_MODE)
                CASE(GL_TESS_GEN_SPACING)
                CASE(GL_TESS_GEN_VERTEX_ORDER)
                CASE(GL_TESS_GEN_POINT_MODE)
                CASE(GL_ISOLINES)
                CASE(GL_FRACTIONAL_ODD)
                CASE(GL_FRACTIONAL_EVEN)
                CASE(GL_MAX_PATCH_VERTICES)
                CASE(GL_MAX_TESS_GEN_LEVEL)
                CASE(GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS)
                CASE(GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS)
                CASE(GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS)
                CASE(GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS)
                CASE(GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS)
                CASE(GL_MAX_TESS_PATCH_COMPONENTS)
                CASE(GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS)
                CASE(GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS)
                CASE(GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS)
                CASE(GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS)
                CASE(GL_MAX_TESS_CONTROL_INPUT_COMPONENTS)
                CASE(GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS)
                CASE(GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS)
                CASE(GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER)
                CASE(GL_TESS_EVALUATION_SHADER)
                CASE(GL_TESS_CONTROL_SHADER)
                CASE(GL_TRANSFORM_FEEDBACK)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE)
                CASE(GL_TRANSFORM_FEEDBACK_BINDING)
                CASE(GL_MAX_TRANSFORM_FEEDBACK_BUFFERS)
                // CASE(GL_VERSION_4_1)
                CASE(GL_FIXED)
                CASE(GL_IMPLEMENTATION_COLOR_READ_TYPE)
                CASE(GL_IMPLEMENTATION_COLOR_READ_FORMAT)
                CASE(GL_LOW_FLOAT)
                CASE(GL_MEDIUM_FLOAT)
                CASE(GL_HIGH_FLOAT)
                CASE(GL_LOW_INT)
                CASE(GL_MEDIUM_INT)
                CASE(GL_HIGH_INT)
                CASE(GL_SHADER_COMPILER)
                CASE(GL_SHADER_BINARY_FORMATS)
                CASE(GL_NUM_SHADER_BINARY_FORMATS)
                CASE(GL_MAX_VERTEX_UNIFORM_VECTORS)
                CASE(GL_MAX_VARYING_VECTORS)
                CASE(GL_MAX_FRAGMENT_UNIFORM_VECTORS)
                CASE(GL_RGB565)
                CASE(GL_PROGRAM_BINARY_RETRIEVABLE_HINT)
                CASE(GL_PROGRAM_BINARY_LENGTH)
                CASE(GL_NUM_PROGRAM_BINARY_FORMATS)
                CASE(GL_PROGRAM_BINARY_FORMATS)
                // CASE(GL_VERTEX_SHADER_BIT)
                // CASE(GL_FRAGMENT_SHADER_BIT)
                // CASE(GL_GEOMETRY_SHADER_BIT)
                // CASE(GL_TESS_CONTROL_SHADER_BIT)
                // CASE(GL_TESS_EVALUATION_SHADER_BIT)
                CASE(GL_PROGRAM_SEPARABLE)
                CASE(GL_ACTIVE_PROGRAM)
                CASE(GL_PROGRAM_PIPELINE_BINDING)
                CASE(GL_MAX_VIEWPORTS)
                CASE(GL_VIEWPORT_SUBPIXEL_BITS)
                CASE(GL_VIEWPORT_BOUNDS_RANGE)
                CASE(GL_LAYER_PROVOKING_VERTEX)
                CASE(GL_VIEWPORT_INDEX_PROVOKING_VERTEX)
                CASE(GL_UNDEFINED_VERTEX)
                // CASE(GL_VERSION_4_2)
                // CASE(GL_COPY_READ_BUFFER_BINDING)
                // CASE(GL_COPY_WRITE_BUFFER_BINDING)
                // CASE(GL_TRANSFORM_FEEDBACK_ACTIVE)
                // CASE(GL_TRANSFORM_FEEDBACK_PAUSED)
                CASE(GL_UNPACK_COMPRESSED_BLOCK_WIDTH)
                CASE(GL_UNPACK_COMPRESSED_BLOCK_HEIGHT)
                CASE(GL_UNPACK_COMPRESSED_BLOCK_DEPTH)
                CASE(GL_UNPACK_COMPRESSED_BLOCK_SIZE)
                CASE(GL_PACK_COMPRESSED_BLOCK_WIDTH)
                CASE(GL_PACK_COMPRESSED_BLOCK_HEIGHT)
                CASE(GL_PACK_COMPRESSED_BLOCK_DEPTH)
                CASE(GL_PACK_COMPRESSED_BLOCK_SIZE)
                CASE(GL_NUM_SAMPLE_COUNTS)
                CASE(GL_MIN_MAP_BUFFER_ALIGNMENT)
                CASE(GL_ATOMIC_COUNTER_BUFFER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_BINDING)
                CASE(GL_ATOMIC_COUNTER_BUFFER_START)
                CASE(GL_ATOMIC_COUNTER_BUFFER_SIZE)
                CASE(GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE)
                CASE(GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS)
                CASE(GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER)
                CASE(GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_VERTEX_ATOMIC_COUNTERS)
                CASE(GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS)
                CASE(GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS)
                CASE(GL_MAX_GEOMETRY_ATOMIC_COUNTERS)
                CASE(GL_MAX_FRAGMENT_ATOMIC_COUNTERS)
                CASE(GL_MAX_COMBINED_ATOMIC_COUNTERS)
                CASE(GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE)
                CASE(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS)
                CASE(GL_ACTIVE_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX)
                CASE(GL_UNSIGNED_INT_ATOMIC_COUNTER)
                // CASE(GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT)
                // CASE(GL_ELEMENT_ARRAY_BARRIER_BIT)
                // CASE(GL_UNIFORM_BARRIER_BIT)
                // CASE(GL_TEXTURE_FETCH_BARRIER_BIT)
                // CASE(GL_SHADER_IMAGE_ACCESS_BARRIER_BIT)
                CASE(GL_COMMAND_BARRIER_BIT)
                CASE(GL_PIXEL_BUFFER_BARRIER_BIT)
                // CASE(GL_TEXTURE_UPDATE_BARRIER_BIT)
                // CASE(GL_BUFFER_UPDATE_BARRIER_BIT)
                // CASE(GL_FRAMEBUFFER_BARRIER_BIT)
                CASE(GL_TRANSFORM_FEEDBACK_BARRIER_BIT)
                // CASE(GL_ATOMIC_COUNTER_BARRIER_BIT)
                CASE(GL_MAX_IMAGE_UNITS)
                CASE(GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS)
                CASE(GL_IMAGE_BINDING_NAME)
                CASE(GL_IMAGE_BINDING_LEVEL)
                CASE(GL_IMAGE_BINDING_LAYERED)
                CASE(GL_IMAGE_BINDING_LAYER)
                CASE(GL_IMAGE_BINDING_ACCESS)
                CASE(GL_IMAGE_1D)
                CASE(GL_IMAGE_2D)
                CASE(GL_IMAGE_3D)
                CASE(GL_IMAGE_2D_RECT)
                CASE(GL_IMAGE_CUBE)
                CASE(GL_IMAGE_BUFFER)
                CASE(GL_IMAGE_1D_ARRAY)
                CASE(GL_IMAGE_2D_ARRAY)
                CASE(GL_IMAGE_CUBE_MAP_ARRAY)
                CASE(GL_IMAGE_2D_MULTISAMPLE)
                CASE(GL_IMAGE_2D_MULTISAMPLE_ARRAY)
                CASE(GL_INT_IMAGE_1D)
                CASE(GL_INT_IMAGE_2D)
                CASE(GL_INT_IMAGE_3D)
                CASE(GL_INT_IMAGE_2D_RECT)
                CASE(GL_INT_IMAGE_CUBE)
                CASE(GL_INT_IMAGE_BUFFER)
                CASE(GL_INT_IMAGE_1D_ARRAY)
                CASE(GL_INT_IMAGE_2D_ARRAY)
                CASE(GL_INT_IMAGE_CUBE_MAP_ARRAY)
                CASE(GL_INT_IMAGE_2D_MULTISAMPLE)
                CASE(GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY)
                CASE(GL_UNSIGNED_INT_IMAGE_1D)
                CASE(GL_UNSIGNED_INT_IMAGE_2D)
                CASE(GL_UNSIGNED_INT_IMAGE_3D)
                CASE(GL_UNSIGNED_INT_IMAGE_2D_RECT)
                CASE(GL_UNSIGNED_INT_IMAGE_CUBE)
                CASE(GL_UNSIGNED_INT_IMAGE_BUFFER)
                CASE(GL_UNSIGNED_INT_IMAGE_1D_ARRAY)
                CASE(GL_UNSIGNED_INT_IMAGE_2D_ARRAY)
                CASE(GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY)
                CASE(GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE)
                CASE(GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY)
                CASE(GL_MAX_IMAGE_SAMPLES)
                CASE(GL_IMAGE_BINDING_FORMAT)
                CASE(GL_IMAGE_FORMAT_COMPATIBILITY_TYPE)
                CASE(GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE)
                CASE(GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS)
                CASE(GL_MAX_VERTEX_IMAGE_UNIFORMS)
                CASE(GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS)
                CASE(GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS)
                CASE(GL_MAX_GEOMETRY_IMAGE_UNIFORMS)
                CASE(GL_MAX_FRAGMENT_IMAGE_UNIFORMS)
                CASE(GL_MAX_COMBINED_IMAGE_UNIFORMS)
                CASE(GL_COMPRESSED_RGBA_BPTC_UNORM)
                CASE(GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM)
                CASE(GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT)
                CASE(GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT)
                CASE(GL_TEXTURE_IMMUTABLE_FORMAT)
                // CASE(GL_VERSION_4_3)
                CASE(GL_NUM_SHADING_LANGUAGE_VERSIONS)
                CASE(GL_VERTEX_ATTRIB_ARRAY_LONG)
                CASE(GL_COMPRESSED_RGB8_ETC2)
                CASE(GL_COMPRESSED_SRGB8_ETC2)
                CASE(GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2)
                CASE(GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2)
                CASE(GL_COMPRESSED_RGBA8_ETC2_EAC)
                CASE(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC)
                CASE(GL_COMPRESSED_R11_EAC)
                CASE(GL_COMPRESSED_SIGNED_R11_EAC)
                CASE(GL_COMPRESSED_RG11_EAC)
                CASE(GL_COMPRESSED_SIGNED_RG11_EAC)
                CASE(GL_PRIMITIVE_RESTART_FIXED_INDEX)
                CASE(GL_ANY_SAMPLES_PASSED_CONSERVATIVE)
                CASE(GL_MAX_ELEMENT_INDEX)
                CASE(GL_COMPUTE_SHADER)
                CASE(GL_MAX_COMPUTE_UNIFORM_BLOCKS)
                CASE(GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS)
                CASE(GL_MAX_COMPUTE_IMAGE_UNIFORMS)
                CASE(GL_MAX_COMPUTE_SHARED_MEMORY_SIZE)
                CASE(GL_MAX_COMPUTE_UNIFORM_COMPONENTS)
                CASE(GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS)
                CASE(GL_MAX_COMPUTE_ATOMIC_COUNTERS)
                CASE(GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS)
                CASE(GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS)
                CASE(GL_MAX_COMPUTE_WORK_GROUP_COUNT)
                CASE(GL_MAX_COMPUTE_WORK_GROUP_SIZE)
                CASE(GL_COMPUTE_WORK_GROUP_SIZE)
                CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER)
                CASE(GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER)
                CASE(GL_DISPATCH_INDIRECT_BUFFER)
                CASE(GL_DISPATCH_INDIRECT_BUFFER_BINDING)
                // CASE(GL_COMPUTE_SHADER_BIT)
                CASE(GL_DEBUG_OUTPUT_SYNCHRONOUS)
                CASE(GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH)
                CASE(GL_DEBUG_CALLBACK_FUNCTION)
                CASE(GL_DEBUG_CALLBACK_USER_PARAM)
                CASE(GL_DEBUG_SOURCE_API)
                CASE(GL_DEBUG_SOURCE_WINDOW_SYSTEM)
                CASE(GL_DEBUG_SOURCE_SHADER_COMPILER)
                CASE(GL_DEBUG_SOURCE_THIRD_PARTY)
                CASE(GL_DEBUG_SOURCE_APPLICATION)
                CASE(GL_DEBUG_SOURCE_OTHER)
                CASE(GL_DEBUG_TYPE_ERROR)
                CASE(GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR)
                CASE(GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR)
                CASE(GL_DEBUG_TYPE_PORTABILITY)
                CASE(GL_DEBUG_TYPE_PERFORMANCE)
                CASE(GL_DEBUG_TYPE_OTHER)
                CASE(GL_MAX_DEBUG_MESSAGE_LENGTH)
                CASE(GL_MAX_DEBUG_LOGGED_MESSAGES)
                CASE(GL_DEBUG_LOGGED_MESSAGES)
                CASE(GL_DEBUG_SEVERITY_HIGH)
                CASE(GL_DEBUG_SEVERITY_MEDIUM)
                CASE(GL_DEBUG_SEVERITY_LOW)
                CASE(GL_DEBUG_TYPE_MARKER)
                CASE(GL_DEBUG_TYPE_PUSH_GROUP)
                CASE(GL_DEBUG_TYPE_POP_GROUP)
                CASE(GL_DEBUG_SEVERITY_NOTIFICATION)
                CASE(GL_MAX_DEBUG_GROUP_STACK_DEPTH)
                CASE(GL_DEBUG_GROUP_STACK_DEPTH)
                CASE(GL_BUFFER)
                CASE(GL_SHADER)
                CASE(GL_PROGRAM)
                CASE(GL_QUERY)
                CASE(GL_PROGRAM_PIPELINE)
                CASE(GL_SAMPLER)
                CASE(GL_MAX_LABEL_LENGTH)
                CASE(GL_DEBUG_OUTPUT)
                // CASE(GL_CONTEXT_FLAG_DEBUG_BIT)
                CASE(GL_MAX_UNIFORM_LOCATIONS)
                CASE(GL_FRAMEBUFFER_DEFAULT_WIDTH)
                CASE(GL_FRAMEBUFFER_DEFAULT_HEIGHT)
                CASE(GL_FRAMEBUFFER_DEFAULT_LAYERS)
                CASE(GL_FRAMEBUFFER_DEFAULT_SAMPLES)
                CASE(GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS)
                CASE(GL_MAX_FRAMEBUFFER_WIDTH)
                CASE(GL_MAX_FRAMEBUFFER_HEIGHT)
                CASE(GL_MAX_FRAMEBUFFER_LAYERS)
                CASE(GL_MAX_FRAMEBUFFER_SAMPLES)
                CASE(GL_INTERNALFORMAT_SUPPORTED)
                CASE(GL_INTERNALFORMAT_PREFERRED)
                CASE(GL_INTERNALFORMAT_RED_SIZE)
                CASE(GL_INTERNALFORMAT_GREEN_SIZE)
                CASE(GL_INTERNALFORMAT_BLUE_SIZE)
                CASE(GL_INTERNALFORMAT_ALPHA_SIZE)
                CASE(GL_INTERNALFORMAT_DEPTH_SIZE)
                CASE(GL_INTERNALFORMAT_STENCIL_SIZE)
                CASE(GL_INTERNALFORMAT_SHARED_SIZE)
                CASE(GL_INTERNALFORMAT_RED_TYPE)
                CASE(GL_INTERNALFORMAT_GREEN_TYPE)
                CASE(GL_INTERNALFORMAT_BLUE_TYPE)
                CASE(GL_INTERNALFORMAT_ALPHA_TYPE)
                CASE(GL_INTERNALFORMAT_DEPTH_TYPE)
                CASE(GL_INTERNALFORMAT_STENCIL_TYPE)
                CASE(GL_MAX_WIDTH)
                CASE(GL_MAX_HEIGHT)
                CASE(GL_MAX_DEPTH)
                CASE(GL_MAX_LAYERS)
                CASE(GL_MAX_COMBINED_DIMENSIONS)
                CASE(GL_COLOR_COMPONENTS)
                CASE(GL_DEPTH_COMPONENTS)
                CASE(GL_STENCIL_COMPONENTS)
                CASE(GL_COLOR_RENDERABLE)
                CASE(GL_DEPTH_RENDERABLE)
                CASE(GL_STENCIL_RENDERABLE)
                CASE(GL_FRAMEBUFFER_RENDERABLE)
                CASE(GL_FRAMEBUFFER_RENDERABLE_LAYERED)
                CASE(GL_FRAMEBUFFER_BLEND)
                CASE(GL_READ_PIXELS)
                CASE(GL_READ_PIXELS_FORMAT)
                CASE(GL_READ_PIXELS_TYPE)
                CASE(GL_TEXTURE_IMAGE_FORMAT)
                CASE(GL_TEXTURE_IMAGE_TYPE)
                CASE(GL_GET_TEXTURE_IMAGE_FORMAT)
                CASE(GL_GET_TEXTURE_IMAGE_TYPE)
                CASE(GL_MIPMAP)
                CASE(GL_MANUAL_GENERATE_MIPMAP)
                CASE(GL_AUTO_GENERATE_MIPMAP)
                CASE(GL_COLOR_ENCODING)
                CASE(GL_SRGB_READ)
                CASE(GL_SRGB_WRITE)
                CASE(GL_FILTER)
                CASE(GL_VERTEX_TEXTURE)
                CASE(GL_TESS_CONTROL_TEXTURE)
                CASE(GL_TESS_EVALUATION_TEXTURE)
                CASE(GL_GEOMETRY_TEXTURE)
                CASE(GL_FRAGMENT_TEXTURE)
                CASE(GL_COMPUTE_TEXTURE)
                CASE(GL_TEXTURE_SHADOW)
                CASE(GL_TEXTURE_GATHER)
                CASE(GL_TEXTURE_GATHER_SHADOW)
                CASE(GL_SHADER_IMAGE_LOAD)
                CASE(GL_SHADER_IMAGE_STORE)
                CASE(GL_SHADER_IMAGE_ATOMIC)
                CASE(GL_IMAGE_TEXEL_SIZE)
                CASE(GL_IMAGE_COMPATIBILITY_CLASS)
                CASE(GL_IMAGE_PIXEL_FORMAT)
                CASE(GL_IMAGE_PIXEL_TYPE)
                CASE(GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST)
                CASE(GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST)
                CASE(GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE)
                CASE(GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE)
                CASE(GL_TEXTURE_COMPRESSED_BLOCK_WIDTH)
                CASE(GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT)
                CASE(GL_TEXTURE_COMPRESSED_BLOCK_SIZE)
                CASE(GL_CLEAR_BUFFER)
                CASE(GL_TEXTURE_VIEW)
                CASE(GL_VIEW_COMPATIBILITY_CLASS)
                CASE(GL_FULL_SUPPORT)
                CASE(GL_CAVEAT_SUPPORT)
                CASE(GL_IMAGE_CLASS_4_X_32)
                CASE(GL_IMAGE_CLASS_2_X_32)
                CASE(GL_IMAGE_CLASS_1_X_32)
                CASE(GL_IMAGE_CLASS_4_X_16)
                CASE(GL_IMAGE_CLASS_2_X_16)
                CASE(GL_IMAGE_CLASS_1_X_16)
                CASE(GL_IMAGE_CLASS_4_X_8)
                CASE(GL_IMAGE_CLASS_2_X_8)
                CASE(GL_IMAGE_CLASS_1_X_8)
                CASE(GL_IMAGE_CLASS_11_11_10)
                CASE(GL_IMAGE_CLASS_10_10_10_2)
                CASE(GL_VIEW_CLASS_128_BITS)
                CASE(GL_VIEW_CLASS_96_BITS)
                CASE(GL_VIEW_CLASS_64_BITS)
                CASE(GL_VIEW_CLASS_48_BITS)
                CASE(GL_VIEW_CLASS_32_BITS)
                CASE(GL_VIEW_CLASS_24_BITS)
                CASE(GL_VIEW_CLASS_16_BITS)
                CASE(GL_VIEW_CLASS_8_BITS)
                CASE(GL_VIEW_CLASS_S3TC_DXT1_RGB)
                CASE(GL_VIEW_CLASS_S3TC_DXT1_RGBA)
                CASE(GL_VIEW_CLASS_S3TC_DXT3_RGBA)
                CASE(GL_VIEW_CLASS_S3TC_DXT5_RGBA)
                CASE(GL_VIEW_CLASS_RGTC1_RED)
                CASE(GL_VIEW_CLASS_RGTC2_RG)
                CASE(GL_VIEW_CLASS_BPTC_UNORM)
                CASE(GL_VIEW_CLASS_BPTC_FLOAT)
                CASE(GL_UNIFORM)
                CASE(GL_UNIFORM_BLOCK)
                CASE(GL_PROGRAM_INPUT)
                CASE(GL_PROGRAM_OUTPUT)
                CASE(GL_BUFFER_VARIABLE)
                CASE(GL_SHADER_STORAGE_BLOCK)
                CASE(GL_VERTEX_SUBROUTINE)
                CASE(GL_TESS_CONTROL_SUBROUTINE)
                CASE(GL_TESS_EVALUATION_SUBROUTINE)
                CASE(GL_GEOMETRY_SUBROUTINE)
                CASE(GL_FRAGMENT_SUBROUTINE)
                CASE(GL_COMPUTE_SUBROUTINE)
                CASE(GL_VERTEX_SUBROUTINE_UNIFORM)
                CASE(GL_TESS_CONTROL_SUBROUTINE_UNIFORM)
                CASE(GL_TESS_EVALUATION_SUBROUTINE_UNIFORM)
                CASE(GL_GEOMETRY_SUBROUTINE_UNIFORM)
                CASE(GL_FRAGMENT_SUBROUTINE_UNIFORM)
                CASE(GL_COMPUTE_SUBROUTINE_UNIFORM)
                CASE(GL_TRANSFORM_FEEDBACK_VARYING)
                CASE(GL_ACTIVE_RESOURCES)
                CASE(GL_MAX_NAME_LENGTH)
                CASE(GL_MAX_NUM_ACTIVE_VARIABLES)
                CASE(GL_MAX_NUM_COMPATIBLE_SUBROUTINES)
                CASE(GL_NAME_LENGTH)
                CASE(GL_TYPE)
                CASE(GL_ARRAY_SIZE)
                CASE(GL_OFFSET)
                CASE(GL_BLOCK_INDEX)
                CASE(GL_ARRAY_STRIDE)
                CASE(GL_MATRIX_STRIDE)
                CASE(GL_IS_ROW_MAJOR)
                CASE(GL_ATOMIC_COUNTER_BUFFER_INDEX)
                CASE(GL_BUFFER_BINDING)
                CASE(GL_BUFFER_DATA_SIZE)
                CASE(GL_NUM_ACTIVE_VARIABLES)
                CASE(GL_ACTIVE_VARIABLES)
                CASE(GL_REFERENCED_BY_VERTEX_SHADER)
                CASE(GL_REFERENCED_BY_TESS_CONTROL_SHADER)
                CASE(GL_REFERENCED_BY_TESS_EVALUATION_SHADER)
                CASE(GL_REFERENCED_BY_GEOMETRY_SHADER)
                CASE(GL_REFERENCED_BY_FRAGMENT_SHADER)
                CASE(GL_REFERENCED_BY_COMPUTE_SHADER)
                CASE(GL_TOP_LEVEL_ARRAY_SIZE)
                CASE(GL_TOP_LEVEL_ARRAY_STRIDE)
                CASE(GL_LOCATION)
                CASE(GL_LOCATION_INDEX)
                CASE(GL_IS_PER_PATCH)
                CASE(GL_SHADER_STORAGE_BUFFER)
                CASE(GL_SHADER_STORAGE_BUFFER_BINDING)
                CASE(GL_SHADER_STORAGE_BUFFER_START)
                CASE(GL_SHADER_STORAGE_BUFFER_SIZE)
                CASE(GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS)
                CASE(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS)
                CASE(GL_MAX_SHADER_STORAGE_BLOCK_SIZE)
                CASE(GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT)
                CASE(GL_SHADER_STORAGE_BARRIER_BIT)
                // CASE(GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES)
                CASE(GL_DEPTH_STENCIL_TEXTURE_MODE)
                CASE(GL_TEXTURE_BUFFER_OFFSET)
                CASE(GL_TEXTURE_BUFFER_SIZE)
                CASE(GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT)
                CASE(GL_TEXTURE_VIEW_MIN_LEVEL)
                CASE(GL_TEXTURE_VIEW_NUM_LEVELS)
                CASE(GL_TEXTURE_VIEW_MIN_LAYER)
                CASE(GL_TEXTURE_VIEW_NUM_LAYERS)
                CASE(GL_TEXTURE_IMMUTABLE_LEVELS)
                CASE(GL_VERTEX_ATTRIB_BINDING)
                CASE(GL_VERTEX_ATTRIB_RELATIVE_OFFSET)
                CASE(GL_VERTEX_BINDING_DIVISOR)
                CASE(GL_VERTEX_BINDING_OFFSET)
                CASE(GL_VERTEX_BINDING_STRIDE)
                CASE(GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET)
                CASE(GL_MAX_VERTEX_ATTRIB_BINDINGS)
                CASE(GL_VERTEX_BINDING_BUFFER)
                // CASE(GL_VERSION_4_4)
                CASE(GL_MAX_VERTEX_ATTRIB_STRIDE)
                CASE(GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED)
                // CASE(GL_TEXTURE_BUFFER_BINDING)
                // CASE(GL_MAP_PERSISTENT_BIT)
                // CASE(GL_MAP_COHERENT_BIT)
                // CASE(GL_DYNAMIC_STORAGE_BIT)
                // CASE(GL_CLIENT_STORAGE_BIT)
                // CASE(GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT)
                CASE(GL_BUFFER_IMMUTABLE_STORAGE)
                CASE(GL_BUFFER_STORAGE_FLAGS)
                CASE(GL_CLEAR_TEXTURE)
                CASE(GL_LOCATION_COMPONENT)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_INDEX)
                CASE(GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE)
                CASE(GL_QUERY_BUFFER)
                CASE(GL_QUERY_BUFFER_BARRIER_BIT)
                CASE(GL_QUERY_BUFFER_BINDING)
                CASE(GL_QUERY_RESULT_NO_WAIT)
                CASE(GL_MIRROR_CLAMP_TO_EDGE)
                // CASE(GL_VERSION_4_5)
                CASE(GL_CONTEXT_LOST)
                CASE(GL_NEGATIVE_ONE_TO_ONE)
                CASE(GL_ZERO_TO_ONE)
                CASE(GL_CLIP_ORIGIN)
                CASE(GL_CLIP_DEPTH_MODE)
                CASE(GL_QUERY_WAIT_INVERTED)
                CASE(GL_QUERY_NO_WAIT_INVERTED)
                CASE(GL_QUERY_BY_REGION_WAIT_INVERTED)
                CASE(GL_QUERY_BY_REGION_NO_WAIT_INVERTED)
                CASE(GL_MAX_CULL_DISTANCES)
                CASE(GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES)
                CASE(GL_TEXTURE_TARGET)
                CASE(GL_QUERY_TARGET)
                CASE(GL_GUILTY_CONTEXT_RESET)
                CASE(GL_INNOCENT_CONTEXT_RESET)
                CASE(GL_UNKNOWN_CONTEXT_RESET)
                CASE(GL_RESET_NOTIFICATION_STRATEGY)
                CASE(GL_LOSE_CONTEXT_ON_RESET)
                CASE(GL_NO_RESET_NOTIFICATION)
                // CASE(GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT)
                CASE(GL_CONTEXT_RELEASE_BEHAVIOR)
                CASE(GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH)
                CASE(GL_UNSIGNED_INT64_ARB)
                CASE(GL_SYNC_CL_EVENT_ARB)
                CASE(GL_SYNC_CL_EVENT_COMPLETE_ARB)
                CASE(GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB)
                // CASE(GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB)
                CASE(GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB)
                // CASE(GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB)
                // CASE(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB)
                // CASE(GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB)
                // CASE(GL_DEBUG_CALLBACK_FUNCTION_ARB)
                // CASE(GL_DEBUG_CALLBACK_USER_PARAM_ARB)
                // CASE(GL_DEBUG_SOURCE_API_ARB)
                // CASE(GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB)
                // CASE(GL_DEBUG_SOURCE_SHADER_COMPILER_ARB)
                // CASE(GL_DEBUG_SOURCE_THIRD_PARTY_ARB)
                // CASE(GL_DEBUG_SOURCE_APPLICATION_ARB)
                // CASE(GL_DEBUG_SOURCE_OTHER_ARB)
                // CASE(GL_DEBUG_TYPE_ERROR_ARB)
                // CASE(GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB)
                // CASE(GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB)
                // CASE(GL_DEBUG_TYPE_PORTABILITY_ARB)
                // CASE(GL_DEBUG_TYPE_PERFORMANCE_ARB)
                // CASE(GL_DEBUG_TYPE_OTHER_ARB)
                // CASE(GL_MAX_DEBUG_MESSAGE_LENGTH_ARB)
                // CASE(GL_MAX_DEBUG_LOGGED_MESSAGES_ARB)
                // CASE(GL_DEBUG_LOGGED_MESSAGES_ARB)
                // CASE(GL_DEBUG_SEVERITY_HIGH_ARB)
                // CASE(GL_DEBUG_SEVERITY_MEDIUM_ARB)
                // CASE(GL_DEBUG_SEVERITY_LOW_ARB)
                CASE(GL_BLEND_COLOR)
                // CASE(GL_BLEND_EQUATION)
                CASE(GL_PARAMETER_BUFFER_ARB)
                CASE(GL_PARAMETER_BUFFER_BINDING_ARB)
                CASE(GL_SRGB_DECODE_ARB)
                CASE(GL_VERTICES_SUBMITTED_ARB)
                CASE(GL_PRIMITIVES_SUBMITTED_ARB)
                CASE(GL_VERTEX_SHADER_INVOCATIONS_ARB)
                CASE(GL_TESS_CONTROL_SHADER_PATCHES_ARB)
                CASE(GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB)
                CASE(GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB)
                CASE(GL_FRAGMENT_SHADER_INVOCATIONS_ARB)
                CASE(GL_COMPUTE_SHADER_INVOCATIONS_ARB)
                CASE(GL_CLIPPING_INPUT_PRIMITIVES_ARB)
                CASE(GL_CLIPPING_OUTPUT_PRIMITIVES_ARB)
                // CASE(GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB)
                // CASE(GL_LOSE_CONTEXT_ON_RESET_ARB)
                // CASE(GL_GUILTY_CONTEXT_RESET_ARB)
                // CASE(GL_INNOCENT_CONTEXT_RESET_ARB)
                // CASE(GL_UNKNOWN_CONTEXT_RESET_ARB)
                // CASE(GL_RESET_NOTIFICATION_STRATEGY_ARB)
                // CASE(GL_NO_RESET_NOTIFICATION_ARB)
                // CASE(GL_SAMPLE_SHADING_ARB)
                // CASE(GL_MIN_SAMPLE_SHADING_VALUE_ARB)
                CASE(GL_SHADER_INCLUDE_ARB)
                CASE(GL_NAMED_STRING_LENGTH_ARB)
                CASE(GL_NAMED_STRING_TYPE_ARB)
                // CASE(GL_SPARSE_STORAGE_BIT_ARB)
                CASE(GL_SPARSE_BUFFER_PAGE_SIZE_ARB)
                CASE(GL_TEXTURE_SPARSE_ARB)
                CASE(GL_VIRTUAL_PAGE_SIZE_INDEX_ARB)
                CASE(GL_NUM_SPARSE_LEVELS_ARB)
                CASE(GL_NUM_VIRTUAL_PAGE_SIZES_ARB)
                CASE(GL_VIRTUAL_PAGE_SIZE_X_ARB)
                CASE(GL_VIRTUAL_PAGE_SIZE_Y_ARB)
                CASE(GL_VIRTUAL_PAGE_SIZE_Z_ARB)
                CASE(GL_MAX_SPARSE_TEXTURE_SIZE_ARB)
                CASE(GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB)
                CASE(GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB)
                CASE(GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB)
                // CASE(GL_COMPRESSED_RGBA_BPTC_UNORM_ARB)
                // CASE(GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB)
                // CASE(GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB)
                // CASE(GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB)
                // CASE(GL_TEXTURE_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_SAMPLER_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB)
                // CASE(GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB)
                // CASE(GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB)
                // CASE(GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB)
                CASE(GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB)
                CASE(GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB)
                CASE(GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB)
                // CASE(GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR)
                CASE(GL_CONTEXT_ROBUST_ACCESS)
                // CASE(GL_ACCUM)
                CASE(GL_LOAD)
                CASE(GL_RETURN)
                CASE(GL_MULT)
                CASE(GL_ADD)
                // CASE(GL_CURRENT_BIT)
                // CASE(GL_POINT_BIT)
                // CASE(GL_LINE_BIT)
                // CASE(GL_POLYGON_BIT)
                // CASE(GL_POLYGON_STIPPLE_BIT)
                // CASE(GL_PIXEL_MODE_BIT)
                // CASE(GL_LIGHTING_BIT)
                // CASE(GL_FOG_BIT)
                // CASE(GL_ACCUM_BUFFER_BIT)
                // CASE(GL_VIEWPORT_BIT)
                // CASE(GL_TRANSFORM_BIT)
                // CASE(GL_ENABLE_BIT)
                // CASE(GL_HINT_BIT)
                CASE(GL_EVAL_BIT)
                CASE(GL_LIST_BIT)
                CASE(GL_TEXTURE_BIT)
                CASE(GL_SCISSOR_BIT)
                CASE(GL_ALL_ATTRIB_BITS)
                // CASE(GL_QUAD_STRIP)
                CASE(GL_POLYGON)
                // CASE(GL_CLIP_PLANE0)
                // CASE(GL_CLIP_PLANE1)
                // CASE(GL_CLIP_PLANE2)
                // CASE(GL_CLIP_PLANE3)
                // CASE(GL_CLIP_PLANE4)
                // CASE(GL_CLIP_PLANE5)
                CASE(GL_2_BYTES)
                CASE(GL_3_BYTES)
                CASE(GL_4_BYTES)
                CASE(GL_AUX0)
                CASE(GL_AUX1)
                CASE(GL_AUX2)
                CASE(GL_AUX3)
                CASE(GL_2D)
                CASE(GL_3D)
                CASE(GL_3D_COLOR)
                CASE(GL_3D_COLOR_TEXTURE)
                CASE(GL_4D_COLOR_TEXTURE)
                CASE(GL_PASS_THROUGH_TOKEN)
                CASE(GL_POINT_TOKEN)
                CASE(GL_LINE_TOKEN)
                CASE(GL_POLYGON_TOKEN)
                CASE(GL_BITMAP_TOKEN)
                CASE(GL_DRAW_PIXEL_TOKEN)
                CASE(GL_COPY_PIXEL_TOKEN)
                CASE(GL_LINE_RESET_TOKEN)
                // CASE(GL_EXP)
                CASE(GL_EXP2)
                CASE(GL_COEFF)
                CASE(GL_ORDER)
                CASE(GL_DOMAIN)
                CASE(GL_CURRENT_COLOR)
                CASE(GL_CURRENT_INDEX)
                CASE(GL_CURRENT_NORMAL)
                CASE(GL_CURRENT_TEXTURE_COORDS)
                CASE(GL_CURRENT_RASTER_COLOR)
                CASE(GL_CURRENT_RASTER_INDEX)
                CASE(GL_CURRENT_RASTER_TEXTURE_COORDS)
                CASE(GL_CURRENT_RASTER_POSITION)
                CASE(GL_CURRENT_RASTER_POSITION_VALID)
                CASE(GL_CURRENT_RASTER_DISTANCE)
                CASE(GL_POINT_SMOOTH)
                CASE(GL_LINE_STIPPLE)
                CASE(GL_LINE_STIPPLE_PATTERN)
                CASE(GL_LINE_STIPPLE_REPEAT)
                CASE(GL_LIST_MODE)
                CASE(GL_MAX_LIST_NESTING)
                CASE(GL_LIST_BASE)
                CASE(GL_LIST_INDEX)
                CASE(GL_POLYGON_STIPPLE)
                CASE(GL_EDGE_FLAG)
                CASE(GL_LIGHTING)
                CASE(GL_LIGHT_MODEL_LOCAL_VIEWER)
                CASE(GL_LIGHT_MODEL_TWO_SIDE)
                CASE(GL_LIGHT_MODEL_AMBIENT)
                CASE(GL_SHADE_MODEL)
                CASE(GL_COLOR_MATERIAL_FACE)
                CASE(GL_COLOR_MATERIAL_PARAMETER)
                CASE(GL_COLOR_MATERIAL)
                CASE(GL_FOG)
                CASE(GL_FOG_INDEX)
                CASE(GL_FOG_DENSITY)
                CASE(GL_FOG_START)
                CASE(GL_FOG_END)
                CASE(GL_FOG_MODE)
                CASE(GL_FOG_COLOR)
                CASE(GL_ACCUM_CLEAR_VALUE)
                CASE(GL_MATRIX_MODE)
                CASE(GL_NORMALIZE)
                CASE(GL_MODELVIEW_STACK_DEPTH)
                CASE(GL_PROJECTION_STACK_DEPTH)
                CASE(GL_TEXTURE_STACK_DEPTH)
                CASE(GL_MODELVIEW_MATRIX)
                CASE(GL_PROJECTION_MATRIX)
                CASE(GL_TEXTURE_MATRIX)
                CASE(GL_ATTRIB_STACK_DEPTH)
                CASE(GL_CLIENT_ATTRIB_STACK_DEPTH)
                CASE(GL_ALPHA_TEST)
                CASE(GL_ALPHA_TEST_FUNC)
                CASE(GL_ALPHA_TEST_REF)
                CASE(GL_INDEX_LOGIC_OP)
                CASE(GL_AUX_BUFFERS)
                CASE(GL_INDEX_CLEAR_VALUE)
                CASE(GL_INDEX_WRITEMASK)
                CASE(GL_INDEX_MODE)
                CASE(GL_RGBA_MODE)
                CASE(GL_RENDER_MODE)
                CASE(GL_PERSPECTIVE_CORRECTION_HINT)
                CASE(GL_POINT_SMOOTH_HINT)
                CASE(GL_FOG_HINT)
                CASE(GL_TEXTURE_GEN_S)
                CASE(GL_TEXTURE_GEN_T)
                CASE(GL_TEXTURE_GEN_R)
                CASE(GL_TEXTURE_GEN_Q)
                CASE(GL_PIXEL_MAP_I_TO_I)
                CASE(GL_PIXEL_MAP_S_TO_S)
                CASE(GL_PIXEL_MAP_I_TO_R)
                CASE(GL_PIXEL_MAP_I_TO_G)
                CASE(GL_PIXEL_MAP_I_TO_B)
                CASE(GL_PIXEL_MAP_I_TO_A)
                CASE(GL_PIXEL_MAP_R_TO_R)
                CASE(GL_PIXEL_MAP_G_TO_G)
                CASE(GL_PIXEL_MAP_B_TO_B)
                CASE(GL_PIXEL_MAP_A_TO_A)
                CASE(GL_PIXEL_MAP_I_TO_I_SIZE)
                CASE(GL_PIXEL_MAP_S_TO_S_SIZE)
                CASE(GL_PIXEL_MAP_I_TO_R_SIZE)
                CASE(GL_PIXEL_MAP_I_TO_G_SIZE)
                CASE(GL_PIXEL_MAP_I_TO_B_SIZE)
                CASE(GL_PIXEL_MAP_I_TO_A_SIZE)
                CASE(GL_PIXEL_MAP_R_TO_R_SIZE)
                CASE(GL_PIXEL_MAP_G_TO_G_SIZE)
                CASE(GL_PIXEL_MAP_B_TO_B_SIZE)
                CASE(GL_PIXEL_MAP_A_TO_A_SIZE)
                CASE(GL_MAP_COLOR)
                CASE(GL_MAP_STENCIL)
                CASE(GL_INDEX_SHIFT)
                CASE(GL_INDEX_OFFSET)
                CASE(GL_RED_SCALE)
                CASE(GL_RED_BIAS)
                CASE(GL_ZOOM_X)
                CASE(GL_ZOOM_Y)
                CASE(GL_GREEN_SCALE)
                CASE(GL_GREEN_BIAS)
                CASE(GL_BLUE_SCALE)
                CASE(GL_BLUE_BIAS)
                CASE(GL_ALPHA_SCALE)
                CASE(GL_ALPHA_BIAS)
                CASE(GL_DEPTH_SCALE)
                CASE(GL_DEPTH_BIAS)
                CASE(GL_MAX_EVAL_ORDER)
                CASE(GL_MAX_LIGHTS)
                // CASE(GL_MAX_CLIP_PLANES)
                CASE(GL_MAX_PIXEL_MAP_TABLE)
                CASE(GL_MAX_ATTRIB_STACK_DEPTH)
                CASE(GL_MAX_MODELVIEW_STACK_DEPTH)
                CASE(GL_MAX_NAME_STACK_DEPTH)
                CASE(GL_MAX_PROJECTION_STACK_DEPTH)
                CASE(GL_MAX_TEXTURE_STACK_DEPTH)
                CASE(GL_MAX_CLIENT_ATTRIB_STACK_DEPTH)
                CASE(GL_INDEX_BITS)
                CASE(GL_RED_BITS)
                CASE(GL_GREEN_BITS)
                CASE(GL_BLUE_BITS)
                CASE(GL_ALPHA_BITS)
                CASE(GL_DEPTH_BITS)
                CASE(GL_STENCIL_BITS)
                CASE(GL_ACCUM_RED_BITS)
                CASE(GL_ACCUM_GREEN_BITS)
                CASE(GL_ACCUM_BLUE_BITS)
                CASE(GL_ACCUM_ALPHA_BITS)
                CASE(GL_NAME_STACK_DEPTH)
                CASE(GL_AUTO_NORMAL)
                CASE(GL_MAP1_COLOR_4)
                CASE(GL_MAP1_INDEX)
                CASE(GL_MAP1_NORMAL)
                CASE(GL_MAP1_TEXTURE_COORD_1)
                CASE(GL_MAP1_TEXTURE_COORD_2)
                CASE(GL_MAP1_TEXTURE_COORD_3)
                CASE(GL_MAP1_TEXTURE_COORD_4)
                CASE(GL_MAP1_VERTEX_3)
                CASE(GL_MAP1_VERTEX_4)
                CASE(GL_MAP2_COLOR_4)
                CASE(GL_MAP2_INDEX)
                CASE(GL_MAP2_NORMAL)
                CASE(GL_MAP2_TEXTURE_COORD_1)
                CASE(GL_MAP2_TEXTURE_COORD_2)
                CASE(GL_MAP2_TEXTURE_COORD_3)
                CASE(GL_MAP2_TEXTURE_COORD_4)
                CASE(GL_MAP2_VERTEX_3)
                CASE(GL_MAP2_VERTEX_4)
                CASE(GL_MAP1_GRID_DOMAIN)
                CASE(GL_MAP1_GRID_SEGMENTS)
                CASE(GL_MAP2_GRID_DOMAIN)
                CASE(GL_MAP2_GRID_SEGMENTS)
                CASE(GL_FEEDBACK_BUFFER_POINTER)
                CASE(GL_FEEDBACK_BUFFER_SIZE)
                CASE(GL_FEEDBACK_BUFFER_TYPE)
                CASE(GL_SELECTION_BUFFER_POINTER)
                CASE(GL_SELECTION_BUFFER_SIZE)
                CASE(GL_TEXTURE_BORDER)
                // CASE(GL_LIGHT0)
                CASE(GL_LIGHT1)
                CASE(GL_LIGHT2)
                CASE(GL_LIGHT3)
                CASE(GL_LIGHT4)
                CASE(GL_LIGHT5)
                CASE(GL_LIGHT6)
                CASE(GL_LIGHT7)
                CASE(GL_AMBIENT)
                CASE(GL_DIFFUSE)
                CASE(GL_SPECULAR)
                CASE(GL_POSITION)
                CASE(GL_SPOT_DIRECTION)
                CASE(GL_SPOT_EXPONENT)
                CASE(GL_SPOT_CUTOFF)
                CASE(GL_CONSTANT_ATTENUATION)
                CASE(GL_LINEAR_ATTENUATION)
                CASE(GL_QUADRATIC_ATTENUATION)
                CASE(GL_COMPILE)
                CASE(GL_COMPILE_AND_EXECUTE)
                CASE(GL_EMISSION)
                CASE(GL_SHININESS)
                CASE(GL_AMBIENT_AND_DIFFUSE)
                CASE(GL_COLOR_INDEXES)
                CASE(GL_MODELVIEW)
                CASE(GL_PROJECTION)
                CASE(GL_COLOR_INDEX)
                CASE(GL_LUMINANCE)
                CASE(GL_LUMINANCE_ALPHA)
                CASE(GL_BITMAP)
                CASE(GL_RENDER)
                CASE(GL_FEEDBACK)
                CASE(GL_SELECT)
                CASE(GL_FLAT)
                CASE(GL_SMOOTH)
                // CASE(GL_S)
                CASE(GL_T)
                CASE(GL_R)
                CASE(GL_Q)
                CASE(GL_MODULATE)
                CASE(GL_DECAL)
                CASE(GL_TEXTURE_ENV_MODE)
                CASE(GL_TEXTURE_ENV_COLOR)
                CASE(GL_TEXTURE_ENV)
                CASE(GL_EYE_LINEAR)
                CASE(GL_OBJECT_LINEAR)
                CASE(GL_SPHERE_MAP)
                CASE(GL_TEXTURE_GEN_MODE)
                CASE(GL_OBJECT_PLANE)
                CASE(GL_EYE_PLANE)
                CASE(GL_CLAMP)
                // CASE(GL_CLIENT_PIXEL_STORE_BIT)
                // CASE(GL_CLIENT_VERTEX_ARRAY_BIT)
                CASE(GL_ALPHA4)
                CASE(GL_ALPHA8)
                CASE(GL_ALPHA12)
                CASE(GL_ALPHA16)
                CASE(GL_LUMINANCE4)
                CASE(GL_LUMINANCE8)
                CASE(GL_LUMINANCE12)
                CASE(GL_LUMINANCE16)
                CASE(GL_LUMINANCE4_ALPHA4)
                CASE(GL_LUMINANCE6_ALPHA2)
                CASE(GL_LUMINANCE8_ALPHA8)
                CASE(GL_LUMINANCE12_ALPHA4)
                CASE(GL_LUMINANCE12_ALPHA12)
                CASE(GL_LUMINANCE16_ALPHA16)
                CASE(GL_INTENSITY)
                CASE(GL_INTENSITY4)
                CASE(GL_INTENSITY8)
                CASE(GL_INTENSITY12)
                CASE(GL_INTENSITY16)
                CASE(GL_TEXTURE_LUMINANCE_SIZE)
                CASE(GL_TEXTURE_INTENSITY_SIZE)
                CASE(GL_TEXTURE_PRIORITY)
                CASE(GL_TEXTURE_RESIDENT)
                CASE(GL_NORMAL_ARRAY)
                CASE(GL_COLOR_ARRAY)
                CASE(GL_INDEX_ARRAY)
                CASE(GL_TEXTURE_COORD_ARRAY)
                CASE(GL_EDGE_FLAG_ARRAY)
                CASE(GL_VERTEX_ARRAY_SIZE)
                CASE(GL_VERTEX_ARRAY_TYPE)
                CASE(GL_VERTEX_ARRAY_STRIDE)
                CASE(GL_NORMAL_ARRAY_TYPE)
                CASE(GL_NORMAL_ARRAY_STRIDE)
                CASE(GL_COLOR_ARRAY_SIZE)
                CASE(GL_COLOR_ARRAY_TYPE)
                CASE(GL_COLOR_ARRAY_STRIDE)
                CASE(GL_INDEX_ARRAY_TYPE)
                CASE(GL_INDEX_ARRAY_STRIDE)
                CASE(GL_TEXTURE_COORD_ARRAY_SIZE)
                CASE(GL_TEXTURE_COORD_ARRAY_TYPE)
                CASE(GL_TEXTURE_COORD_ARRAY_STRIDE)
                CASE(GL_EDGE_FLAG_ARRAY_STRIDE)
                CASE(GL_VERTEX_ARRAY_POINTER)
                CASE(GL_NORMAL_ARRAY_POINTER)
                CASE(GL_COLOR_ARRAY_POINTER)
                CASE(GL_INDEX_ARRAY_POINTER)
                CASE(GL_TEXTURE_COORD_ARRAY_POINTER)
                CASE(GL_EDGE_FLAG_ARRAY_POINTER)
                CASE(GL_V2F)
                CASE(GL_V3F)
                CASE(GL_C4UB_V2F)
                CASE(GL_C4UB_V3F)
                CASE(GL_C3F_V3F)
                CASE(GL_N3F_V3F)
                CASE(GL_C4F_N3F_V3F)
                CASE(GL_T2F_V3F)
                CASE(GL_T4F_V4F)
                CASE(GL_T2F_C4UB_V3F)
                CASE(GL_T2F_C3F_V3F)
                CASE(GL_T2F_N3F_V3F)
                CASE(GL_T2F_C4F_N3F_V3F)
                CASE(GL_T4F_C4F_N3F_V4F)
                // CASE(GL_VERTEX_ARRAY_EXT)
                // CASE(GL_NORMAL_ARRAY_EXT)
                // CASE(GL_COLOR_ARRAY_EXT)
                // CASE(GL_INDEX_ARRAY_EXT)
                // CASE(GL_TEXTURE_COORD_ARRAY_EXT)
                // CASE(GL_EDGE_FLAG_ARRAY_EXT)
                // CASE(GL_VERTEX_ARRAY_SIZE_EXT)
                // CASE(GL_VERTEX_ARRAY_TYPE_EXT)
                // CASE(GL_VERTEX_ARRAY_STRIDE_EXT)
                CASE(GL_VERTEX_ARRAY_COUNT_EXT)
                // CASE(GL_NORMAL_ARRAY_TYPE_EXT)
                // CASE(GL_NORMAL_ARRAY_STRIDE_EXT)
                CASE(GL_NORMAL_ARRAY_COUNT_EXT)
                // CASE(GL_COLOR_ARRAY_SIZE_EXT)
                // CASE(GL_COLOR_ARRAY_TYPE_EXT)
                // CASE(GL_COLOR_ARRAY_STRIDE_EXT)
                CASE(GL_COLOR_ARRAY_COUNT_EXT)
                // CASE(GL_INDEX_ARRAY_TYPE_EXT)
                // CASE(GL_INDEX_ARRAY_STRIDE_EXT)
                CASE(GL_INDEX_ARRAY_COUNT_EXT)
                // CASE(GL_TEXTURE_COORD_ARRAY_SIZE_EXT)
                // CASE(GL_TEXTURE_COORD_ARRAY_TYPE_EXT)
                // CASE(GL_TEXTURE_COORD_ARRAY_STRIDE_EXT)
                CASE(GL_TEXTURE_COORD_ARRAY_COUNT_EXT)
                // CASE(GL_EDGE_FLAG_ARRAY_STRIDE_EXT)
                CASE(GL_EDGE_FLAG_ARRAY_COUNT_EXT)
                // CASE(GL_VERTEX_ARRAY_POINTER_EXT)
                // CASE(GL_NORMAL_ARRAY_POINTER_EXT)
                // CASE(GL_COLOR_ARRAY_POINTER_EXT)
                // CASE(GL_INDEX_ARRAY_POINTER_EXT)
                // CASE(GL_TEXTURE_COORD_ARRAY_POINTER_EXT)
                // CASE(GL_EDGE_FLAG_ARRAY_POINTER_EXT)
                // CASE(GL_BGR_EXT)
                // CASE(GL_BGRA_EXT)
                // CASE(GL_COLOR_TABLE_FORMAT_EXT)
                // CASE(GL_COLOR_TABLE_WIDTH_EXT)
                // CASE(GL_COLOR_TABLE_RED_SIZE_EXT)
                // CASE(GL_COLOR_TABLE_GREEN_SIZE_EXT)
                // CASE(GL_COLOR_TABLE_BLUE_SIZE_EXT)
                // CASE(GL_COLOR_TABLE_ALPHA_SIZE_EXT)
                // CASE(GL_COLOR_TABLE_LUMINANCE_SIZE_EXT)
                // CASE(GL_COLOR_TABLE_INTENSITY_SIZE_EXT)
                CASE(GL_COLOR_INDEX1_EXT)
                CASE(GL_COLOR_INDEX2_EXT)
                CASE(GL_COLOR_INDEX4_EXT)
                CASE(GL_COLOR_INDEX8_EXT)
                CASE(GL_COLOR_INDEX12_EXT)
                CASE(GL_COLOR_INDEX16_EXT)
                // CASE(GL_MAX_ELEMENTS_VERTICES_WIN)
                // CASE(GL_MAX_ELEMENTS_INDICES_WIN)
                CASE(GL_PHONG_WIN)
                CASE(GL_PHONG_HINT_WIN)
                CASE(GL_FOG_SPECULAR_TEXTURE_WIN)

            default:
                return std::format("0x{:x}", value);
            }
#undef CASE
        }
    } // namespace MG_Util
} // namespace MobileGL
