// // Created by BZLZHH on 2025/3/15. // #include "../../Includes.h" #include "BlendState.h" namespace MG_Util::Debug { static FILE* logFile; const char* GetOSName() { #ifdef _WIN32 return "Windows"; #elif __ANDROID__ return "Android"; #elif __APPLE__ return "macOS"; #elif __linux__ return "Linux"; #else return "Unknown"; #endif } std::string GetCurrentThreadName() { char buffer[256] = {0}; #ifdef _WIN32 PWSTR description = nullptr; if (SUCCEEDED(GetThreadDescription(GetCurrentThread(), &description)) { WideCharToMultiByte(CP_UTF8, 0, description, -1, buffer, sizeof(buffer), nullptr, nullptr); LocalFree(description); } #elif defined(__ANDROID__) || defined(__linux__) pthread_getname_np(pthread_self(), buffer, sizeof(buffer)); #elif defined(__APPLE__) pthread_getname_np(buffer, sizeof(buffer)); #endif return buffer[0] ? buffer : "Unknown Thread"; } std::string GetCurrentTime() { auto now = std::chrono::system_clock::now(); time_t tt = std::chrono::system_clock::to_time_t(now); struct tm tm{}; #ifdef _WIN32 localtime_s(&tm, &tt); #else localtime_r(&tt, &tm); #endif char buffer[9]; // HH:MM:SS strftime(buffer, sizeof(buffer), "%T", &tm); return buffer; } template void LogImpl(LevelType logLevel, const char* levelTag, const char* format, int androidLevel, va_list args) { if (MG_Global::Common::LogLevel > logLevel) return; std::string header = "[" + GetCurrentTime() + "] [" + GetOSName() + " " + GetCurrentThreadName() + "/" + levelTag + "]: "; std::string full_format = header + format + "\n"; #ifdef __ANDROID__ if (MG_Global::Common::LogTarget & MG_Constants::Common::LOG_TARGET_ANDROID) { __android_log_vprint(androidLevel, MG_Constants::RenderName, full_format.c_str(), args); } #endif if (MG_Global::Common::LogTarget & MG_Constants::Common::LOG_TARGET_CONSOLE) { vprintf(full_format.c_str(), args); } if ((MG_Global::Common::LogTarget & MG_Constants::Common::LOG_TARGET_FILE) && MG_Global::Common::LOG_FILE_PATH != nullptr) { va_list args_copy; va_copy(args_copy, args); LogWrite(full_format.c_str(), args_copy); va_end(args_copy); } } #define DECLARE_LOG_FUNCTION(name, level) \ void Log##name(const char* format, ...) { \ if constexpr (MG_Global::Common::LogLevel <= MG_Constants::Common::LOG_LEVEL_##level) { \ va_list args; \ va_start(args, format); \ LogImpl(MG_Constants::Common::LOG_LEVEL_##level, \ #level, \ format, \ ANDROID_LOG_##level, \ args); \ va_end(args); \ } \ } DECLARE_LOG_FUNCTION(D, DEBUG) DECLARE_LOG_FUNCTION(W, WARN) DECLARE_LOG_FUNCTION(E, ERROR) DECLARE_LOG_FUNCTION(I, INFO) DECLARE_LOG_FUNCTION(F, FATAL) #undef DECLARE_LOG_FUNCTION void LogClear() { if (!MG_Global::Common::LOG_FILE_PATH) return; logFile = fopen(MG_Global::Common::LOG_FILE_PATH, "w"); if (logFile == nullptr) { return; } fclose(logFile); } void LogInit() { if (!MG_Global::Common::LOG_FILE_PATH) return; LogClear(); logFile = fopen(MG_Global::Common::LOG_FILE_PATH, "a"); } void LogWrite(const char* format, va_list args) { if (!MG_Global::Common::LOG_FILE_PATH || logFile == nullptr) return; vfprintf(logFile, format, args); va_end(args); fflush(logFile); #if FORCE_SYNC_WITH_LOG_FILE == 1 int fd = fileno(logFile); fsync(fd); #endif } const char* GLEnumToString(::GLenum value) { static char str[128]; 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: sprintf(str, "0x%x", value); return str; } #undef CASE } const char* DiligentBlendFactorToString(Diligent::BLEND_FACTOR value) { static char str[128]; switch (value) { #define CASE(value) \ case value: return #value; CASE(Diligent::BLEND_FACTOR_UNDEFINED) CASE(Diligent::BLEND_FACTOR_ZERO) CASE(Diligent::BLEND_FACTOR_ONE) CASE(Diligent::BLEND_FACTOR_SRC_COLOR) CASE(Diligent::BLEND_FACTOR_INV_SRC_COLOR) CASE(Diligent::BLEND_FACTOR_SRC_ALPHA) CASE(Diligent::BLEND_FACTOR_INV_SRC_ALPHA) CASE(Diligent::BLEND_FACTOR_DEST_ALPHA) CASE(Diligent::BLEND_FACTOR_DEST_COLOR) CASE(Diligent::BLEND_FACTOR_INV_DEST_COLOR) CASE(Diligent::BLEND_FACTOR_SRC_ALPHA_SAT) CASE(Diligent::BLEND_FACTOR_BLEND_FACTOR) CASE(Diligent::BLEND_FACTOR_INV_BLEND_FACTOR) CASE(Diligent::BLEND_FACTOR_SRC1_COLOR) CASE(Diligent::BLEND_FACTOR_INV_SRC1_COLOR) CASE(Diligent::BLEND_FACTOR_SRC1_ALPHA) CASE(Diligent::BLEND_FACTOR_INV_SRC1_ALPHA) default: sprintf(str, "0x%x", value); return str; } #undef CASE } }