// GENERATED FILE - DO NOT EDIT. // Generated by gen_gl_enum_utils.py using data from gl.xml and gl_angle_ext.xml. // // Copyright 2020 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // gl_enum_utils_autogen.cpp: // mapping of GLenum value to string. #include "libANGLE/gl_enum_utils_autogen.h" #include "libANGLE/gl_enum_utils.h" #include #include "common/bitset_utils.h" namespace gl { const char *GLenumToString(GLenumGroup enumGroup, unsigned int value) { switch (enumGroup) { case GLenumGroup::AlphaFunction: { switch (value) { case 0x200: return "GL_NEVER"; case 0x201: return "GL_LESS"; case 0x202: return "GL_EQUAL"; case 0x203: return "GL_LEQUAL"; case 0x204: return "GL_GREATER"; case 0x205: return "GL_NOTEQUAL"; case 0x206: return "GL_GEQUAL"; case 0x207: return "GL_ALWAYS"; default: return kUnknownGLenumString; } } case GLenumGroup::AtomicCounterBufferPName: { switch (value) { case 0x92C1: return "GL_ATOMIC_COUNTER_BUFFER_BINDING"; default: return kUnknownGLenumString; } } case GLenumGroup::AttribMask: { switch (value) { case 0x100: return "GL_DEPTH_BUFFER_BIT"; case 0x400: return "GL_STENCIL_BUFFER_BIT"; case 0x4000: return "GL_COLOR_BUFFER_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::AttributeType: { switch (value) { case 0x8B50: return "GL_FLOAT_VEC2"; case 0x8B51: return "GL_FLOAT_VEC3"; case 0x8B52: return "GL_FLOAT_VEC4"; case 0x8B53: return "GL_INT_VEC2"; case 0x8B54: return "GL_INT_VEC3"; case 0x8B55: return "GL_INT_VEC4"; case 0x8B56: return "GL_BOOL"; case 0x8B57: return "GL_BOOL_VEC2"; case 0x8B58: return "GL_BOOL_VEC3"; case 0x8B59: return "GL_BOOL_VEC4"; case 0x8B5A: return "GL_FLOAT_MAT2"; case 0x8B5B: return "GL_FLOAT_MAT3"; case 0x8B5C: return "GL_FLOAT_MAT4"; case 0x8B5E: return "GL_SAMPLER_2D"; case 0x8B5F: return "GL_SAMPLER_3D"; case 0x8B60: return "GL_SAMPLER_CUBE"; case 0x8B62: return "GL_SAMPLER_2D_SHADOW"; case 0x8B65: return "GL_FLOAT_MAT2x3"; case 0x8B66: return "GL_FLOAT_MAT2x4"; case 0x8B67: return "GL_FLOAT_MAT3x2"; case 0x8B68: return "GL_FLOAT_MAT3x4"; case 0x8B69: return "GL_FLOAT_MAT4x2"; case 0x8B6A: return "GL_FLOAT_MAT4x3"; default: return kUnknownGLenumString; } } case GLenumGroup::BindTransformFeedbackTarget: { switch (value) { case 0x8E22: return "GL_TRANSFORM_FEEDBACK"; default: return kUnknownGLenumString; } } case GLenumGroup::BlendEquationModeEXT: { switch (value) { case 0x8006: return "GL_FUNC_ADD"; case 0x800A: return "GL_FUNC_SUBTRACT"; case 0x800B: return "GL_FUNC_REVERSE_SUBTRACT"; default: return kUnknownGLenumString; } } case GLenumGroup::BlendingFactor: { switch (value) { case 0x0: return "GL_ZERO"; case 0x1: return "GL_ONE"; case 0x300: return "GL_SRC_COLOR"; case 0x301: return "GL_ONE_MINUS_SRC_COLOR"; case 0x302: return "GL_SRC_ALPHA"; case 0x303: return "GL_ONE_MINUS_SRC_ALPHA"; case 0x304: return "GL_DST_ALPHA"; case 0x305: return "GL_ONE_MINUS_DST_ALPHA"; case 0x306: return "GL_DST_COLOR"; case 0x307: return "GL_ONE_MINUS_DST_COLOR"; case 0x308: return "GL_SRC_ALPHA_SATURATE"; case 0x8001: return "GL_CONSTANT_COLOR"; case 0x8002: return "GL_ONE_MINUS_CONSTANT_COLOR"; case 0x8003: return "GL_CONSTANT_ALPHA"; case 0x8004: return "GL_ONE_MINUS_CONSTANT_ALPHA"; default: return kUnknownGLenumString; } } case GLenumGroup::BlitFramebufferFilter: { switch (value) { case 0x2600: return "GL_NEAREST"; case 0x2601: return "GL_LINEAR"; default: return kUnknownGLenumString; } } case GLenumGroup::Boolean: { switch (value) { case 0x0: return "GL_FALSE"; case 0x1: return "GL_TRUE"; default: return kUnknownGLenumString; } } case GLenumGroup::Buffer: { switch (value) { case 0x1800: return "GL_COLOR"; case 0x1801: return "GL_DEPTH"; case 0x1802: return "GL_STENCIL"; default: return kUnknownGLenumString; } } case GLenumGroup::BufferAccessARB: { switch (value) { case 0x88B8: return "GL_READ_ONLY"; case 0x88B9: return "GL_WRITE_ONLY"; case 0x88BA: return "GL_READ_WRITE"; default: return kUnknownGLenumString; } } case GLenumGroup::BufferAccessMask: { switch (value) { case 0x1: return "GL_MAP_READ_BIT"; case 0x2: return "GL_MAP_WRITE_BIT"; case 0x4: return "GL_MAP_INVALIDATE_RANGE_BIT"; case 0x8: return "GL_MAP_INVALIDATE_BUFFER_BIT"; case 0x10: return "GL_MAP_FLUSH_EXPLICIT_BIT"; case 0x20: return "GL_MAP_UNSYNCHRONIZED_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::BufferStorageTarget: { switch (value) { case 0x8892: return "GL_ARRAY_BUFFER"; case 0x8893: return "GL_ELEMENT_ARRAY_BUFFER"; case 0x88EB: return "GL_PIXEL_PACK_BUFFER"; case 0x88EC: return "GL_PIXEL_UNPACK_BUFFER"; case 0x8A11: return "GL_UNIFORM_BUFFER"; case 0x8C2A: return "GL_TEXTURE_BUFFER"; case 0x8C8E: return "GL_TRANSFORM_FEEDBACK_BUFFER"; case 0x8F36: return "GL_COPY_READ_BUFFER"; case 0x8F37: return "GL_COPY_WRITE_BUFFER"; case 0x8F3F: return "GL_DRAW_INDIRECT_BUFFER"; case 0x90D2: return "GL_SHADER_STORAGE_BUFFER"; case 0x90EE: return "GL_DISPATCH_INDIRECT_BUFFER"; case 0x92C0: return "GL_ATOMIC_COUNTER_BUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::BufferTargetARB: { switch (value) { case 0x8892: return "GL_ARRAY_BUFFER"; case 0x8893: return "GL_ELEMENT_ARRAY_BUFFER"; case 0x88EB: return "GL_PIXEL_PACK_BUFFER"; case 0x88EC: return "GL_PIXEL_UNPACK_BUFFER"; case 0x8A11: return "GL_UNIFORM_BUFFER"; case 0x8C2A: return "GL_TEXTURE_BUFFER"; case 0x8C8E: return "GL_TRANSFORM_FEEDBACK_BUFFER"; case 0x8F36: return "GL_COPY_READ_BUFFER"; case 0x8F37: return "GL_COPY_WRITE_BUFFER"; case 0x8F3F: return "GL_DRAW_INDIRECT_BUFFER"; case 0x90D2: return "GL_SHADER_STORAGE_BUFFER"; case 0x90EE: return "GL_DISPATCH_INDIRECT_BUFFER"; case 0x92C0: return "GL_ATOMIC_COUNTER_BUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::BufferUsageARB: { switch (value) { case 0x88E0: return "GL_STREAM_DRAW"; case 0x88E1: return "GL_STREAM_READ"; case 0x88E2: return "GL_STREAM_COPY"; case 0x88E4: return "GL_STATIC_DRAW"; case 0x88E5: return "GL_STATIC_READ"; case 0x88E6: return "GL_STATIC_COPY"; case 0x88E8: return "GL_DYNAMIC_DRAW"; case 0x88E9: return "GL_DYNAMIC_READ"; case 0x88EA: return "GL_DYNAMIC_COPY"; default: return kUnknownGLenumString; } } case GLenumGroup::CheckFramebufferStatusTarget: { switch (value) { case 0x8CA8: return "GL_READ_FRAMEBUFFER"; case 0x8CA9: return "GL_DRAW_FRAMEBUFFER"; case 0x8D40: return "GL_FRAMEBUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::ClearBufferMask: { switch (value) { case 0x100: return "GL_DEPTH_BUFFER_BIT"; case 0x400: return "GL_STENCIL_BUFFER_BIT"; case 0x4000: return "GL_COLOR_BUFFER_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::ColorBuffer: { switch (value) { case 0x0: return "GL_NONE"; case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; case 0x8CE0: return "GL_COLOR_ATTACHMENT0"; case 0x8CE1: return "GL_COLOR_ATTACHMENT1"; case 0x8CE2: return "GL_COLOR_ATTACHMENT2"; case 0x8CE3: return "GL_COLOR_ATTACHMENT3"; case 0x8CE4: return "GL_COLOR_ATTACHMENT4"; case 0x8CE5: return "GL_COLOR_ATTACHMENT5"; case 0x8CE6: return "GL_COLOR_ATTACHMENT6"; case 0x8CE7: return "GL_COLOR_ATTACHMENT7"; case 0x8CE8: return "GL_COLOR_ATTACHMENT8"; case 0x8CE9: return "GL_COLOR_ATTACHMENT9"; case 0x8CEA: return "GL_COLOR_ATTACHMENT10"; case 0x8CEB: return "GL_COLOR_ATTACHMENT11"; case 0x8CEC: return "GL_COLOR_ATTACHMENT12"; case 0x8CED: return "GL_COLOR_ATTACHMENT13"; case 0x8CEE: return "GL_COLOR_ATTACHMENT14"; case 0x8CEF: return "GL_COLOR_ATTACHMENT15"; case 0x8CF0: return "GL_COLOR_ATTACHMENT16"; case 0x8CF1: return "GL_COLOR_ATTACHMENT17"; case 0x8CF2: return "GL_COLOR_ATTACHMENT18"; case 0x8CF3: return "GL_COLOR_ATTACHMENT19"; case 0x8CF4: return "GL_COLOR_ATTACHMENT20"; case 0x8CF5: return "GL_COLOR_ATTACHMENT21"; case 0x8CF6: return "GL_COLOR_ATTACHMENT22"; case 0x8CF7: return "GL_COLOR_ATTACHMENT23"; case 0x8CF8: return "GL_COLOR_ATTACHMENT24"; case 0x8CF9: return "GL_COLOR_ATTACHMENT25"; case 0x8CFA: return "GL_COLOR_ATTACHMENT26"; case 0x8CFB: return "GL_COLOR_ATTACHMENT27"; case 0x8CFC: return "GL_COLOR_ATTACHMENT28"; case 0x8CFD: return "GL_COLOR_ATTACHMENT29"; case 0x8CFE: return "GL_COLOR_ATTACHMENT30"; case 0x8CFF: return "GL_COLOR_ATTACHMENT31"; default: return kUnknownGLenumString; } } case GLenumGroup::ColorMaterialFace: { switch (value) { case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::ColorPointerType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1404: return "GL_INT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::ContextFlagMask: { switch (value) { case 0x2: return "GL_CONTEXT_FLAG_DEBUG_BIT"; case 0x4: return "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::CopyBufferSubDataTarget: { switch (value) { case 0x8892: return "GL_ARRAY_BUFFER"; case 0x8893: return "GL_ELEMENT_ARRAY_BUFFER"; case 0x88EB: return "GL_PIXEL_PACK_BUFFER"; case 0x88EC: return "GL_PIXEL_UNPACK_BUFFER"; case 0x8A11: return "GL_UNIFORM_BUFFER"; case 0x8C2A: return "GL_TEXTURE_BUFFER"; case 0x8C8E: return "GL_TRANSFORM_FEEDBACK_BUFFER"; case 0x8F36: return "GL_COPY_READ_BUFFER"; case 0x8F37: return "GL_COPY_WRITE_BUFFER"; case 0x8F3F: return "GL_DRAW_INDIRECT_BUFFER"; case 0x90D2: return "GL_SHADER_STORAGE_BUFFER"; case 0x90EE: return "GL_DISPATCH_INDIRECT_BUFFER"; case 0x92C0: return "GL_ATOMIC_COUNTER_BUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::CullFaceMode: { switch (value) { case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::DebugSeverity: { switch (value) { case 0x1100: return "GL_DONT_CARE"; case 0x9146: return "GL_DEBUG_SEVERITY_HIGH"; case 0x9147: return "GL_DEBUG_SEVERITY_MEDIUM"; case 0x9148: return "GL_DEBUG_SEVERITY_LOW"; default: return kUnknownGLenumString; } } case GLenumGroup::DebugSource: { switch (value) { case 0x1100: return "GL_DONT_CARE"; case 0x8246: return "GL_DEBUG_SOURCE_API"; case 0x8247: return "GL_DEBUG_SOURCE_WINDOW_SYSTEM"; case 0x8248: return "GL_DEBUG_SOURCE_SHADER_COMPILER"; case 0x8249: return "GL_DEBUG_SOURCE_THIRD_PARTY"; case 0x824A: return "GL_DEBUG_SOURCE_APPLICATION"; case 0x824B: return "GL_DEBUG_SOURCE_OTHER"; default: return kUnknownGLenumString; } } case GLenumGroup::DebugType: { switch (value) { case 0x1100: return "GL_DONT_CARE"; case 0x824C: return "GL_DEBUG_TYPE_ERROR"; case 0x824D: return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"; case 0x824E: return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"; case 0x824F: return "GL_DEBUG_TYPE_PORTABILITY"; case 0x8250: return "GL_DEBUG_TYPE_PERFORMANCE"; case 0x8251: return "GL_DEBUG_TYPE_OTHER"; case 0x8268: return "GL_DEBUG_TYPE_MARKER"; case 0x8269: return "GL_DEBUG_TYPE_PUSH_GROUP"; case 0x826A: return "GL_DEBUG_TYPE_POP_GROUP"; default: return kUnknownGLenumString; } } case GLenumGroup::DefaultGroup: { switch (value) { case 0x16: return "GL_UUID_SIZE_EXT"; case 0x308: return "GL_SRC_ALPHA_SATURATE_EXT"; case 0x503: return "GL_STACK_OVERFLOW_KHR"; case 0x504: return "GL_STACK_UNDERFLOW_KHR"; case 0x507: return "GL_CONTEXT_LOST"; case 0x1004: return "GL_TEXTURE_BORDER_COLOR_OES"; case 0x2500: return "GL_TEXTURE_GEN_MODE_OES"; case 0x8005: return "GL_BLEND_COLOR"; case 0x8007: return "GL_MIN"; case 0x8008: return "GL_MAX"; case 0x8009: return "GL_BLEND_EQUATION"; case 0x803C: return "GL_ALPHA8_EXT"; case 0x8040: return "GL_LUMINANCE8_EXT"; case 0x8045: return "GL_LUMINANCE8_ALPHA8_EXT"; case 0x806A: return "GL_TEXTURE_BINDING_3D_OES"; case 0x8071: return "GL_TEXTURE_DEPTH"; case 0x8073: return "GL_MAX_3D_TEXTURE_SIZE"; case 0x8074: return "GL_VERTEX_ARRAY_KHR"; case 0x809E: return "GL_SAMPLE_ALPHA_TO_COVERAGE"; case 0x80A0: return "GL_SAMPLE_COVERAGE"; case 0x80AA: return "GL_SAMPLE_COVERAGE_VALUE"; case 0x80AB: return "GL_SAMPLE_COVERAGE_INVERT"; case 0x80C8: return "GL_BLEND_DST_RGB"; case 0x80C9: return "GL_BLEND_SRC_RGB"; case 0x80CA: return "GL_BLEND_DST_ALPHA"; case 0x80CB: return "GL_BLEND_SRC_ALPHA"; case 0x80E8: return "GL_MAX_ELEMENTS_VERTICES"; case 0x80E9: return "GL_MAX_ELEMENTS_INDICES"; case 0x812D: return "GL_CLAMP_TO_BORDER_OES"; case 0x81A6: return "GL_DEPTH_COMPONENT24"; case 0x8210: return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT"; case 0x8218: return "GL_FRAMEBUFFER_DEFAULT"; case 0x821A: return "GL_DEPTH_STENCIL_ATTACHMENT"; case 0x821B: return "GL_MAJOR_VERSION"; case 0x821C: return "GL_MINOR_VERSION"; case 0x821D: return "GL_NUM_EXTENSIONS"; case 0x821E: return "GL_CONTEXT_FLAGS"; case 0x8221: return "GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"; case 0x8228: return "GL_RG_INTEGER"; case 0x8242: return "GL_DEBUG_OUTPUT_SYNCHRONOUS"; case 0x8243: return "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"; case 0x8244: return "GL_DEBUG_CALLBACK_FUNCTION_KHR"; case 0x8245: return "GL_DEBUG_CALLBACK_USER_PARAM_KHR"; case 0x8246: return "GL_DEBUG_SOURCE_API_KHR"; case 0x8247: return "GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"; case 0x8248: return "GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"; case 0x8249: return "GL_DEBUG_SOURCE_THIRD_PARTY_KHR"; case 0x824A: return "GL_DEBUG_SOURCE_APPLICATION_KHR"; case 0x824B: return "GL_DEBUG_SOURCE_OTHER_KHR"; case 0x824C: return "GL_DEBUG_TYPE_ERROR_KHR"; case 0x824D: return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"; case 0x824E: return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"; case 0x824F: return "GL_DEBUG_TYPE_PORTABILITY_KHR"; case 0x8250: return "GL_DEBUG_TYPE_PERFORMANCE_KHR"; case 0x8251: return "GL_DEBUG_TYPE_OTHER_KHR"; case 0x8252: return "GL_LOSE_CONTEXT_ON_RESET"; case 0x8253: return "GL_GUILTY_CONTEXT_RESET_EXT"; case 0x8254: return "GL_INNOCENT_CONTEXT_RESET_EXT"; case 0x8255: return "GL_UNKNOWN_CONTEXT_RESET_EXT"; case 0x8256: return "GL_RESET_NOTIFICATION_STRATEGY"; case 0x825A: return "GL_PROGRAM_PIPELINE_BINDING"; case 0x825E: return "GL_LAYER_PROVOKING_VERTEX"; case 0x8260: return "GL_UNDEFINED_VERTEX"; case 0x8261: return "GL_NO_RESET_NOTIFICATION"; case 0x8262: return "GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"; case 0x8263: return "GL_MAX_COMPUTE_UNIFORM_COMPONENTS"; case 0x8264: return "GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"; case 0x8265: return "GL_MAX_COMPUTE_ATOMIC_COUNTERS"; case 0x8266: return "GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"; case 0x8268: return "GL_DEBUG_TYPE_MARKER_KHR"; case 0x8269: return "GL_DEBUG_TYPE_PUSH_GROUP_KHR"; case 0x826A: return "GL_DEBUG_TYPE_POP_GROUP_KHR"; case 0x826B: return "GL_DEBUG_SEVERITY_NOTIFICATION"; case 0x826C: return "GL_MAX_DEBUG_GROUP_STACK_DEPTH"; case 0x826D: return "GL_DEBUG_GROUP_STACK_DEPTH"; case 0x826E: return "GL_MAX_UNIFORM_LOCATIONS"; case 0x82D4: return "GL_VERTEX_ATTRIB_BINDING"; case 0x82D6: return "GL_VERTEX_BINDING_DIVISOR"; case 0x82D7: return "GL_VERTEX_BINDING_OFFSET"; case 0x82D8: return "GL_VERTEX_BINDING_STRIDE"; case 0x82D9: return "GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"; case 0x82DA: return "GL_MAX_VERTEX_ATTRIB_BINDINGS"; case 0x82DF: return "GL_TEXTURE_IMMUTABLE_LEVELS"; case 0x82E0: return "GL_BUFFER_KHR"; case 0x82E1: return "GL_SHADER_KHR"; case 0x82E2: return "GL_PROGRAM_KHR"; case 0x82E3: return "GL_QUERY_KHR"; case 0x82E4: return "GL_PROGRAM_PIPELINE_KHR"; case 0x82E5: return "GL_MAX_VERTEX_ATTRIB_STRIDE"; case 0x82E6: return "GL_SAMPLER_KHR"; case 0x82E7: return "GL_DISPLAY_LIST"; case 0x82E8: return "GL_MAX_LABEL_LENGTH"; case 0x8363: return "GL_UNSIGNED_SHORT_5_6_5"; case 0x8370: return "GL_MIRRORED_REPEAT"; case 0x84E0: return "GL_ACTIVE_TEXTURE"; case 0x84E8: return "GL_MAX_RENDERBUFFER_SIZE"; case 0x84F2: return "GL_ALL_COMPLETED_NV"; case 0x84F3: return "GL_FENCE_STATUS_NV"; case 0x84F4: return "GL_FENCE_CONDITION_NV"; case 0x84FA: return "GL_UNSIGNED_INT_24_8"; case 0x84FD: return "GL_MAX_TEXTURE_LOD_BIAS"; case 0x84FE: return "GL_TEXTURE_MAX_ANISOTROPY_EXT"; case 0x84FF: return "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"; case 0x8507: return "GL_INCR_WRAP"; case 0x8508: return "GL_DECR_WRAP"; case 0x8511: return "GL_NORMAL_MAP_OES"; case 0x8512: return "GL_REFLECTION_MAP_OES"; case 0x8513: return "GL_TEXTURE_CUBE_MAP_OES"; case 0x8514: return "GL_TEXTURE_BINDING_CUBE_MAP"; case 0x8515: return "GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"; case 0x8516: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"; case 0x8517: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"; case 0x8518: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"; case 0x8519: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"; case 0x851A: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"; case 0x851C: return "GL_MAX_CUBE_MAP_TEXTURE_SIZE"; case 0x8589: return "GL_SRC1_ALPHA_EXT"; case 0x85B5: return "GL_VERTEX_ARRAY_BINDING"; case 0x8645: return "GL_VERTEX_ATTRIB_ARRAY_POINTER"; case 0x86A2: return "GL_NUM_COMPRESSED_TEXTURE_FORMATS"; case 0x86A3: return "GL_COMPRESSED_TEXTURE_FORMATS"; case 0x86A4: return "GL_MAX_VERTEX_UNITS_OES"; case 0x86A9: return "GL_WEIGHT_ARRAY_TYPE_OES"; case 0x86AA: return "GL_WEIGHT_ARRAY_STRIDE_OES"; case 0x86AB: return "GL_WEIGHT_ARRAY_SIZE_OES"; case 0x86AC: return "GL_WEIGHT_ARRAY_POINTER_OES"; case 0x86AD: return "GL_WEIGHT_ARRAY_OES"; case 0x8741: return "GL_PROGRAM_BINARY_LENGTH_OES"; case 0x87FE: return "GL_NUM_PROGRAM_BINARY_FORMATS"; case 0x87FF: return "GL_PROGRAM_BINARY_FORMATS"; case 0x8800: return "GL_STENCIL_BACK_FUNC"; case 0x8801: return "GL_STENCIL_BACK_FAIL"; case 0x8802: return "GL_STENCIL_BACK_PASS_DEPTH_FAIL"; case 0x8803: return "GL_STENCIL_BACK_PASS_DEPTH_PASS"; case 0x8815: return "GL_RGB32F"; case 0x8816: return "GL_ALPHA32F_EXT"; case 0x8818: return "GL_LUMINANCE32F_EXT"; case 0x8819: return "GL_LUMINANCE_ALPHA32F_EXT"; case 0x881C: return "GL_ALPHA16F_EXT"; case 0x881E: return "GL_LUMINANCE16F_EXT"; case 0x881F: return "GL_LUMINANCE_ALPHA16F_EXT"; case 0x8824: return "GL_MAX_DRAW_BUFFERS"; case 0x8825: return "GL_DRAW_BUFFER0"; case 0x8826: return "GL_DRAW_BUFFER1"; case 0x8827: return "GL_DRAW_BUFFER2"; case 0x8828: return "GL_DRAW_BUFFER3"; case 0x8829: return "GL_DRAW_BUFFER4"; case 0x882A: return "GL_DRAW_BUFFER5"; case 0x882B: return "GL_DRAW_BUFFER6"; case 0x882C: return "GL_DRAW_BUFFER7"; case 0x882D: return "GL_DRAW_BUFFER8"; case 0x882E: return "GL_DRAW_BUFFER9"; case 0x882F: return "GL_DRAW_BUFFER10"; case 0x8830: return "GL_DRAW_BUFFER11"; case 0x8831: return "GL_DRAW_BUFFER12"; case 0x8832: return "GL_DRAW_BUFFER13"; case 0x8833: return "GL_DRAW_BUFFER14"; case 0x8834: return "GL_DRAW_BUFFER15"; case 0x883D: return "GL_BLEND_EQUATION_ALPHA"; case 0x8840: return "GL_MATRIX_PALETTE_OES"; case 0x8842: return "GL_MAX_PALETTE_MATRICES_OES"; case 0x8843: return "GL_CURRENT_PALETTE_MATRIX_OES"; case 0x8844: return "GL_MATRIX_INDEX_ARRAY_OES"; case 0x8846: return "GL_MATRIX_INDEX_ARRAY_SIZE_OES"; case 0x8847: return "GL_MATRIX_INDEX_ARRAY_TYPE_OES"; case 0x8848: return "GL_MATRIX_INDEX_ARRAY_STRIDE_OES"; case 0x8849: return "GL_MATRIX_INDEX_ARRAY_POINTER_OES"; case 0x884A: return "GL_TEXTURE_DEPTH_SIZE"; case 0x884E: return "GL_COMPARE_REF_TO_TEXTURE"; case 0x8864: return "GL_QUERY_COUNTER_BITS_EXT"; case 0x8865: return "GL_CURRENT_QUERY_EXT"; case 0x8866: return "GL_QUERY_RESULT_EXT"; case 0x8867: return "GL_QUERY_RESULT_AVAILABLE_EXT"; case 0x8869: return "GL_MAX_VERTEX_ATTRIBS"; case 0x886C: return "GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"; case 0x886D: return "GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"; case 0x8872: return "GL_MAX_TEXTURE_IMAGE_UNITS"; case 0x887F: return "GL_GEOMETRY_SHADER_INVOCATIONS"; case 0x8894: return "GL_ARRAY_BUFFER_BINDING"; case 0x8895: return "GL_ELEMENT_ARRAY_BUFFER_BINDING"; case 0x889E: return "GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"; case 0x88B9: return "GL_WRITE_ONLY_OES"; case 0x88BB: return "GL_BUFFER_ACCESS_OES"; case 0x88BC: return "GL_BUFFER_MAPPED_OES"; case 0x88BD: return "GL_BUFFER_MAP_POINTER"; case 0x88BF: return "GL_TIME_ELAPSED_EXT"; case 0x88ED: return "GL_PIXEL_PACK_BUFFER_BINDING"; case 0x88EF: return "GL_PIXEL_UNPACK_BUFFER_BINDING"; case 0x88F1: return "GL_TEXTURE_STENCIL_SIZE"; case 0x88F9: return "GL_SRC1_COLOR_EXT"; case 0x88FA: return "GL_ONE_MINUS_SRC1_COLOR_EXT"; case 0x88FB: return "GL_ONE_MINUS_SRC1_ALPHA_EXT"; case 0x88FC: return "GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT"; case 0x88FE: return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE"; case 0x88FF: return "GL_MAX_ARRAY_TEXTURE_LAYERS"; case 0x8904: return "GL_MIN_PROGRAM_TEXEL_OFFSET"; case 0x8905: return "GL_MAX_PROGRAM_TEXEL_OFFSET"; case 0x8916: return "GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"; case 0x8917: return "GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"; case 0x8918: return "GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"; case 0x8919: return "GL_SAMPLER_BINDING"; case 0x898A: return "GL_POINT_SIZE_ARRAY_TYPE_OES"; case 0x898B: return "GL_POINT_SIZE_ARRAY_STRIDE_OES"; case 0x898C: return "GL_POINT_SIZE_ARRAY_POINTER_OES"; case 0x8A28: return "GL_UNIFORM_BUFFER_BINDING"; case 0x8A29: return "GL_UNIFORM_BUFFER_START"; case 0x8A2A: return "GL_UNIFORM_BUFFER_SIZE"; case 0x8A2B: return "GL_MAX_VERTEX_UNIFORM_BLOCKS"; case 0x8A2C: return "GL_MAX_GEOMETRY_UNIFORM_BLOCKS"; case 0x8A2D: return "GL_MAX_FRAGMENT_UNIFORM_BLOCKS"; case 0x8A2E: return "GL_MAX_COMBINED_UNIFORM_BLOCKS"; case 0x8A2F: return "GL_MAX_UNIFORM_BUFFER_BINDINGS"; case 0x8A30: return "GL_MAX_UNIFORM_BLOCK_SIZE"; case 0x8A31: return "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"; case 0x8A32: return "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"; case 0x8A33: return "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"; case 0x8A34: return "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"; case 0x8B49: return "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"; case 0x8B4A: return "GL_MAX_VERTEX_UNIFORM_COMPONENTS"; case 0x8B4B: return "GL_MAX_VARYING_COMPONENTS"; case 0x8B4C: return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"; case 0x8B4D: return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"; case 0x8B8D: return "GL_CURRENT_PROGRAM"; case 0x8B9C: return "GL_POINT_SIZE_ARRAY_OES"; case 0x8B9D: return "GL_TEXTURE_CROP_RECT_OES"; case 0x8B9E: return "GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"; case 0x8B9F: return "GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"; case 0x8C10: return "GL_TEXTURE_RED_TYPE"; case 0x8C11: return "GL_TEXTURE_GREEN_TYPE"; case 0x8C12: return "GL_TEXTURE_BLUE_TYPE"; case 0x8C13: return "GL_TEXTURE_ALPHA_TYPE"; case 0x8C16: return "GL_TEXTURE_DEPTH_TYPE"; case 0x8C17: return "GL_UNSIGNED_NORMALIZED"; case 0x8C1D: return "GL_TEXTURE_BINDING_2D_ARRAY"; case 0x8C29: return "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"; case 0x8C2A: return "GL_TEXTURE_BUFFER_BINDING"; case 0x8C2B: return "GL_MAX_TEXTURE_BUFFER_SIZE"; case 0x8C2C: return "GL_TEXTURE_BINDING_BUFFER"; case 0x8C2D: return "GL_TEXTURE_BUFFER_DATA_STORE_BINDING"; case 0x8C2F: return "GL_ANY_SAMPLES_PASSED_EXT"; case 0x8C36: return "GL_SAMPLE_SHADING"; case 0x8C37: return "GL_MIN_SAMPLE_SHADING_VALUE"; case 0x8C3E: return "GL_UNSIGNED_INT_5_9_9_9_REV"; case 0x8C3F: return "GL_TEXTURE_SHARED_SIZE"; case 0x8C80: return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"; case 0x8C87: return "GL_PRIMITIVES_GENERATED_EXT"; case 0x8C89: return "GL_RASTERIZER_DISCARD"; case 0x8C8A: return "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"; case 0x8C8B: return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"; case 0x8C8C: return "GL_INTERLEAVED_ATTRIBS"; case 0x8C8D: return "GL_SEPARATE_ATTRIBS"; case 0x8CA3: return "GL_STENCIL_BACK_REF"; case 0x8CA4: return "GL_STENCIL_BACK_VALUE_MASK"; case 0x8CA5: return "GL_STENCIL_BACK_WRITEMASK"; case 0x8CA6: return "GL_DRAW_FRAMEBUFFER_BINDING"; case 0x8CA7: return "GL_RENDERBUFFER_BINDING"; case 0x8CA8: return "GL_READ_FRAMEBUFFER_ANGLE"; case 0x8CA9: return "GL_DRAW_FRAMEBUFFER_ANGLE"; case 0x8CAA: return "GL_READ_FRAMEBUFFER_BINDING"; case 0x8CAB: return "GL_RENDERBUFFER_SAMPLES_ANGLE"; case 0x8CD0: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"; case 0x8CD1: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"; case 0x8CD2: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"; case 0x8CD3: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"; case 0x8CD4: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES"; case 0x8CD5: return "GL_FRAMEBUFFER_COMPLETE_OES"; case 0x8CD6: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"; case 0x8CD7: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"; case 0x8CD9: return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"; case 0x8CDA: return "GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"; case 0x8CDD: return "GL_FRAMEBUFFER_UNSUPPORTED_OES"; case 0x8D20: return "GL_STENCIL_ATTACHMENT"; case 0x8D40: return "GL_FRAMEBUFFER_OES"; case 0x8D41: return "GL_RENDERBUFFER_OES"; case 0x8D42: return "GL_RENDERBUFFER_WIDTH_OES"; case 0x8D43: return "GL_RENDERBUFFER_HEIGHT_OES"; case 0x8D44: return "GL_RENDERBUFFER_INTERNAL_FORMAT_OES"; case 0x8D48: return "GL_STENCIL_INDEX8"; case 0x8D50: return "GL_RENDERBUFFER_RED_SIZE_OES"; case 0x8D51: return "GL_RENDERBUFFER_GREEN_SIZE_OES"; case 0x8D52: return "GL_RENDERBUFFER_BLUE_SIZE_OES"; case 0x8D53: return "GL_RENDERBUFFER_ALPHA_SIZE_OES"; case 0x8D54: return "GL_RENDERBUFFER_DEPTH_SIZE_OES"; case 0x8D55: return "GL_RENDERBUFFER_STENCIL_SIZE_OES"; case 0x8D56: return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE"; case 0x8D57: return "GL_MAX_SAMPLES"; case 0x8D60: return "GL_TEXTURE_GEN_STR_OES"; case 0x8D62: return "GL_RGB565"; case 0x8D69: return "GL_PRIMITIVE_RESTART_FIXED_INDEX"; case 0x8D6A: return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT"; case 0x8D6B: return "GL_MAX_ELEMENT_INDEX"; case 0x8D6C: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT"; case 0x8D94: return "GL_RED_INTEGER"; case 0x8D98: return "GL_RGB_INTEGER"; case 0x8D99: return "GL_RGBA_INTEGER"; case 0x8DA7: return "GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"; case 0x8DA8: return "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"; case 0x8DAD: return "GL_FLOAT_32_UNSIGNED_INT_24_8_REV"; case 0x8DC1: return "GL_SAMPLER_2D_ARRAY"; case 0x8DC2: return "GL_SAMPLER_BUFFER"; case 0x8DC4: return "GL_SAMPLER_2D_ARRAY_SHADOW"; case 0x8DC5: return "GL_SAMPLER_CUBE_SHADOW"; case 0x8DC6: return "GL_UNSIGNED_INT_VEC2"; case 0x8DC7: return "GL_UNSIGNED_INT_VEC3"; case 0x8DC8: return "GL_UNSIGNED_INT_VEC4"; case 0x8DCA: return "GL_INT_SAMPLER_2D"; case 0x8DCB: return "GL_INT_SAMPLER_3D"; case 0x8DCC: return "GL_INT_SAMPLER_CUBE"; case 0x8DCF: return "GL_INT_SAMPLER_2D_ARRAY"; case 0x8DD0: return "GL_INT_SAMPLER_BUFFER"; case 0x8DD2: return "GL_UNSIGNED_INT_SAMPLER_2D"; case 0x8DD3: return "GL_UNSIGNED_INT_SAMPLER_3D"; case 0x8DD4: return "GL_UNSIGNED_INT_SAMPLER_CUBE"; case 0x8DD7: return "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"; case 0x8DD8: return "GL_UNSIGNED_INT_SAMPLER_BUFFER"; case 0x8DD9: return "GL_GEOMETRY_SHADER_EXT"; case 0x8DDF: return "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"; case 0x8DE0: return "GL_MAX_GEOMETRY_OUTPUT_VERTICES"; case 0x8DE1: return "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"; case 0x8DF8: return "GL_SHADER_BINARY_FORMATS"; case 0x8DF9: return "GL_NUM_SHADER_BINARY_FORMATS"; case 0x8DFA: return "GL_SHADER_COMPILER"; case 0x8DFB: return "GL_MAX_VERTEX_UNIFORM_VECTORS"; case 0x8DFC: return "GL_MAX_VARYING_VECTORS"; case 0x8DFD: return "GL_MAX_FRAGMENT_UNIFORM_VECTORS"; case 0x8E1E: return "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"; case 0x8E1F: return "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"; case 0x8E25: return "GL_TRANSFORM_FEEDBACK_BINDING"; case 0x8E28: return "GL_TIMESTAMP_EXT"; case 0x8E4D: return "GL_FIRST_VERTEX_CONVENTION_EXT"; case 0x8E4E: return "GL_LAST_VERTEX_CONVENTION_EXT"; case 0x8E4F: return "GL_PROVOKING_VERTEX"; case 0x8E50: return "GL_SAMPLE_POSITION"; case 0x8E51: return "GL_SAMPLE_MASK"; case 0x8E52: return "GL_SAMPLE_MASK_VALUE"; case 0x8E59: return "GL_MAX_SAMPLE_MASK_WORDS"; case 0x8E5A: return "GL_MAX_GEOMETRY_SHADER_INVOCATIONS"; case 0x8E5B: return "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"; case 0x8E5C: return "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"; case 0x8E5D: return "GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"; case 0x8E5E: return "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"; case 0x8E5F: return "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"; case 0x8E75: return "GL_TESS_CONTROL_OUTPUT_VERTICES"; case 0x8E76: return "GL_TESS_GEN_MODE"; case 0x8E77: return "GL_TESS_GEN_SPACING"; case 0x8E78: return "GL_TESS_GEN_VERTEX_ORDER"; case 0x8E79: return "GL_TESS_GEN_POINT_MODE"; case 0x8E7A: return "GL_ISOLINES"; case 0x8E7B: return "GL_FRACTIONAL_ODD"; case 0x8E7C: return "GL_FRACTIONAL_EVEN"; case 0x8E7D: return "GL_MAX_PATCH_VERTICES"; case 0x8E7E: return "GL_MAX_TESS_GEN_LEVEL"; case 0x8E7F: return "GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"; case 0x8E80: return "GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"; case 0x8E81: return "GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"; case 0x8E82: return "GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"; case 0x8E83: return "GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"; case 0x8E84: return "GL_MAX_TESS_PATCH_COMPONENTS"; case 0x8E85: return "GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"; case 0x8E86: return "GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"; case 0x8E89: return "GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"; case 0x8E8A: return "GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"; case 0x8F36: return "GL_COPY_READ_BUFFER_BINDING"; case 0x8F37: return "GL_COPY_WRITE_BUFFER_BINDING"; case 0x8F38: return "GL_MAX_IMAGE_UNITS"; case 0x8F39: return "GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"; case 0x8F3A: return "GL_IMAGE_BINDING_NAME"; case 0x8F3B: return "GL_IMAGE_BINDING_LEVEL"; case 0x8F3C: return "GL_IMAGE_BINDING_LAYERED"; case 0x8F3D: return "GL_IMAGE_BINDING_LAYER"; case 0x8F3E: return "GL_IMAGE_BINDING_ACCESS"; case 0x8F43: return "GL_DRAW_INDIRECT_BUFFER_BINDING"; case 0x8F4F: return "GL_VERTEX_BINDING_BUFFER"; case 0x8F9C: return "GL_SIGNED_NORMALIZED"; case 0x8FBB: return "GL_GPU_DISJOINT_EXT"; case 0x8FBD: return "GL_SR8_EXT"; case 0x900A: return "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"; case 0x900C: return "GL_SAMPLER_CUBE_MAP_ARRAY"; case 0x900D: return "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"; case 0x900E: return "GL_INT_SAMPLER_CUBE_MAP_ARRAY"; case 0x900F: return "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"; case 0x904D: return "GL_IMAGE_2D"; case 0x904E: return "GL_IMAGE_3D"; case 0x9050: return "GL_IMAGE_CUBE"; case 0x9051: return "GL_IMAGE_BUFFER"; case 0x9053: return "GL_IMAGE_2D_ARRAY"; case 0x9054: return "GL_IMAGE_CUBE_MAP_ARRAY"; case 0x9058: return "GL_INT_IMAGE_2D"; case 0x9059: return "GL_INT_IMAGE_3D"; case 0x905B: return "GL_INT_IMAGE_CUBE"; case 0x905C: return "GL_INT_IMAGE_BUFFER"; case 0x905E: return "GL_INT_IMAGE_2D_ARRAY"; case 0x905F: return "GL_INT_IMAGE_CUBE_MAP_ARRAY"; case 0x9063: return "GL_UNSIGNED_INT_IMAGE_2D"; case 0x9064: return "GL_UNSIGNED_INT_IMAGE_3D"; case 0x9066: return "GL_UNSIGNED_INT_IMAGE_CUBE"; case 0x9067: return "GL_UNSIGNED_INT_IMAGE_BUFFER"; case 0x9069: return "GL_UNSIGNED_INT_IMAGE_2D_ARRAY"; case 0x906A: return "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"; case 0x906E: return "GL_IMAGE_BINDING_FORMAT"; case 0x90C8: return "GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"; case 0x90C9: return "GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"; case 0x90CA: return "GL_MAX_VERTEX_IMAGE_UNIFORMS"; case 0x90CB: return "GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"; case 0x90CC: return "GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"; case 0x90CD: return "GL_MAX_GEOMETRY_IMAGE_UNIFORMS"; case 0x90CE: return "GL_MAX_FRAGMENT_IMAGE_UNIFORMS"; case 0x90CF: return "GL_MAX_COMBINED_IMAGE_UNIFORMS"; case 0x90D3: return "GL_SHADER_STORAGE_BUFFER_BINDING"; case 0x90D4: return "GL_SHADER_STORAGE_BUFFER_START"; case 0x90D5: return "GL_SHADER_STORAGE_BUFFER_SIZE"; case 0x90D6: return "GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"; case 0x90D7: return "GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"; case 0x90D8: return "GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"; case 0x90D9: return "GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"; case 0x90DA: return "GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"; case 0x90DB: return "GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"; case 0x90DC: return "GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"; case 0x90DD: return "GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"; case 0x90DE: return "GL_MAX_SHADER_STORAGE_BLOCK_SIZE"; case 0x90DF: return "GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"; case 0x90EB: return "GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"; case 0x90EF: return "GL_DISPATCH_INDIRECT_BUFFER_BINDING"; case 0x90F3: return "GL_CONTEXT_ROBUST_ACCESS_EXT"; case 0x9102: return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"; case 0x9104: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE"; case 0x9105: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"; case 0x9106: return "GL_TEXTURE_SAMPLES"; case 0x9107: return "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"; case 0x9108: return "GL_SAMPLER_2D_MULTISAMPLE"; case 0x9109: return "GL_INT_SAMPLER_2D_MULTISAMPLE"; case 0x910A: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"; case 0x910B: return "GL_SAMPLER_2D_MULTISAMPLE_ARRAY"; case 0x910C: return "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"; case 0x910D: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"; case 0x910E: return "GL_MAX_COLOR_TEXTURE_SAMPLES"; case 0x910F: return "GL_MAX_DEPTH_TEXTURE_SAMPLES"; case 0x9110: return "GL_MAX_INTEGER_SAMPLES"; case 0x9111: return "GL_MAX_SERVER_WAIT_TIMEOUT"; case 0x9116: return "GL_SYNC_FENCE"; case 0x9118: return "GL_UNSIGNALED"; case 0x9119: return "GL_SIGNALED"; case 0x9122: return "GL_MAX_VERTEX_OUTPUT_COMPONENTS"; case 0x9123: return "GL_MAX_GEOMETRY_INPUT_COMPONENTS"; case 0x9124: return "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"; case 0x9125: return "GL_MAX_FRAGMENT_INPUT_COMPONENTS"; case 0x912F: return "GL_TEXTURE_IMMUTABLE_FORMAT"; case 0x9143: return "GL_MAX_DEBUG_MESSAGE_LENGTH"; case 0x9144: return "GL_MAX_DEBUG_LOGGED_MESSAGES"; case 0x9145: return "GL_DEBUG_LOGGED_MESSAGES"; case 0x9146: return "GL_DEBUG_SEVERITY_HIGH_KHR"; case 0x9147: return "GL_DEBUG_SEVERITY_MEDIUM_KHR"; case 0x9148: return "GL_DEBUG_SEVERITY_LOW_KHR"; case 0x919D: return "GL_TEXTURE_BUFFER_OFFSET"; case 0x919E: return "GL_TEXTURE_BUFFER_SIZE"; case 0x919F: return "GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"; case 0x91B0: return "GL_MAX_SHADER_COMPILER_THREADS_KHR"; case 0x91B1: return "GL_COMPLETION_STATUS_KHR"; case 0x91BB: return "GL_MAX_COMPUTE_UNIFORM_BLOCKS"; case 0x91BC: return "GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"; case 0x91BD: return "GL_MAX_COMPUTE_IMAGE_UNIFORMS"; case 0x91BE: return "GL_MAX_COMPUTE_WORK_GROUP_COUNT"; case 0x91BF: return "GL_MAX_COMPUTE_WORK_GROUP_SIZE"; case 0x9294: return "GL_MULTIPLY"; case 0x9295: return "GL_SCREEN"; case 0x9296: return "GL_OVERLAY"; case 0x9297: return "GL_DARKEN"; case 0x9298: return "GL_LIGHTEN"; case 0x9299: return "GL_COLORDODGE"; case 0x929A: return "GL_COLORBURN"; case 0x929B: return "GL_HARDLIGHT"; case 0x929C: return "GL_SOFTLIGHT"; case 0x929E: return "GL_DIFFERENCE"; case 0x92A0: return "GL_EXCLUSION"; case 0x92AD: return "GL_HSL_HUE"; case 0x92AE: return "GL_HSL_SATURATION"; case 0x92AF: return "GL_HSL_COLOR"; case 0x92B0: return "GL_HSL_LUMINOSITY"; case 0x92BE: return "GL_PRIMITIVE_BOUNDING_BOX"; case 0x92C2: return "GL_ATOMIC_COUNTER_BUFFER_START"; case 0x92C3: return "GL_ATOMIC_COUNTER_BUFFER_SIZE"; case 0x92CC: return "GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"; case 0x92CD: return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"; case 0x92CE: return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"; case 0x92CF: return "GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"; case 0x92D0: return "GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"; case 0x92D1: return "GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"; case 0x92D2: return "GL_MAX_VERTEX_ATOMIC_COUNTERS"; case 0x92D3: return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"; case 0x92D4: return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"; case 0x92D5: return "GL_MAX_GEOMETRY_ATOMIC_COUNTERS"; case 0x92D6: return "GL_MAX_FRAGMENT_ATOMIC_COUNTERS"; case 0x92D7: return "GL_MAX_COMBINED_ATOMIC_COUNTERS"; case 0x92D8: return "GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"; case 0x92DB: return "GL_UNSIGNED_INT_ATOMIC_COUNTER"; case 0x92DC: return "GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"; case 0x92E0: return "GL_DEBUG_OUTPUT"; case 0x92E7: return "GL_IS_PER_PATCH"; case 0x92F9: return "GL_NAME_LENGTH"; case 0x92FA: return "GL_TYPE"; case 0x92FB: return "GL_ARRAY_SIZE"; case 0x92FC: return "GL_OFFSET"; case 0x92FD: return "GL_BLOCK_INDEX"; case 0x92FE: return "GL_ARRAY_STRIDE"; case 0x92FF: return "GL_MATRIX_STRIDE"; case 0x9300: return "GL_IS_ROW_MAJOR"; case 0x9301: return "GL_ATOMIC_COUNTER_BUFFER_INDEX"; case 0x9302: return "GL_BUFFER_BINDING"; case 0x9303: return "GL_BUFFER_DATA_SIZE"; case 0x9304: return "GL_NUM_ACTIVE_VARIABLES"; case 0x9305: return "GL_ACTIVE_VARIABLES"; case 0x9306: return "GL_REFERENCED_BY_VERTEX_SHADER"; case 0x9307: return "GL_REFERENCED_BY_TESS_CONTROL_SHADER"; case 0x9308: return "GL_REFERENCED_BY_TESS_EVALUATION_SHADER"; case 0x9309: return "GL_REFERENCED_BY_GEOMETRY_SHADER"; case 0x930A: return "GL_REFERENCED_BY_FRAGMENT_SHADER"; case 0x930B: return "GL_REFERENCED_BY_COMPUTE_SHADER"; case 0x930C: return "GL_TOP_LEVEL_ARRAY_SIZE"; case 0x930D: return "GL_TOP_LEVEL_ARRAY_STRIDE"; case 0x930E: return "GL_LOCATION"; case 0x930F: return "GL_LOCATION_INDEX_EXT"; case 0x9312: return "GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"; case 0x9315: return "GL_MAX_FRAMEBUFFER_WIDTH"; case 0x9316: return "GL_MAX_FRAMEBUFFER_HEIGHT"; case 0x9317: return "GL_MAX_FRAMEBUFFER_LAYERS"; case 0x9318: return "GL_MAX_FRAMEBUFFER_SAMPLES"; case 0x9381: return "GL_MULTISAMPLE_LINE_WIDTH_RANGE"; case 0x9382: return "GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY"; case 0x93A0: return "GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE"; case 0x93A1: return "GL_BGRA8_EXT"; case 0x93A6: return "GL_PROGRAM_BINARY_ANGLE"; case 0x93AE: return "GL_HANDLE_TYPE_ZIRCON_VMO_ANGLE"; case 0x93AF: return "GL_HANDLE_TYPE_ZIRCON_EVENT_ANGLE"; case 0x93B0: return "GL_COMPRESSED_RGBA_ASTC_4x4"; case 0x93B1: return "GL_COMPRESSED_RGBA_ASTC_5x4"; case 0x93B2: return "GL_COMPRESSED_RGBA_ASTC_5x5"; case 0x93B3: return "GL_COMPRESSED_RGBA_ASTC_6x5"; case 0x93B4: return "GL_COMPRESSED_RGBA_ASTC_6x6"; case 0x93B5: return "GL_COMPRESSED_RGBA_ASTC_8x5"; case 0x93B6: return "GL_COMPRESSED_RGBA_ASTC_8x6"; case 0x93B7: return "GL_COMPRESSED_RGBA_ASTC_8x8"; case 0x93B8: return "GL_COMPRESSED_RGBA_ASTC_10x5"; case 0x93B9: return "GL_COMPRESSED_RGBA_ASTC_10x6"; case 0x93BA: return "GL_COMPRESSED_RGBA_ASTC_10x8"; case 0x93BB: return "GL_COMPRESSED_RGBA_ASTC_10x10"; case 0x93BC: return "GL_COMPRESSED_RGBA_ASTC_12x10"; case 0x93BD: return "GL_COMPRESSED_RGBA_ASTC_12x12"; case 0x93D0: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4"; case 0x93D1: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4"; case 0x93D2: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5"; case 0x93D3: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5"; case 0x93D4: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6"; case 0x93D5: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5"; case 0x93D6: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6"; case 0x93D7: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8"; case 0x93D8: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5"; case 0x93D9: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6"; case 0x93DA: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8"; case 0x93DB: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10"; case 0x93DC: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10"; case 0x93DD: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12"; case 0x9582: return "GL_NUM_TILING_TYPES_EXT"; case 0x9583: return "GL_TILING_TYPES_EXT"; case 0x9584: return "GL_OPTIMAL_TILING_EXT"; case 0x9585: return "GL_LINEAR_TILING_EXT"; case 0x9630: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR"; case 0x9631: return "GL_MAX_VIEWS_OVR"; case 0x9632: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR"; case 0x9633: return "GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR"; default: return kUnknownGLenumString; } } case GLenumGroup::DepthFunction: { switch (value) { case 0x200: return "GL_NEVER"; case 0x201: return "GL_LESS"; case 0x202: return "GL_EQUAL"; case 0x203: return "GL_LEQUAL"; case 0x204: return "GL_GREATER"; case 0x205: return "GL_NOTEQUAL"; case 0x206: return "GL_GEQUAL"; case 0x207: return "GL_ALWAYS"; default: return kUnknownGLenumString; } } case GLenumGroup::DrawBufferMode: { switch (value) { case 0x0: return "GL_NONE"; case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::DrawElementsType: { switch (value) { case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1405: return "GL_UNSIGNED_INT"; default: return kUnknownGLenumString; } } case GLenumGroup::EnableCap: { switch (value) { case 0xB44: return "GL_CULL_FACE"; case 0xB71: return "GL_DEPTH_TEST"; case 0xB90: return "GL_STENCIL_TEST"; case 0xBD0: return "GL_DITHER"; case 0xBE2: return "GL_BLEND"; case 0xC11: return "GL_SCISSOR_TEST"; case 0xDE1: return "GL_TEXTURE_2D"; case 0x8037: return "GL_POLYGON_OFFSET_FILL"; case 0x8074: return "GL_VERTEX_ARRAY"; default: return kUnknownGLenumString; } } case GLenumGroup::ErrorCode: { switch (value) { case 0x500: return "GL_INVALID_ENUM"; case 0x501: return "GL_INVALID_VALUE"; case 0x502: return "GL_INVALID_OPERATION"; case 0x503: return "GL_STACK_OVERFLOW"; case 0x504: return "GL_STACK_UNDERFLOW"; case 0x505: return "GL_OUT_OF_MEMORY"; case 0x506: return "GL_INVALID_FRAMEBUFFER_OPERATION"; default: return kUnknownGLenumString; } } case GLenumGroup::ExternalHandleType: { switch (value) { case 0x9586: return "GL_HANDLE_TYPE_OPAQUE_FD_EXT"; default: return kUnknownGLenumString; } } case GLenumGroup::FogCoordinatePointerType: { switch (value) { case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::FogMode: { switch (value) { case 0x2601: return "GL_LINEAR"; default: return kUnknownGLenumString; } } case GLenumGroup::FogPointerTypeEXT: { switch (value) { case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::FogPointerTypeIBM: { switch (value) { case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::FramebufferAttachment: { switch (value) { case 0x8CDF: return "GL_MAX_COLOR_ATTACHMENTS"; case 0x8CE0: return "GL_COLOR_ATTACHMENT0"; case 0x8CE1: return "GL_COLOR_ATTACHMENT1"; case 0x8CE2: return "GL_COLOR_ATTACHMENT2"; case 0x8CE3: return "GL_COLOR_ATTACHMENT3"; case 0x8CE4: return "GL_COLOR_ATTACHMENT4"; case 0x8CE5: return "GL_COLOR_ATTACHMENT5"; case 0x8CE6: return "GL_COLOR_ATTACHMENT6"; case 0x8CE7: return "GL_COLOR_ATTACHMENT7"; case 0x8CE8: return "GL_COLOR_ATTACHMENT8"; case 0x8CE9: return "GL_COLOR_ATTACHMENT9"; case 0x8CEA: return "GL_COLOR_ATTACHMENT10"; case 0x8CEB: return "GL_COLOR_ATTACHMENT11"; case 0x8CEC: return "GL_COLOR_ATTACHMENT12"; case 0x8CED: return "GL_COLOR_ATTACHMENT13"; case 0x8CEE: return "GL_COLOR_ATTACHMENT14"; case 0x8CEF: return "GL_COLOR_ATTACHMENT15"; case 0x8CF0: return "GL_COLOR_ATTACHMENT16"; case 0x8CF1: return "GL_COLOR_ATTACHMENT17"; case 0x8CF2: return "GL_COLOR_ATTACHMENT18"; case 0x8CF3: return "GL_COLOR_ATTACHMENT19"; case 0x8CF4: return "GL_COLOR_ATTACHMENT20"; case 0x8CF5: return "GL_COLOR_ATTACHMENT21"; case 0x8CF6: return "GL_COLOR_ATTACHMENT22"; case 0x8CF7: return "GL_COLOR_ATTACHMENT23"; case 0x8CF8: return "GL_COLOR_ATTACHMENT24"; case 0x8CF9: return "GL_COLOR_ATTACHMENT25"; case 0x8CFA: return "GL_COLOR_ATTACHMENT26"; case 0x8CFB: return "GL_COLOR_ATTACHMENT27"; case 0x8CFC: return "GL_COLOR_ATTACHMENT28"; case 0x8CFD: return "GL_COLOR_ATTACHMENT29"; case 0x8CFE: return "GL_COLOR_ATTACHMENT30"; case 0x8CFF: return "GL_COLOR_ATTACHMENT31"; case 0x8D00: return "GL_DEPTH_ATTACHMENT"; default: return kUnknownGLenumString; } } case GLenumGroup::FramebufferAttachmentParameterName: { switch (value) { case 0x8210: return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"; case 0x8211: return "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"; case 0x8212: return "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"; case 0x8213: return "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"; case 0x8214: return "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"; case 0x8215: return "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"; case 0x8216: return "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"; case 0x8217: return "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"; case 0x8CD1: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"; case 0x8CD2: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"; case 0x8CD3: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"; case 0x8CD4: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"; case 0x8DA7: return "GL_FRAMEBUFFER_ATTACHMENT_LAYERED"; default: return kUnknownGLenumString; } } case GLenumGroup::FramebufferParameterName: { switch (value) { case 0x9310: return "GL_FRAMEBUFFER_DEFAULT_WIDTH"; case 0x9311: return "GL_FRAMEBUFFER_DEFAULT_HEIGHT"; case 0x9312: return "GL_FRAMEBUFFER_DEFAULT_LAYERS"; case 0x9313: return "GL_FRAMEBUFFER_DEFAULT_SAMPLES"; case 0x9314: return "GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"; default: return kUnknownGLenumString; } } case GLenumGroup::FramebufferStatus: { switch (value) { case 0x8219: return "GL_FRAMEBUFFER_UNDEFINED"; case 0x8CD5: return "GL_FRAMEBUFFER_COMPLETE"; case 0x8CD6: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"; case 0x8CD7: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"; case 0x8CDD: return "GL_FRAMEBUFFER_UNSUPPORTED"; case 0x8D56: return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"; case 0x8DA8: return "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"; default: return kUnknownGLenumString; } } case GLenumGroup::FramebufferTarget: { switch (value) { case 0x8CA8: return "GL_READ_FRAMEBUFFER"; case 0x8CA9: return "GL_DRAW_FRAMEBUFFER"; case 0x8D40: return "GL_FRAMEBUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::FrontFaceDirection: { switch (value) { case 0x900: return "GL_CW"; case 0x901: return "GL_CCW"; default: return kUnknownGLenumString; } } case GLenumGroup::GetFramebufferParameter: { switch (value) { case 0x80A8: return "GL_SAMPLE_BUFFERS"; case 0x80A9: return "GL_SAMPLES"; case 0x8B9A: return "GL_IMPLEMENTATION_COLOR_READ_TYPE"; case 0x8B9B: return "GL_IMPLEMENTATION_COLOR_READ_FORMAT"; case 0x9310: return "GL_FRAMEBUFFER_DEFAULT_WIDTH"; case 0x9311: return "GL_FRAMEBUFFER_DEFAULT_HEIGHT"; case 0x9312: return "GL_FRAMEBUFFER_DEFAULT_LAYERS"; case 0x9313: return "GL_FRAMEBUFFER_DEFAULT_SAMPLES"; case 0x9314: return "GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"; default: return kUnknownGLenumString; } } case GLenumGroup::GetPName: { switch (value) { case 0xB21: return "GL_LINE_WIDTH"; case 0xB44: return "GL_CULL_FACE"; case 0xB45: return "GL_CULL_FACE_MODE"; case 0xB46: return "GL_FRONT_FACE"; case 0xB70: return "GL_DEPTH_RANGE"; case 0xB71: return "GL_DEPTH_TEST"; case 0xB72: return "GL_DEPTH_WRITEMASK"; case 0xB73: return "GL_DEPTH_CLEAR_VALUE"; case 0xB74: return "GL_DEPTH_FUNC"; case 0xB90: return "GL_STENCIL_TEST"; case 0xB91: return "GL_STENCIL_CLEAR_VALUE"; case 0xB92: return "GL_STENCIL_FUNC"; case 0xB93: return "GL_STENCIL_VALUE_MASK"; case 0xB94: return "GL_STENCIL_FAIL"; case 0xB95: return "GL_STENCIL_PASS_DEPTH_FAIL"; case 0xB96: return "GL_STENCIL_PASS_DEPTH_PASS"; case 0xB97: return "GL_STENCIL_REF"; case 0xB98: return "GL_STENCIL_WRITEMASK"; case 0xBA2: return "GL_VIEWPORT"; case 0xBD0: return "GL_DITHER"; case 0xBE2: return "GL_BLEND"; case 0xC02: return "GL_READ_BUFFER"; case 0xC10: return "GL_SCISSOR_BOX"; case 0xC11: return "GL_SCISSOR_TEST"; case 0xC22: return "GL_COLOR_CLEAR_VALUE"; case 0xC23: return "GL_COLOR_WRITEMASK"; case 0xCF2: return "GL_UNPACK_ROW_LENGTH"; case 0xCF3: return "GL_UNPACK_SKIP_ROWS"; case 0xCF4: return "GL_UNPACK_SKIP_PIXELS"; case 0xCF5: return "GL_UNPACK_ALIGNMENT"; case 0xD02: return "GL_PACK_ROW_LENGTH"; case 0xD03: return "GL_PACK_SKIP_ROWS"; case 0xD04: return "GL_PACK_SKIP_PIXELS"; case 0xD05: return "GL_PACK_ALIGNMENT"; case 0xD33: return "GL_MAX_TEXTURE_SIZE"; case 0xD3A: return "GL_MAX_VIEWPORT_DIMS"; case 0xD50: return "GL_SUBPIXEL_BITS"; case 0xD52: return "GL_RED_BITS"; case 0xD53: return "GL_GREEN_BITS"; case 0xD54: return "GL_BLUE_BITS"; case 0xD55: return "GL_ALPHA_BITS"; case 0xD56: return "GL_DEPTH_BITS"; case 0xD57: return "GL_STENCIL_BITS"; case 0xDE1: return "GL_TEXTURE_2D"; case 0x2A00: return "GL_POLYGON_OFFSET_UNITS"; case 0x8037: return "GL_POLYGON_OFFSET_FILL"; case 0x8038: return "GL_POLYGON_OFFSET_FACTOR"; case 0x8069: return "GL_TEXTURE_BINDING_2D"; case 0x806A: return "GL_TEXTURE_BINDING_3D"; case 0x8074: return "GL_VERTEX_ARRAY"; case 0x846D: return "GL_ALIASED_POINT_SIZE_RANGE"; case 0x846E: return "GL_ALIASED_LINE_WIDTH_RANGE"; case 0x9596: return "GL_NUM_DEVICE_UUIDS_EXT"; case 0x9597: return "GL_DEVICE_UUID_EXT"; case 0x9598: return "GL_DRIVER_UUID_EXT"; default: return kUnknownGLenumString; } } case GLenumGroup::GetPointervPName: { switch (value) { case 0x8244: return "GL_DEBUG_CALLBACK_FUNCTION"; case 0x8245: return "GL_DEBUG_CALLBACK_USER_PARAM"; default: return kUnknownGLenumString; } } case GLenumGroup::GetTextureParameter: { switch (value) { case 0x1000: return "GL_TEXTURE_WIDTH"; case 0x1001: return "GL_TEXTURE_HEIGHT"; case 0x1003: return "GL_TEXTURE_INTERNAL_FORMAT"; case 0x1004: return "GL_TEXTURE_BORDER_COLOR"; case 0x2800: return "GL_TEXTURE_MAG_FILTER"; case 0x2801: return "GL_TEXTURE_MIN_FILTER"; case 0x2802: return "GL_TEXTURE_WRAP_S"; case 0x2803: return "GL_TEXTURE_WRAP_T"; case 0x805C: return "GL_TEXTURE_RED_SIZE"; case 0x805D: return "GL_TEXTURE_GREEN_SIZE"; case 0x805E: return "GL_TEXTURE_BLUE_SIZE"; case 0x805F: return "GL_TEXTURE_ALPHA_SIZE"; default: return kUnknownGLenumString; } } case GLenumGroup::GraphicsResetStatus: { switch (value) { case 0x8253: return "GL_GUILTY_CONTEXT_RESET"; case 0x8254: return "GL_INNOCENT_CONTEXT_RESET"; case 0x8255: return "GL_UNKNOWN_CONTEXT_RESET"; default: return kUnknownGLenumString; } } case GLenumGroup::HintMode: { switch (value) { case 0x1100: return "GL_DONT_CARE"; case 0x1101: return "GL_FASTEST"; case 0x1102: return "GL_NICEST"; default: return kUnknownGLenumString; } } case GLenumGroup::HintTarget: { switch (value) { case 0x8192: return "GL_GENERATE_MIPMAP_HINT"; case 0x8257: return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT"; case 0x8B8B: return "GL_FRAGMENT_SHADER_DERIVATIVE_HINT"; default: return kUnknownGLenumString; } } case GLenumGroup::IndexPointerType: { switch (value) { case 0x1402: return "GL_SHORT"; case 0x1404: return "GL_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::InternalFormat: { switch (value) { case 0x1802: return "GL_STENCIL"; case 0x1902: return "GL_DEPTH_COMPONENT"; case 0x1903: return "GL_RED"; case 0x1906: return "GL_ALPHA"; case 0x1907: return "GL_RGB"; case 0x1908: return "GL_RGBA"; case 0x1909: return "GL_LUMINANCE"; case 0x190A: return "GL_LUMINANCE_ALPHA"; case 0x8051: return "GL_RGB8"; case 0x8052: return "GL_RGB10_EXT"; case 0x8056: return "GL_RGBA4"; case 0x8057: return "GL_RGB5_A1"; case 0x8058: return "GL_RGBA8"; case 0x8059: return "GL_RGB10_A2"; case 0x80E1: return "GL_BGRA_EXT"; case 0x81A5: return "GL_DEPTH_COMPONENT16"; case 0x81A7: return "GL_DEPTH_COMPONENT32_OES"; case 0x8227: return "GL_RG"; case 0x8229: return "GL_R8"; case 0x822B: return "GL_RG8"; case 0x822D: return "GL_R16F"; case 0x822E: return "GL_R32F"; case 0x822F: return "GL_RG16F"; case 0x8230: return "GL_RG32F"; case 0x8231: return "GL_R8I"; case 0x8232: return "GL_R8UI"; case 0x8233: return "GL_R16I"; case 0x8234: return "GL_R16UI"; case 0x8235: return "GL_R32I"; case 0x8236: return "GL_R32UI"; case 0x8237: return "GL_RG8I"; case 0x8238: return "GL_RG8UI"; case 0x8239: return "GL_RG16I"; case 0x823A: return "GL_RG16UI"; case 0x823B: return "GL_RG32I"; case 0x823C: return "GL_RG32UI"; case 0x83F0: return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"; case 0x83F1: return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"; case 0x83F2: return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"; case 0x83F3: return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"; case 0x84F9: return "GL_DEPTH_STENCIL"; case 0x8814: return "GL_RGBA32F"; case 0x881A: return "GL_RGBA16F"; case 0x881B: return "GL_RGB16F"; case 0x88F0: return "GL_DEPTH24_STENCIL8"; case 0x8C3A: return "GL_R11F_G11F_B10F"; case 0x8C3D: return "GL_RGB9_E5"; case 0x8C40: return "GL_SRGB"; case 0x8C41: return "GL_SRGB8"; case 0x8C42: return "GL_SRGB_ALPHA_EXT"; case 0x8C43: return "GL_SRGB8_ALPHA8"; case 0x8C4C: return "GL_COMPRESSED_SRGB_S3TC_DXT1_EXT"; case 0x8C4D: return "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT"; case 0x8C4E: return "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"; case 0x8C4F: return "GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"; case 0x8CAC: return "GL_DEPTH_COMPONENT32F"; case 0x8CAD: return "GL_DEPTH32F_STENCIL8"; case 0x8D64: return "GL_ETC1_RGB8_OES"; case 0x8D70: return "GL_RGBA32UI"; case 0x8D71: return "GL_RGB32UI"; case 0x8D76: return "GL_RGBA16UI"; case 0x8D77: return "GL_RGB16UI"; case 0x8D7C: return "GL_RGBA8UI"; case 0x8D7D: return "GL_RGB8UI"; case 0x8D82: return "GL_RGBA32I"; case 0x8D83: return "GL_RGB32I"; case 0x8D88: return "GL_RGBA16I"; case 0x8D89: return "GL_RGB16I"; case 0x8D8E: return "GL_RGBA8I"; case 0x8D8F: return "GL_RGB8I"; case 0x8DBB: return "GL_COMPRESSED_RED_RGTC1_EXT"; case 0x8DBC: return "GL_COMPRESSED_SIGNED_RED_RGTC1_EXT"; case 0x8DBD: return "GL_COMPRESSED_RED_GREEN_RGTC2_EXT"; case 0x8DBE: return "GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT"; case 0x8E8C: return "GL_COMPRESSED_RGBA_BPTC_UNORM_EXT"; case 0x8E8D: return "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT"; case 0x8E8E: return "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT"; case 0x8E8F: return "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT"; case 0x8F94: return "GL_R8_SNORM"; case 0x8F95: return "GL_RG8_SNORM"; case 0x8F96: return "GL_RGB8_SNORM"; case 0x8F97: return "GL_RGBA8_SNORM"; case 0x906F: return "GL_RGB10_A2UI"; case 0x9270: return "GL_COMPRESSED_R11_EAC"; case 0x9271: return "GL_COMPRESSED_SIGNED_R11_EAC"; case 0x9272: return "GL_COMPRESSED_RG11_EAC"; case 0x9273: return "GL_COMPRESSED_SIGNED_RG11_EAC"; case 0x9274: return "GL_COMPRESSED_RGB8_ETC2"; case 0x9275: return "GL_COMPRESSED_SRGB8_ETC2"; case 0x9276: return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"; case 0x9277: return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"; case 0x9278: return "GL_COMPRESSED_RGBA8_ETC2_EAC"; case 0x9279: return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"; default: return kUnknownGLenumString; } } case GLenumGroup::InternalFormatPName: { switch (value) { case 0x80A9: return "GL_SAMPLES"; case 0x86A1: return "GL_TEXTURE_COMPRESSED"; case 0x90C7: return "GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"; case 0x9380: return "GL_NUM_SAMPLE_COUNTS"; default: return kUnknownGLenumString; } } case GLenumGroup::LightEnvModeSGIX: { switch (value) { case 0x1E01: return "GL_REPLACE"; default: return kUnknownGLenumString; } } case GLenumGroup::ListNameType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1404: return "GL_INT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::LogicOp: { switch (value) { case 0x150A: return "GL_INVERT"; default: return kUnknownGLenumString; } } case GLenumGroup::MapBufferUsageMask: { switch (value) { case 0x1: return "GL_MAP_READ_BIT"; case 0x2: return "GL_MAP_WRITE_BIT"; case 0x4: return "GL_MAP_INVALIDATE_RANGE_BIT"; case 0x8: return "GL_MAP_INVALIDATE_BUFFER_BIT"; case 0x10: return "GL_MAP_FLUSH_EXPLICIT_BIT"; case 0x20: return "GL_MAP_UNSYNCHRONIZED_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::MaterialFace: { switch (value) { case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::MatrixMode: { switch (value) { case 0x1702: return "GL_TEXTURE"; default: return kUnknownGLenumString; } } case GLenumGroup::MemoryBarrierMask: { switch (value) { case 0x1: return "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"; case 0x2: return "GL_ELEMENT_ARRAY_BARRIER_BIT"; case 0x4: return "GL_UNIFORM_BARRIER_BIT"; case 0x8: return "GL_TEXTURE_FETCH_BARRIER_BIT"; case 0x20: return "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"; case 0x40: return "GL_COMMAND_BARRIER_BIT"; case 0x80: return "GL_PIXEL_BUFFER_BARRIER_BIT"; case 0x100: return "GL_TEXTURE_UPDATE_BARRIER_BIT"; case 0x200: return "GL_BUFFER_UPDATE_BARRIER_BIT"; case 0x400: return "GL_FRAMEBUFFER_BARRIER_BIT"; case 0x800: return "GL_TRANSFORM_FEEDBACK_BARRIER_BIT"; case 0x1000: return "GL_ATOMIC_COUNTER_BARRIER_BIT"; case 0x2000: return "GL_SHADER_STORAGE_BARRIER_BIT"; case 0xFFFFFFFF: return "GL_ALL_BARRIER_BITS"; default: return kUnknownGLenumString; } } case GLenumGroup::MemoryObjectParameterName: { switch (value) { case 0x9581: return "GL_DEDICATED_MEMORY_OBJECT_EXT"; case 0x959B: return "GL_PROTECTED_MEMORY_OBJECT_EXT"; default: return kUnknownGLenumString; } } case GLenumGroup::NormalPointerType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1404: return "GL_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::ObjectIdentifier: { switch (value) { case 0x1702: return "GL_TEXTURE"; case 0x8074: return "GL_VERTEX_ARRAY"; case 0x82E0: return "GL_BUFFER"; case 0x82E1: return "GL_SHADER"; case 0x82E2: return "GL_PROGRAM"; case 0x82E3: return "GL_QUERY"; case 0x82E4: return "GL_PROGRAM_PIPELINE"; case 0x82E6: return "GL_SAMPLER"; case 0x8D40: return "GL_FRAMEBUFFER"; case 0x8D41: return "GL_RENDERBUFFER"; case 0x8E22: return "GL_TRANSFORM_FEEDBACK"; default: return kUnknownGLenumString; } } case GLenumGroup::PatchParameterName: { switch (value) { case 0x8E72: return "GL_PATCH_VERTICES"; default: return kUnknownGLenumString; } } case GLenumGroup::PathFillMode: { switch (value) { case 0x150A: return "GL_INVERT"; default: return kUnknownGLenumString; } } case GLenumGroup::PathFontStyle: { switch (value) { case 0x0: return "GL_NONE"; default: return kUnknownGLenumString; } } case GLenumGroup::PathGenMode: { switch (value) { case 0x0: return "GL_NONE"; default: return kUnknownGLenumString; } } case GLenumGroup::PathTransformType: { switch (value) { case 0x0: return "GL_NONE"; default: return kUnknownGLenumString; } } case GLenumGroup::PipelineParameterName: { switch (value) { case 0x8259: return "GL_ACTIVE_PROGRAM"; case 0x8B30: return "GL_FRAGMENT_SHADER"; case 0x8B31: return "GL_VERTEX_SHADER"; case 0x8B84: return "GL_INFO_LOG_LENGTH"; case 0x8DD9: return "GL_GEOMETRY_SHADER"; case 0x8E87: return "GL_TESS_EVALUATION_SHADER"; case 0x8E88: return "GL_TESS_CONTROL_SHADER"; default: return kUnknownGLenumString; } } case GLenumGroup::PixelCopyType: { switch (value) { case 0x1800: return "GL_COLOR"; case 0x1801: return "GL_DEPTH"; case 0x1802: return "GL_STENCIL"; default: return kUnknownGLenumString; } } case GLenumGroup::PixelFormat: { switch (value) { case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1901: return "GL_STENCIL_INDEX"; case 0x1902: return "GL_DEPTH_COMPONENT"; case 0x1903: return "GL_RED"; case 0x1904: return "GL_GREEN"; case 0x1905: return "GL_BLUE"; case 0x1906: return "GL_ALPHA"; case 0x1907: return "GL_RGB"; case 0x1908: return "GL_RGBA"; case 0x1909: return "GL_LUMINANCE"; case 0x190A: return "GL_LUMINANCE_ALPHA"; default: return kUnknownGLenumString; } } case GLenumGroup::PixelStoreParameter: { switch (value) { case 0xCF2: return "GL_UNPACK_ROW_LENGTH"; case 0xCF3: return "GL_UNPACK_SKIP_ROWS"; case 0xCF4: return "GL_UNPACK_SKIP_PIXELS"; case 0xCF5: return "GL_UNPACK_ALIGNMENT"; case 0xD02: return "GL_PACK_ROW_LENGTH"; case 0xD03: return "GL_PACK_SKIP_ROWS"; case 0xD04: return "GL_PACK_SKIP_PIXELS"; case 0xD05: return "GL_PACK_ALIGNMENT"; case 0x806D: return "GL_UNPACK_SKIP_IMAGES"; case 0x806E: return "GL_UNPACK_IMAGE_HEIGHT"; default: return kUnknownGLenumString; } } case GLenumGroup::PixelTexGenMode: { switch (value) { case 0x0: return "GL_NONE"; case 0x1907: return "GL_RGB"; case 0x1908: return "GL_RGBA"; case 0x1909: return "GL_LUMINANCE"; case 0x190A: return "GL_LUMINANCE_ALPHA"; default: return kUnknownGLenumString; } } case GLenumGroup::PixelType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1404: return "GL_INT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1406: return "GL_FLOAT"; case 0x140B: return "GL_HALF_FLOAT"; case 0x8033: return "GL_UNSIGNED_SHORT_4_4_4_4"; case 0x8034: return "GL_UNSIGNED_SHORT_5_5_5_1"; case 0x8365: return "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT"; case 0x8366: return "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT"; case 0x8368: return "GL_UNSIGNED_INT_2_10_10_10_REV"; case 0x8C3B: return "GL_UNSIGNED_INT_10F_11F_11F_REV"; case 0x8D61: return "GL_HALF_FLOAT_OES"; default: return kUnknownGLenumString; } } case GLenumGroup::PrecisionType: { switch (value) { case 0x8DF0: return "GL_LOW_FLOAT"; case 0x8DF1: return "GL_MEDIUM_FLOAT"; case 0x8DF2: return "GL_HIGH_FLOAT"; case 0x8DF3: return "GL_LOW_INT"; case 0x8DF4: return "GL_MEDIUM_INT"; case 0x8DF5: return "GL_HIGH_INT"; default: return kUnknownGLenumString; } } case GLenumGroup::PrimitiveType: { switch (value) { case 0x0: return "GL_POINTS"; case 0x1: return "GL_LINES"; case 0x2: return "GL_LINE_LOOP"; case 0x3: return "GL_LINE_STRIP"; case 0x4: return "GL_TRIANGLES"; case 0x5: return "GL_TRIANGLE_STRIP"; case 0x6: return "GL_TRIANGLE_FAN"; case 0x7: return "GL_QUADS"; case 0xA: return "GL_LINES_ADJACENCY"; case 0xB: return "GL_LINE_STRIP_ADJACENCY"; case 0xC: return "GL_TRIANGLES_ADJACENCY"; case 0xD: return "GL_TRIANGLE_STRIP_ADJACENCY"; case 0xE: return "GL_PATCHES"; default: return kUnknownGLenumString; } } case GLenumGroup::ProgramInterface: { switch (value) { case 0x8C8E: return "GL_TRANSFORM_FEEDBACK_BUFFER"; case 0x92E1: return "GL_UNIFORM"; case 0x92E2: return "GL_UNIFORM_BLOCK"; case 0x92E3: return "GL_PROGRAM_INPUT"; case 0x92E4: return "GL_PROGRAM_OUTPUT"; case 0x92E5: return "GL_BUFFER_VARIABLE"; case 0x92E6: return "GL_SHADER_STORAGE_BLOCK"; case 0x92F4: return "GL_TRANSFORM_FEEDBACK_VARYING"; default: return kUnknownGLenumString; } } case GLenumGroup::ProgramInterfacePName: { switch (value) { case 0x92F5: return "GL_ACTIVE_RESOURCES"; case 0x92F6: return "GL_MAX_NAME_LENGTH"; case 0x92F7: return "GL_MAX_NUM_ACTIVE_VARIABLES"; default: return kUnknownGLenumString; } } case GLenumGroup::ProgramParameterPName: { switch (value) { case 0x8257: return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT"; case 0x8258: return "GL_PROGRAM_SEPARABLE"; default: return kUnknownGLenumString; } } case GLenumGroup::ProgramPropertyARB: { switch (value) { case 0x8267: return "GL_COMPUTE_WORK_GROUP_SIZE"; case 0x8741: return "GL_PROGRAM_BINARY_LENGTH"; case 0x8916: return "GL_GEOMETRY_VERTICES_OUT"; case 0x8917: return "GL_GEOMETRY_INPUT_TYPE"; case 0x8918: return "GL_GEOMETRY_OUTPUT_TYPE"; case 0x8A35: return "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"; case 0x8A36: return "GL_ACTIVE_UNIFORM_BLOCKS"; case 0x8B80: return "GL_DELETE_STATUS"; case 0x8B82: return "GL_LINK_STATUS"; case 0x8B83: return "GL_VALIDATE_STATUS"; case 0x8B84: return "GL_INFO_LOG_LENGTH"; case 0x8B85: return "GL_ATTACHED_SHADERS"; case 0x8B86: return "GL_ACTIVE_UNIFORMS"; case 0x8B87: return "GL_ACTIVE_UNIFORM_MAX_LENGTH"; case 0x8B89: return "GL_ACTIVE_ATTRIBUTES"; case 0x8B8A: return "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"; case 0x8C76: return "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"; case 0x8C7F: return "GL_TRANSFORM_FEEDBACK_BUFFER_MODE"; case 0x8C83: return "GL_TRANSFORM_FEEDBACK_VARYINGS"; case 0x92D9: return "GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"; default: return kUnknownGLenumString; } } case GLenumGroup::QueryObjectParameterName: { switch (value) { case 0x8866: return "GL_QUERY_RESULT"; case 0x8867: return "GL_QUERY_RESULT_AVAILABLE"; default: return kUnknownGLenumString; } } case GLenumGroup::QueryParameterName: { switch (value) { case 0x8865: return "GL_CURRENT_QUERY"; default: return kUnknownGLenumString; } } case GLenumGroup::QueryTarget: { switch (value) { case 0x8C2F: return "GL_ANY_SAMPLES_PASSED"; case 0x8C87: return "GL_PRIMITIVES_GENERATED"; case 0x8C88: return "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"; case 0x8D6A: return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE"; default: return kUnknownGLenumString; } } case GLenumGroup::ReadBufferMode: { switch (value) { case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::RenderbufferParameterName: { switch (value) { case 0x8CAB: return "GL_RENDERBUFFER_SAMPLES"; case 0x8D42: return "GL_RENDERBUFFER_WIDTH"; case 0x8D43: return "GL_RENDERBUFFER_HEIGHT"; case 0x8D44: return "GL_RENDERBUFFER_INTERNAL_FORMAT"; case 0x8D50: return "GL_RENDERBUFFER_RED_SIZE"; case 0x8D51: return "GL_RENDERBUFFER_GREEN_SIZE"; case 0x8D52: return "GL_RENDERBUFFER_BLUE_SIZE"; case 0x8D53: return "GL_RENDERBUFFER_ALPHA_SIZE"; case 0x8D54: return "GL_RENDERBUFFER_DEPTH_SIZE"; case 0x8D55: return "GL_RENDERBUFFER_STENCIL_SIZE"; default: return kUnknownGLenumString; } } case GLenumGroup::RenderbufferTarget: { switch (value) { case 0x8D41: return "GL_RENDERBUFFER"; default: return kUnknownGLenumString; } } case GLenumGroup::SamplerParameterName: { switch (value) { case 0x1004: return "GL_TEXTURE_BORDER_COLOR"; case 0x2800: return "GL_TEXTURE_MAG_FILTER"; case 0x2801: return "GL_TEXTURE_MIN_FILTER"; case 0x2802: return "GL_TEXTURE_WRAP_S"; case 0x2803: return "GL_TEXTURE_WRAP_T"; case 0x8072: return "GL_TEXTURE_WRAP_R"; case 0x813A: return "GL_TEXTURE_MIN_LOD"; case 0x813B: return "GL_TEXTURE_MAX_LOD"; case 0x884C: return "GL_TEXTURE_COMPARE_MODE"; case 0x884D: return "GL_TEXTURE_COMPARE_FUNC"; default: return kUnknownGLenumString; } } case GLenumGroup::ShaderParameterName: { switch (value) { case 0x8B4F: return "GL_SHADER_TYPE"; case 0x8B80: return "GL_DELETE_STATUS"; case 0x8B81: return "GL_COMPILE_STATUS"; case 0x8B84: return "GL_INFO_LOG_LENGTH"; case 0x8B88: return "GL_SHADER_SOURCE_LENGTH"; default: return kUnknownGLenumString; } } case GLenumGroup::ShaderType: { switch (value) { case 0x8B30: return "GL_FRAGMENT_SHADER"; case 0x8B31: return "GL_VERTEX_SHADER"; case 0x8DD9: return "GL_GEOMETRY_SHADER"; case 0x8E87: return "GL_TESS_EVALUATION_SHADER"; case 0x8E88: return "GL_TESS_CONTROL_SHADER"; case 0x91B9: return "GL_COMPUTE_SHADER"; default: return kUnknownGLenumString; } } case GLenumGroup::StencilFaceDirection: { switch (value) { case 0x404: return "GL_FRONT"; case 0x405: return "GL_BACK"; case 0x408: return "GL_FRONT_AND_BACK"; default: return kUnknownGLenumString; } } case GLenumGroup::StencilFunction: { switch (value) { case 0x200: return "GL_NEVER"; case 0x201: return "GL_LESS"; case 0x202: return "GL_EQUAL"; case 0x203: return "GL_LEQUAL"; case 0x204: return "GL_GREATER"; case 0x205: return "GL_NOTEQUAL"; case 0x206: return "GL_GEQUAL"; case 0x207: return "GL_ALWAYS"; default: return kUnknownGLenumString; } } case GLenumGroup::StencilOp: { switch (value) { case 0x0: return "GL_ZERO"; case 0x150A: return "GL_INVERT"; case 0x1E00: return "GL_KEEP"; case 0x1E01: return "GL_REPLACE"; case 0x1E02: return "GL_INCR"; case 0x1E03: return "GL_DECR"; default: return kUnknownGLenumString; } } case GLenumGroup::StringName: { switch (value) { case 0x1F00: return "GL_VENDOR"; case 0x1F01: return "GL_RENDERER"; case 0x1F02: return "GL_VERSION"; case 0x1F03: return "GL_EXTENSIONS"; case 0x8B8C: return "GL_SHADING_LANGUAGE_VERSION"; default: return kUnknownGLenumString; } } case GLenumGroup::SubroutineParameterName: { switch (value) { case 0x8A38: return "GL_UNIFORM_SIZE"; case 0x8A39: return "GL_UNIFORM_NAME_LENGTH"; default: return kUnknownGLenumString; } } case GLenumGroup::SyncCondition: { switch (value) { case 0x9117: return "GL_SYNC_GPU_COMMANDS_COMPLETE"; default: return kUnknownGLenumString; } } case GLenumGroup::SyncObjectMask: { switch (value) { case 0x1: return "GL_SYNC_FLUSH_COMMANDS_BIT"; default: return kUnknownGLenumString; } } case GLenumGroup::SyncParameterName: { switch (value) { case 0x9112: return "GL_OBJECT_TYPE"; case 0x9113: return "GL_SYNC_CONDITION"; case 0x9114: return "GL_SYNC_STATUS"; case 0x9115: return "GL_SYNC_FLAGS"; default: return kUnknownGLenumString; } } case GLenumGroup::SyncStatus: { switch (value) { case 0x911A: return "GL_ALREADY_SIGNALED"; case 0x911B: return "GL_TIMEOUT_EXPIRED"; case 0x911C: return "GL_CONDITION_SATISFIED"; case 0x911D: return "GL_WAIT_FAILED"; default: return kUnknownGLenumString; } } case GLenumGroup::TexCoordPointerType: { switch (value) { case 0x1402: return "GL_SHORT"; case 0x1404: return "GL_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureEnvMode: { switch (value) { case 0xBE2: return "GL_BLEND"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureLayout: { switch (value) { case 0x9530: return "GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT"; case 0x9531: return "GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT"; case 0x958D: return "GL_LAYOUT_GENERAL_EXT"; case 0x958E: return "GL_LAYOUT_COLOR_ATTACHMENT_EXT"; case 0x958F: return "GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT"; case 0x9590: return "GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT"; case 0x9591: return "GL_LAYOUT_SHADER_READ_ONLY_EXT"; case 0x9592: return "GL_LAYOUT_TRANSFER_SRC_EXT"; case 0x9593: return "GL_LAYOUT_TRANSFER_DST_EXT"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureMagFilter: { switch (value) { case 0x2600: return "GL_NEAREST"; case 0x2601: return "GL_LINEAR"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureMinFilter: { switch (value) { case 0x2600: return "GL_NEAREST"; case 0x2601: return "GL_LINEAR"; case 0x2700: return "GL_NEAREST_MIPMAP_NEAREST"; case 0x2701: return "GL_LINEAR_MIPMAP_NEAREST"; case 0x2702: return "GL_NEAREST_MIPMAP_LINEAR"; case 0x2703: return "GL_LINEAR_MIPMAP_LINEAR"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureParameterName: { switch (value) { case 0x1000: return "GL_TEXTURE_WIDTH"; case 0x1001: return "GL_TEXTURE_HEIGHT"; case 0x1003: return "GL_TEXTURE_INTERNAL_FORMAT"; case 0x1004: return "GL_TEXTURE_BORDER_COLOR"; case 0x2800: return "GL_TEXTURE_MAG_FILTER"; case 0x2801: return "GL_TEXTURE_MIN_FILTER"; case 0x2802: return "GL_TEXTURE_WRAP_S"; case 0x2803: return "GL_TEXTURE_WRAP_T"; case 0x805C: return "GL_TEXTURE_RED_SIZE"; case 0x805D: return "GL_TEXTURE_GREEN_SIZE"; case 0x805E: return "GL_TEXTURE_BLUE_SIZE"; case 0x805F: return "GL_TEXTURE_ALPHA_SIZE"; case 0x8072: return "GL_TEXTURE_WRAP_R"; case 0x813A: return "GL_TEXTURE_MIN_LOD"; case 0x813B: return "GL_TEXTURE_MAX_LOD"; case 0x813C: return "GL_TEXTURE_BASE_LEVEL"; case 0x813D: return "GL_TEXTURE_MAX_LEVEL"; case 0x884C: return "GL_TEXTURE_COMPARE_MODE"; case 0x884D: return "GL_TEXTURE_COMPARE_FUNC"; case 0x8E42: return "GL_TEXTURE_SWIZZLE_R"; case 0x8E43: return "GL_TEXTURE_SWIZZLE_G"; case 0x8E44: return "GL_TEXTURE_SWIZZLE_B"; case 0x8E45: return "GL_TEXTURE_SWIZZLE_A"; case 0x90EA: return "GL_DEPTH_STENCIL_TEXTURE_MODE"; case 0x9580: return "GL_TEXTURE_TILING_EXT"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureTarget: { switch (value) { case 0xDE1: return "GL_TEXTURE_2D"; case 0x806F: return "GL_TEXTURE_3D"; case 0x8513: return "GL_TEXTURE_CUBE_MAP"; case 0x8515: return "GL_TEXTURE_CUBE_MAP_POSITIVE_X"; case 0x8516: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X"; case 0x8517: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y"; case 0x8518: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"; case 0x8519: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z"; case 0x851A: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"; case 0x8C1A: return "GL_TEXTURE_2D_ARRAY"; case 0x9009: return "GL_TEXTURE_CUBE_MAP_ARRAY"; case 0x9100: return "GL_TEXTURE_2D_MULTISAMPLE"; case 0x9102: return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureUnit: { switch (value) { case 0x84C0: return "GL_TEXTURE0"; case 0x84C1: return "GL_TEXTURE1"; case 0x84C2: return "GL_TEXTURE2"; case 0x84C3: return "GL_TEXTURE3"; case 0x84C4: return "GL_TEXTURE4"; case 0x84C5: return "GL_TEXTURE5"; case 0x84C6: return "GL_TEXTURE6"; case 0x84C7: return "GL_TEXTURE7"; case 0x84C8: return "GL_TEXTURE8"; case 0x84C9: return "GL_TEXTURE9"; case 0x84CA: return "GL_TEXTURE10"; case 0x84CB: return "GL_TEXTURE11"; case 0x84CC: return "GL_TEXTURE12"; case 0x84CD: return "GL_TEXTURE13"; case 0x84CE: return "GL_TEXTURE14"; case 0x84CF: return "GL_TEXTURE15"; case 0x84D0: return "GL_TEXTURE16"; case 0x84D1: return "GL_TEXTURE17"; case 0x84D2: return "GL_TEXTURE18"; case 0x84D3: return "GL_TEXTURE19"; case 0x84D4: return "GL_TEXTURE20"; case 0x84D5: return "GL_TEXTURE21"; case 0x84D6: return "GL_TEXTURE22"; case 0x84D7: return "GL_TEXTURE23"; case 0x84D8: return "GL_TEXTURE24"; case 0x84D9: return "GL_TEXTURE25"; case 0x84DA: return "GL_TEXTURE26"; case 0x84DB: return "GL_TEXTURE27"; case 0x84DC: return "GL_TEXTURE28"; case 0x84DD: return "GL_TEXTURE29"; case 0x84DE: return "GL_TEXTURE30"; case 0x84DF: return "GL_TEXTURE31"; default: return kUnknownGLenumString; } } case GLenumGroup::TextureWrapMode: { switch (value) { case 0x2901: return "GL_REPEAT"; case 0x812D: return "GL_CLAMP_TO_BORDER"; case 0x812F: return "GL_CLAMP_TO_EDGE"; default: return kUnknownGLenumString; } } case GLenumGroup::TransformFeedbackPName: { switch (value) { case 0x8C84: return "GL_TRANSFORM_FEEDBACK_BUFFER_START"; case 0x8C85: return "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"; case 0x8C8F: return "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"; case 0x8E23: return "GL_TRANSFORM_FEEDBACK_PAUSED"; case 0x8E24: return "GL_TRANSFORM_FEEDBACK_ACTIVE"; default: return kUnknownGLenumString; } } case GLenumGroup::UniformBlockPName: { switch (value) { case 0x8A3F: return "GL_UNIFORM_BLOCK_BINDING"; case 0x8A40: return "GL_UNIFORM_BLOCK_DATA_SIZE"; case 0x8A41: return "GL_UNIFORM_BLOCK_NAME_LENGTH"; case 0x8A42: return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"; case 0x8A43: return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"; case 0x8A44: return "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"; case 0x8A46: return "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"; default: return kUnknownGLenumString; } } case GLenumGroup::UniformPName: { switch (value) { case 0x8A37: return "GL_UNIFORM_TYPE"; case 0x8A38: return "GL_UNIFORM_SIZE"; case 0x8A39: return "GL_UNIFORM_NAME_LENGTH"; case 0x8A3A: return "GL_UNIFORM_BLOCK_INDEX"; case 0x8A3B: return "GL_UNIFORM_OFFSET"; case 0x8A3C: return "GL_UNIFORM_ARRAY_STRIDE"; case 0x8A3D: return "GL_UNIFORM_MATRIX_STRIDE"; case 0x8A3E: return "GL_UNIFORM_IS_ROW_MAJOR"; default: return kUnknownGLenumString; } } case GLenumGroup::UseProgramStageMask: { switch (value) { case 0x1: return "GL_VERTEX_SHADER_BIT"; case 0x2: return "GL_FRAGMENT_SHADER_BIT"; case 0x4: return "GL_GEOMETRY_SHADER_BIT"; case 0x8: return "GL_TESS_CONTROL_SHADER_BIT"; case 0x10: return "GL_TESS_EVALUATION_SHADER_BIT"; case 0x20: return "GL_COMPUTE_SHADER_BIT"; case 0xFFFFFFFF: return "GL_ALL_SHADER_BITS"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexArrayPName: { switch (value) { case 0x82D5: return "GL_VERTEX_ATTRIB_RELATIVE_OFFSET"; case 0x8622: return "GL_VERTEX_ATTRIB_ARRAY_ENABLED"; case 0x8623: return "GL_VERTEX_ATTRIB_ARRAY_SIZE"; case 0x8624: return "GL_VERTEX_ATTRIB_ARRAY_STRIDE"; case 0x8625: return "GL_VERTEX_ATTRIB_ARRAY_TYPE"; case 0x886A: return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"; case 0x88FD: return "GL_VERTEX_ATTRIB_ARRAY_INTEGER"; case 0x88FE: return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexAttribEnum: { switch (value) { case 0x8622: return "GL_VERTEX_ATTRIB_ARRAY_ENABLED"; case 0x8623: return "GL_VERTEX_ATTRIB_ARRAY_SIZE"; case 0x8624: return "GL_VERTEX_ATTRIB_ARRAY_STRIDE"; case 0x8625: return "GL_VERTEX_ATTRIB_ARRAY_TYPE"; case 0x8626: return "GL_CURRENT_VERTEX_ATTRIB"; case 0x886A: return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"; case 0x889F: return "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"; case 0x88FD: return "GL_VERTEX_ATTRIB_ARRAY_INTEGER"; case 0x88FE: return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexAttribPointerType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1404: return "GL_INT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1406: return "GL_FLOAT"; case 0x140B: return "GL_HALF_FLOAT"; case 0x140C: return "GL_FIXED"; case 0x8368: return "GL_UNSIGNED_INT_2_10_10_10_REV"; case 0x8C3B: return "GL_UNSIGNED_INT_10F_11F_11F_REV"; case 0x8D9F: return "GL_INT_2_10_10_10_REV"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexAttribType: { switch (value) { case 0x1400: return "GL_BYTE"; case 0x1401: return "GL_UNSIGNED_BYTE"; case 0x1402: return "GL_SHORT"; case 0x1403: return "GL_UNSIGNED_SHORT"; case 0x1404: return "GL_INT"; case 0x1405: return "GL_UNSIGNED_INT"; case 0x1406: return "GL_FLOAT"; case 0x140B: return "GL_HALF_FLOAT"; case 0x140C: return "GL_FIXED"; case 0x8368: return "GL_UNSIGNED_INT_2_10_10_10_REV"; case 0x8C3B: return "GL_UNSIGNED_INT_10F_11F_11F_REV"; case 0x8D9F: return "GL_INT_2_10_10_10_REV"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexBufferObjectParameter: { switch (value) { case 0x8764: return "GL_BUFFER_SIZE"; case 0x8765: return "GL_BUFFER_USAGE"; case 0x88BC: return "GL_BUFFER_MAPPED"; case 0x911F: return "GL_BUFFER_ACCESS_FLAGS"; case 0x9120: return "GL_BUFFER_MAP_LENGTH"; case 0x9121: return "GL_BUFFER_MAP_OFFSET"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexBufferObjectUsage: { switch (value) { case 0x88E0: return "GL_STREAM_DRAW"; case 0x88E1: return "GL_STREAM_READ"; case 0x88E2: return "GL_STREAM_COPY"; case 0x88E4: return "GL_STATIC_DRAW"; case 0x88E5: return "GL_STATIC_READ"; case 0x88E6: return "GL_STATIC_COPY"; case 0x88E8: return "GL_DYNAMIC_DRAW"; case 0x88E9: return "GL_DYNAMIC_READ"; case 0x88EA: return "GL_DYNAMIC_COPY"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexPointerType: { switch (value) { case 0x1402: return "GL_SHORT"; case 0x1404: return "GL_INT"; case 0x1406: return "GL_FLOAT"; default: return kUnknownGLenumString; } } case GLenumGroup::VertexProvokingMode: { switch (value) { case 0x8E4D: return "GL_FIRST_VERTEX_CONVENTION"; case 0x8E4E: return "GL_LAST_VERTEX_CONVENTION"; default: return kUnknownGLenumString; } } default: return kUnknownGLenumString; } } std::string GLbitfieldToString(GLenumGroup enumGroup, unsigned int value) { std::stringstream st; if (value == 0) { return "0"; } const angle::BitSet<32> bitSet(value); bool first = true; for (const auto index : bitSet) { if (!first) { st << " | "; } first = false; unsigned int mask = 1u << index; OutputGLenumString(st, enumGroup, mask); } return st.str(); } } // namespace gl