1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * 4 * Generated from Khronos GL API description (gl.xml) revision d8371b44919d61c02e60f446a4b5461fda910f71. 5 */ 6 7const char* getErrorName (int value) 8{ 9 switch (value) 10 { 11 case GL_NO_ERROR: return "GL_NO_ERROR"; 12 case GL_INVALID_ENUM: return "GL_INVALID_ENUM"; 13 case GL_INVALID_VALUE: return "GL_INVALID_VALUE"; 14 case GL_INVALID_OPERATION: return "GL_INVALID_OPERATION"; 15 case GL_OUT_OF_MEMORY: return "GL_OUT_OF_MEMORY"; 16 case GL_INVALID_FRAMEBUFFER_OPERATION: return "GL_INVALID_FRAMEBUFFER_OPERATION"; 17 case GL_CONTEXT_LOST: return "GL_CONTEXT_LOST"; 18 default: return nullptr; 19 } 20} 21 22const char* getTypeName (int value) 23{ 24 switch (value) 25 { 26 case GL_BYTE: return "GL_BYTE"; 27 case GL_UNSIGNED_BYTE: return "GL_UNSIGNED_BYTE"; 28 case GL_SHORT: return "GL_SHORT"; 29 case GL_UNSIGNED_SHORT: return "GL_UNSIGNED_SHORT"; 30 case GL_INT: return "GL_INT"; 31 case GL_UNSIGNED_INT: return "GL_UNSIGNED_INT"; 32 case GL_FLOAT: return "GL_FLOAT"; 33 case GL_DOUBLE: return "GL_DOUBLE"; 34 case GL_FIXED: return "GL_FIXED"; 35 case GL_UNSIGNED_SHORT_5_6_5: return "GL_UNSIGNED_SHORT_5_6_5"; 36 case GL_UNSIGNED_SHORT_4_4_4_4: return "GL_UNSIGNED_SHORT_4_4_4_4"; 37 case GL_UNSIGNED_SHORT_5_5_5_1: return "GL_UNSIGNED_SHORT_5_5_5_1"; 38 case GL_UNSIGNED_BYTE_3_3_2: return "GL_UNSIGNED_BYTE_3_3_2"; 39 case GL_UNSIGNED_INT_8_8_8_8: return "GL_UNSIGNED_INT_8_8_8_8"; 40 case GL_UNSIGNED_INT_10_10_10_2: return "GL_UNSIGNED_INT_10_10_10_2"; 41 case GL_UNSIGNED_BYTE_2_3_3_REV: return "GL_UNSIGNED_BYTE_2_3_3_REV"; 42 case GL_UNSIGNED_SHORT_5_6_5_REV: return "GL_UNSIGNED_SHORT_5_6_5_REV"; 43 case GL_UNSIGNED_SHORT_4_4_4_4_REV: return "GL_UNSIGNED_SHORT_4_4_4_4_REV"; 44 case GL_UNSIGNED_SHORT_1_5_5_5_REV: return "GL_UNSIGNED_SHORT_1_5_5_5_REV"; 45 case GL_UNSIGNED_INT_8_8_8_8_REV: return "GL_UNSIGNED_INT_8_8_8_8_REV"; 46 case GL_HALF_FLOAT: return "GL_HALF_FLOAT"; 47 case GL_INT_2_10_10_10_REV: return "GL_INT_2_10_10_10_REV"; 48 case GL_UNSIGNED_INT_2_10_10_10_REV: return "GL_UNSIGNED_INT_2_10_10_10_REV"; 49 case GL_UNSIGNED_INT_10F_11F_11F_REV: return "GL_UNSIGNED_INT_10F_11F_11F_REV"; 50 case GL_UNSIGNED_INT_5_9_9_9_REV: return "GL_UNSIGNED_INT_5_9_9_9_REV"; 51 case GL_UNSIGNED_INT_24_8: return "GL_UNSIGNED_INT_24_8"; 52 case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: return "GL_FLOAT_32_UNSIGNED_INT_24_8_REV"; 53 case GL_SIGNED_NORMALIZED: return "GL_SIGNED_NORMALIZED"; 54 case GL_UNSIGNED_NORMALIZED: return "GL_UNSIGNED_NORMALIZED"; 55 case GL_HALF_FLOAT_OES: return "GL_HALF_FLOAT_OES"; 56 case GL_DOUBLE_VEC2: return "GL_DOUBLE_VEC2"; 57 case GL_DOUBLE_VEC3: return "GL_DOUBLE_VEC3"; 58 case GL_DOUBLE_VEC4: return "GL_DOUBLE_VEC4"; 59 case GL_DOUBLE_MAT2: return "GL_DOUBLE_MAT2"; 60 case GL_DOUBLE_MAT3: return "GL_DOUBLE_MAT3"; 61 case GL_DOUBLE_MAT4: return "GL_DOUBLE_MAT4"; 62 case GL_DOUBLE_MAT2x3: return "GL_DOUBLE_MAT2x3"; 63 case GL_DOUBLE_MAT2x4: return "GL_DOUBLE_MAT2x4"; 64 case GL_DOUBLE_MAT3x2: return "GL_DOUBLE_MAT3x2"; 65 case GL_DOUBLE_MAT3x4: return "GL_DOUBLE_MAT3x4"; 66 case GL_DOUBLE_MAT4x2: return "GL_DOUBLE_MAT4x2"; 67 case GL_DOUBLE_MAT4x3: return "GL_DOUBLE_MAT4x3"; 68 default: return nullptr; 69 } 70} 71 72const char* getParamQueryName (int value) 73{ 74 switch (value) 75 { 76 case GL_LINE_WIDTH: return "GL_LINE_WIDTH"; 77 case GL_LINE_SMOOTH: return "GL_LINE_SMOOTH"; 78 case GL_LINE_SMOOTH_HINT: return "GL_LINE_SMOOTH_HINT"; 79 case GL_LINE_WIDTH_RANGE: return "GL_LINE_WIDTH_RANGE"; 80 case GL_LINE_WIDTH_GRANULARITY: return "GL_LINE_WIDTH_GRANULARITY"; 81 case GL_POLYGON_SMOOTH: return "GL_POLYGON_SMOOTH"; 82 case GL_POLYGON_SMOOTH_HINT: return "GL_POLYGON_SMOOTH_HINT"; 83 case GL_ALIASED_POINT_SIZE_RANGE: return "GL_ALIASED_POINT_SIZE_RANGE"; 84 case GL_ALIASED_LINE_WIDTH_RANGE: return "GL_ALIASED_LINE_WIDTH_RANGE"; 85 case GL_CULL_FACE_MODE: return "GL_CULL_FACE_MODE"; 86 case GL_FRONT_FACE: return "GL_FRONT_FACE"; 87 case GL_DEPTH_RANGE: return "GL_DEPTH_RANGE"; 88 case GL_DEPTH_WRITEMASK: return "GL_DEPTH_WRITEMASK"; 89 case GL_DEPTH_CLEAR_VALUE: return "GL_DEPTH_CLEAR_VALUE"; 90 case GL_DEPTH_FUNC: return "GL_DEPTH_FUNC"; 91 case GL_STENCIL_CLEAR_VALUE: return "GL_STENCIL_CLEAR_VALUE"; 92 case GL_STENCIL_FUNC: return "GL_STENCIL_FUNC"; 93 case GL_STENCIL_FAIL: return "GL_STENCIL_FAIL"; 94 case GL_STENCIL_PASS_DEPTH_FAIL: return "GL_STENCIL_PASS_DEPTH_FAIL"; 95 case GL_STENCIL_PASS_DEPTH_PASS: return "GL_STENCIL_PASS_DEPTH_PASS"; 96 case GL_STENCIL_REF: return "GL_STENCIL_REF"; 97 case GL_STENCIL_VALUE_MASK: return "GL_STENCIL_VALUE_MASK"; 98 case GL_STENCIL_WRITEMASK: return "GL_STENCIL_WRITEMASK"; 99 case GL_STENCIL_BACK_FUNC: return "GL_STENCIL_BACK_FUNC"; 100 case GL_STENCIL_BACK_FAIL: return "GL_STENCIL_BACK_FAIL"; 101 case GL_STENCIL_BACK_PASS_DEPTH_FAIL: return "GL_STENCIL_BACK_PASS_DEPTH_FAIL"; 102 case GL_STENCIL_BACK_PASS_DEPTH_PASS: return "GL_STENCIL_BACK_PASS_DEPTH_PASS"; 103 case GL_STENCIL_BACK_REF: return "GL_STENCIL_BACK_REF"; 104 case GL_STENCIL_BACK_VALUE_MASK: return "GL_STENCIL_BACK_VALUE_MASK"; 105 case GL_STENCIL_BACK_WRITEMASK: return "GL_STENCIL_BACK_WRITEMASK"; 106 case GL_VIEWPORT: return "GL_VIEWPORT"; 107 case GL_SCISSOR_BOX: return "GL_SCISSOR_BOX"; 108 case GL_SCISSOR_TEST: return "GL_SCISSOR_TEST"; 109 case GL_COLOR_CLEAR_VALUE: return "GL_COLOR_CLEAR_VALUE"; 110 case GL_COLOR_WRITEMASK: return "GL_COLOR_WRITEMASK"; 111 case GL_UNPACK_ALIGNMENT: return "GL_UNPACK_ALIGNMENT"; 112 case GL_PACK_ALIGNMENT: return "GL_PACK_ALIGNMENT"; 113 case GL_MAX_TEXTURE_SIZE: return "GL_MAX_TEXTURE_SIZE"; 114 case GL_MAX_VIEWPORT_DIMS: return "GL_MAX_VIEWPORT_DIMS"; 115 case GL_SUBPIXEL_BITS: return "GL_SUBPIXEL_BITS"; 116 case GL_RED_BITS: return "GL_RED_BITS"; 117 case GL_GREEN_BITS: return "GL_GREEN_BITS"; 118 case GL_BLUE_BITS: return "GL_BLUE_BITS"; 119 case GL_ALPHA_BITS: return "GL_ALPHA_BITS"; 120 case GL_DEPTH_BITS: return "GL_DEPTH_BITS"; 121 case GL_STENCIL_BITS: return "GL_STENCIL_BITS"; 122 case GL_POLYGON_OFFSET_UNITS: return "GL_POLYGON_OFFSET_UNITS"; 123 case GL_POLYGON_OFFSET_FILL: return "GL_POLYGON_OFFSET_FILL"; 124 case GL_POLYGON_OFFSET_FACTOR: return "GL_POLYGON_OFFSET_FACTOR"; 125 case GL_POLYGON_OFFSET_POINT: return "GL_POLYGON_OFFSET_POINT"; 126 case GL_POLYGON_OFFSET_LINE: return "GL_POLYGON_OFFSET_LINE"; 127 case GL_TEXTURE_BINDING_2D: return "GL_TEXTURE_BINDING_2D"; 128 case GL_SAMPLE_BUFFERS: return "GL_SAMPLE_BUFFERS"; 129 case GL_SAMPLES: return "GL_SAMPLES"; 130 case GL_SAMPLE_COVERAGE_VALUE: return "GL_SAMPLE_COVERAGE_VALUE"; 131 case GL_SAMPLE_COVERAGE_INVERT: return "GL_SAMPLE_COVERAGE_INVERT"; 132 case GL_MAX_CUBE_MAP_TEXTURE_SIZE: return "GL_MAX_CUBE_MAP_TEXTURE_SIZE"; 133 case GL_MAX_RENDERBUFFER_SIZE: return "GL_MAX_RENDERBUFFER_SIZE"; 134 case GL_MAX_VERTEX_ATTRIBS: return "GL_MAX_VERTEX_ATTRIBS"; 135 case GL_MAX_VERTEX_UNIFORM_VECTORS: return "GL_MAX_VERTEX_UNIFORM_VECTORS"; 136 case GL_MAX_VARYING_VECTORS: return "GL_MAX_VARYING_VECTORS"; 137 case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"; 138 case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"; 139 case GL_MAX_TEXTURE_IMAGE_UNITS: return "GL_MAX_TEXTURE_IMAGE_UNITS"; 140 case GL_MAX_FRAGMENT_UNIFORM_VECTORS: return "GL_MAX_FRAGMENT_UNIFORM_VECTORS"; 141 default: return nullptr; 142 } 143} 144 145const char* getProgramParamName (int value) 146{ 147 switch (value) 148 { 149 case GL_ACTIVE_ATTRIBUTES: return "GL_ACTIVE_ATTRIBUTES"; 150 case GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: return "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"; 151 case GL_ACTIVE_UNIFORMS: return "GL_ACTIVE_UNIFORMS"; 152 case GL_ACTIVE_UNIFORM_BLOCKS: return "GL_ACTIVE_UNIFORM_BLOCKS"; 153 case GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: return "GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"; 154 case GL_ACTIVE_UNIFORM_MAX_LENGTH: return "GL_ACTIVE_UNIFORM_MAX_LENGTH"; 155 case GL_ATTACHED_SHADERS: return "GL_ATTACHED_SHADERS"; 156 case GL_DELETE_STATUS: return "GL_DELETE_STATUS"; 157 case GL_INFO_LOG_LENGTH: return "GL_INFO_LOG_LENGTH"; 158 case GL_LINK_STATUS: return "GL_LINK_STATUS"; 159 case GL_PROGRAM_BINARY_RETRIEVABLE_HINT: return "GL_PROGRAM_BINARY_RETRIEVABLE_HINT"; 160 case GL_TRANSFORM_FEEDBACK_BUFFER_MODE: return "GL_TRANSFORM_FEEDBACK_BUFFER_MODE"; 161 case GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED: return "GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED"; 162 case GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE: return "GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE"; 163 case GL_TRANSFORM_FEEDBACK_VARYINGS: return "GL_TRANSFORM_FEEDBACK_VARYINGS"; 164 case GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: return "GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"; 165 case GL_VALIDATE_STATUS: return "GL_VALIDATE_STATUS"; 166 case GL_GEOMETRY_INPUT_TYPE: return "GL_GEOMETRY_INPUT_TYPE"; 167 case GL_GEOMETRY_OUTPUT_TYPE: return "GL_GEOMETRY_OUTPUT_TYPE"; 168 case GL_GEOMETRY_VERTICES_OUT: return "GL_GEOMETRY_VERTICES_OUT"; 169 case GL_GEOMETRY_SHADER_INVOCATIONS: return "GL_GEOMETRY_SHADER_INVOCATIONS"; 170 case GL_PROGRAM_SEPARABLE: return "GL_PROGRAM_SEPARABLE"; 171 case GL_COMPUTE_WORK_GROUP_SIZE: return "GL_COMPUTE_WORK_GROUP_SIZE"; 172 case GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: return "GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"; 173 case GL_TESS_CONTROL_OUTPUT_VERTICES: return "GL_TESS_CONTROL_OUTPUT_VERTICES"; 174 case GL_TESS_GEN_MODE: return "GL_TESS_GEN_MODE"; 175 case GL_TESS_GEN_SPACING: return "GL_TESS_GEN_SPACING"; 176 case GL_TESS_GEN_VERTEX_ORDER: return "GL_TESS_GEN_VERTEX_ORDER"; 177 case GL_TESS_GEN_POINT_MODE: return "GL_TESS_GEN_POINT_MODE"; 178 default: return nullptr; 179 } 180} 181 182const char* getUniformParamName (int value) 183{ 184 switch (value) 185 { 186 case GL_UNIFORM_TYPE: return "GL_UNIFORM_TYPE"; 187 case GL_UNIFORM_SIZE: return "GL_UNIFORM_SIZE"; 188 case GL_UNIFORM_NAME_LENGTH: return "GL_UNIFORM_NAME_LENGTH"; 189 case GL_UNIFORM_BLOCK_INDEX: return "GL_UNIFORM_BLOCK_INDEX"; 190 case GL_UNIFORM_OFFSET: return "GL_UNIFORM_OFFSET"; 191 case GL_UNIFORM_ARRAY_STRIDE: return "GL_UNIFORM_ARRAY_STRIDE"; 192 case GL_UNIFORM_MATRIX_STRIDE: return "GL_UNIFORM_MATRIX_STRIDE"; 193 case GL_UNIFORM_IS_ROW_MAJOR: return "GL_UNIFORM_IS_ROW_MAJOR"; 194 default: return nullptr; 195 } 196} 197 198const char* getFramebufferAttachmentName (int value) 199{ 200 switch (value) 201 { 202 case GL_COLOR_ATTACHMENT0: return "GL_COLOR_ATTACHMENT0"; 203 case GL_COLOR_ATTACHMENT1: return "GL_COLOR_ATTACHMENT1"; 204 case GL_COLOR_ATTACHMENT2: return "GL_COLOR_ATTACHMENT2"; 205 case GL_COLOR_ATTACHMENT3: return "GL_COLOR_ATTACHMENT3"; 206 case GL_COLOR_ATTACHMENT4: return "GL_COLOR_ATTACHMENT4"; 207 case GL_COLOR_ATTACHMENT5: return "GL_COLOR_ATTACHMENT5"; 208 case GL_COLOR_ATTACHMENT6: return "GL_COLOR_ATTACHMENT6"; 209 case GL_COLOR_ATTACHMENT7: return "GL_COLOR_ATTACHMENT7"; 210 case GL_COLOR_ATTACHMENT8: return "GL_COLOR_ATTACHMENT8"; 211 case GL_COLOR_ATTACHMENT9: return "GL_COLOR_ATTACHMENT9"; 212 case GL_COLOR_ATTACHMENT10: return "GL_COLOR_ATTACHMENT10"; 213 case GL_COLOR_ATTACHMENT11: return "GL_COLOR_ATTACHMENT11"; 214 case GL_COLOR_ATTACHMENT12: return "GL_COLOR_ATTACHMENT12"; 215 case GL_COLOR_ATTACHMENT13: return "GL_COLOR_ATTACHMENT13"; 216 case GL_COLOR_ATTACHMENT14: return "GL_COLOR_ATTACHMENT14"; 217 case GL_COLOR_ATTACHMENT15: return "GL_COLOR_ATTACHMENT15"; 218 case GL_DEPTH_ATTACHMENT: return "GL_DEPTH_ATTACHMENT"; 219 case GL_STENCIL_ATTACHMENT: return "GL_STENCIL_ATTACHMENT"; 220 case GL_DEPTH_STENCIL_ATTACHMENT: return "GL_DEPTH_STENCIL_ATTACHMENT"; 221 case GL_BACK: return "GL_BACK"; 222 case GL_FRONT_LEFT: return "GL_FRONT_LEFT"; 223 case GL_FRONT_RIGHT: return "GL_FRONT_RIGHT"; 224 case GL_BACK_LEFT: return "GL_BACK_LEFT"; 225 case GL_BACK_RIGHT: return "GL_BACK_RIGHT"; 226 case GL_LEFT: return "GL_LEFT"; 227 case GL_RIGHT: return "GL_RIGHT"; 228 case GL_DEPTH: return "GL_DEPTH"; 229 case GL_STENCIL: return "GL_STENCIL"; 230 default: return nullptr; 231 } 232} 233 234const char* getFramebufferAttachmentParameterName (int value) 235{ 236 switch (value) 237 { 238 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"; 239 case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: return "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"; 240 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"; 241 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"; 242 case GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: return "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"; 243 case GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: return "GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"; 244 case GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: return "GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"; 245 case GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"; 246 case GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"; 247 case GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"; 248 case GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"; 249 case GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"; 250 case GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: return "GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"; 251 case GL_FRAMEBUFFER_ATTACHMENT_LAYERED: return "GL_FRAMEBUFFER_ATTACHMENT_LAYERED"; 252 default: return nullptr; 253 } 254} 255 256const char* getFramebufferTargetName (int value) 257{ 258 switch (value) 259 { 260 case GL_FRAMEBUFFER: return "GL_FRAMEBUFFER"; 261 case GL_RENDERBUFFER: return "GL_RENDERBUFFER"; 262 case GL_DRAW_FRAMEBUFFER: return "GL_DRAW_FRAMEBUFFER"; 263 case GL_READ_FRAMEBUFFER: return "GL_READ_FRAMEBUFFER"; 264 default: return nullptr; 265 } 266} 267 268const char* getFramebufferStatusName (int value) 269{ 270 switch (value) 271 { 272 case GL_FRAMEBUFFER_COMPLETE: return "GL_FRAMEBUFFER_COMPLETE"; 273 case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"; 274 case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"; 275 case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS: return "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"; 276 case GL_FRAMEBUFFER_UNSUPPORTED: return "GL_FRAMEBUFFER_UNSUPPORTED"; 277 case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"; 278 case GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: return "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"; 279 case GL_FRAMEBUFFER_UNDEFINED: return "GL_FRAMEBUFFER_UNDEFINED"; 280 case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: return "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER"; 281 case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: return "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER"; 282 default: return nullptr; 283 } 284} 285 286const char* getFramebufferAttachmentTypeName (int value) 287{ 288 switch (value) 289 { 290 case GL_NONE: return "GL_NONE"; 291 case GL_FRAMEBUFFER_DEFAULT: return "GL_FRAMEBUFFER_DEFAULT"; 292 case GL_TEXTURE: return "GL_TEXTURE"; 293 case GL_RENDERBUFFER: return "GL_RENDERBUFFER"; 294 default: return nullptr; 295 } 296} 297 298const char* getFramebufferColorEncodingName (int value) 299{ 300 switch (value) 301 { 302 case GL_LINEAR: return "GL_LINEAR"; 303 case GL_SRGB: return "GL_SRGB"; 304 default: return nullptr; 305 } 306} 307 308const char* getFramebufferParameterName (int value) 309{ 310 switch (value) 311 { 312 case GL_FRAMEBUFFER_DEFAULT_WIDTH: return "GL_FRAMEBUFFER_DEFAULT_WIDTH"; 313 case GL_FRAMEBUFFER_DEFAULT_HEIGHT: return "GL_FRAMEBUFFER_DEFAULT_HEIGHT"; 314 case GL_FRAMEBUFFER_DEFAULT_SAMPLES: return "GL_FRAMEBUFFER_DEFAULT_SAMPLES"; 315 case GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: return "GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"; 316 case GL_FRAMEBUFFER_DEFAULT_LAYERS: return "GL_FRAMEBUFFER_DEFAULT_LAYERS"; 317 case GL_DOUBLEBUFFER: return "GL_DOUBLEBUFFER"; 318 case GL_IMPLEMENTATION_COLOR_READ_FORMAT: return "GL_IMPLEMENTATION_COLOR_READ_FORMAT"; 319 case GL_IMPLEMENTATION_COLOR_READ_TYPE: return "GL_IMPLEMENTATION_COLOR_READ_TYPE"; 320 case GL_SAMPLES: return "GL_SAMPLES"; 321 case GL_SAMPLE_BUFFERS: return "GL_SAMPLE_BUFFERS"; 322 case GL_STEREO: return "GL_STEREO"; 323 default: return nullptr; 324 } 325} 326 327const char* getRenderbufferParameterName (int value) 328{ 329 switch (value) 330 { 331 case GL_RENDERBUFFER_WIDTH: return "GL_RENDERBUFFER_WIDTH"; 332 case GL_RENDERBUFFER_HEIGHT: return "GL_RENDERBUFFER_HEIGHT"; 333 case GL_RENDERBUFFER_INTERNAL_FORMAT: return "GL_RENDERBUFFER_INTERNAL_FORMAT"; 334 case GL_RENDERBUFFER_RED_SIZE: return "GL_RENDERBUFFER_RED_SIZE"; 335 case GL_RENDERBUFFER_GREEN_SIZE: return "GL_RENDERBUFFER_GREEN_SIZE"; 336 case GL_RENDERBUFFER_BLUE_SIZE: return "GL_RENDERBUFFER_BLUE_SIZE"; 337 case GL_RENDERBUFFER_ALPHA_SIZE: return "GL_RENDERBUFFER_ALPHA_SIZE"; 338 case GL_RENDERBUFFER_DEPTH_SIZE: return "GL_RENDERBUFFER_DEPTH_SIZE"; 339 case GL_RENDERBUFFER_STENCIL_SIZE: return "GL_RENDERBUFFER_STENCIL_SIZE"; 340 case GL_RENDERBUFFER_SAMPLES: return "GL_RENDERBUFFER_SAMPLES"; 341 default: return nullptr; 342 } 343} 344 345const char* getPrimitiveTypeName (int value) 346{ 347 switch (value) 348 { 349 case GL_POINTS: return "GL_POINTS"; 350 case GL_LINES: return "GL_LINES"; 351 case GL_LINE_STRIP: return "GL_LINE_STRIP"; 352 case GL_LINE_LOOP: return "GL_LINE_LOOP"; 353 case GL_TRIANGLES: return "GL_TRIANGLES"; 354 case GL_TRIANGLE_STRIP: return "GL_TRIANGLE_STRIP"; 355 case GL_TRIANGLE_FAN: return "GL_TRIANGLE_FAN"; 356 case GL_LINES_ADJACENCY: return "GL_LINES_ADJACENCY"; 357 case GL_LINE_STRIP_ADJACENCY: return "GL_LINE_STRIP_ADJACENCY"; 358 case GL_TRIANGLES_ADJACENCY: return "GL_TRIANGLES_ADJACENCY"; 359 case GL_TRIANGLE_STRIP_ADJACENCY: return "GL_TRIANGLE_STRIP_ADJACENCY"; 360 case GL_PATCHES: return "GL_PATCHES"; 361 case GL_ISOLINES: return "GL_ISOLINES"; 362 default: return nullptr; 363 } 364} 365 366const char* getBlendFactorName (int value) 367{ 368 switch (value) 369 { 370 case GL_ZERO: return "GL_ZERO"; 371 case GL_ONE: return "GL_ONE"; 372 case GL_SRC_ALPHA_SATURATE: return "GL_SRC_ALPHA_SATURATE"; 373 case GL_SRC_COLOR: return "GL_SRC_COLOR"; 374 case GL_ONE_MINUS_SRC_COLOR: return "GL_ONE_MINUS_SRC_COLOR"; 375 case GL_SRC_ALPHA: return "GL_SRC_ALPHA"; 376 case GL_ONE_MINUS_SRC_ALPHA: return "GL_ONE_MINUS_SRC_ALPHA"; 377 case GL_SRC1_COLOR: return "GL_SRC1_COLOR"; 378 case GL_ONE_MINUS_SRC1_COLOR: return "GL_ONE_MINUS_SRC1_COLOR"; 379 case GL_SRC1_ALPHA: return "GL_SRC1_ALPHA"; 380 case GL_ONE_MINUS_SRC1_ALPHA: return "GL_ONE_MINUS_SRC1_ALPHA"; 381 case GL_DST_COLOR: return "GL_DST_COLOR"; 382 case GL_ONE_MINUS_DST_COLOR: return "GL_ONE_MINUS_DST_COLOR"; 383 case GL_DST_ALPHA: return "GL_DST_ALPHA"; 384 case GL_ONE_MINUS_DST_ALPHA: return "GL_ONE_MINUS_DST_ALPHA"; 385 case GL_CONSTANT_COLOR: return "GL_CONSTANT_COLOR"; 386 case GL_ONE_MINUS_CONSTANT_COLOR: return "GL_ONE_MINUS_CONSTANT_COLOR"; 387 case GL_CONSTANT_ALPHA: return "GL_CONSTANT_ALPHA"; 388 case GL_ONE_MINUS_CONSTANT_ALPHA: return "GL_ONE_MINUS_CONSTANT_ALPHA"; 389 default: return nullptr; 390 } 391} 392 393const char* getBlendEquationName (int value) 394{ 395 switch (value) 396 { 397 case GL_FUNC_ADD: return "GL_FUNC_ADD"; 398 case GL_FUNC_SUBTRACT: return "GL_FUNC_SUBTRACT"; 399 case GL_FUNC_REVERSE_SUBTRACT: return "GL_FUNC_REVERSE_SUBTRACT"; 400 case GL_MIN: return "GL_MIN"; 401 case GL_MAX: return "GL_MAX"; 402 case GL_MULTIPLY_KHR: return "GL_MULTIPLY_KHR"; 403 case GL_SCREEN_KHR: return "GL_SCREEN_KHR"; 404 case GL_OVERLAY_KHR: return "GL_OVERLAY_KHR"; 405 case GL_DARKEN_KHR: return "GL_DARKEN_KHR"; 406 case GL_LIGHTEN_KHR: return "GL_LIGHTEN_KHR"; 407 case GL_COLORDODGE_KHR: return "GL_COLORDODGE_KHR"; 408 case GL_COLORBURN_KHR: return "GL_COLORBURN_KHR"; 409 case GL_HARDLIGHT_KHR: return "GL_HARDLIGHT_KHR"; 410 case GL_SOFTLIGHT_KHR: return "GL_SOFTLIGHT_KHR"; 411 case GL_DIFFERENCE_KHR: return "GL_DIFFERENCE_KHR"; 412 case GL_EXCLUSION_KHR: return "GL_EXCLUSION_KHR"; 413 case GL_HSL_HUE_KHR: return "GL_HSL_HUE_KHR"; 414 case GL_HSL_SATURATION_KHR: return "GL_HSL_SATURATION_KHR"; 415 case GL_HSL_COLOR_KHR: return "GL_HSL_COLOR_KHR"; 416 case GL_HSL_LUMINOSITY_KHR: return "GL_HSL_LUMINOSITY_KHR"; 417 case GL_BLEND_EQUATION: return "GL_BLEND_EQUATION"; 418 default: return nullptr; 419 } 420} 421 422const char* getBufferTargetName (int value) 423{ 424 switch (value) 425 { 426 case GL_ARRAY_BUFFER: return "GL_ARRAY_BUFFER"; 427 case GL_ELEMENT_ARRAY_BUFFER: return "GL_ELEMENT_ARRAY_BUFFER"; 428 case GL_COPY_READ_BUFFER: return "GL_COPY_READ_BUFFER"; 429 case GL_COPY_WRITE_BUFFER: return "GL_COPY_WRITE_BUFFER"; 430 case GL_PIXEL_PACK_BUFFER: return "GL_PIXEL_PACK_BUFFER"; 431 case GL_PIXEL_UNPACK_BUFFER: return "GL_PIXEL_UNPACK_BUFFER"; 432 case GL_TRANSFORM_FEEDBACK_BUFFER: return "GL_TRANSFORM_FEEDBACK_BUFFER"; 433 case GL_UNIFORM_BUFFER: return "GL_UNIFORM_BUFFER"; 434 case GL_DRAW_INDIRECT_BUFFER: return "GL_DRAW_INDIRECT_BUFFER"; 435 case GL_SHADER_STORAGE_BUFFER: return "GL_SHADER_STORAGE_BUFFER"; 436 case GL_TEXTURE_BUFFER: return "GL_TEXTURE_BUFFER"; 437 case GL_DISPATCH_INDIRECT_BUFFER: return "GL_DISPATCH_INDIRECT_BUFFER"; 438 case GL_ATOMIC_COUNTER_BUFFER: return "GL_ATOMIC_COUNTER_BUFFER"; 439 default: return nullptr; 440 } 441} 442 443const char* getBufferBindingName (int value) 444{ 445 switch (value) 446 { 447 case GL_ARRAY_BUFFER_BINDING: return "GL_ARRAY_BUFFER_BINDING"; 448 case GL_ELEMENT_ARRAY_BUFFER_BINDING: return "GL_ELEMENT_ARRAY_BUFFER_BINDING"; 449 default: return nullptr; 450 } 451} 452 453const char* getUsageName (int value) 454{ 455 switch (value) 456 { 457 case GL_STREAM_DRAW: return "GL_STREAM_DRAW"; 458 case GL_STREAM_READ: return "GL_STREAM_READ"; 459 case GL_STREAM_COPY: return "GL_STREAM_COPY"; 460 case GL_STATIC_DRAW: return "GL_STATIC_DRAW"; 461 case GL_STATIC_READ: return "GL_STATIC_READ"; 462 case GL_STATIC_COPY: return "GL_STATIC_COPY"; 463 case GL_DYNAMIC_DRAW: return "GL_DYNAMIC_DRAW"; 464 case GL_DYNAMIC_READ: return "GL_DYNAMIC_READ"; 465 case GL_DYNAMIC_COPY: return "GL_DYNAMIC_COPY"; 466 default: return nullptr; 467 } 468} 469 470const char* getBufferQueryName (int value) 471{ 472 switch (value) 473 { 474 case GL_BUFFER_SIZE: return "GL_BUFFER_SIZE"; 475 case GL_BUFFER_USAGE: return "GL_BUFFER_USAGE"; 476 case GL_BUFFER_ACCESS_FLAGS: return "GL_BUFFER_ACCESS_FLAGS"; 477 case GL_BUFFER_MAPPED: return "GL_BUFFER_MAPPED"; 478 case GL_BUFFER_MAP_OFFSET: return "GL_BUFFER_MAP_OFFSET"; 479 case GL_BUFFER_MAP_LENGTH: return "GL_BUFFER_MAP_LENGTH"; 480 case GL_BUFFER_ACCESS: return "GL_BUFFER_ACCESS"; 481 case GL_BUFFER_MAP_POINTER: return "GL_BUFFER_MAP_POINTER"; 482 default: return nullptr; 483 } 484} 485 486const char* getFaceName (int value) 487{ 488 switch (value) 489 { 490 case GL_FRONT: return "GL_FRONT"; 491 case GL_BACK: return "GL_BACK"; 492 case GL_FRONT_AND_BACK: return "GL_FRONT_AND_BACK"; 493 default: return nullptr; 494 } 495} 496 497const char* getCompareFuncName (int value) 498{ 499 switch (value) 500 { 501 case GL_NEVER: return "GL_NEVER"; 502 case GL_LESS: return "GL_LESS"; 503 case GL_LEQUAL: return "GL_LEQUAL"; 504 case GL_GREATER: return "GL_GREATER"; 505 case GL_EQUAL: return "GL_EQUAL"; 506 case GL_NOTEQUAL: return "GL_NOTEQUAL"; 507 case GL_GEQUAL: return "GL_GEQUAL"; 508 case GL_ALWAYS: return "GL_ALWAYS"; 509 default: return nullptr; 510 } 511} 512 513const char* getEnableCapName (int value) 514{ 515 switch (value) 516 { 517 case GL_TEXTURE_2D: return "GL_TEXTURE_2D"; 518 case GL_CULL_FACE: return "GL_CULL_FACE"; 519 case GL_BLEND: return "GL_BLEND"; 520 case GL_DITHER: return "GL_DITHER"; 521 case GL_STENCIL_TEST: return "GL_STENCIL_TEST"; 522 case GL_DEPTH_TEST: return "GL_DEPTH_TEST"; 523 case GL_SCISSOR_TEST: return "GL_SCISSOR_TEST"; 524 case GL_POLYGON_OFFSET_FILL: return "GL_POLYGON_OFFSET_FILL"; 525 case GL_SAMPLE_ALPHA_TO_COVERAGE: return "GL_SAMPLE_ALPHA_TO_COVERAGE"; 526 case GL_SAMPLE_COVERAGE: return "GL_SAMPLE_COVERAGE"; 527 case GL_STEREO: return "GL_STEREO"; 528 case GL_PRIMITIVE_RESTART_FIXED_INDEX: return "GL_PRIMITIVE_RESTART_FIXED_INDEX"; 529 case GL_RASTERIZER_DISCARD: return "GL_RASTERIZER_DISCARD"; 530 case GL_FRAMEBUFFER_SRGB: return "GL_FRAMEBUFFER_SRGB"; 531 case GL_SAMPLE_SHADING: return "GL_SAMPLE_SHADING"; 532 case GL_DEPTH_CLAMP: return "GL_DEPTH_CLAMP"; 533 case GL_PRIMITIVE_RESTART: return "GL_PRIMITIVE_RESTART"; 534 case GL_SAMPLE_MASK: return "GL_SAMPLE_MASK"; 535 case GL_DEBUG_OUTPUT: return "GL_DEBUG_OUTPUT"; 536 case GL_DEBUG_OUTPUT_SYNCHRONOUS: return "GL_DEBUG_OUTPUT_SYNCHRONOUS"; 537 case GL_BLEND_ADVANCED_COHERENT_KHR: return "GL_BLEND_ADVANCED_COHERENT_KHR"; 538 case GL_MULTISAMPLE: return "GL_MULTISAMPLE"; 539 case GL_SAMPLE_ALPHA_TO_ONE: return "GL_SAMPLE_ALPHA_TO_ONE"; 540 case GL_VERTEX_PROGRAM_POINT_SIZE: return "GL_VERTEX_PROGRAM_POINT_SIZE"; 541 case GL_TEXTURE_CUBE_MAP_SEAMLESS: return "GL_TEXTURE_CUBE_MAP_SEAMLESS"; 542 default: return nullptr; 543 } 544} 545 546const char* getIndexedEnableCapName (int value) 547{ 548 switch (value) 549 { 550 case GL_BLEND: return "GL_BLEND"; 551 default: return nullptr; 552 } 553} 554 555const char* getWindingName (int value) 556{ 557 switch (value) 558 { 559 case GL_CW: return "GL_CW"; 560 case GL_CCW: return "GL_CCW"; 561 default: return nullptr; 562 } 563} 564 565const char* getHintModeName (int value) 566{ 567 switch (value) 568 { 569 case GL_DONT_CARE: return "GL_DONT_CARE"; 570 case GL_FASTEST: return "GL_FASTEST"; 571 case GL_NICEST: return "GL_NICEST"; 572 default: return nullptr; 573 } 574} 575 576const char* getHintName (int value) 577{ 578 switch (value) 579 { 580 case GL_GENERATE_MIPMAP_HINT: return "GL_GENERATE_MIPMAP_HINT"; 581 case GL_TEXTURE_COMPRESSION_HINT: return "GL_TEXTURE_COMPRESSION_HINT"; 582 default: return nullptr; 583 } 584} 585 586const char* getStencilOpName (int value) 587{ 588 switch (value) 589 { 590 case GL_ZERO: return "GL_ZERO"; 591 case GL_KEEP: return "GL_KEEP"; 592 case GL_REPLACE: return "GL_REPLACE"; 593 case GL_INCR: return "GL_INCR"; 594 case GL_DECR: return "GL_DECR"; 595 case GL_INVERT: return "GL_INVERT"; 596 case GL_INCR_WRAP: return "GL_INCR_WRAP"; 597 case GL_DECR_WRAP: return "GL_DECR_WRAP"; 598 default: return nullptr; 599 } 600} 601 602const char* getShaderTypeName (int value) 603{ 604 switch (value) 605 { 606 case GL_VERTEX_SHADER: return "GL_VERTEX_SHADER"; 607 case GL_FRAGMENT_SHADER: return "GL_FRAGMENT_SHADER"; 608 case GL_COMPUTE_SHADER: return "GL_COMPUTE_SHADER"; 609 case GL_TESS_CONTROL_SHADER: return "GL_TESS_CONTROL_SHADER"; 610 case GL_TESS_EVALUATION_SHADER: return "GL_TESS_EVALUATION_SHADER"; 611 case GL_GEOMETRY_SHADER: return "GL_GEOMETRY_SHADER"; 612 default: return nullptr; 613 } 614} 615 616const char* getBufferName (int value) 617{ 618 switch (value) 619 { 620 case GL_COLOR: return "GL_COLOR"; 621 case GL_DEPTH: return "GL_DEPTH"; 622 case GL_STENCIL: return "GL_STENCIL"; 623 case GL_DEPTH_STENCIL: return "GL_DEPTH_STENCIL"; 624 default: return nullptr; 625 } 626} 627 628const char* getInvalidateAttachmentName (int value) 629{ 630 switch (value) 631 { 632 case GL_COLOR: return "GL_COLOR"; 633 case GL_DEPTH: return "GL_DEPTH"; 634 case GL_STENCIL: return "GL_STENCIL"; 635 case GL_COLOR_ATTACHMENT0: return "GL_COLOR_ATTACHMENT0"; 636 case GL_COLOR_ATTACHMENT1: return "GL_COLOR_ATTACHMENT1"; 637 case GL_COLOR_ATTACHMENT2: return "GL_COLOR_ATTACHMENT2"; 638 case GL_COLOR_ATTACHMENT3: return "GL_COLOR_ATTACHMENT3"; 639 case GL_COLOR_ATTACHMENT4: return "GL_COLOR_ATTACHMENT4"; 640 case GL_COLOR_ATTACHMENT5: return "GL_COLOR_ATTACHMENT5"; 641 case GL_COLOR_ATTACHMENT6: return "GL_COLOR_ATTACHMENT6"; 642 case GL_COLOR_ATTACHMENT7: return "GL_COLOR_ATTACHMENT7"; 643 case GL_DEPTH_ATTACHMENT: return "GL_DEPTH_ATTACHMENT"; 644 case GL_STENCIL_ATTACHMENT: return "GL_STENCIL_ATTACHMENT"; 645 case GL_DEPTH_STENCIL_ATTACHMENT: return "GL_DEPTH_STENCIL_ATTACHMENT"; 646 default: return nullptr; 647 } 648} 649 650const char* getDrawReadBufferName (int value) 651{ 652 switch (value) 653 { 654 case GL_COLOR: return "GL_COLOR"; 655 case GL_DEPTH: return "GL_DEPTH"; 656 case GL_STENCIL: return "GL_STENCIL"; 657 case GL_BACK: return "GL_BACK"; 658 case GL_NONE: return "GL_NONE"; 659 case GL_COLOR_ATTACHMENT0: return "GL_COLOR_ATTACHMENT0"; 660 case GL_COLOR_ATTACHMENT1: return "GL_COLOR_ATTACHMENT1"; 661 case GL_COLOR_ATTACHMENT2: return "GL_COLOR_ATTACHMENT2"; 662 case GL_COLOR_ATTACHMENT3: return "GL_COLOR_ATTACHMENT3"; 663 case GL_COLOR_ATTACHMENT4: return "GL_COLOR_ATTACHMENT4"; 664 case GL_COLOR_ATTACHMENT5: return "GL_COLOR_ATTACHMENT5"; 665 case GL_COLOR_ATTACHMENT6: return "GL_COLOR_ATTACHMENT6"; 666 case GL_COLOR_ATTACHMENT7: return "GL_COLOR_ATTACHMENT7"; 667 case GL_DEPTH_ATTACHMENT: return "GL_DEPTH_ATTACHMENT"; 668 case GL_STENCIL_ATTACHMENT: return "GL_STENCIL_ATTACHMENT"; 669 case GL_DEPTH_STENCIL_ATTACHMENT: return "GL_DEPTH_STENCIL_ATTACHMENT"; 670 default: return nullptr; 671 } 672} 673 674const char* getTextureTargetName (int value) 675{ 676 switch (value) 677 { 678 case GL_TEXTURE_1D: return "GL_TEXTURE_1D"; 679 case GL_TEXTURE_1D_ARRAY: return "GL_TEXTURE_1D_ARRAY"; 680 case GL_PROXY_TEXTURE_1D: return "GL_PROXY_TEXTURE_1D"; 681 case GL_PROXY_TEXTURE_1D_ARRAY: return "GL_PROXY_TEXTURE_1D_ARRAY"; 682 case GL_TEXTURE_2D: return "GL_TEXTURE_2D"; 683 case GL_TEXTURE_RECTANGLE: return "GL_TEXTURE_RECTANGLE"; 684 case GL_PROXY_TEXTURE_2D: return "GL_PROXY_TEXTURE_2D"; 685 case GL_TEXTURE_CUBE_MAP: return "GL_TEXTURE_CUBE_MAP"; 686 case GL_PROXY_TEXTURE_CUBE_MAP: return "GL_PROXY_TEXTURE_CUBE_MAP"; 687 case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: return "GL_PROXY_TEXTURE_CUBE_MAP_ARRAY"; 688 case GL_TEXTURE_CUBE_MAP_POSITIVE_X: return "GL_TEXTURE_CUBE_MAP_POSITIVE_X"; 689 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X"; 690 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y"; 691 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"; 692 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z"; 693 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"; 694 case GL_TEXTURE_3D: return "GL_TEXTURE_3D"; 695 case GL_PROXY_TEXTURE_3D: return "GL_PROXY_TEXTURE_3D"; 696 case GL_TEXTURE_2D_ARRAY: return "GL_TEXTURE_2D_ARRAY"; 697 case GL_PROXY_TEXTURE_2D_ARRAY: return "GL_PROXY_TEXTURE_2D_ARRAY"; 698 case GL_TEXTURE_2D_MULTISAMPLE: return "GL_TEXTURE_2D_MULTISAMPLE"; 699 case GL_PROXY_TEXTURE_2D_MULTISAMPLE: return "GL_PROXY_TEXTURE_2D_MULTISAMPLE"; 700 case GL_TEXTURE_2D_MULTISAMPLE_ARRAY: return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY"; 701 case GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: return "GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY"; 702 case GL_PROXY_TEXTURE_RECTANGLE: return "GL_PROXY_TEXTURE_RECTANGLE"; 703 case GL_TEXTURE_BUFFER: return "GL_TEXTURE_BUFFER"; 704 case GL_TEXTURE_CUBE_MAP_ARRAY: return "GL_TEXTURE_CUBE_MAP_ARRAY"; 705 default: return nullptr; 706 } 707} 708 709const char* getTextureParameterName (int value) 710{ 711 switch (value) 712 { 713 case GL_TEXTURE_WRAP_S: return "GL_TEXTURE_WRAP_S"; 714 case GL_TEXTURE_WRAP_T: return "GL_TEXTURE_WRAP_T"; 715 case GL_TEXTURE_WRAP_R: return "GL_TEXTURE_WRAP_R"; 716 case GL_TEXTURE_BASE_LEVEL: return "GL_TEXTURE_BASE_LEVEL"; 717 case GL_TEXTURE_MAX_LEVEL: return "GL_TEXTURE_MAX_LEVEL"; 718 case GL_TEXTURE_COMPARE_MODE: return "GL_TEXTURE_COMPARE_MODE"; 719 case GL_TEXTURE_COMPARE_FUNC: return "GL_TEXTURE_COMPARE_FUNC"; 720 case GL_TEXTURE_MAX_LOD: return "GL_TEXTURE_MAX_LOD"; 721 case GL_TEXTURE_MIN_LOD: return "GL_TEXTURE_MIN_LOD"; 722 case GL_TEXTURE_SWIZZLE_R: return "GL_TEXTURE_SWIZZLE_R"; 723 case GL_TEXTURE_SWIZZLE_G: return "GL_TEXTURE_SWIZZLE_G"; 724 case GL_TEXTURE_SWIZZLE_B: return "GL_TEXTURE_SWIZZLE_B"; 725 case GL_TEXTURE_SWIZZLE_A: return "GL_TEXTURE_SWIZZLE_A"; 726 case GL_TEXTURE_SWIZZLE_RGBA: return "GL_TEXTURE_SWIZZLE_RGBA"; 727 case GL_TEXTURE_MIN_FILTER: return "GL_TEXTURE_MIN_FILTER"; 728 case GL_TEXTURE_MAG_FILTER: return "GL_TEXTURE_MAG_FILTER"; 729 case GL_DEPTH_STENCIL_TEXTURE_MODE: return "GL_DEPTH_STENCIL_TEXTURE_MODE"; 730 case GL_TEXTURE_SRGB_DECODE_EXT: return "GL_TEXTURE_SRGB_DECODE_EXT"; 731 case GL_TEXTURE_BORDER_COLOR: return "GL_TEXTURE_BORDER_COLOR"; 732 case GL_TEXTURE_IMMUTABLE_LEVELS: return "GL_TEXTURE_IMMUTABLE_LEVELS"; 733 case GL_TEXTURE_IMMUTABLE_FORMAT: return "GL_TEXTURE_IMMUTABLE_FORMAT"; 734 default: return nullptr; 735 } 736} 737 738const char* getTextureLevelParameterName (int value) 739{ 740 switch (value) 741 { 742 case GL_TEXTURE_SAMPLES: return "GL_TEXTURE_SAMPLES"; 743 case GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: return "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"; 744 case GL_TEXTURE_WIDTH: return "GL_TEXTURE_WIDTH"; 745 case GL_TEXTURE_HEIGHT: return "GL_TEXTURE_HEIGHT"; 746 case GL_TEXTURE_DEPTH: return "GL_TEXTURE_DEPTH"; 747 case GL_TEXTURE_INTERNAL_FORMAT: return "GL_TEXTURE_INTERNAL_FORMAT"; 748 case GL_TEXTURE_RED_SIZE: return "GL_TEXTURE_RED_SIZE"; 749 case GL_TEXTURE_GREEN_SIZE: return "GL_TEXTURE_GREEN_SIZE"; 750 case GL_TEXTURE_BLUE_SIZE: return "GL_TEXTURE_BLUE_SIZE"; 751 case GL_TEXTURE_ALPHA_SIZE: return "GL_TEXTURE_ALPHA_SIZE"; 752 case GL_TEXTURE_DEPTH_SIZE: return "GL_TEXTURE_DEPTH_SIZE"; 753 case GL_TEXTURE_STENCIL_SIZE: return "GL_TEXTURE_STENCIL_SIZE"; 754 case GL_TEXTURE_SHARED_SIZE: return "GL_TEXTURE_SHARED_SIZE"; 755 case GL_TEXTURE_RED_TYPE: return "GL_TEXTURE_RED_TYPE"; 756 case GL_TEXTURE_GREEN_TYPE: return "GL_TEXTURE_GREEN_TYPE"; 757 case GL_TEXTURE_BLUE_TYPE: return "GL_TEXTURE_BLUE_TYPE"; 758 case GL_TEXTURE_ALPHA_TYPE: return "GL_TEXTURE_ALPHA_TYPE"; 759 case GL_TEXTURE_DEPTH_TYPE: return "GL_TEXTURE_DEPTH_TYPE"; 760 case GL_TEXTURE_COMPRESSED: return "GL_TEXTURE_COMPRESSED"; 761 case GL_TEXTURE_BUFFER_DATA_STORE_BINDING: return "GL_TEXTURE_BUFFER_DATA_STORE_BINDING"; 762 case GL_TEXTURE_BUFFER_OFFSET: return "GL_TEXTURE_BUFFER_OFFSET"; 763 case GL_TEXTURE_BUFFER_SIZE: return "GL_TEXTURE_BUFFER_SIZE"; 764 case GL_TEXTURE_COMPRESSED_IMAGE_SIZE: return "GL_TEXTURE_COMPRESSED_IMAGE_SIZE"; 765 default: return nullptr; 766 } 767} 768 769const char* getRepeatModeName (int value) 770{ 771 switch (value) 772 { 773 case GL_REPEAT: return "GL_REPEAT"; 774 case GL_CLAMP_TO_EDGE: return "GL_CLAMP_TO_EDGE"; 775 case GL_MIRRORED_REPEAT: return "GL_MIRRORED_REPEAT"; 776 case GL_CLAMP_TO_BORDER: return "GL_CLAMP_TO_BORDER"; 777 default: return nullptr; 778 } 779} 780 781const char* getTextureFilterName (int value) 782{ 783 switch (value) 784 { 785 case GL_NEAREST: return "GL_NEAREST"; 786 case GL_LINEAR: return "GL_LINEAR"; 787 case GL_NEAREST_MIPMAP_NEAREST: return "GL_NEAREST_MIPMAP_NEAREST"; 788 case GL_LINEAR_MIPMAP_NEAREST: return "GL_LINEAR_MIPMAP_NEAREST"; 789 case GL_NEAREST_MIPMAP_LINEAR: return "GL_NEAREST_MIPMAP_LINEAR"; 790 case GL_LINEAR_MIPMAP_LINEAR: return "GL_LINEAR_MIPMAP_LINEAR"; 791 default: return nullptr; 792 } 793} 794 795const char* getTextureWrapModeName (int value) 796{ 797 switch (value) 798 { 799 case GL_REPEAT: return "GL_REPEAT"; 800 case GL_CLAMP_TO_EDGE: return "GL_CLAMP_TO_EDGE"; 801 case GL_MIRRORED_REPEAT: return "GL_MIRRORED_REPEAT"; 802 default: return nullptr; 803 } 804} 805 806const char* getTextureSwizzleName (int value) 807{ 808 switch (value) 809 { 810 case GL_RED: return "GL_RED"; 811 case GL_GREEN: return "GL_GREEN"; 812 case GL_BLUE: return "GL_BLUE"; 813 case GL_ALPHA: return "GL_ALPHA"; 814 case GL_ZERO: return "GL_ZERO"; 815 case GL_ONE: return "GL_ONE"; 816 default: return nullptr; 817 } 818} 819 820const char* getTextureCompareModeName (int value) 821{ 822 switch (value) 823 { 824 case GL_NONE: return "GL_NONE"; 825 case GL_COMPARE_REF_TO_TEXTURE: return "GL_COMPARE_REF_TO_TEXTURE"; 826 default: return nullptr; 827 } 828} 829 830const char* getCubeMapFaceName (int value) 831{ 832 switch (value) 833 { 834 case GL_TEXTURE_CUBE_MAP_POSITIVE_X: return "GL_TEXTURE_CUBE_MAP_POSITIVE_X"; 835 case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_X"; 836 case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Y"; 837 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"; 838 case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: return "GL_TEXTURE_CUBE_MAP_POSITIVE_Z"; 839 case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: return "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"; 840 default: return nullptr; 841 } 842} 843 844const char* getTextureDepthStencilModeName (int value) 845{ 846 switch (value) 847 { 848 case GL_DEPTH_COMPONENT: return "GL_DEPTH_COMPONENT"; 849 case GL_STENCIL_INDEX: return "GL_STENCIL_INDEX"; 850 default: return nullptr; 851 } 852} 853 854const char* getPixelStoreParameterName (int value) 855{ 856 switch (value) 857 { 858 case GL_UNPACK_ALIGNMENT: return "GL_UNPACK_ALIGNMENT"; 859 case GL_UNPACK_IMAGE_HEIGHT: return "GL_UNPACK_IMAGE_HEIGHT"; 860 case GL_UNPACK_ROW_LENGTH: return "GL_UNPACK_ROW_LENGTH"; 861 case GL_UNPACK_SKIP_IMAGES: return "GL_UNPACK_SKIP_IMAGES"; 862 case GL_UNPACK_SKIP_ROWS: return "GL_UNPACK_SKIP_ROWS"; 863 case GL_UNPACK_SKIP_PIXELS: return "GL_UNPACK_SKIP_PIXELS"; 864 case GL_PACK_ROW_LENGTH: return "GL_PACK_ROW_LENGTH"; 865 case GL_PACK_SKIP_ROWS: return "GL_PACK_SKIP_ROWS"; 866 case GL_PACK_SKIP_PIXELS: return "GL_PACK_SKIP_PIXELS"; 867 default: return nullptr; 868 } 869} 870 871const char* getUncompressedTextureFormatName (int value) 872{ 873 switch (value) 874 { 875 case GL_LUMINANCE: return "GL_LUMINANCE"; 876 case GL_LUMINANCE_ALPHA: return "GL_LUMINANCE_ALPHA"; 877 case GL_ALPHA: return "GL_ALPHA"; 878 case GL_RGB: return "GL_RGB"; 879 case GL_RGBA: return "GL_RGBA"; 880 case GL_RGBA4: return "GL_RGBA4"; 881 case GL_RGB4: return "GL_RGB4"; 882 case GL_RGB5_A1: return "GL_RGB5_A1"; 883 case GL_RGB565: return "GL_RGB565"; 884 case GL_R3_G3_B2: return "GL_R3_G3_B2"; 885 case GL_RGB5: return "GL_RGB5"; 886 case GL_RGB12: return "GL_RGB12"; 887 case GL_RGBA2: return "GL_RGBA2"; 888 case GL_RGBA12: return "GL_RGBA12"; 889 case GL_DEPTH_COMPONENT16: return "GL_DEPTH_COMPONENT16"; 890 case GL_STENCIL_INDEX1: return "GL_STENCIL_INDEX1"; 891 case GL_STENCIL_INDEX4: return "GL_STENCIL_INDEX4"; 892 case GL_STENCIL_INDEX8: return "GL_STENCIL_INDEX8"; 893 case GL_STENCIL_INDEX16: return "GL_STENCIL_INDEX16"; 894 case GL_RG: return "GL_RG"; 895 case GL_RED: return "GL_RED"; 896 case GL_RGBA_INTEGER: return "GL_RGBA_INTEGER"; 897 case GL_RGB_INTEGER: return "GL_RGB_INTEGER"; 898 case GL_RG_INTEGER: return "GL_RG_INTEGER"; 899 case GL_RED_INTEGER: return "GL_RED_INTEGER"; 900 case GL_GREEN_INTEGER: return "GL_GREEN_INTEGER"; 901 case GL_BLUE_INTEGER: return "GL_BLUE_INTEGER"; 902 case GL_BGR_INTEGER: return "GL_BGR_INTEGER"; 903 case GL_BGRA_INTEGER: return "GL_BGRA_INTEGER"; 904 case GL_DEPTH_COMPONENT: return "GL_DEPTH_COMPONENT"; 905 case GL_DEPTH_STENCIL: return "GL_DEPTH_STENCIL"; 906 case GL_RGBA32F: return "GL_RGBA32F"; 907 case GL_RGBA32I: return "GL_RGBA32I"; 908 case GL_RGBA32UI: return "GL_RGBA32UI"; 909 case GL_RGBA16: return "GL_RGBA16"; 910 case GL_RGBA16_SNORM: return "GL_RGBA16_SNORM"; 911 case GL_RGBA16F: return "GL_RGBA16F"; 912 case GL_RGBA16I: return "GL_RGBA16I"; 913 case GL_RGBA16UI: return "GL_RGBA16UI"; 914 case GL_RGBA8: return "GL_RGBA8"; 915 case GL_RGBA8I: return "GL_RGBA8I"; 916 case GL_RGBA8UI: return "GL_RGBA8UI"; 917 case GL_SRGB8_ALPHA8: return "GL_SRGB8_ALPHA8"; 918 case GL_RGB10_A2: return "GL_RGB10_A2"; 919 case GL_RGB10_A2UI: return "GL_RGB10_A2UI"; 920 case GL_RGBA8_SNORM: return "GL_RGBA8_SNORM"; 921 case GL_RGB8: return "GL_RGB8"; 922 case GL_R11F_G11F_B10F: return "GL_R11F_G11F_B10F"; 923 case GL_RGB32F: return "GL_RGB32F"; 924 case GL_RGB32I: return "GL_RGB32I"; 925 case GL_RGB32UI: return "GL_RGB32UI"; 926 case GL_RGB16: return "GL_RGB16"; 927 case GL_RGB16_SNORM: return "GL_RGB16_SNORM"; 928 case GL_RGB16F: return "GL_RGB16F"; 929 case GL_RGB16I: return "GL_RGB16I"; 930 case GL_RGB16UI: return "GL_RGB16UI"; 931 case GL_RGB8_SNORM: return "GL_RGB8_SNORM"; 932 case GL_RGB8I: return "GL_RGB8I"; 933 case GL_RGB8UI: return "GL_RGB8UI"; 934 case GL_SRGB8: return "GL_SRGB8"; 935 case GL_RGB9_E5: return "GL_RGB9_E5"; 936 case GL_RG32F: return "GL_RG32F"; 937 case GL_RG32I: return "GL_RG32I"; 938 case GL_RG32UI: return "GL_RG32UI"; 939 case GL_RG16: return "GL_RG16"; 940 case GL_RG16_SNORM: return "GL_RG16_SNORM"; 941 case GL_RG16F: return "GL_RG16F"; 942 case GL_RG16I: return "GL_RG16I"; 943 case GL_RG16UI: return "GL_RG16UI"; 944 case GL_RG8: return "GL_RG8"; 945 case GL_RG8I: return "GL_RG8I"; 946 case GL_RG8UI: return "GL_RG8UI"; 947 case GL_RG8_SNORM: return "GL_RG8_SNORM"; 948 case GL_R32F: return "GL_R32F"; 949 case GL_R32I: return "GL_R32I"; 950 case GL_R32UI: return "GL_R32UI"; 951 case GL_R16: return "GL_R16"; 952 case GL_R16_SNORM: return "GL_R16_SNORM"; 953 case GL_R16F: return "GL_R16F"; 954 case GL_R16I: return "GL_R16I"; 955 case GL_R16UI: return "GL_R16UI"; 956 case GL_R8: return "GL_R8"; 957 case GL_R8I: return "GL_R8I"; 958 case GL_R8UI: return "GL_R8UI"; 959 case GL_R8_SNORM: return "GL_R8_SNORM"; 960 case GL_DEPTH_COMPONENT32F: return "GL_DEPTH_COMPONENT32F"; 961 case GL_DEPTH_COMPONENT24: return "GL_DEPTH_COMPONENT24"; 962 case GL_DEPTH32F_STENCIL8: return "GL_DEPTH32F_STENCIL8"; 963 case GL_DEPTH24_STENCIL8: return "GL_DEPTH24_STENCIL8"; 964 case GL_RGB10: return "GL_RGB10"; 965 case GL_DEPTH_COMPONENT32: return "GL_DEPTH_COMPONENT32"; 966 case GL_SRGB: return "GL_SRGB"; 967 case GL_SRGB_ALPHA: return "GL_SRGB_ALPHA"; 968 case GL_SR8_EXT: return "GL_SR8_EXT"; 969 case GL_SRG8_EXT: return "GL_SRG8_EXT"; 970 case GL_BGRA: return "GL_BGRA"; 971 case GL_BGRA8_EXT: return "GL_BGRA8_EXT"; 972 case GL_BGR: return "GL_BGR"; 973 case GL_RED_SNORM: return "GL_RED_SNORM"; 974 case GL_RG_SNORM: return "GL_RG_SNORM"; 975 case GL_RGB_SNORM: return "GL_RGB_SNORM"; 976 case GL_RGBA_SNORM: return "GL_RGBA_SNORM"; 977 default: return nullptr; 978 } 979} 980 981const char* getCompressedTextureFormatName (int value) 982{ 983 switch (value) 984 { 985 case GL_COMPRESSED_R11_EAC: return "GL_COMPRESSED_R11_EAC"; 986 case GL_COMPRESSED_SIGNED_R11_EAC: return "GL_COMPRESSED_SIGNED_R11_EAC"; 987 case GL_COMPRESSED_RG11_EAC: return "GL_COMPRESSED_RG11_EAC"; 988 case GL_COMPRESSED_SIGNED_RG11_EAC: return "GL_COMPRESSED_SIGNED_RG11_EAC"; 989 case GL_COMPRESSED_RGB8_ETC2: return "GL_COMPRESSED_RGB8_ETC2"; 990 case GL_COMPRESSED_SRGB8_ETC2: return "GL_COMPRESSED_SRGB8_ETC2"; 991 case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"; 992 case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"; 993 case GL_COMPRESSED_RGBA8_ETC2_EAC: return "GL_COMPRESSED_RGBA8_ETC2_EAC"; 994 case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"; 995 case GL_COMPRESSED_RGBA_ASTC_4x4_KHR: return "GL_COMPRESSED_RGBA_ASTC_4x4_KHR"; 996 case GL_COMPRESSED_RGBA_ASTC_5x4_KHR: return "GL_COMPRESSED_RGBA_ASTC_5x4_KHR"; 997 case GL_COMPRESSED_RGBA_ASTC_5x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_5x5_KHR"; 998 case GL_COMPRESSED_RGBA_ASTC_6x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_6x5_KHR"; 999 case GL_COMPRESSED_RGBA_ASTC_6x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_6x6_KHR"; 1000 case GL_COMPRESSED_RGBA_ASTC_8x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x5_KHR"; 1001 case GL_COMPRESSED_RGBA_ASTC_8x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x6_KHR"; 1002 case GL_COMPRESSED_RGBA_ASTC_8x8_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x8_KHR"; 1003 case GL_COMPRESSED_RGBA_ASTC_10x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x5_KHR"; 1004 case GL_COMPRESSED_RGBA_ASTC_10x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x6_KHR"; 1005 case GL_COMPRESSED_RGBA_ASTC_10x8_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x8_KHR"; 1006 case GL_COMPRESSED_RGBA_ASTC_10x10_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x10_KHR"; 1007 case GL_COMPRESSED_RGBA_ASTC_12x10_KHR: return "GL_COMPRESSED_RGBA_ASTC_12x10_KHR"; 1008 case GL_COMPRESSED_RGBA_ASTC_12x12_KHR: return "GL_COMPRESSED_RGBA_ASTC_12x12_KHR"; 1009 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"; 1010 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"; 1011 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"; 1012 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"; 1013 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"; 1014 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"; 1015 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"; 1016 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"; 1017 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"; 1018 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"; 1019 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"; 1020 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"; 1021 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"; 1022 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"; 1023 case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"; 1024 case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"; 1025 case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"; 1026 case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"; 1027 case GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: return "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"; 1028 case GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: return "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"; 1029 case GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: return "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"; 1030 case GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: return "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"; 1031 case GL_COMPRESSED_RED: return "GL_COMPRESSED_RED"; 1032 case GL_COMPRESSED_RG: return "GL_COMPRESSED_RG"; 1033 case GL_COMPRESSED_RGB: return "GL_COMPRESSED_RGB"; 1034 case GL_COMPRESSED_RGBA: return "GL_COMPRESSED_RGBA"; 1035 case GL_COMPRESSED_SRGB: return "GL_COMPRESSED_SRGB"; 1036 case GL_COMPRESSED_SRGB_ALPHA: return "GL_COMPRESSED_SRGB_ALPHA"; 1037 case GL_COMPRESSED_RED_RGTC1: return "GL_COMPRESSED_RED_RGTC1"; 1038 case GL_COMPRESSED_SIGNED_RED_RGTC1: return "GL_COMPRESSED_SIGNED_RED_RGTC1"; 1039 case GL_COMPRESSED_RG_RGTC2: return "GL_COMPRESSED_RG_RGTC2"; 1040 case GL_COMPRESSED_SIGNED_RG_RGTC2: return "GL_COMPRESSED_SIGNED_RG_RGTC2"; 1041 case GL_COMPRESSED_RGBA_BPTC_UNORM: return "GL_COMPRESSED_RGBA_BPTC_UNORM"; 1042 case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM: return "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"; 1043 case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT: return "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT"; 1044 case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: return "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT"; 1045 default: return nullptr; 1046 } 1047} 1048 1049const char* getShaderVarTypeName (int value) 1050{ 1051 switch (value) 1052 { 1053 case GL_FLOAT: return "GL_FLOAT"; 1054 case GL_FLOAT_VEC2: return "GL_FLOAT_VEC2"; 1055 case GL_FLOAT_VEC3: return "GL_FLOAT_VEC3"; 1056 case GL_FLOAT_VEC4: return "GL_FLOAT_VEC4"; 1057 case GL_INT: return "GL_INT"; 1058 case GL_INT_VEC2: return "GL_INT_VEC2"; 1059 case GL_INT_VEC3: return "GL_INT_VEC3"; 1060 case GL_INT_VEC4: return "GL_INT_VEC4"; 1061 case GL_UNSIGNED_INT: return "GL_UNSIGNED_INT"; 1062 case GL_UNSIGNED_INT_VEC2: return "GL_UNSIGNED_INT_VEC2"; 1063 case GL_UNSIGNED_INT_VEC3: return "GL_UNSIGNED_INT_VEC3"; 1064 case GL_UNSIGNED_INT_VEC4: return "GL_UNSIGNED_INT_VEC4"; 1065 case GL_BOOL: return "GL_BOOL"; 1066 case GL_BOOL_VEC2: return "GL_BOOL_VEC2"; 1067 case GL_BOOL_VEC3: return "GL_BOOL_VEC3"; 1068 case GL_BOOL_VEC4: return "GL_BOOL_VEC4"; 1069 case GL_FLOAT_MAT2: return "GL_FLOAT_MAT2"; 1070 case GL_FLOAT_MAT3: return "GL_FLOAT_MAT3"; 1071 case GL_FLOAT_MAT4: return "GL_FLOAT_MAT4"; 1072 case GL_FLOAT_MAT2x3: return "GL_FLOAT_MAT2x3"; 1073 case GL_FLOAT_MAT2x4: return "GL_FLOAT_MAT2x4"; 1074 case GL_FLOAT_MAT3x2: return "GL_FLOAT_MAT3x2"; 1075 case GL_FLOAT_MAT3x4: return "GL_FLOAT_MAT3x4"; 1076 case GL_FLOAT_MAT4x2: return "GL_FLOAT_MAT4x2"; 1077 case GL_FLOAT_MAT4x3: return "GL_FLOAT_MAT4x3"; 1078 case GL_SAMPLER_1D: return "GL_SAMPLER_1D"; 1079 case GL_SAMPLER_1D_ARRAY: return "GL_SAMPLER_1D_ARRAY"; 1080 case GL_SAMPLER_1D_SHADOW: return "GL_SAMPLER_1D_SHADOW"; 1081 case GL_SAMPLER_2D: return "GL_SAMPLER_2D"; 1082 case GL_SAMPLER_2D_RECT: return "GL_SAMPLER_2D_RECT"; 1083 case GL_SAMPLER_2D_RECT_SHADOW: return "GL_SAMPLER_2D_RECT_SHADOW"; 1084 case GL_SAMPLER_3D: return "GL_SAMPLER_3D"; 1085 case GL_SAMPLER_CUBE: return "GL_SAMPLER_CUBE"; 1086 case GL_SAMPLER_1D_ARRAY_SHADOW: return "GL_SAMPLER_1D_ARRAY_SHADOW"; 1087 case GL_SAMPLER_2D_SHADOW: return "GL_SAMPLER_2D_SHADOW"; 1088 case GL_SAMPLER_2D_ARRAY: return "GL_SAMPLER_2D_ARRAY"; 1089 case GL_SAMPLER_2D_ARRAY_SHADOW: return "GL_SAMPLER_2D_ARRAY_SHADOW"; 1090 case GL_SAMPLER_CUBE_SHADOW: return "GL_SAMPLER_CUBE_SHADOW"; 1091 case GL_INT_SAMPLER_1D: return "GL_INT_SAMPLER_1D"; 1092 case GL_INT_SAMPLER_2D: return "GL_INT_SAMPLER_2D"; 1093 case GL_INT_SAMPLER_2D_RECT: return "GL_INT_SAMPLER_2D_RECT"; 1094 case GL_INT_SAMPLER_3D: return "GL_INT_SAMPLER_3D"; 1095 case GL_INT_SAMPLER_CUBE: return "GL_INT_SAMPLER_CUBE"; 1096 case GL_INT_SAMPLER_2D_ARRAY: return "GL_INT_SAMPLER_2D_ARRAY"; 1097 case GL_INT_SAMPLER_1D_ARRAY: return "GL_INT_SAMPLER_1D_ARRAY"; 1098 case GL_UNSIGNED_INT_SAMPLER_1D: return "GL_UNSIGNED_INT_SAMPLER_1D"; 1099 case GL_UNSIGNED_INT_SAMPLER_2D: return "GL_UNSIGNED_INT_SAMPLER_2D"; 1100 case GL_UNSIGNED_INT_SAMPLER_2D_RECT: return "GL_UNSIGNED_INT_SAMPLER_2D_RECT"; 1101 case GL_UNSIGNED_INT_SAMPLER_3D: return "GL_UNSIGNED_INT_SAMPLER_3D"; 1102 case GL_UNSIGNED_INT_SAMPLER_CUBE: return "GL_UNSIGNED_INT_SAMPLER_CUBE"; 1103 case GL_UNSIGNED_INT_SAMPLER_1D_ARRAY: return "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY"; 1104 case GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: return "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"; 1105 case GL_SAMPLER_2D_MULTISAMPLE: return "GL_SAMPLER_2D_MULTISAMPLE"; 1106 case GL_INT_SAMPLER_2D_MULTISAMPLE: return "GL_INT_SAMPLER_2D_MULTISAMPLE"; 1107 case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"; 1108 case GL_IMAGE_2D: return "GL_IMAGE_2D"; 1109 case GL_IMAGE_3D: return "GL_IMAGE_3D"; 1110 case GL_IMAGE_CUBE: return "GL_IMAGE_CUBE"; 1111 case GL_IMAGE_2D_ARRAY: return "GL_IMAGE_2D_ARRAY"; 1112 case GL_INT_IMAGE_2D: return "GL_INT_IMAGE_2D"; 1113 case GL_INT_IMAGE_3D: return "GL_INT_IMAGE_3D"; 1114 case GL_INT_IMAGE_CUBE: return "GL_INT_IMAGE_CUBE"; 1115 case GL_INT_IMAGE_2D_ARRAY: return "GL_INT_IMAGE_2D_ARRAY"; 1116 case GL_UNSIGNED_INT_IMAGE_2D: return "GL_UNSIGNED_INT_IMAGE_2D"; 1117 case GL_UNSIGNED_INT_IMAGE_3D: return "GL_UNSIGNED_INT_IMAGE_3D"; 1118 case GL_UNSIGNED_INT_IMAGE_CUBE: return "GL_UNSIGNED_INT_IMAGE_CUBE"; 1119 case GL_UNSIGNED_INT_IMAGE_2D_ARRAY: return "GL_UNSIGNED_INT_IMAGE_2D_ARRAY"; 1120 case GL_UNSIGNED_INT_ATOMIC_COUNTER: return "GL_UNSIGNED_INT_ATOMIC_COUNTER"; 1121 case GL_SAMPLER_2D_MULTISAMPLE_ARRAY: return "GL_SAMPLER_2D_MULTISAMPLE_ARRAY"; 1122 case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: return "GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"; 1123 case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: return "GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"; 1124 case GL_SAMPLER_BUFFER: return "GL_SAMPLER_BUFFER"; 1125 case GL_INT_SAMPLER_BUFFER: return "GL_INT_SAMPLER_BUFFER"; 1126 case GL_UNSIGNED_INT_SAMPLER_BUFFER: return "GL_UNSIGNED_INT_SAMPLER_BUFFER"; 1127 case GL_IMAGE_BUFFER: return "GL_IMAGE_BUFFER"; 1128 case GL_INT_IMAGE_BUFFER: return "GL_INT_IMAGE_BUFFER"; 1129 case GL_UNSIGNED_INT_IMAGE_BUFFER: return "GL_UNSIGNED_INT_IMAGE_BUFFER"; 1130 case GL_SAMPLER_CUBE_MAP_ARRAY: return "GL_SAMPLER_CUBE_MAP_ARRAY"; 1131 case GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: return "GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"; 1132 case GL_INT_SAMPLER_CUBE_MAP_ARRAY: return "GL_INT_SAMPLER_CUBE_MAP_ARRAY"; 1133 case GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: return "GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"; 1134 case GL_IMAGE_CUBE_MAP_ARRAY: return "GL_IMAGE_CUBE_MAP_ARRAY"; 1135 case GL_INT_IMAGE_CUBE_MAP_ARRAY: return "GL_INT_IMAGE_CUBE_MAP_ARRAY"; 1136 case GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: return "GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"; 1137 default: return nullptr; 1138 } 1139} 1140 1141const char* getShaderParamName (int value) 1142{ 1143 switch (value) 1144 { 1145 case GL_SHADER_TYPE: return "GL_SHADER_TYPE"; 1146 case GL_DELETE_STATUS: return "GL_DELETE_STATUS"; 1147 case GL_COMPILE_STATUS: return "GL_COMPILE_STATUS"; 1148 case GL_INFO_LOG_LENGTH: return "GL_INFO_LOG_LENGTH"; 1149 case GL_SHADER_SOURCE_LENGTH: return "GL_SHADER_SOURCE_LENGTH"; 1150 default: return nullptr; 1151 } 1152} 1153 1154const char* getVertexAttribParameterNameName (int value) 1155{ 1156 switch (value) 1157 { 1158 case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: return "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"; 1159 case GL_VERTEX_ATTRIB_ARRAY_ENABLED: return "GL_VERTEX_ATTRIB_ARRAY_ENABLED"; 1160 case GL_VERTEX_ATTRIB_ARRAY_SIZE: return "GL_VERTEX_ATTRIB_ARRAY_SIZE"; 1161 case GL_VERTEX_ATTRIB_ARRAY_STRIDE: return "GL_VERTEX_ATTRIB_ARRAY_STRIDE"; 1162 case GL_VERTEX_ATTRIB_ARRAY_TYPE: return "GL_VERTEX_ATTRIB_ARRAY_TYPE"; 1163 case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: return "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"; 1164 case GL_VERTEX_ATTRIB_ARRAY_INTEGER: return "GL_VERTEX_ATTRIB_ARRAY_INTEGER"; 1165 case GL_VERTEX_ATTRIB_ARRAY_DIVISOR: return "GL_VERTEX_ATTRIB_ARRAY_DIVISOR"; 1166 case GL_CURRENT_VERTEX_ATTRIB: return "GL_CURRENT_VERTEX_ATTRIB"; 1167 case GL_VERTEX_ATTRIB_BINDING: return "GL_VERTEX_ATTRIB_BINDING"; 1168 case GL_VERTEX_ATTRIB_RELATIVE_OFFSET: return "GL_VERTEX_ATTRIB_RELATIVE_OFFSET"; 1169 case GL_VERTEX_ATTRIB_ARRAY_POINTER: return "GL_VERTEX_ATTRIB_ARRAY_POINTER"; 1170 default: return nullptr; 1171 } 1172} 1173 1174const char* getBooleanName (int value) 1175{ 1176 switch (value) 1177 { 1178 case GL_FALSE: return "GL_FALSE"; 1179 case GL_TRUE: return "GL_TRUE"; 1180 default: return nullptr; 1181 } 1182} 1183 1184const char* getGettableStateName (int value) 1185{ 1186 switch (value) 1187 { 1188 case GL_ELEMENT_ARRAY_BUFFER_BINDING: return "GL_ELEMENT_ARRAY_BUFFER_BINDING"; 1189 case GL_ARRAY_BUFFER_BINDING: return "GL_ARRAY_BUFFER_BINDING"; 1190 case GL_VERTEX_ARRAY_BINDING: return "GL_VERTEX_ARRAY_BINDING"; 1191 case GL_VIEWPORT: return "GL_VIEWPORT"; 1192 case GL_DEPTH_RANGE: return "GL_DEPTH_RANGE"; 1193 case GL_TRANSFORM_FEEDBACK_BINDING: return "GL_TRANSFORM_FEEDBACK_BINDING"; 1194 case GL_LINE_WIDTH: return "GL_LINE_WIDTH"; 1195 case GL_CULL_FACE_MODE: return "GL_CULL_FACE_MODE"; 1196 case GL_FRONT_FACE: return "GL_FRONT_FACE"; 1197 case GL_POLYGON_OFFSET_FACTOR: return "GL_POLYGON_OFFSET_FACTOR"; 1198 case GL_POLYGON_OFFSET_UNITS: return "GL_POLYGON_OFFSET_UNITS"; 1199 case GL_SAMPLE_COVERAGE_VALUE: return "GL_SAMPLE_COVERAGE_VALUE"; 1200 case GL_SAMPLE_COVERAGE_INVERT: return "GL_SAMPLE_COVERAGE_INVERT"; 1201 case GL_ACTIVE_TEXTURE: return "GL_ACTIVE_TEXTURE"; 1202 case GL_TEXTURE_BINDING_1D: return "GL_TEXTURE_BINDING_1D"; 1203 case GL_TEXTURE_BINDING_1D_ARRAY: return "GL_TEXTURE_BINDING_1D_ARRAY"; 1204 case GL_TEXTURE_BINDING_2D: return "GL_TEXTURE_BINDING_2D"; 1205 case GL_TEXTURE_BINDING_RECTANGLE: return "GL_TEXTURE_BINDING_RECTANGLE"; 1206 case GL_TEXTURE_BINDING_3D: return "GL_TEXTURE_BINDING_3D"; 1207 case GL_TEXTURE_BINDING_2D_ARRAY: return "GL_TEXTURE_BINDING_2D_ARRAY"; 1208 case GL_TEXTURE_BINDING_CUBE_MAP: return "GL_TEXTURE_BINDING_CUBE_MAP"; 1209 case GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: return "GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"; 1210 case GL_SAMPLER_BINDING: return "GL_SAMPLER_BINDING"; 1211 case GL_SCISSOR_BOX: return "GL_SCISSOR_BOX"; 1212 case GL_STENCIL_FUNC: return "GL_STENCIL_FUNC"; 1213 case GL_STENCIL_VALUE_MASK: return "GL_STENCIL_VALUE_MASK"; 1214 case GL_STENCIL_REF: return "GL_STENCIL_REF"; 1215 case GL_STENCIL_FAIL: return "GL_STENCIL_FAIL"; 1216 case GL_STENCIL_PASS_DEPTH_FAIL: return "GL_STENCIL_PASS_DEPTH_FAIL"; 1217 case GL_STENCIL_PASS_DEPTH_PASS: return "GL_STENCIL_PASS_DEPTH_PASS"; 1218 case GL_STENCIL_BACK_FUNC: return "GL_STENCIL_BACK_FUNC"; 1219 case GL_STENCIL_BACK_VALUE_MASK: return "GL_STENCIL_BACK_VALUE_MASK"; 1220 case GL_STENCIL_BACK_REF: return "GL_STENCIL_BACK_REF"; 1221 case GL_STENCIL_BACK_FAIL: return "GL_STENCIL_BACK_FAIL"; 1222 case GL_STENCIL_BACK_PASS_DEPTH_FAIL: return "GL_STENCIL_BACK_PASS_DEPTH_FAIL"; 1223 case GL_STENCIL_BACK_PASS_DEPTH_PASS: return "GL_STENCIL_BACK_PASS_DEPTH_PASS"; 1224 case GL_DEPTH_FUNC: return "GL_DEPTH_FUNC"; 1225 case GL_BLEND_SRC_RGB: return "GL_BLEND_SRC_RGB"; 1226 case GL_BLEND_SRC_ALPHA: return "GL_BLEND_SRC_ALPHA"; 1227 case GL_BLEND_DST_RGB: return "GL_BLEND_DST_RGB"; 1228 case GL_BLEND_DST_ALPHA: return "GL_BLEND_DST_ALPHA"; 1229 case GL_BLEND_EQUATION_RGB: return "GL_BLEND_EQUATION_RGB"; 1230 case GL_BLEND_EQUATION_ALPHA: return "GL_BLEND_EQUATION_ALPHA"; 1231 case GL_BLEND_COLOR: return "GL_BLEND_COLOR"; 1232 case GL_COLOR_WRITEMASK: return "GL_COLOR_WRITEMASK"; 1233 case GL_DEPTH_WRITEMASK: return "GL_DEPTH_WRITEMASK"; 1234 case GL_STENCIL_WRITEMASK: return "GL_STENCIL_WRITEMASK"; 1235 case GL_STENCIL_BACK_WRITEMASK: return "GL_STENCIL_BACK_WRITEMASK"; 1236 case GL_COLOR_CLEAR_VALUE: return "GL_COLOR_CLEAR_VALUE"; 1237 case GL_DEPTH_CLEAR_VALUE: return "GL_DEPTH_CLEAR_VALUE"; 1238 case GL_STENCIL_CLEAR_VALUE: return "GL_STENCIL_CLEAR_VALUE"; 1239 case GL_DRAW_FRAMEBUFFER_BINDING: return "GL_DRAW_FRAMEBUFFER_BINDING"; 1240 case GL_READ_FRAMEBUFFER_BINDING: return "GL_READ_FRAMEBUFFER_BINDING"; 1241 case GL_RENDERBUFFER_BINDING: return "GL_RENDERBUFFER_BINDING"; 1242 case GL_DRAW_BUFFER0: return "GL_DRAW_BUFFER0"; 1243 case GL_DRAW_BUFFER1: return "GL_DRAW_BUFFER1"; 1244 case GL_DRAW_BUFFER2: return "GL_DRAW_BUFFER2"; 1245 case GL_DRAW_BUFFER3: return "GL_DRAW_BUFFER3"; 1246 case GL_DRAW_BUFFER4: return "GL_DRAW_BUFFER4"; 1247 case GL_DRAW_BUFFER5: return "GL_DRAW_BUFFER5"; 1248 case GL_DRAW_BUFFER6: return "GL_DRAW_BUFFER6"; 1249 case GL_DRAW_BUFFER7: return "GL_DRAW_BUFFER7"; 1250 case GL_DRAW_BUFFER8: return "GL_DRAW_BUFFER8"; 1251 case GL_DRAW_BUFFER9: return "GL_DRAW_BUFFER9"; 1252 case GL_DRAW_BUFFER10: return "GL_DRAW_BUFFER10"; 1253 case GL_DRAW_BUFFER11: return "GL_DRAW_BUFFER11"; 1254 case GL_DRAW_BUFFER12: return "GL_DRAW_BUFFER12"; 1255 case GL_DRAW_BUFFER13: return "GL_DRAW_BUFFER13"; 1256 case GL_DRAW_BUFFER14: return "GL_DRAW_BUFFER14"; 1257 case GL_DRAW_BUFFER15: return "GL_DRAW_BUFFER15"; 1258 case GL_READ_BUFFER: return "GL_READ_BUFFER"; 1259 case GL_DRAW_BUFFER: return "GL_DRAW_BUFFER"; 1260 case GL_UNPACK_IMAGE_HEIGHT: return "GL_UNPACK_IMAGE_HEIGHT"; 1261 case GL_UNPACK_SKIP_IMAGES: return "GL_UNPACK_SKIP_IMAGES"; 1262 case GL_UNPACK_ROW_LENGTH: return "GL_UNPACK_ROW_LENGTH"; 1263 case GL_UNPACK_SKIP_ROWS: return "GL_UNPACK_SKIP_ROWS"; 1264 case GL_UNPACK_SKIP_PIXELS: return "GL_UNPACK_SKIP_PIXELS"; 1265 case GL_UNPACK_ALIGNMENT: return "GL_UNPACK_ALIGNMENT"; 1266 case GL_PACK_ROW_LENGTH: return "GL_PACK_ROW_LENGTH"; 1267 case GL_PACK_SKIP_ROWS: return "GL_PACK_SKIP_ROWS"; 1268 case GL_PACK_SKIP_PIXELS: return "GL_PACK_SKIP_PIXELS"; 1269 case GL_PACK_ALIGNMENT: return "GL_PACK_ALIGNMENT"; 1270 case GL_PIXEL_PACK_BUFFER_BINDING: return "GL_PIXEL_PACK_BUFFER_BINDING"; 1271 case GL_PIXEL_UNPACK_BUFFER_BINDING: return "GL_PIXEL_UNPACK_BUFFER_BINDING"; 1272 case GL_CURRENT_PROGRAM: return "GL_CURRENT_PROGRAM"; 1273 case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: return "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"; 1274 case GL_TRANSFORM_FEEDBACK_PAUSED: return "GL_TRANSFORM_FEEDBACK_PAUSED"; 1275 case GL_TRANSFORM_FEEDBACK_ACTIVE: return "GL_TRANSFORM_FEEDBACK_ACTIVE"; 1276 case GL_UNIFORM_BUFFER_BINDING: return "GL_UNIFORM_BUFFER_BINDING"; 1277 case GL_GENERATE_MIPMAP_HINT: return "GL_GENERATE_MIPMAP_HINT"; 1278 case GL_FRAGMENT_SHADER_DERIVATIVE_HINT: return "GL_FRAGMENT_SHADER_DERIVATIVE_HINT"; 1279 case GL_MAX_ELEMENT_INDEX: return "GL_MAX_ELEMENT_INDEX"; 1280 case GL_SUBPIXEL_BITS: return "GL_SUBPIXEL_BITS"; 1281 case GL_MAX_3D_TEXTURE_SIZE: return "GL_MAX_3D_TEXTURE_SIZE"; 1282 case GL_MAX_TEXTURE_SIZE: return "GL_MAX_TEXTURE_SIZE"; 1283 case GL_MAX_ARRAY_TEXTURE_LAYERS: return "GL_MAX_ARRAY_TEXTURE_LAYERS"; 1284 case GL_MAX_TEXTURE_LOD_BIAS: return "GL_MAX_TEXTURE_LOD_BIAS"; 1285 case GL_MAX_CUBE_MAP_TEXTURE_SIZE: return "GL_MAX_CUBE_MAP_TEXTURE_SIZE"; 1286 case GL_MAX_RECTANGLE_TEXTURE_SIZE: return "GL_MAX_RECTANGLE_TEXTURE_SIZE"; 1287 case GL_MAX_RENDERBUFFER_SIZE: return "GL_MAX_RENDERBUFFER_SIZE"; 1288 case GL_MAX_DRAW_BUFFERS: return "GL_MAX_DRAW_BUFFERS"; 1289 case GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: return "GL_MAX_DUAL_SOURCE_DRAW_BUFFERS"; 1290 case GL_MAX_COLOR_ATTACHMENTS: return "GL_MAX_COLOR_ATTACHMENTS"; 1291 case GL_MAX_VIEWPORT_DIMS: return "GL_MAX_VIEWPORT_DIMS"; 1292 case GL_ALIASED_POINT_SIZE_RANGE: return "GL_ALIASED_POINT_SIZE_RANGE"; 1293 case GL_ALIASED_LINE_WIDTH_RANGE: return "GL_ALIASED_LINE_WIDTH_RANGE"; 1294 case GL_MAX_ELEMENTS_INDICES: return "GL_MAX_ELEMENTS_INDICES"; 1295 case GL_MAX_ELEMENTS_VERTICES: return "GL_MAX_ELEMENTS_VERTICES"; 1296 case GL_COMPRESSED_TEXTURE_FORMATS: return "GL_COMPRESSED_TEXTURE_FORMATS"; 1297 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: return "GL_NUM_COMPRESSED_TEXTURE_FORMATS"; 1298 case GL_PROGRAM_BINARY_FORMATS: return "GL_PROGRAM_BINARY_FORMATS"; 1299 case GL_NUM_PROGRAM_BINARY_FORMATS: return "GL_NUM_PROGRAM_BINARY_FORMATS"; 1300 case GL_SHADER_BINARY_FORMATS: return "GL_SHADER_BINARY_FORMATS"; 1301 case GL_NUM_SHADER_BINARY_FORMATS: return "GL_NUM_SHADER_BINARY_FORMATS"; 1302 case GL_SHADER_COMPILER: return "GL_SHADER_COMPILER"; 1303 case GL_MAX_SERVER_WAIT_TIMEOUT: return "GL_MAX_SERVER_WAIT_TIMEOUT"; 1304 case GL_NUM_EXTENSIONS: return "GL_NUM_EXTENSIONS"; 1305 case GL_MAJOR_VERSION: return "GL_MAJOR_VERSION"; 1306 case GL_MINOR_VERSION: return "GL_MINOR_VERSION"; 1307 case GL_MAX_VERTEX_ATTRIBS: return "GL_MAX_VERTEX_ATTRIBS"; 1308 case GL_MAX_VERTEX_UNIFORM_COMPONENTS: return "GL_MAX_VERTEX_UNIFORM_COMPONENTS"; 1309 case GL_MAX_VERTEX_UNIFORM_VECTORS: return "GL_MAX_VERTEX_UNIFORM_VECTORS"; 1310 case GL_MAX_VERTEX_UNIFORM_BLOCKS: return "GL_MAX_VERTEX_UNIFORM_BLOCKS"; 1311 case GL_MAX_VERTEX_OUTPUT_COMPONENTS: return "GL_MAX_VERTEX_OUTPUT_COMPONENTS"; 1312 case GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: return "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"; 1313 case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: return "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"; 1314 case GL_MAX_FRAGMENT_UNIFORM_VECTORS: return "GL_MAX_FRAGMENT_UNIFORM_VECTORS"; 1315 case GL_MAX_FRAGMENT_UNIFORM_BLOCKS: return "GL_MAX_FRAGMENT_UNIFORM_BLOCKS"; 1316 case GL_MAX_FRAGMENT_INPUT_COMPONENTS: return "GL_MAX_FRAGMENT_INPUT_COMPONENTS"; 1317 case GL_MAX_TEXTURE_IMAGE_UNITS: return "GL_MAX_TEXTURE_IMAGE_UNITS"; 1318 case GL_MIN_PROGRAM_TEXEL_OFFSET: return "GL_MIN_PROGRAM_TEXEL_OFFSET"; 1319 case GL_MAX_PROGRAM_TEXEL_OFFSET: return "GL_MAX_PROGRAM_TEXEL_OFFSET"; 1320 case GL_MAX_UNIFORM_BUFFER_BINDINGS: return "GL_MAX_UNIFORM_BUFFER_BINDINGS"; 1321 case GL_MAX_UNIFORM_BLOCK_SIZE: return "GL_MAX_UNIFORM_BLOCK_SIZE"; 1322 case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: return "GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"; 1323 case GL_MAX_COMBINED_UNIFORM_BLOCKS: return "GL_MAX_COMBINED_UNIFORM_BLOCKS"; 1324 case GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"; 1325 case GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"; 1326 case GL_MAX_VARYING_COMPONENTS: return "GL_MAX_VARYING_COMPONENTS"; 1327 case GL_MAX_VARYING_VECTORS: return "GL_MAX_VARYING_VECTORS"; 1328 case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: return "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"; 1329 case GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: return "GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"; 1330 case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"; 1331 case GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: return "GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"; 1332 case GL_INTERLEAVED_ATTRIBS: return "GL_INTERLEAVED_ATTRIBS"; 1333 case GL_SEPARATE_ATTRIBS: return "GL_SEPARATE_ATTRIBS"; 1334 case GL_SAMPLE_BUFFERS: return "GL_SAMPLE_BUFFERS"; 1335 case GL_SAMPLES: return "GL_SAMPLES"; 1336 case GL_MAX_SAMPLES: return "GL_MAX_SAMPLES"; 1337 case GL_DEPTH_BITS: return "GL_DEPTH_BITS"; 1338 case GL_STENCIL_BITS: return "GL_STENCIL_BITS"; 1339 case GL_IMPLEMENTATION_COLOR_READ_TYPE: return "GL_IMPLEMENTATION_COLOR_READ_TYPE"; 1340 case GL_IMPLEMENTATION_COLOR_READ_FORMAT: return "GL_IMPLEMENTATION_COLOR_READ_FORMAT"; 1341 case GL_COPY_READ_BUFFER_BINDING: return "GL_COPY_READ_BUFFER_BINDING"; 1342 case GL_COPY_WRITE_BUFFER_BINDING: return "GL_COPY_WRITE_BUFFER_BINDING"; 1343 case GL_RED_BITS: return "GL_RED_BITS"; 1344 case GL_GREEN_BITS: return "GL_GREEN_BITS"; 1345 case GL_BLUE_BITS: return "GL_BLUE_BITS"; 1346 case GL_ALPHA_BITS: return "GL_ALPHA_BITS"; 1347 case GL_MAX_COLOR_TEXTURE_SAMPLES: return "GL_MAX_COLOR_TEXTURE_SAMPLES"; 1348 case GL_TIMESTAMP: return "GL_TIMESTAMP"; 1349 case GL_MAX_DEPTH_TEXTURE_SAMPLES: return "GL_MAX_DEPTH_TEXTURE_SAMPLES"; 1350 case GL_MAX_INTEGER_SAMPLES: return "GL_MAX_INTEGER_SAMPLES"; 1351 case GL_TEXTURE_BINDING_2D_MULTISAMPLE: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE"; 1352 case GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: return "GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"; 1353 case GL_MAX_VERTEX_ATTRIB_STRIDE: return "GL_MAX_VERTEX_ATTRIB_STRIDE"; 1354 case GL_MAX_VERTEX_ATTRIB_BINDINGS: return "GL_MAX_VERTEX_ATTRIB_BINDINGS"; 1355 case GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: return "GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"; 1356 case GL_MIN_SAMPLE_SHADING_VALUE: return "GL_MIN_SAMPLE_SHADING_VALUE"; 1357 case GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: return "GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"; 1358 case GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: return "GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"; 1359 case GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: return "GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"; 1360 case GL_MAX_GEOMETRY_SHADER_INVOCATIONS: return "GL_MAX_GEOMETRY_SHADER_INVOCATIONS"; 1361 case GL_LAYER_PROVOKING_VERTEX: return "GL_LAYER_PROVOKING_VERTEX"; 1362 case GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: return "GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"; 1363 case GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: return "GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"; 1364 case GL_MAX_GEOMETRY_UNIFORM_BLOCKS: return "GL_MAX_GEOMETRY_UNIFORM_BLOCKS"; 1365 case GL_MAX_GEOMETRY_INPUT_COMPONENTS: return "GL_MAX_GEOMETRY_INPUT_COMPONENTS"; 1366 case GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: return "GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"; 1367 case GL_MAX_GEOMETRY_IMAGE_UNIFORMS: return "GL_MAX_GEOMETRY_IMAGE_UNIFORMS"; 1368 case GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: return "GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"; 1369 case GL_MAX_GEOMETRY_OUTPUT_VERTICES: return "GL_MAX_GEOMETRY_OUTPUT_VERTICES"; 1370 case GL_MAX_GEOMETRY_ATOMIC_COUNTERS: return "GL_MAX_GEOMETRY_ATOMIC_COUNTERS"; 1371 case GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"; 1372 case GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: return "GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"; 1373 case GL_MAX_FRAMEBUFFER_LAYERS: return "GL_MAX_FRAMEBUFFER_LAYERS"; 1374 case GL_PROVOKING_VERTEX: return "GL_PROVOKING_VERTEX"; 1375 case GL_PRIMITIVE_RESTART_INDEX: return "GL_PRIMITIVE_RESTART_INDEX"; 1376 case GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"; 1377 case GL_MAX_FRAGMENT_ATOMIC_COUNTERS: return "GL_MAX_FRAGMENT_ATOMIC_COUNTERS"; 1378 case GL_MAX_FRAGMENT_IMAGE_UNIFORMS: return "GL_MAX_FRAGMENT_IMAGE_UNIFORMS"; 1379 case GL_MAX_COMPUTE_UNIFORM_BLOCKS: return "GL_MAX_COMPUTE_UNIFORM_BLOCKS"; 1380 case GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: return "GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"; 1381 case GL_MAX_COMPUTE_UNIFORM_COMPONENTS: return "GL_MAX_COMPUTE_UNIFORM_COMPONENTS"; 1382 case GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"; 1383 case GL_MAX_COMPUTE_ATOMIC_COUNTERS: return "GL_MAX_COMPUTE_ATOMIC_COUNTERS"; 1384 case GL_MAX_COMPUTE_IMAGE_UNIFORMS: return "GL_MAX_COMPUTE_IMAGE_UNIFORMS"; 1385 case GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: return "GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"; 1386 case GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: return "GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"; 1387 case GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"; 1388 case GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"; 1389 case GL_MAX_VERTEX_ATOMIC_COUNTERS: return "GL_MAX_VERTEX_ATOMIC_COUNTERS"; 1390 case GL_MAX_VERTEX_IMAGE_UNIFORMS: return "GL_MAX_VERTEX_IMAGE_UNIFORMS"; 1391 case GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: return "GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"; 1392 case GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: return "GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"; 1393 case GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: return "GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"; 1394 case GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: return "GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"; 1395 case GL_MAX_IMAGE_UNITS: return "GL_MAX_IMAGE_UNITS"; 1396 case GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"; 1397 case GL_MAX_COMBINED_IMAGE_UNIFORMS: return "GL_MAX_COMBINED_IMAGE_UNIFORMS"; 1398 case GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: return "GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"; 1399 case GL_MAX_SHADER_STORAGE_BLOCK_SIZE: return "GL_MAX_SHADER_STORAGE_BLOCK_SIZE"; 1400 case GL_MAX_COMBINED_ATOMIC_COUNTERS: return "GL_MAX_COMBINED_ATOMIC_COUNTERS"; 1401 case GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: return "GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"; 1402 case GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: return "GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"; 1403 case GL_PRIMITIVE_BOUNDING_BOX_EXT: return "GL_PRIMITIVE_BOUNDING_BOX_EXT"; 1404 case GL_DRAW_INDIRECT_BUFFER_BINDING: return "GL_DRAW_INDIRECT_BUFFER_BINDING"; 1405 case GL_MAX_SAMPLE_MASK_WORDS: return "GL_MAX_SAMPLE_MASK_WORDS"; 1406 case GL_PROGRAM_PIPELINE_BINDING: return "GL_PROGRAM_PIPELINE_BINDING"; 1407 case GL_ATOMIC_COUNTER_BUFFER_BINDING: return "GL_ATOMIC_COUNTER_BUFFER_BINDING"; 1408 case GL_SHADER_STORAGE_BUFFER_BINDING: return "GL_SHADER_STORAGE_BUFFER_BINDING"; 1409 case GL_DISPATCH_INDIRECT_BUFFER_BINDING: return "GL_DISPATCH_INDIRECT_BUFFER_BINDING"; 1410 case GL_MAX_FRAMEBUFFER_WIDTH: return "GL_MAX_FRAMEBUFFER_WIDTH"; 1411 case GL_MAX_FRAMEBUFFER_HEIGHT: return "GL_MAX_FRAMEBUFFER_HEIGHT"; 1412 case GL_MAX_FRAMEBUFFER_SAMPLES: return "GL_MAX_FRAMEBUFFER_SAMPLES"; 1413 case GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: return "GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"; 1414 case GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: return "GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"; 1415 case GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: return "GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"; 1416 case GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: return "GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"; 1417 case GL_MAX_UNIFORM_LOCATIONS: return "GL_MAX_UNIFORM_LOCATIONS"; 1418 case GL_MAX_DEBUG_MESSAGE_LENGTH: return "GL_MAX_DEBUG_MESSAGE_LENGTH"; 1419 case GL_MAX_DEBUG_LOGGED_MESSAGES: return "GL_MAX_DEBUG_LOGGED_MESSAGES"; 1420 case GL_MAX_DEBUG_GROUP_STACK_DEPTH: return "GL_MAX_DEBUG_GROUP_STACK_DEPTH"; 1421 case GL_MAX_LABEL_LENGTH: return "GL_MAX_LABEL_LENGTH"; 1422 case GL_CONTEXT_FLAGS: return "GL_CONTEXT_FLAGS"; 1423 case GL_DEBUG_LOGGED_MESSAGES: return "GL_DEBUG_LOGGED_MESSAGES"; 1424 case GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: return "GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"; 1425 case GL_DEBUG_GROUP_STACK_DEPTH: return "GL_DEBUG_GROUP_STACK_DEPTH"; 1426 case GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"; 1427 case GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: return "GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"; 1428 case GL_TEXTURE_BUFFER_BINDING: return "GL_TEXTURE_BUFFER_BINDING"; 1429 case GL_TEXTURE_BINDING_BUFFER: return "GL_TEXTURE_BINDING_BUFFER"; 1430 case GL_MAX_TEXTURE_BUFFER_SIZE: return "GL_MAX_TEXTURE_BUFFER_SIZE"; 1431 case GL_MAX_PATCH_VERTICES: return "GL_MAX_PATCH_VERTICES"; 1432 case GL_MAX_TESS_GEN_LEVEL: return "GL_MAX_TESS_GEN_LEVEL"; 1433 case GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: return "GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"; 1434 case GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: return "GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"; 1435 case GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: return "GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"; 1436 case GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: return "GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"; 1437 case GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: return "GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"; 1438 case GL_MAX_TESS_PATCH_COMPONENTS: return "GL_MAX_TESS_PATCH_COMPONENTS"; 1439 case GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: return "GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"; 1440 case GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: return "GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"; 1441 case GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: return "GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"; 1442 case GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: return "GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"; 1443 case GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: return "GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"; 1444 case GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: return "GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"; 1445 case GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"; 1446 case GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"; 1447 case GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: return "GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"; 1448 case GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: return "GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"; 1449 case GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: return "GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"; 1450 case GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: return "GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"; 1451 case GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"; 1452 case GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: return "GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"; 1453 case GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: return "GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"; 1454 case GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: return "GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"; 1455 case GL_PATCH_VERTICES: return "GL_PATCH_VERTICES"; 1456 case GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: return "GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"; 1457 case GL_BUFFER_MAP_POINTER: return "GL_BUFFER_MAP_POINTER"; 1458 case GL_POINT_SIZE: return "GL_POINT_SIZE"; 1459 case GL_POINT_SIZE_RANGE: return "GL_POINT_SIZE_RANGE"; 1460 case GL_POINT_SIZE_GRANULARITY: return "GL_POINT_SIZE_GRANULARITY"; 1461 case GL_BLEND_DST: return "GL_BLEND_DST"; 1462 case GL_BLEND_SRC: return "GL_BLEND_SRC"; 1463 case GL_LOGIC_OP_MODE: return "GL_LOGIC_OP_MODE"; 1464 case GL_COLOR_LOGIC_OP: return "GL_COLOR_LOGIC_OP"; 1465 case GL_TEXTURE_LOD_BIAS: return "GL_TEXTURE_LOD_BIAS"; 1466 case GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: return "GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION"; 1467 case GL_MAX_SUBROUTINES: return "GL_MAX_SUBROUTINES"; 1468 case GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: return "GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS"; 1469 case GL_NUM_COMPATIBLE_SUBROUTINES: return "GL_NUM_COMPATIBLE_SUBROUTINES"; 1470 case GL_COMPATIBLE_SUBROUTINES: return "GL_COMPATIBLE_SUBROUTINES"; 1471 case GL_PATCH_DEFAULT_INNER_LEVEL: return "GL_PATCH_DEFAULT_INNER_LEVEL"; 1472 case GL_PATCH_DEFAULT_OUTER_LEVEL: return "GL_PATCH_DEFAULT_OUTER_LEVEL"; 1473 case GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: return "GL_MAX_TRANSFORM_FEEDBACK_BUFFERS"; 1474 case GL_TEXTURE_2D: return "GL_TEXTURE_2D"; 1475 case GL_CULL_FACE: return "GL_CULL_FACE"; 1476 case GL_BLEND: return "GL_BLEND"; 1477 case GL_DITHER: return "GL_DITHER"; 1478 case GL_STENCIL_TEST: return "GL_STENCIL_TEST"; 1479 case GL_DEPTH_TEST: return "GL_DEPTH_TEST"; 1480 case GL_SCISSOR_TEST: return "GL_SCISSOR_TEST"; 1481 case GL_POLYGON_OFFSET_FILL: return "GL_POLYGON_OFFSET_FILL"; 1482 case GL_SAMPLE_ALPHA_TO_COVERAGE: return "GL_SAMPLE_ALPHA_TO_COVERAGE"; 1483 case GL_SAMPLE_COVERAGE: return "GL_SAMPLE_COVERAGE"; 1484 case GL_STEREO: return "GL_STEREO"; 1485 case GL_PRIMITIVE_RESTART_FIXED_INDEX: return "GL_PRIMITIVE_RESTART_FIXED_INDEX"; 1486 case GL_RASTERIZER_DISCARD: return "GL_RASTERIZER_DISCARD"; 1487 case GL_FRAMEBUFFER_SRGB: return "GL_FRAMEBUFFER_SRGB"; 1488 case GL_SAMPLE_SHADING: return "GL_SAMPLE_SHADING"; 1489 case GL_DEPTH_CLAMP: return "GL_DEPTH_CLAMP"; 1490 case GL_PRIMITIVE_RESTART: return "GL_PRIMITIVE_RESTART"; 1491 case GL_SAMPLE_MASK: return "GL_SAMPLE_MASK"; 1492 case GL_DEBUG_OUTPUT: return "GL_DEBUG_OUTPUT"; 1493 case GL_DEBUG_OUTPUT_SYNCHRONOUS: return "GL_DEBUG_OUTPUT_SYNCHRONOUS"; 1494 case GL_BLEND_ADVANCED_COHERENT_KHR: return "GL_BLEND_ADVANCED_COHERENT_KHR"; 1495 case GL_MULTISAMPLE: return "GL_MULTISAMPLE"; 1496 case GL_SAMPLE_ALPHA_TO_ONE: return "GL_SAMPLE_ALPHA_TO_ONE"; 1497 case GL_VERTEX_PROGRAM_POINT_SIZE: return "GL_VERTEX_PROGRAM_POINT_SIZE"; 1498 case GL_TEXTURE_CUBE_MAP_SEAMLESS: return "GL_TEXTURE_CUBE_MAP_SEAMLESS"; 1499 default: return nullptr; 1500 } 1501} 1502 1503const char* getGettableIndexedStateName (int value) 1504{ 1505 switch (value) 1506 { 1507 case GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: return "GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"; 1508 case GL_UNIFORM_BUFFER_BINDING: return "GL_UNIFORM_BUFFER_BINDING"; 1509 case GL_TRANSFORM_FEEDBACK_BUFFER_START: return "GL_TRANSFORM_FEEDBACK_BUFFER_START"; 1510 case GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: return "GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"; 1511 case GL_UNIFORM_BUFFER_START: return "GL_UNIFORM_BUFFER_START"; 1512 case GL_UNIFORM_BUFFER_SIZE: return "GL_UNIFORM_BUFFER_SIZE"; 1513 case GL_SAMPLE_MASK_VALUE: return "GL_SAMPLE_MASK_VALUE"; 1514 case GL_VERTEX_BINDING_OFFSET: return "GL_VERTEX_BINDING_OFFSET"; 1515 case GL_VERTEX_BINDING_STRIDE: return "GL_VERTEX_BINDING_STRIDE"; 1516 case GL_VERTEX_BINDING_DIVISOR: return "GL_VERTEX_BINDING_DIVISOR"; 1517 case GL_VERTEX_BINDING_BUFFER: return "GL_VERTEX_BINDING_BUFFER"; 1518 case GL_MAX_COMPUTE_WORK_GROUP_COUNT: return "GL_MAX_COMPUTE_WORK_GROUP_COUNT"; 1519 case GL_MAX_COMPUTE_WORK_GROUP_SIZE: return "GL_MAX_COMPUTE_WORK_GROUP_SIZE"; 1520 case GL_ATOMIC_COUNTER_BUFFER_BINDING: return "GL_ATOMIC_COUNTER_BUFFER_BINDING"; 1521 case GL_ATOMIC_COUNTER_BUFFER_START: return "GL_ATOMIC_COUNTER_BUFFER_START"; 1522 case GL_ATOMIC_COUNTER_BUFFER_SIZE: return "GL_ATOMIC_COUNTER_BUFFER_SIZE"; 1523 case GL_SHADER_STORAGE_BUFFER_BINDING: return "GL_SHADER_STORAGE_BUFFER_BINDING"; 1524 case GL_SHADER_STORAGE_BUFFER_START: return "GL_SHADER_STORAGE_BUFFER_START"; 1525 case GL_SHADER_STORAGE_BUFFER_SIZE: return "GL_SHADER_STORAGE_BUFFER_SIZE"; 1526 case GL_IMAGE_BINDING_NAME: return "GL_IMAGE_BINDING_NAME"; 1527 case GL_IMAGE_BINDING_LEVEL: return "GL_IMAGE_BINDING_LEVEL"; 1528 case GL_IMAGE_BINDING_LAYERED: return "GL_IMAGE_BINDING_LAYERED"; 1529 case GL_IMAGE_BINDING_LAYER: return "GL_IMAGE_BINDING_LAYER"; 1530 case GL_IMAGE_BINDING_ACCESS: return "GL_IMAGE_BINDING_ACCESS"; 1531 case GL_IMAGE_BINDING_FORMAT: return "GL_IMAGE_BINDING_FORMAT"; 1532 case GL_BLEND_EQUATION_RGB: return "GL_BLEND_EQUATION_RGB"; 1533 case GL_BLEND_EQUATION_ALPHA: return "GL_BLEND_EQUATION_ALPHA"; 1534 case GL_BLEND_SRC_RGB: return "GL_BLEND_SRC_RGB"; 1535 case GL_BLEND_SRC_ALPHA: return "GL_BLEND_SRC_ALPHA"; 1536 case GL_BLEND_DST_RGB: return "GL_BLEND_DST_RGB"; 1537 case GL_BLEND_DST_ALPHA: return "GL_BLEND_DST_ALPHA"; 1538 case GL_COLOR_WRITEMASK: return "GL_COLOR_WRITEMASK"; 1539 case GL_UNIFORM_BLOCK_BINDING: return "GL_UNIFORM_BLOCK_BINDING"; 1540 case GL_UNIFORM_BLOCK_DATA_SIZE: return "GL_UNIFORM_BLOCK_DATA_SIZE"; 1541 case GL_UNIFORM_BLOCK_NAME_LENGTH: return "GL_UNIFORM_BLOCK_NAME_LENGTH"; 1542 case GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"; 1543 case GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: return "GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"; 1544 case GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"; 1545 case GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER"; 1546 case GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER"; 1547 case GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER"; 1548 case GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"; 1549 case GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER: return "GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER"; 1550 case GL_OBJECT_TYPE: return "GL_OBJECT_TYPE"; 1551 case GL_SYNC_STATUS: return "GL_SYNC_STATUS"; 1552 case GL_SYNC_CONDITION: return "GL_SYNC_CONDITION"; 1553 case GL_SYNC_FLAGS: return "GL_SYNC_FLAGS"; 1554 case GL_SYNC_FENCE: return "GL_SYNC_FENCE"; 1555 case GL_SYNC_GPU_COMMANDS_COMPLETE: return "GL_SYNC_GPU_COMMANDS_COMPLETE"; 1556 case GL_SIGNALED: return "GL_SIGNALED"; 1557 case GL_UNSIGNALED: return "GL_UNSIGNALED"; 1558 case GL_PROGRAM_BINARY_LENGTH: return "GL_PROGRAM_BINARY_LENGTH"; 1559 case GL_CONTEXT_PROFILE_MASK: return "GL_CONTEXT_PROFILE_MASK"; 1560 case GL_FRACTIONAL_EVEN: return "GL_FRACTIONAL_EVEN"; 1561 case GL_FRACTIONAL_ODD: return "GL_FRACTIONAL_ODD"; 1562 default: return nullptr; 1563 } 1564} 1565 1566const char* getGettableStringName (int value) 1567{ 1568 switch (value) 1569 { 1570 case GL_EXTENSIONS: return "GL_EXTENSIONS"; 1571 case GL_RENDERER: return "GL_RENDERER"; 1572 case GL_SHADING_LANGUAGE_VERSION: return "GL_SHADING_LANGUAGE_VERSION"; 1573 case GL_VENDOR: return "GL_VENDOR"; 1574 case GL_VERSION: return "GL_VERSION"; 1575 default: return nullptr; 1576 } 1577} 1578 1579const char* getGettablePackStateName (int value) 1580{ 1581 switch (value) 1582 { 1583 case GL_PACK_SWAP_BYTES: return "GL_PACK_SWAP_BYTES"; 1584 case GL_PACK_LSB_FIRST: return "GL_PACK_LSB_FIRST"; 1585 case GL_PACK_ROW_LENGTH: return "GL_PACK_ROW_LENGTH"; 1586 case GL_PACK_IMAGE_HEIGHT: return "GL_PACK_IMAGE_HEIGHT"; 1587 case GL_PACK_SKIP_ROWS: return "GL_PACK_SKIP_ROWS"; 1588 case GL_PACK_SKIP_PIXELS: return "GL_PACK_SKIP_PIXELS"; 1589 case GL_PACK_SKIP_IMAGES: return "GL_PACK_SKIP_IMAGES"; 1590 case GL_PACK_ALIGNMENT: return "GL_PACK_ALIGNMENT"; 1591 case GL_UNPACK_SWAP_BYTES: return "GL_UNPACK_SWAP_BYTES"; 1592 case GL_UNPACK_LSB_FIRST: return "GL_UNPACK_LSB_FIRST"; 1593 case GL_UNPACK_ROW_LENGTH: return "GL_UNPACK_ROW_LENGTH"; 1594 case GL_UNPACK_IMAGE_HEIGHT: return "GL_UNPACK_IMAGE_HEIGHT"; 1595 case GL_UNPACK_SKIP_ROWS: return "GL_UNPACK_SKIP_ROWS"; 1596 case GL_UNPACK_SKIP_PIXELS: return "GL_UNPACK_SKIP_PIXELS"; 1597 case GL_UNPACK_SKIP_IMAGES: return "GL_UNPACK_SKIP_IMAGES"; 1598 case GL_UNPACK_ALIGNMENT: return "GL_UNPACK_ALIGNMENT"; 1599 default: return nullptr; 1600 } 1601} 1602 1603const char* getPointerStateName (int value) 1604{ 1605 switch (value) 1606 { 1607 case GL_DEBUG_CALLBACK_FUNCTION: return "GL_DEBUG_CALLBACK_FUNCTION"; 1608 case GL_DEBUG_CALLBACK_USER_PARAM: return "GL_DEBUG_CALLBACK_USER_PARAM"; 1609 default: return nullptr; 1610 } 1611} 1612 1613const char* getInternalFormatParameterName (int value) 1614{ 1615 switch (value) 1616 { 1617 case GL_NUM_SAMPLE_COUNTS: return "GL_NUM_SAMPLE_COUNTS"; 1618 case GL_SAMPLES: return "GL_SAMPLES"; 1619 default: return nullptr; 1620 } 1621} 1622 1623const char* getInternalFormatTargetName (int value) 1624{ 1625 switch (value) 1626 { 1627 case GL_RENDERBUFFER: return "GL_RENDERBUFFER"; 1628 case GL_TEXTURE_2D_MULTISAMPLE: return "GL_TEXTURE_2D_MULTISAMPLE"; 1629 case GL_TEXTURE_2D_MULTISAMPLE_ARRAY: return "GL_TEXTURE_2D_MULTISAMPLE_ARRAY"; 1630 case GL_TEXTURE_2D: return "GL_TEXTURE_2D"; 1631 case GL_TEXTURE_3D: return "GL_TEXTURE_3D"; 1632 case GL_TEXTURE_2D_ARRAY: return "GL_TEXTURE_2D_ARRAY"; 1633 case GL_TEXTURE_CUBE_MAP: return "GL_TEXTURE_CUBE_MAP"; 1634 default: return nullptr; 1635 } 1636} 1637 1638const char* getMultisampleParameterName (int value) 1639{ 1640 switch (value) 1641 { 1642 case GL_SAMPLE_POSITION: return "GL_SAMPLE_POSITION"; 1643 default: return nullptr; 1644 } 1645} 1646 1647const char* getQueryTargetName (int value) 1648{ 1649 switch (value) 1650 { 1651 case GL_SAMPLES_PASSED: return "GL_SAMPLES_PASSED"; 1652 case GL_ANY_SAMPLES_PASSED: return "GL_ANY_SAMPLES_PASSED"; 1653 case GL_PRIMITIVES_GENERATED: return "GL_PRIMITIVES_GENERATED"; 1654 case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: return "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"; 1655 case GL_TIME_ELAPSED: return "GL_TIME_ELAPSED"; 1656 case GL_ANY_SAMPLES_PASSED_CONSERVATIVE: return "GL_ANY_SAMPLES_PASSED_CONSERVATIVE"; 1657 default: return nullptr; 1658 } 1659} 1660 1661const char* getQueryParamName (int value) 1662{ 1663 switch (value) 1664 { 1665 case GL_CURRENT_QUERY: return "GL_CURRENT_QUERY"; 1666 case GL_QUERY_COUNTER_BITS: return "GL_QUERY_COUNTER_BITS"; 1667 default: return nullptr; 1668 } 1669} 1670 1671const char* getQueryObjectParamName (int value) 1672{ 1673 switch (value) 1674 { 1675 case GL_QUERY_RESULT: return "GL_QUERY_RESULT"; 1676 case GL_QUERY_RESULT_AVAILABLE: return "GL_QUERY_RESULT_AVAILABLE"; 1677 case GL_MAX_VERTEX_STREAMS: return "GL_MAX_VERTEX_STREAMS"; 1678 default: return nullptr; 1679 } 1680} 1681 1682const char* getImageAccessName (int value) 1683{ 1684 switch (value) 1685 { 1686 case GL_READ_ONLY: return "GL_READ_ONLY"; 1687 case GL_WRITE_ONLY: return "GL_WRITE_ONLY"; 1688 case GL_READ_WRITE: return "GL_READ_WRITE"; 1689 default: return nullptr; 1690 } 1691} 1692 1693const char* getProgramInterfaceName (int value) 1694{ 1695 switch (value) 1696 { 1697 case GL_UNIFORM: return "GL_UNIFORM"; 1698 case GL_UNIFORM_BLOCK: return "GL_UNIFORM_BLOCK"; 1699 case GL_ATOMIC_COUNTER_BUFFER: return "GL_ATOMIC_COUNTER_BUFFER"; 1700 case GL_PROGRAM_INPUT: return "GL_PROGRAM_INPUT"; 1701 case GL_PROGRAM_OUTPUT: return "GL_PROGRAM_OUTPUT"; 1702 case GL_TRANSFORM_FEEDBACK_VARYING: return "GL_TRANSFORM_FEEDBACK_VARYING"; 1703 case GL_BUFFER_VARIABLE: return "GL_BUFFER_VARIABLE"; 1704 case GL_SHADER_STORAGE_BLOCK: return "GL_SHADER_STORAGE_BLOCK"; 1705 default: return nullptr; 1706 } 1707} 1708 1709const char* getProgramResourcePropertyName (int value) 1710{ 1711 switch (value) 1712 { 1713 case GL_ACTIVE_VARIABLES: return "GL_ACTIVE_VARIABLES"; 1714 case GL_BUFFER_BINDING: return "GL_BUFFER_BINDING"; 1715 case GL_NUM_ACTIVE_VARIABLES: return "GL_NUM_ACTIVE_VARIABLES"; 1716 case GL_ARRAY_SIZE: return "GL_ARRAY_SIZE"; 1717 case GL_ARRAY_STRIDE: return "GL_ARRAY_STRIDE"; 1718 case GL_BLOCK_INDEX: return "GL_BLOCK_INDEX"; 1719 case GL_IS_ROW_MAJOR: return "GL_IS_ROW_MAJOR"; 1720 case GL_MATRIX_STRIDE: return "GL_MATRIX_STRIDE"; 1721 case GL_ATOMIC_COUNTER_BUFFER_INDEX: return "GL_ATOMIC_COUNTER_BUFFER_INDEX"; 1722 case GL_BUFFER_DATA_SIZE: return "GL_BUFFER_DATA_SIZE"; 1723 case GL_LOCATION: return "GL_LOCATION"; 1724 case GL_NAME_LENGTH: return "GL_NAME_LENGTH"; 1725 case GL_OFFSET: return "GL_OFFSET"; 1726 case GL_REFERENCED_BY_VERTEX_SHADER: return "GL_REFERENCED_BY_VERTEX_SHADER"; 1727 case GL_REFERENCED_BY_FRAGMENT_SHADER: return "GL_REFERENCED_BY_FRAGMENT_SHADER"; 1728 case GL_REFERENCED_BY_COMPUTE_SHADER: return "GL_REFERENCED_BY_COMPUTE_SHADER"; 1729 case GL_REFERENCED_BY_GEOMETRY_SHADER: return "GL_REFERENCED_BY_GEOMETRY_SHADER"; 1730 case GL_REFERENCED_BY_TESS_CONTROL_SHADER: return "GL_REFERENCED_BY_TESS_CONTROL_SHADER"; 1731 case GL_REFERENCED_BY_TESS_EVALUATION_SHADER: return "GL_REFERENCED_BY_TESS_EVALUATION_SHADER"; 1732 case GL_TOP_LEVEL_ARRAY_SIZE: return "GL_TOP_LEVEL_ARRAY_SIZE"; 1733 case GL_TOP_LEVEL_ARRAY_STRIDE: return "GL_TOP_LEVEL_ARRAY_STRIDE"; 1734 case GL_TYPE: return "GL_TYPE"; 1735 case GL_IS_PER_PATCH: return "GL_IS_PER_PATCH"; 1736 default: return nullptr; 1737 } 1738} 1739 1740const char* getPrecisionFormatTypeName (int value) 1741{ 1742 switch (value) 1743 { 1744 case GL_LOW_FLOAT: return "GL_LOW_FLOAT"; 1745 case GL_MEDIUM_FLOAT: return "GL_MEDIUM_FLOAT"; 1746 case GL_HIGH_FLOAT: return "GL_HIGH_FLOAT"; 1747 case GL_LOW_INT: return "GL_LOW_INT"; 1748 case GL_MEDIUM_INT: return "GL_MEDIUM_INT"; 1749 case GL_HIGH_INT: return "GL_HIGH_INT"; 1750 default: return nullptr; 1751 } 1752} 1753 1754const char* getTransformFeedbackTargetName (int value) 1755{ 1756 switch (value) 1757 { 1758 case GL_TRANSFORM_FEEDBACK: return "GL_TRANSFORM_FEEDBACK"; 1759 default: return nullptr; 1760 } 1761} 1762 1763const char* getClampColorTargetName (int value) 1764{ 1765 switch (value) 1766 { 1767 case GL_CLAMP_READ_COLOR: return "GL_CLAMP_READ_COLOR"; 1768 case GL_FIXED_ONLY: return "GL_FIXED_ONLY"; 1769 default: return nullptr; 1770 } 1771} 1772 1773const char* getProvokingVertexName (int value) 1774{ 1775 switch (value) 1776 { 1777 case GL_FIRST_VERTEX_CONVENTION: return "GL_FIRST_VERTEX_CONVENTION"; 1778 case GL_LAST_VERTEX_CONVENTION: return "GL_LAST_VERTEX_CONVENTION"; 1779 case GL_UNDEFINED_VERTEX: return "GL_UNDEFINED_VERTEX"; 1780 default: return nullptr; 1781 } 1782} 1783 1784const char* getDebugMessageSourceName (int value) 1785{ 1786 switch (value) 1787 { 1788 case GL_DEBUG_SOURCE_API: return "GL_DEBUG_SOURCE_API"; 1789 case GL_DEBUG_SOURCE_WINDOW_SYSTEM: return "GL_DEBUG_SOURCE_WINDOW_SYSTEM"; 1790 case GL_DEBUG_SOURCE_SHADER_COMPILER: return "GL_DEBUG_SOURCE_SHADER_COMPILER"; 1791 case GL_DEBUG_SOURCE_THIRD_PARTY: return "GL_DEBUG_SOURCE_THIRD_PARTY"; 1792 case GL_DEBUG_SOURCE_APPLICATION: return "GL_DEBUG_SOURCE_APPLICATION"; 1793 case GL_DEBUG_SOURCE_OTHER: return "GL_DEBUG_SOURCE_OTHER"; 1794 case GL_DONT_CARE: return "GL_DONT_CARE"; 1795 default: return nullptr; 1796 } 1797} 1798 1799const char* getDebugMessageTypeName (int value) 1800{ 1801 switch (value) 1802 { 1803 case GL_DEBUG_TYPE_ERROR: return "GL_DEBUG_TYPE_ERROR"; 1804 case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: return "GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"; 1805 case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: return "GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"; 1806 case GL_DEBUG_TYPE_PORTABILITY: return "GL_DEBUG_TYPE_PORTABILITY"; 1807 case GL_DEBUG_TYPE_PERFORMANCE: return "GL_DEBUG_TYPE_PERFORMANCE"; 1808 case GL_DEBUG_TYPE_OTHER: return "GL_DEBUG_TYPE_OTHER"; 1809 case GL_DEBUG_TYPE_MARKER: return "GL_DEBUG_TYPE_MARKER"; 1810 case GL_DEBUG_TYPE_PUSH_GROUP: return "GL_DEBUG_TYPE_PUSH_GROUP"; 1811 case GL_DEBUG_TYPE_POP_GROUP: return "GL_DEBUG_TYPE_POP_GROUP"; 1812 case GL_DONT_CARE: return "GL_DONT_CARE"; 1813 default: return nullptr; 1814 } 1815} 1816 1817const char* getDebugMessageSeverityName (int value) 1818{ 1819 switch (value) 1820 { 1821 case GL_DEBUG_SEVERITY_HIGH: return "GL_DEBUG_SEVERITY_HIGH"; 1822 case GL_DEBUG_SEVERITY_MEDIUM: return "GL_DEBUG_SEVERITY_MEDIUM"; 1823 case GL_DEBUG_SEVERITY_LOW: return "GL_DEBUG_SEVERITY_LOW"; 1824 case GL_DEBUG_SEVERITY_NOTIFICATION: return "GL_DEBUG_SEVERITY_NOTIFICATION"; 1825 case GL_DONT_CARE: return "GL_DONT_CARE"; 1826 default: return nullptr; 1827 } 1828} 1829 1830const char* getPipelineParamName (int value) 1831{ 1832 switch (value) 1833 { 1834 case GL_ACTIVE_PROGRAM: return "GL_ACTIVE_PROGRAM"; 1835 case GL_INFO_LOG_LENGTH: return "GL_INFO_LOG_LENGTH"; 1836 case GL_VALIDATE_STATUS: return "GL_VALIDATE_STATUS"; 1837 case GL_VERTEX_SHADER: return "GL_VERTEX_SHADER"; 1838 case GL_FRAGMENT_SHADER: return "GL_FRAGMENT_SHADER"; 1839 case GL_COMPUTE_SHADER: return "GL_COMPUTE_SHADER"; 1840 case GL_GEOMETRY_SHADER: return "GL_GEOMETRY_SHADER"; 1841 case GL_TESS_CONTROL_SHADER: return "GL_TESS_CONTROL_SHADER"; 1842 case GL_TESS_EVALUATION_SHADER: return "GL_TESS_EVALUATION_SHADER"; 1843 default: return nullptr; 1844 } 1845} 1846 1847const char* getPatchParamName (int value) 1848{ 1849 switch (value) 1850 { 1851 case GL_PATCH_VERTICES: return "GL_PATCH_VERTICES"; 1852 default: return nullptr; 1853 } 1854} 1855 1856const char* getTextureFormatName (int value) 1857{ 1858 switch (value) 1859 { 1860 case GL_LUMINANCE: return "GL_LUMINANCE"; 1861 case GL_LUMINANCE_ALPHA: return "GL_LUMINANCE_ALPHA"; 1862 case GL_ALPHA: return "GL_ALPHA"; 1863 case GL_RGB: return "GL_RGB"; 1864 case GL_RGBA: return "GL_RGBA"; 1865 case GL_RGBA4: return "GL_RGBA4"; 1866 case GL_RGB4: return "GL_RGB4"; 1867 case GL_RGB5_A1: return "GL_RGB5_A1"; 1868 case GL_RGB565: return "GL_RGB565"; 1869 case GL_R3_G3_B2: return "GL_R3_G3_B2"; 1870 case GL_RGB5: return "GL_RGB5"; 1871 case GL_RGB12: return "GL_RGB12"; 1872 case GL_RGBA2: return "GL_RGBA2"; 1873 case GL_RGBA12: return "GL_RGBA12"; 1874 case GL_DEPTH_COMPONENT16: return "GL_DEPTH_COMPONENT16"; 1875 case GL_STENCIL_INDEX1: return "GL_STENCIL_INDEX1"; 1876 case GL_STENCIL_INDEX4: return "GL_STENCIL_INDEX4"; 1877 case GL_STENCIL_INDEX8: return "GL_STENCIL_INDEX8"; 1878 case GL_STENCIL_INDEX16: return "GL_STENCIL_INDEX16"; 1879 case GL_RG: return "GL_RG"; 1880 case GL_RED: return "GL_RED"; 1881 case GL_RGBA_INTEGER: return "GL_RGBA_INTEGER"; 1882 case GL_RGB_INTEGER: return "GL_RGB_INTEGER"; 1883 case GL_RG_INTEGER: return "GL_RG_INTEGER"; 1884 case GL_RED_INTEGER: return "GL_RED_INTEGER"; 1885 case GL_GREEN_INTEGER: return "GL_GREEN_INTEGER"; 1886 case GL_BLUE_INTEGER: return "GL_BLUE_INTEGER"; 1887 case GL_BGR_INTEGER: return "GL_BGR_INTEGER"; 1888 case GL_BGRA_INTEGER: return "GL_BGRA_INTEGER"; 1889 case GL_DEPTH_COMPONENT: return "GL_DEPTH_COMPONENT"; 1890 case GL_DEPTH_STENCIL: return "GL_DEPTH_STENCIL"; 1891 case GL_RGBA32F: return "GL_RGBA32F"; 1892 case GL_RGBA32I: return "GL_RGBA32I"; 1893 case GL_RGBA32UI: return "GL_RGBA32UI"; 1894 case GL_RGBA16: return "GL_RGBA16"; 1895 case GL_RGBA16_SNORM: return "GL_RGBA16_SNORM"; 1896 case GL_RGBA16F: return "GL_RGBA16F"; 1897 case GL_RGBA16I: return "GL_RGBA16I"; 1898 case GL_RGBA16UI: return "GL_RGBA16UI"; 1899 case GL_RGBA8: return "GL_RGBA8"; 1900 case GL_RGBA8I: return "GL_RGBA8I"; 1901 case GL_RGBA8UI: return "GL_RGBA8UI"; 1902 case GL_SRGB8_ALPHA8: return "GL_SRGB8_ALPHA8"; 1903 case GL_RGB10_A2: return "GL_RGB10_A2"; 1904 case GL_RGB10_A2UI: return "GL_RGB10_A2UI"; 1905 case GL_RGBA8_SNORM: return "GL_RGBA8_SNORM"; 1906 case GL_RGB8: return "GL_RGB8"; 1907 case GL_R11F_G11F_B10F: return "GL_R11F_G11F_B10F"; 1908 case GL_RGB32F: return "GL_RGB32F"; 1909 case GL_RGB32I: return "GL_RGB32I"; 1910 case GL_RGB32UI: return "GL_RGB32UI"; 1911 case GL_RGB16: return "GL_RGB16"; 1912 case GL_RGB16_SNORM: return "GL_RGB16_SNORM"; 1913 case GL_RGB16F: return "GL_RGB16F"; 1914 case GL_RGB16I: return "GL_RGB16I"; 1915 case GL_RGB16UI: return "GL_RGB16UI"; 1916 case GL_RGB8_SNORM: return "GL_RGB8_SNORM"; 1917 case GL_RGB8I: return "GL_RGB8I"; 1918 case GL_RGB8UI: return "GL_RGB8UI"; 1919 case GL_SRGB8: return "GL_SRGB8"; 1920 case GL_RGB9_E5: return "GL_RGB9_E5"; 1921 case GL_RG32F: return "GL_RG32F"; 1922 case GL_RG32I: return "GL_RG32I"; 1923 case GL_RG32UI: return "GL_RG32UI"; 1924 case GL_RG16: return "GL_RG16"; 1925 case GL_RG16_SNORM: return "GL_RG16_SNORM"; 1926 case GL_RG16F: return "GL_RG16F"; 1927 case GL_RG16I: return "GL_RG16I"; 1928 case GL_RG16UI: return "GL_RG16UI"; 1929 case GL_RG8: return "GL_RG8"; 1930 case GL_RG8I: return "GL_RG8I"; 1931 case GL_RG8UI: return "GL_RG8UI"; 1932 case GL_RG8_SNORM: return "GL_RG8_SNORM"; 1933 case GL_R32F: return "GL_R32F"; 1934 case GL_R32I: return "GL_R32I"; 1935 case GL_R32UI: return "GL_R32UI"; 1936 case GL_R16: return "GL_R16"; 1937 case GL_R16_SNORM: return "GL_R16_SNORM"; 1938 case GL_R16F: return "GL_R16F"; 1939 case GL_R16I: return "GL_R16I"; 1940 case GL_R16UI: return "GL_R16UI"; 1941 case GL_R8: return "GL_R8"; 1942 case GL_R8I: return "GL_R8I"; 1943 case GL_R8UI: return "GL_R8UI"; 1944 case GL_R8_SNORM: return "GL_R8_SNORM"; 1945 case GL_DEPTH_COMPONENT32F: return "GL_DEPTH_COMPONENT32F"; 1946 case GL_DEPTH_COMPONENT24: return "GL_DEPTH_COMPONENT24"; 1947 case GL_DEPTH32F_STENCIL8: return "GL_DEPTH32F_STENCIL8"; 1948 case GL_DEPTH24_STENCIL8: return "GL_DEPTH24_STENCIL8"; 1949 case GL_RGB10: return "GL_RGB10"; 1950 case GL_DEPTH_COMPONENT32: return "GL_DEPTH_COMPONENT32"; 1951 case GL_SRGB: return "GL_SRGB"; 1952 case GL_SRGB_ALPHA: return "GL_SRGB_ALPHA"; 1953 case GL_SR8_EXT: return "GL_SR8_EXT"; 1954 case GL_SRG8_EXT: return "GL_SRG8_EXT"; 1955 case GL_BGRA: return "GL_BGRA"; 1956 case GL_BGRA8_EXT: return "GL_BGRA8_EXT"; 1957 case GL_BGR: return "GL_BGR"; 1958 case GL_RED_SNORM: return "GL_RED_SNORM"; 1959 case GL_RG_SNORM: return "GL_RG_SNORM"; 1960 case GL_RGB_SNORM: return "GL_RGB_SNORM"; 1961 case GL_RGBA_SNORM: return "GL_RGBA_SNORM"; 1962 case GL_COMPRESSED_R11_EAC: return "GL_COMPRESSED_R11_EAC"; 1963 case GL_COMPRESSED_SIGNED_R11_EAC: return "GL_COMPRESSED_SIGNED_R11_EAC"; 1964 case GL_COMPRESSED_RG11_EAC: return "GL_COMPRESSED_RG11_EAC"; 1965 case GL_COMPRESSED_SIGNED_RG11_EAC: return "GL_COMPRESSED_SIGNED_RG11_EAC"; 1966 case GL_COMPRESSED_RGB8_ETC2: return "GL_COMPRESSED_RGB8_ETC2"; 1967 case GL_COMPRESSED_SRGB8_ETC2: return "GL_COMPRESSED_SRGB8_ETC2"; 1968 case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: return "GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"; 1969 case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: return "GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"; 1970 case GL_COMPRESSED_RGBA8_ETC2_EAC: return "GL_COMPRESSED_RGBA8_ETC2_EAC"; 1971 case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: return "GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"; 1972 case GL_COMPRESSED_RGBA_ASTC_4x4_KHR: return "GL_COMPRESSED_RGBA_ASTC_4x4_KHR"; 1973 case GL_COMPRESSED_RGBA_ASTC_5x4_KHR: return "GL_COMPRESSED_RGBA_ASTC_5x4_KHR"; 1974 case GL_COMPRESSED_RGBA_ASTC_5x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_5x5_KHR"; 1975 case GL_COMPRESSED_RGBA_ASTC_6x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_6x5_KHR"; 1976 case GL_COMPRESSED_RGBA_ASTC_6x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_6x6_KHR"; 1977 case GL_COMPRESSED_RGBA_ASTC_8x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x5_KHR"; 1978 case GL_COMPRESSED_RGBA_ASTC_8x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x6_KHR"; 1979 case GL_COMPRESSED_RGBA_ASTC_8x8_KHR: return "GL_COMPRESSED_RGBA_ASTC_8x8_KHR"; 1980 case GL_COMPRESSED_RGBA_ASTC_10x5_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x5_KHR"; 1981 case GL_COMPRESSED_RGBA_ASTC_10x6_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x6_KHR"; 1982 case GL_COMPRESSED_RGBA_ASTC_10x8_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x8_KHR"; 1983 case GL_COMPRESSED_RGBA_ASTC_10x10_KHR: return "GL_COMPRESSED_RGBA_ASTC_10x10_KHR"; 1984 case GL_COMPRESSED_RGBA_ASTC_12x10_KHR: return "GL_COMPRESSED_RGBA_ASTC_12x10_KHR"; 1985 case GL_COMPRESSED_RGBA_ASTC_12x12_KHR: return "GL_COMPRESSED_RGBA_ASTC_12x12_KHR"; 1986 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"; 1987 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"; 1988 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"; 1989 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"; 1990 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"; 1991 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"; 1992 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"; 1993 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"; 1994 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"; 1995 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"; 1996 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"; 1997 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"; 1998 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"; 1999 case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: return "GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"; 2000 case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: return "GL_COMPRESSED_RGB_S3TC_DXT1_EXT"; 2001 case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT"; 2002 case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"; 2003 case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: return "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"; 2004 case GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: return "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG"; 2005 case GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: return "GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG"; 2006 case GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: return "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG"; 2007 case GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: return "GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG"; 2008 case GL_COMPRESSED_RED: return "GL_COMPRESSED_RED"; 2009 case GL_COMPRESSED_RG: return "GL_COMPRESSED_RG"; 2010 case GL_COMPRESSED_RGB: return "GL_COMPRESSED_RGB"; 2011 case GL_COMPRESSED_RGBA: return "GL_COMPRESSED_RGBA"; 2012 case GL_COMPRESSED_SRGB: return "GL_COMPRESSED_SRGB"; 2013 case GL_COMPRESSED_SRGB_ALPHA: return "GL_COMPRESSED_SRGB_ALPHA"; 2014 case GL_COMPRESSED_RED_RGTC1: return "GL_COMPRESSED_RED_RGTC1"; 2015 case GL_COMPRESSED_SIGNED_RED_RGTC1: return "GL_COMPRESSED_SIGNED_RED_RGTC1"; 2016 case GL_COMPRESSED_RG_RGTC2: return "GL_COMPRESSED_RG_RGTC2"; 2017 case GL_COMPRESSED_SIGNED_RG_RGTC2: return "GL_COMPRESSED_SIGNED_RG_RGTC2"; 2018 case GL_COMPRESSED_RGBA_BPTC_UNORM: return "GL_COMPRESSED_RGBA_BPTC_UNORM"; 2019 case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM: return "GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM"; 2020 case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT: return "GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT"; 2021 case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: return "GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT"; 2022 default: return nullptr; 2023 } 2024} 2025 2026const char* getGraphicsResetStatusName (int value) 2027{ 2028 switch (value) 2029 { 2030 case GL_NO_ERROR: return "GL_NO_ERROR"; 2031 case GL_GUILTY_CONTEXT_RESET: return "GL_GUILTY_CONTEXT_RESET"; 2032 case GL_INNOCENT_CONTEXT_RESET: return "GL_INNOCENT_CONTEXT_RESET"; 2033 case GL_UNKNOWN_CONTEXT_RESET: return "GL_UNKNOWN_CONTEXT_RESET"; 2034 default: return nullptr; 2035 } 2036} 2037 2038const char* getClipDistanceParamName (int value) 2039{ 2040 switch (value) 2041 { 2042 case GL_CLIP_DISTANCE0: return "GL_CLIP_DISTANCE0"; 2043 case GL_CLIP_DISTANCE1: return "GL_CLIP_DISTANCE1"; 2044 case GL_CLIP_DISTANCE2: return "GL_CLIP_DISTANCE2"; 2045 case GL_CLIP_DISTANCE3: return "GL_CLIP_DISTANCE3"; 2046 case GL_CLIP_DISTANCE4: return "GL_CLIP_DISTANCE4"; 2047 case GL_CLIP_DISTANCE5: return "GL_CLIP_DISTANCE5"; 2048 case GL_CLIP_DISTANCE6: return "GL_CLIP_DISTANCE6"; 2049 case GL_CLIP_DISTANCE7: return "GL_CLIP_DISTANCE7"; 2050 case GL_MAX_CLIP_DISTANCES: return "GL_MAX_CLIP_DISTANCES"; 2051 case GL_MAX_CULL_DISTANCES: return "GL_MAX_CULL_DISTANCES"; 2052 case GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES: return "GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES"; 2053 default: return nullptr; 2054 } 2055} 2056 2057const char* getConditionalRenderParamName (int value) 2058{ 2059 switch (value) 2060 { 2061 case GL_QUERY_WAIT: return "GL_QUERY_WAIT"; 2062 case GL_QUERY_NO_WAIT: return "GL_QUERY_NO_WAIT"; 2063 case GL_QUERY_BY_REGION_WAIT: return "GL_QUERY_BY_REGION_WAIT"; 2064 case GL_QUERY_BY_REGION_NO_WAIT: return "GL_QUERY_BY_REGION_NO_WAIT"; 2065 case GL_QUERY_WAIT_INVERTED: return "GL_QUERY_WAIT_INVERTED"; 2066 case GL_QUERY_NO_WAIT_INVERTED: return "GL_QUERY_NO_WAIT_INVERTED"; 2067 case GL_QUERY_BY_REGION_WAIT_INVERTED: return "GL_QUERY_BY_REGION_WAIT_INVERTED"; 2068 case GL_QUERY_BY_REGION_NO_WAIT_INVERTED: return "GL_QUERY_BY_REGION_NO_WAIT_INVERTED"; 2069 default: return nullptr; 2070 } 2071} 2072 2073const char* getWaitEnumName (int value) 2074{ 2075 switch (value) 2076 { 2077 case GL_ALREADY_SIGNALED: return "GL_ALREADY_SIGNALED"; 2078 case GL_TIMEOUT_EXPIRED: return "GL_TIMEOUT_EXPIRED"; 2079 case GL_CONDITION_SATISFIED: return "GL_CONDITION_SATISFIED"; 2080 case GL_WAIT_FAILED: return "GL_WAIT_FAILED"; 2081 default: return nullptr; 2082 } 2083} 2084 2085const char* getLogicOpParamsName (int value) 2086{ 2087 switch (value) 2088 { 2089 case GL_CLEAR: return "GL_CLEAR"; 2090 case GL_SET: return "GL_SET"; 2091 case GL_COPY: return "GL_COPY"; 2092 case GL_COPY_INVERTED: return "GL_COPY_INVERTED"; 2093 case GL_NOOP: return "GL_NOOP"; 2094 case GL_INVERT: return "GL_INVERT"; 2095 case GL_AND: return "GL_AND"; 2096 case GL_NAND: return "GL_NAND"; 2097 case GL_OR: return "GL_OR"; 2098 case GL_NOR: return "GL_NOR"; 2099 case GL_XOR: return "GL_XOR"; 2100 case GL_EQUIV: return "GL_EQUIV"; 2101 case GL_AND_REVERSE: return "GL_AND_REVERSE"; 2102 case GL_AND_INVERTED: return "GL_AND_INVERTED"; 2103 case GL_OR_REVERSE: return "GL_OR_REVERSE"; 2104 case GL_OR_INVERTED: return "GL_OR_INVERTED"; 2105 default: return nullptr; 2106 } 2107} 2108 2109const char* getPolygonModeName (int value) 2110{ 2111 switch (value) 2112 { 2113 case GL_LINE: return "GL_LINE"; 2114 case GL_POINT: return "GL_POINT"; 2115 case GL_FILL: return "GL_FILL"; 2116 default: return nullptr; 2117 } 2118} 2119 2120const char* getPrimSizeParamName (int value) 2121{ 2122 switch (value) 2123 { 2124 case GL_ALIASED_POINT_SIZE_RANGE: return "GL_ALIASED_POINT_SIZE_RANGE"; 2125 case GL_POINT_SIZE: return "GL_POINT_SIZE"; 2126 case GL_POINT_FADE_THRESHOLD_SIZE: return "GL_POINT_FADE_THRESHOLD_SIZE"; 2127 case GL_SMOOTH_POINT_SIZE_RANGE: return "GL_SMOOTH_POINT_SIZE_RANGE"; 2128 case GL_SMOOTH_POINT_SIZE_GRANULARITY: return "GL_SMOOTH_POINT_SIZE_GRANULARITY"; 2129 case GL_POINT_SPRITE_COORD_ORIGIN: return "GL_POINT_SPRITE_COORD_ORIGIN"; 2130 case GL_SMOOTH_LINE_WIDTH_RANGE: return "GL_SMOOTH_LINE_WIDTH_RANGE"; 2131 case GL_SMOOTH_LINE_WIDTH_GRANULARITY: return "GL_SMOOTH_LINE_WIDTH_GRANULARITY"; 2132 case GL_ALIASED_LINE_WIDTH_RANGE: return "GL_ALIASED_LINE_WIDTH_RANGE"; 2133 default: return nullptr; 2134 } 2135} 2136 2137const char* getActiveTextureParamName (int value) 2138{ 2139 switch (value) 2140 { 2141 case GL_TEXTURE0: return "GL_TEXTURE0"; 2142 case GL_TEXTURE1: return "GL_TEXTURE1"; 2143 case GL_TEXTURE2: return "GL_TEXTURE2"; 2144 case GL_TEXTURE3: return "GL_TEXTURE3"; 2145 case GL_TEXTURE4: return "GL_TEXTURE4"; 2146 case GL_TEXTURE5: return "GL_TEXTURE5"; 2147 case GL_TEXTURE6: return "GL_TEXTURE6"; 2148 case GL_TEXTURE7: return "GL_TEXTURE7"; 2149 case GL_TEXTURE8: return "GL_TEXTURE8"; 2150 case GL_TEXTURE9: return "GL_TEXTURE9"; 2151 case GL_TEXTURE10: return "GL_TEXTURE10"; 2152 case GL_TEXTURE11: return "GL_TEXTURE11"; 2153 case GL_TEXTURE12: return "GL_TEXTURE12"; 2154 case GL_TEXTURE13: return "GL_TEXTURE13"; 2155 case GL_TEXTURE14: return "GL_TEXTURE14"; 2156 case GL_TEXTURE15: return "GL_TEXTURE15"; 2157 case GL_TEXTURE16: return "GL_TEXTURE16"; 2158 case GL_TEXTURE17: return "GL_TEXTURE17"; 2159 case GL_TEXTURE18: return "GL_TEXTURE18"; 2160 case GL_TEXTURE19: return "GL_TEXTURE19"; 2161 case GL_TEXTURE20: return "GL_TEXTURE20"; 2162 case GL_TEXTURE21: return "GL_TEXTURE21"; 2163 case GL_TEXTURE22: return "GL_TEXTURE22"; 2164 case GL_TEXTURE23: return "GL_TEXTURE23"; 2165 case GL_TEXTURE24: return "GL_TEXTURE24"; 2166 case GL_TEXTURE25: return "GL_TEXTURE25"; 2167 case GL_TEXTURE26: return "GL_TEXTURE26"; 2168 case GL_TEXTURE27: return "GL_TEXTURE27"; 2169 case GL_TEXTURE28: return "GL_TEXTURE28"; 2170 case GL_TEXTURE29: return "GL_TEXTURE29"; 2171 case GL_TEXTURE30: return "GL_TEXTURE30"; 2172 case GL_TEXTURE31: return "GL_TEXTURE31"; 2173 default: return nullptr; 2174 } 2175} 2176 2177const char* getClipControlParamName (int value) 2178{ 2179 switch (value) 2180 { 2181 case GL_LOWER_LEFT: return "GL_LOWER_LEFT"; 2182 case GL_UPPER_LEFT: return "GL_UPPER_LEFT"; 2183 case GL_NEGATIVE_ONE_TO_ONE: return "GL_NEGATIVE_ONE_TO_ONE"; 2184 case GL_ZERO_TO_ONE: return "GL_ZERO_TO_ONE"; 2185 default: return nullptr; 2186 } 2187} 2188 2189const char* getUniformSubroutinesParamName (int value) 2190{ 2191 switch (value) 2192 { 2193 case GL_ACTIVE_SUBROUTINES: return "GL_ACTIVE_SUBROUTINES"; 2194 case GL_ACTIVE_SUBROUTINE_UNIFORMS: return "GL_ACTIVE_SUBROUTINE_UNIFORMS"; 2195 case GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: return "GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS"; 2196 case GL_ACTIVE_SUBROUTINE_MAX_LENGTH: return "GL_ACTIVE_SUBROUTINE_MAX_LENGTH"; 2197 case GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: return "GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH"; 2198 default: return nullptr; 2199 } 2200} 2201 2202tcu::Format::Bitfield<16> getBufferMaskStr (int value) 2203{ 2204 static const tcu::Format::BitDesc s_desc[] = 2205 { 2206 tcu::Format::BitDesc(GL_DEPTH_BUFFER_BIT, "GL_DEPTH_BUFFER_BIT"), 2207 tcu::Format::BitDesc(GL_STENCIL_BUFFER_BIT, "GL_STENCIL_BUFFER_BIT"), 2208 tcu::Format::BitDesc(GL_COLOR_BUFFER_BIT, "GL_COLOR_BUFFER_BIT"), 2209 }; 2210 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2211} 2212 2213tcu::Format::Bitfield<16> getBufferMapFlagsStr (int value) 2214{ 2215 static const tcu::Format::BitDesc s_desc[] = 2216 { 2217 tcu::Format::BitDesc(GL_MAP_READ_BIT, "GL_MAP_READ_BIT"), 2218 tcu::Format::BitDesc(GL_MAP_WRITE_BIT, "GL_MAP_WRITE_BIT"), 2219 tcu::Format::BitDesc(GL_MAP_INVALIDATE_RANGE_BIT, "GL_MAP_INVALIDATE_RANGE_BIT"), 2220 tcu::Format::BitDesc(GL_MAP_INVALIDATE_BUFFER_BIT, "GL_MAP_INVALIDATE_BUFFER_BIT"), 2221 tcu::Format::BitDesc(GL_MAP_FLUSH_EXPLICIT_BIT, "GL_MAP_FLUSH_EXPLICIT_BIT"), 2222 tcu::Format::BitDesc(GL_MAP_UNSYNCHRONIZED_BIT, "GL_MAP_UNSYNCHRONIZED_BIT"), 2223 }; 2224 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2225} 2226 2227tcu::Format::Bitfield<16> getMemoryBarrierFlagsStr (int value) 2228{ 2229 static const tcu::Format::BitDesc s_desc[] = 2230 { 2231 tcu::Format::BitDesc(GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT, "GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT"), 2232 tcu::Format::BitDesc(GL_ELEMENT_ARRAY_BARRIER_BIT, "GL_ELEMENT_ARRAY_BARRIER_BIT"), 2233 tcu::Format::BitDesc(GL_UNIFORM_BARRIER_BIT, "GL_UNIFORM_BARRIER_BIT"), 2234 tcu::Format::BitDesc(GL_TEXTURE_FETCH_BARRIER_BIT, "GL_TEXTURE_FETCH_BARRIER_BIT"), 2235 tcu::Format::BitDesc(GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, "GL_SHADER_IMAGE_ACCESS_BARRIER_BIT"), 2236 tcu::Format::BitDesc(GL_COMMAND_BARRIER_BIT, "GL_COMMAND_BARRIER_BIT"), 2237 tcu::Format::BitDesc(GL_PIXEL_BUFFER_BARRIER_BIT, "GL_PIXEL_BUFFER_BARRIER_BIT"), 2238 tcu::Format::BitDesc(GL_TEXTURE_UPDATE_BARRIER_BIT, "GL_TEXTURE_UPDATE_BARRIER_BIT"), 2239 tcu::Format::BitDesc(GL_BUFFER_UPDATE_BARRIER_BIT, "GL_BUFFER_UPDATE_BARRIER_BIT"), 2240 tcu::Format::BitDesc(GL_FRAMEBUFFER_BARRIER_BIT, "GL_FRAMEBUFFER_BARRIER_BIT"), 2241 tcu::Format::BitDesc(GL_TRANSFORM_FEEDBACK_BARRIER_BIT, "GL_TRANSFORM_FEEDBACK_BARRIER_BIT"), 2242 tcu::Format::BitDesc(GL_ATOMIC_COUNTER_BARRIER_BIT, "GL_ATOMIC_COUNTER_BARRIER_BIT"), 2243 }; 2244 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2245} 2246 2247tcu::Format::Bitfield<16> getShaderTypeMaskStr (int value) 2248{ 2249 static const tcu::Format::BitDesc s_desc[] = 2250 { 2251 tcu::Format::BitDesc(GL_VERTEX_SHADER_BIT, "GL_VERTEX_SHADER_BIT"), 2252 tcu::Format::BitDesc(GL_FRAGMENT_SHADER_BIT, "GL_FRAGMENT_SHADER_BIT"), 2253 tcu::Format::BitDesc(GL_COMPUTE_SHADER_BIT, "GL_COMPUTE_SHADER_BIT"), 2254 tcu::Format::BitDesc(GL_GEOMETRY_SHADER_BIT, "GL_GEOMETRY_SHADER_BIT"), 2255 tcu::Format::BitDesc(GL_TESS_CONTROL_SHADER_BIT, "GL_TESS_CONTROL_SHADER_BIT"), 2256 tcu::Format::BitDesc(GL_TESS_EVALUATION_SHADER_BIT, "GL_TESS_EVALUATION_SHADER_BIT"), 2257 }; 2258 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2259} 2260 2261tcu::Format::Bitfield<16> getContextMaskStr (int value) 2262{ 2263 static const tcu::Format::BitDesc s_desc[] = 2264 { 2265 tcu::Format::BitDesc(GL_CONTEXT_FLAG_NO_ERROR_BIT, "GL_CONTEXT_FLAG_NO_ERROR_BIT"), 2266 tcu::Format::BitDesc(GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT, "GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"), 2267 tcu::Format::BitDesc(GL_CONTEXT_FLAG_DEBUG_BIT, "GL_CONTEXT_FLAG_DEBUG_BIT"), 2268 tcu::Format::BitDesc(GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT, "GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT"), 2269 }; 2270 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2271} 2272 2273tcu::Format::Bitfield<16> getClientWaitMaskStr (int value) 2274{ 2275 static const tcu::Format::BitDesc s_desc[] = 2276 { 2277 tcu::Format::BitDesc(GL_SYNC_FLUSH_COMMANDS_BIT, "GL_SYNC_FLUSH_COMMANDS_BIT"), 2278 }; 2279 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2280} 2281 2282tcu::Format::Bitfield<16> getContextProfileMaskStr (int value) 2283{ 2284 static const tcu::Format::BitDesc s_desc[] = 2285 { 2286 tcu::Format::BitDesc(GL_CONTEXT_CORE_PROFILE_BIT, "GL_CONTEXT_CORE_PROFILE_BIT"), 2287 tcu::Format::BitDesc(GL_CONTEXT_COMPATIBILITY_PROFILE_BIT, "GL_CONTEXT_COMPATIBILITY_PROFILE_BIT"), 2288 }; 2289 return tcu::Format::Bitfield<16>(value, &s_desc[0], &s_desc[DE_LENGTH_OF_ARRAY(s_desc)]); 2290} 2291