[Piglit] [PATCH 3/6] util: Generate piglit_get_gl_enum_name() and friends
Dylan Baker
baker.dylan.c at gmail.com
Fri Jun 13 08:41:11 PDT 2014
Patch 2 seems to have been held up in the list, and I have many comments about
patch 2, I do have a few about this one as well.
On Friday, June 13, 2014 07:44:34 AM Chad Versace wrote:
> This patch removes the files piglit-util-gl*-enum.c and instead replaces
> them with a single piglit-util-gl-enum-gen.c generated from the Khronos
> XML.
>
> The two functions now generated are:
> piglit_get_gl_enum_name(GLenum param)
> piglit_get_prim_name(GLenum prim)
>
> Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
> ---
> cmake/piglit_dispatch.cmake | 1 +
> tests/util/.gitignore | 1 +
> tests/util/CMakeLists.gl.txt | 3 +-
> tests/util/CMakeLists.gles1.txt | 1 -
> tests/util/CMakeLists.gles2.txt | 1 -
> tests/util/CMakeLists.gles3.txt | 1 -
> tests/util/CMakeLists.txt | 8 +
> tests/util/gen_dispatch.py | 82 ++++
> tests/util/piglit-util-gl-enum.c | 1 -
> tests/util/piglit-util-gles3-enum.c | 728
> ------------------------------------ 10 files changed, 93 insertions(+),
> 734 deletions(-)
> delete mode 100644 tests/util/piglit-util-gl-enum.c
> delete mode 100644 tests/util/piglit-util-gles3-enum.c
>
> diff --git a/cmake/piglit_dispatch.cmake b/cmake/piglit_dispatch.cmake
> index b4ff2cf..2ef6a85 100644
> --- a/cmake/piglit_dispatch.cmake
> +++ b/cmake/piglit_dispatch.cmake
> @@ -27,6 +27,7 @@ file(MAKE_DIRECTORY ${piglit_dispatch_gen_output_dir})
> set(piglit_dispatch_gen_outputs
> ${piglit_dispatch_gen_output_dir}/generated_dispatch.c
> ${piglit_dispatch_gen_output_dir}/generated_dispatch.h
> + ${piglit_dispatch_gen_output_dir}/piglit-util-gl-enum-gen.c
> )
>
> set(piglit_dispatch_gen_inputs
> diff --git a/tests/util/.gitignore b/tests/util/.gitignore
> index 8fbd235..03b680d 100644
> --- a/tests/util/.gitignore
> +++ b/tests/util/.gitignore
> @@ -1,3 +1,4 @@
> config.h
> generated_dispatch.c
> generated_dispatch.h
> +piglit-util-gl-enum-gen.c
> diff --git a/tests/util/CMakeLists.gl.txt b/tests/util/CMakeLists.gl.txt
> index 0a2cc25..d414dd9 100644
> --- a/tests/util/CMakeLists.gl.txt
> +++ b/tests/util/CMakeLists.gl.txt
> @@ -5,7 +5,6 @@ set(UTIL_GL_SOURCES
> piglit-matrix.c
> piglit-shader.c
> piglit-shader-gl.c
> - piglit-util-gl-enum.c
> piglit-util-gl.c
> piglit-test-pattern.cpp
> piglit-fbo.cpp
> @@ -34,12 +33,12 @@ IF(PIGLIT_BUILD_GLX_TESTS)
> piglit-shader.c
> piglit-shader-gl.c
> piglit-util-gl-common.c
> - piglit-util-gl-enum.c
> piglit-util-gl.c
> piglit-glx-framework.c
> piglit-glx-util.c
> piglit-dispatch.c
> piglit-dispatch-init.c
> + ${piglit_dispatch_gen_output_dir}/piglit-util-gl-enum-gen.c
> )
> target_link_libraries(piglitglxutil
> piglitutil_${piglit_target_api}
> diff --git a/tests/util/CMakeLists.gles1.txt
> b/tests/util/CMakeLists.gles1.txt index 58cc67a..09dff85 100644
> --- a/tests/util/CMakeLists.gles1.txt
> +++ b/tests/util/CMakeLists.gles1.txt
> @@ -1,6 +1,5 @@
> set(UTIL_GL_SOURCES
> ${UTIL_GL_SOURCES}
> - piglit-util-gl-enum.c
> piglit-util-gles.c
> )
>
> diff --git a/tests/util/CMakeLists.gles2.txt
> b/tests/util/CMakeLists.gles2.txt index d2501e3..a174112 100644
> --- a/tests/util/CMakeLists.gles2.txt
> +++ b/tests/util/CMakeLists.gles2.txt
> @@ -5,7 +5,6 @@ set(UTIL_GL_SOURCES
> piglit-dispatch-init.c
> piglit-shader.c
> piglit-shader-gles2.c
> - piglit-util-gl-enum.c
> piglit-util-gles.c
> minmax-test.c
> )
> diff --git a/tests/util/CMakeLists.gles3.txt
> b/tests/util/CMakeLists.gles3.txt index 1cb591f..59a4de7 100644
> --- a/tests/util/CMakeLists.gles3.txt
> +++ b/tests/util/CMakeLists.gles3.txt
> @@ -5,7 +5,6 @@ list(APPEND UTIL_GL_SOURCES
> piglit-shader.c
> piglit-shader-gles2.c # Compatible with gles3.
> piglit-util-gles.c
> - piglit-util-gles3-enum.c
> piglit-vbo.cpp
> )
>
> diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
> index 3a97daf..cf0aa6b 100644
> --- a/tests/util/CMakeLists.txt
> +++ b/tests/util/CMakeLists.txt
> @@ -4,6 +4,13 @@ if(PIGLIT_HAS_POSIX_CLOCK_MONOTONIC AND HAVE_LIBRT)
> link_libraries(rt)
> endif()
>
> +# CMake requires that source file properties be set in the same directory
> where +# the property is used.
> +set_source_files_properties(
> + ${piglit_dispatch_gen_outputs}
> + PROPERTIES GENERATED 1
> + )
> +
> set(UTIL_INCLUDES
> ${CMAKE_CURRENT_BINARY_DIR}
> ${CMAKE_CURRENT_SOURCE_DIR}
> @@ -28,6 +35,7 @@ set(UTIL_GL_SOURCES
> piglit_ktx.c
> rgb9e5.c
> r11g11b10f.c
> + ${CMAKE_BINARY_DIR}/tests/util/piglit-util-gl-enum-gen.c
> )
>
> if(PIGLIT_USE_WAFFLE)
> diff --git a/tests/util/gen_dispatch.py b/tests/util/gen_dispatch.py
> index d445932..d1fcdec 100644
> --- a/tests/util/gen_dispatch.py
> +++ b/tests/util/gen_dispatch.py
> @@ -63,6 +63,10 @@ def main():
> dispatch_h.close()
> dispatch_c.close()
>
> + enum_c = open(os.path.join(args.out_dir, 'piglit-util-gl-enum-gen.c'),
> 'w') + EnumCode(gl_registry).emit(enum_c)
> + enum_c.close()
> +
> def log_debug(msg):
> if debug:
> sys.stderr.write('debug: {0}: {1}\n'.format(PROG_NAME, msg))
> @@ -304,5 +308,83 @@ class DispatchCode(object):
> )
> template.render_context(ctx)
>
> +class EnumCode(object):
> +
> + c_template = Template(dedent('''\
> + ${copyright}
> +
> + #include "piglit-util-gl-common.h"
> +
> + const char*
> + piglit_get_gl_enum_name(GLenum param)
> + {
> + switch (param) {
> + % for enum in unique_default_namespace_enums:
> + case ${enum.c_num_literal}: return "${enum.name}";
> + % endfor
> + default: return "(unrecognized enum)";
> + }
> + }
> +
> + const char*
> + piglit_get_prim_name(GLenum prim)
> + {
> + <% gl_patches = gl_registry.enums['GL_PATCHES'] %>\\
> + switch (prim) {
> + % for enum in unique_default_namespace_enums:
> + % if enum.num_value <= gl_patches.num_value:
> + case ${enum.c_num_literal}: return "${enum.name}";
> + % endif
> + % endfor
> + default: return "(unrecognized enum)";
> + }
> + }'''
> + ))
> +
> + def __init__(self, gl_registry):
> + self.gl_registry = gl_registry
> + self.unique_default_namespace_enums = None
> + self.__gather_unique_default_namespace_enums()
> +
> + def __gather_unique_default_namespace_enums(self):
> + duplicate_enums = [
> + enum
> + for enum_group in self.gl_registry.enum_groups
> + if enum_group.type == 'default_namespace'
> + for enum in enum_group.enums
> + if not enum.is_collider
> + ]
I love comprehensions, but this is a case to not use one. It took me a moment
to understand what the heck this was, you should refactor it into loops.
> +
> + # Sort enums by numerical value then by name. This ensures that
> + # non-suffixed variants of an enum name precede the suffixed
> variant. + # For example, GL_RED will precede GL_RED_EXT.
> + def enum_cmp(x, y):
> + c = cmp(x.num_value, y.num_value)
> + if c != 0: return c
yuck, new lines for if statements please
> + c = cmp(x.name, y.name)
> + if c != 0: return c
> + return 0
> +
> + duplicate_enums.sort(enum_cmp)
> +
> + # Copy duplicate_enums into unique_enums, filtering out duplicate
> + # values. The algorithm requires that dupliate_enums be sorted by
> + # value.
> + unique_enums = [duplicate_enums[0]]
> + for enum in duplicate_enums[1:]:
> + if enum.num_value > unique_enums[-1].num_value:
> + unique_enums.append(enum)
> +
> + self.unique_default_namespace_enums = unique_enums
> +
> + def emit(self, c_buf):
> + ctx = mako.runtime.Context(
> + buffer=c_buf,
> + copyright=copyright_block,
> + gl_registry=self.gl_registry,
> +
> unique_default_namespace_enums=self.unique_default_namespace_enums, +
> )
> + EnumCode.c_template.render_context(ctx)
> +
> if __name__ == '__main__':
> main()
> diff --git a/tests/util/piglit-util-gl-enum.c
> b/tests/util/piglit-util-gl-enum.c deleted file mode 100644
> index 07d34af..0000000
> --- a/tests/util/piglit-util-gl-enum.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include "piglit-util-gl-enum-gen.c"
> diff --git a/tests/util/piglit-util-gles3-enum.c
> b/tests/util/piglit-util-gles3-enum.c deleted file mode 100644
> index 8b0fcdc..0000000
> --- a/tests/util/piglit-util-gles3-enum.c
> +++ /dev/null
> @@ -1,728 +0,0 @@
> -/*
> - * Copyright 2012 Intel Corporation
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"), - * to deal in the Software without restriction, including
> without limitation - * the rights to use, copy, modify, merge, publish,
> distribute, sublicense, - * and/or sell copies of the Software, and to
> permit persons to whom the - * Software is furnished to do so, subject to
> the following conditions: - *
> - * The above copyright notice and this permission notice (including the
> next - * paragraph) shall be included in all copies or substantial portions
> of the - * Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
> IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE
> SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE.
> - */
> -
> -/* TODO: Automatically generate this file. */
> -
> -#include "piglit-util-gl-common.h"
> -
> -const char *
> -piglit_get_gl_enum_name(GLenum param)
> -{
> -#define CASE(x) case x: return #x;
> -
> - switch (param) {
> -
> - /* <GLES3/gl3.h> */
> -
> - /* BlendingFactorDest */
> - CASE(GL_SRC_COLOR) // 0x0300
> - CASE(GL_ONE_MINUS_SRC_COLOR) // 0x0301
> - CASE(GL_SRC_ALPHA) // 0x0302
> - CASE(GL_ONE_MINUS_SRC_ALPHA) // 0x0303
> - CASE(GL_DST_ALPHA) // 0x0304
> - CASE(GL_ONE_MINUS_DST_ALPHA) // 0x0305
> -
> - /* BlendingFactorSrc */
> - CASE(GL_DST_COLOR) // 0x0306
> - CASE(GL_ONE_MINUS_DST_COLOR) // 0x0307
> - CASE(GL_SRC_ALPHA_SATURATE) // 0x0308
> -
> - /* BlendEquationSeparate */
> - CASE(GL_FUNC_ADD) // 0x8006
> - CASE(GL_BLEND_EQUATION) // 0x8009
> - CASE(GL_BLEND_EQUATION_ALPHA) // 0x883D
> -
> - /* BlendSubtract */
> - CASE(GL_FUNC_SUBTRACT) // 0x800A
> - CASE(GL_FUNC_REVERSE_SUBTRACT) // 0x800B
> -
> - /* Separate Blend Functions */
> - CASE(GL_BLEND_DST_RGB) // 0x80C8
> - CASE(GL_BLEND_SRC_RGB) // 0x80C9
> - CASE(GL_BLEND_DST_ALPHA) // 0x80CA
> - CASE(GL_BLEND_SRC_ALPHA) // 0x80CB
> - CASE(GL_CONSTANT_COLOR) // 0x8001
> - CASE(GL_ONE_MINUS_CONSTANT_COLOR) // 0x8002
> - CASE(GL_CONSTANT_ALPHA) // 0x8003
> - CASE(GL_ONE_MINUS_CONSTANT_ALPHA) // 0x8004
> - CASE(GL_BLEND_COLOR) // 0x8005
> -
> - /* Buffer Objects */
> - CASE(GL_ARRAY_BUFFER) // 0x8892
> - CASE(GL_ELEMENT_ARRAY_BUFFER) // 0x8893
> - CASE(GL_ARRAY_BUFFER_BINDING) // 0x8894
> - CASE(GL_ELEMENT_ARRAY_BUFFER_BINDING) // 0x8895
> -
> - CASE(GL_STREAM_DRAW) // 0x88E0
> - CASE(GL_STATIC_DRAW) // 0x88E4
> - CASE(GL_DYNAMIC_DRAW) // 0x88E8
> -
> - CASE(GL_BUFFER_SIZE) // 0x8764
> - CASE(GL_BUFFER_USAGE) // 0x8765
> -
> - CASE(GL_CURRENT_VERTEX_ATTRIB) // 0x8626
> -
> - /* CullFaceMode */
> - CASE(GL_FRONT) // 0x0404
> - CASE(GL_BACK) // 0x0405
> - CASE(GL_FRONT_AND_BACK) // 0x0408
> -
> - /* EnableCap */
> - CASE(GL_TEXTURE_2D) // 0x0DE1
> - CASE(GL_CULL_FACE) // 0x0B44
> - CASE(GL_BLEND) // 0x0BE2
> - CASE(GL_DITHER) // 0x0BD0
> - CASE(GL_STENCIL_TEST) // 0x0B90
> - CASE(GL_DEPTH_TEST) // 0x0B71
> - CASE(GL_SCISSOR_TEST) // 0x0C11
> - CASE(GL_POLYGON_OFFSET_FILL) // 0x8037
> - CASE(GL_SAMPLE_ALPHA_TO_COVERAGE) // 0x809E
> - CASE(GL_SAMPLE_COVERAGE) // 0x80A0
> -
> - /* ErrorCode */
> - CASE(GL_INVALID_ENUM) // 0x0500
> - CASE(GL_INVALID_VALUE) // 0x0501
> - CASE(GL_INVALID_OPERATION) // 0x0502
> - CASE(GL_OUT_OF_MEMORY) // 0x0505
> -
> - /* FrontFaceDirection */
> - CASE(GL_CW) // 0x0900
> - CASE(GL_CCW) // 0x0901
> -
> - /* GetPName */
> - CASE(GL_LINE_WIDTH) // 0x0B21
> - CASE(GL_ALIASED_POINT_SIZE_RANGE) // 0x846D
> - CASE(GL_ALIASED_LINE_WIDTH_RANGE) // 0x846E
> - CASE(GL_CULL_FACE_MODE) // 0x0B45
> - CASE(GL_FRONT_FACE) // 0x0B46
> - CASE(GL_DEPTH_RANGE) // 0x0B70
> - CASE(GL_DEPTH_WRITEMASK) // 0x0B72
> - CASE(GL_DEPTH_CLEAR_VALUE) // 0x0B73
> - CASE(GL_DEPTH_FUNC) // 0x0B74
> - CASE(GL_STENCIL_CLEAR_VALUE) // 0x0B91
> - CASE(GL_STENCIL_FUNC) // 0x0B92
> - CASE(GL_STENCIL_FAIL) // 0x0B94
> - CASE(GL_STENCIL_PASS_DEPTH_FAIL) // 0x0B95
> - CASE(GL_STENCIL_PASS_DEPTH_PASS) // 0x0B96
> - CASE(GL_STENCIL_REF) // 0x0B97
> - CASE(GL_STENCIL_VALUE_MASK) // 0x0B93
> - CASE(GL_STENCIL_WRITEMASK) // 0x0B98
> - CASE(GL_STENCIL_BACK_FUNC) // 0x8800
> - CASE(GL_STENCIL_BACK_FAIL) // 0x8801
> - CASE(GL_STENCIL_BACK_PASS_DEPTH_FAIL) // 0x8802
> - CASE(GL_STENCIL_BACK_PASS_DEPTH_PASS) // 0x8803
> - CASE(GL_STENCIL_BACK_REF) // 0x8CA3
> - CASE(GL_STENCIL_BACK_VALUE_MASK) // 0x8CA4
> - CASE(GL_STENCIL_BACK_WRITEMASK) // 0x8CA5
> - CASE(GL_VIEWPORT) // 0x0BA2
> - CASE(GL_SCISSOR_BOX) // 0x0C10
> - CASE(GL_COLOR_CLEAR_VALUE) // 0x0C22
> - CASE(GL_COLOR_WRITEMASK) // 0x0C23
> - CASE(GL_UNPACK_ALIGNMENT) // 0x0CF5
> - CASE(GL_PACK_ALIGNMENT) // 0x0D05
> - CASE(GL_MAX_TEXTURE_SIZE) // 0x0D33
> - CASE(GL_MAX_VIEWPORT_DIMS) // 0x0D3A
> - CASE(GL_SUBPIXEL_BITS) // 0x0D50
> - CASE(GL_RED_BITS) // 0x0D52
> - CASE(GL_GREEN_BITS) // 0x0D53
> - CASE(GL_BLUE_BITS) // 0x0D54
> - CASE(GL_ALPHA_BITS) // 0x0D55
> - CASE(GL_DEPTH_BITS) // 0x0D56
> - CASE(GL_STENCIL_BITS) // 0x0D57
> - CASE(GL_POLYGON_OFFSET_UNITS) // 0x2A00
> - CASE(GL_POLYGON_OFFSET_FACTOR) // 0x8038
> - CASE(GL_TEXTURE_BINDING_2D) // 0x8069
> - CASE(GL_SAMPLE_BUFFERS) // 0x80A8
> - CASE(GL_SAMPLES) // 0x80A9
> - CASE(GL_SAMPLE_COVERAGE_VALUE) // 0x80AA
> - CASE(GL_SAMPLE_COVERAGE_INVERT) // 0x80AB
> -
> - /* GetTextureParameter */
> - CASE(GL_NUM_COMPRESSED_TEXTURE_FORMATS) // 0x86A2
> - CASE(GL_COMPRESSED_TEXTURE_FORMATS) // 0x86A3
> -
> - /* HintMode */
> - CASE(GL_DONT_CARE) // 0x1100
> - CASE(GL_FASTEST) // 0x1101
> - CASE(GL_NICEST) // 0x1102
> -
> - /* HintTarget */
> - CASE(GL_GENERATE_MIPMAP_HINT) // 0x8192
> -
> - /* DataType */
> - CASE(GL_BYTE) // 0x1400
> - CASE(GL_UNSIGNED_BYTE) // 0x1401
> - CASE(GL_SHORT) // 0x1402
> - CASE(GL_UNSIGNED_SHORT) // 0x1403
> - CASE(GL_INT) // 0x1404
> - CASE(GL_UNSIGNED_INT) // 0x1405
> - CASE(GL_FLOAT) // 0x1406
> - CASE(GL_FIXED) // 0x140C
> -
> - /* PixelFormat */
> - CASE(GL_DEPTH_COMPONENT) // 0x1902
> - CASE(GL_ALPHA) // 0x1906
> - CASE(GL_RGB) // 0x1907
> - CASE(GL_RGBA) // 0x1908
> - CASE(GL_LUMINANCE) // 0x1909
> - CASE(GL_LUMINANCE_ALPHA) // 0x190A
> -
> - /* PixelType */
> - CASE(GL_UNSIGNED_SHORT_4_4_4_4) // 0x8033
> - CASE(GL_UNSIGNED_SHORT_5_5_5_1) // 0x8034
> - CASE(GL_UNSIGNED_SHORT_5_6_5) // 0x8363
> -
> - /* Shaders */
> - CASE(GL_FRAGMENT_SHADER) // 0x8B30
> - CASE(GL_VERTEX_SHADER) // 0x8B31
> - CASE(GL_MAX_VERTEX_ATTRIBS) // 0x8869
> - CASE(GL_MAX_VERTEX_UNIFORM_VECTORS) // 0x8DFB
> - CASE(GL_MAX_VARYING_VECTORS) // 0x8DFC
> - CASE(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS) // 0x8B4D
> - CASE(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS) // 0x8B4C
> - CASE(GL_MAX_TEXTURE_IMAGE_UNITS) // 0x8872
> - CASE(GL_MAX_FRAGMENT_UNIFORM_VECTORS) // 0x8DFD
> - CASE(GL_SHADER_TYPE) // 0x8B4F
> - CASE(GL_DELETE_STATUS) // 0x8B80
> - CASE(GL_LINK_STATUS) // 0x8B82
> - CASE(GL_VALIDATE_STATUS) // 0x8B83
> - CASE(GL_ATTACHED_SHADERS) // 0x8B85
> - CASE(GL_ACTIVE_UNIFORMS) // 0x8B86
> - CASE(GL_ACTIVE_UNIFORM_MAX_LENGTH) // 0x8B87
> - CASE(GL_ACTIVE_ATTRIBUTES) // 0x8B89
> - CASE(GL_ACTIVE_ATTRIBUTE_MAX_LENGTH) // 0x8B8A
> - CASE(GL_SHADING_LANGUAGE_VERSION) // 0x8B8C
> - CASE(GL_CURRENT_PROGRAM) // 0x8B8D
> -
> - /* StencilFunction */
> - CASE(GL_NEVER) // 0x0200
> - CASE(GL_LESS) // 0x0201
> - CASE(GL_EQUAL) // 0x0202
> - CASE(GL_LEQUAL) // 0x0203
> - CASE(GL_GREATER) // 0x0204
> - CASE(GL_NOTEQUAL) // 0x0205
> - CASE(GL_GEQUAL) // 0x0206
> - CASE(GL_ALWAYS) // 0x0207
> -
> - /* StencilOp */
> - CASE(GL_KEEP) // 0x1E00
> - CASE(GL_REPLACE) // 0x1E01
> - CASE(GL_INCR) // 0x1E02
> - CASE(GL_DECR) // 0x1E03
> - CASE(GL_INVERT) // 0x150A
> - CASE(GL_INCR_WRAP) // 0x8507
> - CASE(GL_DECR_WRAP) // 0x8508
> -
> - /* StringName */
> - CASE(GL_VENDOR) // 0x1F00
> - CASE(GL_RENDERER) // 0x1F01
> - CASE(GL_VERSION) // 0x1F02
> - CASE(GL_EXTENSIONS) // 0x1F03
> -
> - /* TextureMagFilter */
> - CASE(GL_NEAREST) // 0x2600
> - CASE(GL_LINEAR) // 0x2601
> -
> - /* TextureMinFilter */
> - CASE(GL_NEAREST_MIPMAP_NEAREST) // 0x2700
> - CASE(GL_LINEAR_MIPMAP_NEAREST) // 0x2701
> - CASE(GL_NEAREST_MIPMAP_LINEAR) // 0x2702
> - CASE(GL_LINEAR_MIPMAP_LINEAR) // 0x2703
> -
> - /* TextureParameterName */
> - CASE(GL_TEXTURE_MAG_FILTER) // 0x2800
> - CASE(GL_TEXTURE_MIN_FILTER) // 0x2801
> - CASE(GL_TEXTURE_WRAP_S) // 0x2802
> - CASE(GL_TEXTURE_WRAP_T) // 0x2803
> -
> - /* TextureTarget */
> - CASE(GL_TEXTURE) // 0x1702
> -
> - CASE(GL_TEXTURE_CUBE_MAP) // 0x8513
> - CASE(GL_TEXTURE_BINDING_CUBE_MAP) // 0x8514
> - CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_X) // 0x8515
> - CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_X) // 0x8516
> - CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_Y) // 0x8517
> - CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y) // 0x8518
> - CASE(GL_TEXTURE_CUBE_MAP_POSITIVE_Z) // 0x8519
> - CASE(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z) // 0x851A
> - CASE(GL_MAX_CUBE_MAP_TEXTURE_SIZE) // 0x851C
> -
> - /* TextureUnit */
> - CASE(GL_TEXTURE0) // 0x84C0
> - CASE(GL_TEXTURE1) // 0x84C1
> - CASE(GL_TEXTURE2) // 0x84C2
> - CASE(GL_TEXTURE3) // 0x84C3
> - CASE(GL_TEXTURE4) // 0x84C4
> - CASE(GL_TEXTURE5) // 0x84C5
> - CASE(GL_TEXTURE6) // 0x84C6
> - CASE(GL_TEXTURE7) // 0x84C7
> - CASE(GL_TEXTURE8) // 0x84C8
> - CASE(GL_TEXTURE9) // 0x84C9
> - CASE(GL_TEXTURE10) // 0x84CA
> - CASE(GL_TEXTURE11) // 0x84CB
> - CASE(GL_TEXTURE12) // 0x84CC
> - CASE(GL_TEXTURE13) // 0x84CD
> - CASE(GL_TEXTURE14) // 0x84CE
> - CASE(GL_TEXTURE15) // 0x84CF
> - CASE(GL_TEXTURE16) // 0x84D0
> - CASE(GL_TEXTURE17) // 0x84D1
> - CASE(GL_TEXTURE18) // 0x84D2
> - CASE(GL_TEXTURE19) // 0x84D3
> - CASE(GL_TEXTURE20) // 0x84D4
> - CASE(GL_TEXTURE21) // 0x84D5
> - CASE(GL_TEXTURE22) // 0x84D6
> - CASE(GL_TEXTURE23) // 0x84D7
> - CASE(GL_TEXTURE24) // 0x84D8
> - CASE(GL_TEXTURE25) // 0x84D9
> - CASE(GL_TEXTURE26) // 0x84DA
> - CASE(GL_TEXTURE27) // 0x84DB
> - CASE(GL_TEXTURE28) // 0x84DC
> - CASE(GL_TEXTURE29) // 0x84DD
> - CASE(GL_TEXTURE30) // 0x84DE
> - CASE(GL_TEXTURE31) // 0x84DF
> - CASE(GL_ACTIVE_TEXTURE) // 0x84E0
> -
> - /* TextureWrapMode */
> - CASE(GL_REPEAT) // 0x2901
> - CASE(GL_CLAMP_TO_EDGE) // 0x812F
> - CASE(GL_MIRRORED_REPEAT) // 0x8370
> -
> - /* Uniform Types */
> - CASE(GL_FLOAT_VEC2) // 0x8B50
> - CASE(GL_FLOAT_VEC3) // 0x8B51
> - CASE(GL_FLOAT_VEC4) // 0x8B52
> - CASE(GL_INT_VEC2) // 0x8B53
> - CASE(GL_INT_VEC3) // 0x8B54
> - CASE(GL_INT_VEC4) // 0x8B55
> - CASE(GL_BOOL) // 0x8B56
> - CASE(GL_BOOL_VEC2) // 0x8B57
> - CASE(GL_BOOL_VEC3) // 0x8B58
> - CASE(GL_BOOL_VEC4) // 0x8B59
> - CASE(GL_FLOAT_MAT2) // 0x8B5A
> - CASE(GL_FLOAT_MAT3) // 0x8B5B
> - CASE(GL_FLOAT_MAT4) // 0x8B5C
> - CASE(GL_SAMPLER_2D) // 0x8B5E
> - CASE(GL_SAMPLER_CUBE) // 0x8B60
> -
> - /* Vertex Arrays */
> - CASE(GL_VERTEX_ATTRIB_ARRAY_ENABLED) // 0x8622
> - CASE(GL_VERTEX_ATTRIB_ARRAY_SIZE) // 0x8623
> - CASE(GL_VERTEX_ATTRIB_ARRAY_STRIDE) // 0x8624
> - CASE(GL_VERTEX_ATTRIB_ARRAY_TYPE) // 0x8625
> - CASE(GL_VERTEX_ATTRIB_ARRAY_NORMALIZED) // 0x886A
> - CASE(GL_VERTEX_ATTRIB_ARRAY_POINTER) // 0x8645
> - CASE(GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) // 0x889F
> -
> - /* Read Format */
> - CASE(GL_IMPLEMENTATION_COLOR_READ_TYPE) // 0x8B9A
> - CASE(GL_IMPLEMENTATION_COLOR_READ_FORMAT) // 0x8B9B
> -
> - /* Shader Source */
> - CASE(GL_COMPILE_STATUS) // 0x8B81
> - CASE(GL_INFO_LOG_LENGTH) // 0x8B84
> - CASE(GL_SHADER_SOURCE_LENGTH) // 0x8B88
> - CASE(GL_SHADER_COMPILER) // 0x8DFA
> -
> - /* Shader Binary */
> - CASE(GL_SHADER_BINARY_FORMATS) // 0x8DF8
> - CASE(GL_NUM_SHADER_BINARY_FORMATS) // 0x8DF9
> -
> - /* Shader Precision-Specified Types */
> - CASE(GL_LOW_FLOAT) // 0x8DF0
> - CASE(GL_MEDIUM_FLOAT) // 0x8DF1
> - CASE(GL_HIGH_FLOAT) // 0x8DF2
> - CASE(GL_LOW_INT) // 0x8DF3
> - CASE(GL_MEDIUM_INT) // 0x8DF4
> - CASE(GL_HIGH_INT) // 0x8DF5
> -
> - /* Framebuffer Object. */
> - CASE(GL_FRAMEBUFFER) // 0x8D40
> - CASE(GL_RENDERBUFFER) // 0x8D41
> -
> - CASE(GL_RGBA4) // 0x8056
> - CASE(GL_RGB5_A1) // 0x8057
> - CASE(GL_RGB565) // 0x8D62
> - CASE(GL_DEPTH_COMPONENT16) // 0x81A5
> - CASE(GL_STENCIL_INDEX8) // 0x8D48
> -
> - CASE(GL_RENDERBUFFER_WIDTH) // 0x8D42
> - CASE(GL_RENDERBUFFER_HEIGHT) // 0x8D43
> - CASE(GL_RENDERBUFFER_INTERNAL_FORMAT) // 0x8D44
> - CASE(GL_RENDERBUFFER_RED_SIZE) // 0x8D50
> - CASE(GL_RENDERBUFFER_GREEN_SIZE) // 0x8D51
> - CASE(GL_RENDERBUFFER_BLUE_SIZE) // 0x8D52
> - CASE(GL_RENDERBUFFER_ALPHA_SIZE) // 0x8D53
> - CASE(GL_RENDERBUFFER_DEPTH_SIZE) // 0x8D54
> - CASE(GL_RENDERBUFFER_STENCIL_SIZE) // 0x8D55
> -
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) // 0x8CD0
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) // 0x8CD1
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL) // 0x8CD2
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE) // 0x8CD3
> -
> - CASE(GL_COLOR_ATTACHMENT0) // 0x8CE0
> - CASE(GL_DEPTH_ATTACHMENT) // 0x8D00
> - CASE(GL_STENCIL_ATTACHMENT) // 0x8D20
> -
> - CASE(GL_FRAMEBUFFER_COMPLETE) // 0x8CD5
> - CASE(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT) // 0x8CD6
> - CASE(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT) // 0x8CD7
> - CASE(GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS) // 0x8CD9
> - CASE(GL_FRAMEBUFFER_UNSUPPORTED) // 0x8CDD
> -
> - CASE(GL_FRAMEBUFFER_BINDING) // 0x8CA6
> - CASE(GL_RENDERBUFFER_BINDING) // 0x8CA7
> - CASE(GL_MAX_RENDERBUFFER_SIZE) // 0x84E8
> -
> - CASE(GL_INVALID_FRAMEBUFFER_OPERATION) // 0x0506
> -
> - CASE(GL_READ_BUFFER) // 0x0C02
> - CASE(GL_UNPACK_ROW_LENGTH) // 0x0CF2
> - CASE(GL_UNPACK_SKIP_ROWS) // 0x0CF3
> - CASE(GL_UNPACK_SKIP_PIXELS) // 0x0CF4
> - CASE(GL_PACK_ROW_LENGTH) // 0x0D02
> - CASE(GL_PACK_SKIP_ROWS) // 0x0D03
> - CASE(GL_PACK_SKIP_PIXELS) // 0x0D04
> - CASE(GL_COLOR) // 0x1800
> - CASE(GL_DEPTH) // 0x1801
> - CASE(GL_STENCIL) // 0x1802
> - CASE(GL_RED) // 0x1903
> - CASE(GL_RGB8) // 0x8051
> - CASE(GL_RGBA8) // 0x8058
> - CASE(GL_RGB10_A2) // 0x8059
> - CASE(GL_TEXTURE_BINDING_3D) // 0x806A
> - CASE(GL_UNPACK_SKIP_IMAGES) // 0x806D
> - CASE(GL_UNPACK_IMAGE_HEIGHT) // 0x806E
> - CASE(GL_TEXTURE_3D) // 0x806F
> - CASE(GL_TEXTURE_WRAP_R) // 0x8072
> - CASE(GL_MAX_3D_TEXTURE_SIZE) // 0x8073
> - CASE(GL_UNSIGNED_INT_2_10_10_10_REV) // 0x8368
> - CASE(GL_MAX_ELEMENTS_VERTICES) // 0x80E8
> - CASE(GL_MAX_ELEMENTS_INDICES) // 0x80E9
> - CASE(GL_TEXTURE_MIN_LOD) // 0x813A
> - CASE(GL_TEXTURE_MAX_LOD) // 0x813B
> - CASE(GL_TEXTURE_BASE_LEVEL) // 0x813C
> - CASE(GL_TEXTURE_MAX_LEVEL) // 0x813D
> - CASE(GL_MIN) // 0x8007
> - CASE(GL_MAX) // 0x8008
> - CASE(GL_DEPTH_COMPONENT24) // 0x81A6
> - CASE(GL_MAX_TEXTURE_LOD_BIAS) // 0x84FD
> - CASE(GL_TEXTURE_COMPARE_MODE) // 0x884C
> - CASE(GL_TEXTURE_COMPARE_FUNC) // 0x884D
> - CASE(GL_CURRENT_QUERY) // 0x8865
> - CASE(GL_QUERY_RESULT) // 0x8866
> - CASE(GL_QUERY_RESULT_AVAILABLE) // 0x8867
> - CASE(GL_BUFFER_MAPPED) // 0x88BC
> - CASE(GL_BUFFER_MAP_POINTER) // 0x88BD
> - CASE(GL_STREAM_READ) // 0x88E1
> - CASE(GL_STREAM_COPY) // 0x88E2
> - CASE(GL_STATIC_READ) // 0x88E5
> - CASE(GL_STATIC_COPY) // 0x88E6
> - CASE(GL_DYNAMIC_READ) // 0x88E9
> - CASE(GL_DYNAMIC_COPY) // 0x88EA
> - CASE(GL_MAX_DRAW_BUFFERS) // 0x8824
> - CASE(GL_DRAW_BUFFER0) // 0x8825
> - CASE(GL_DRAW_BUFFER1) // 0x8826
> - CASE(GL_DRAW_BUFFER2) // 0x8827
> - CASE(GL_DRAW_BUFFER3) // 0x8828
> - CASE(GL_DRAW_BUFFER4) // 0x8829
> - CASE(GL_DRAW_BUFFER5) // 0x882A
> - CASE(GL_DRAW_BUFFER6) // 0x882B
> - CASE(GL_DRAW_BUFFER7) // 0x882C
> - CASE(GL_DRAW_BUFFER8) // 0x882D
> - CASE(GL_DRAW_BUFFER9) // 0x882E
> - CASE(GL_DRAW_BUFFER10) // 0x882F
> - CASE(GL_DRAW_BUFFER11) // 0x8830
> - CASE(GL_DRAW_BUFFER12) // 0x8831
> - CASE(GL_DRAW_BUFFER13) // 0x8832
> - CASE(GL_DRAW_BUFFER14) // 0x8833
> - CASE(GL_DRAW_BUFFER15) // 0x8834
> - CASE(GL_MAX_FRAGMENT_UNIFORM_COMPONENTS) // 0x8B49
> - CASE(GL_MAX_VERTEX_UNIFORM_COMPONENTS) // 0x8B4A
> - CASE(GL_SAMPLER_3D) // 0x8B5F
> - CASE(GL_SAMPLER_2D_SHADOW) // 0x8B62
> - CASE(GL_FRAGMENT_SHADER_DERIVATIVE_HINT) // 0x8B8B
> - CASE(GL_PIXEL_PACK_BUFFER) // 0x88EB
> - CASE(GL_PIXEL_UNPACK_BUFFER) // 0x88EC
> - CASE(GL_PIXEL_PACK_BUFFER_BINDING) // 0x88ED
> - CASE(GL_PIXEL_UNPACK_BUFFER_BINDING) // 0x88EF
> - CASE(GL_FLOAT_MAT2x3) // 0x8B65
> - CASE(GL_FLOAT_MAT2x4) // 0x8B66
> - CASE(GL_FLOAT_MAT3x2) // 0x8B67
> - CASE(GL_FLOAT_MAT3x4) // 0x8B68
> - CASE(GL_FLOAT_MAT4x2) // 0x8B69
> - CASE(GL_FLOAT_MAT4x3) // 0x8B6A
> - CASE(GL_SRGB) // 0x8C40
> - CASE(GL_SRGB8) // 0x8C41
> - CASE(GL_SRGB8_ALPHA8) // 0x8C43
> - CASE(GL_COMPARE_REF_TO_TEXTURE) // 0x884E
> - CASE(GL_MAJOR_VERSION) // 0x821B
> - CASE(GL_MINOR_VERSION) // 0x821C
> - CASE(GL_NUM_EXTENSIONS) // 0x821D
> - CASE(GL_RGBA32F) // 0x8814
> - CASE(GL_RGB32F) // 0x8815
> - CASE(GL_RGBA16F) // 0x881A
> - CASE(GL_RGB16F) // 0x881B
> - CASE(GL_VERTEX_ATTRIB_ARRAY_INTEGER) // 0x88FD
> - CASE(GL_MAX_ARRAY_TEXTURE_LAYERS) // 0x88FF
> - CASE(GL_MIN_PROGRAM_TEXEL_OFFSET) // 0x8904
> - CASE(GL_MAX_PROGRAM_TEXEL_OFFSET) // 0x8905
> - CASE(GL_MAX_VARYING_COMPONENTS) // 0x8B4B
> - CASE(GL_TEXTURE_2D_ARRAY) // 0x8C1A
> - CASE(GL_TEXTURE_BINDING_2D_ARRAY) // 0x8C1D
> - CASE(GL_R11F_G11F_B10F) // 0x8C3A
> - CASE(GL_UNSIGNED_INT_10F_11F_11F_REV) // 0x8C3B
> - CASE(GL_RGB9_E5) // 0x8C3D
> - CASE(GL_UNSIGNED_INT_5_9_9_9_REV) // 0x8C3E
> - CASE(GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH) // 0x8C76
> - CASE(GL_TRANSFORM_FEEDBACK_BUFFER_MODE) // 0x8C7F
> - CASE(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS) // 0x8C80
> - CASE(GL_TRANSFORM_FEEDBACK_VARYINGS) // 0x8C83
> - CASE(GL_TRANSFORM_FEEDBACK_BUFFER_START) // 0x8C84
> - CASE(GL_TRANSFORM_FEEDBACK_BUFFER_SIZE) // 0x8C85
> - CASE(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN) // 0x8C88
> - CASE(GL_RASTERIZER_DISCARD) // 0x8C89
> - CASE(GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS) // 0x8C8A
> - CASE(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS) // 0x8C8B
> - CASE(GL_INTERLEAVED_ATTRIBS) // 0x8C8C
> - CASE(GL_SEPARATE_ATTRIBS) // 0x8C8D
> - CASE(GL_TRANSFORM_FEEDBACK_BUFFER) // 0x8C8E
> - CASE(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING) // 0x8C8F
> - CASE(GL_RGBA32UI) // 0x8D70
> - CASE(GL_RGB32UI) // 0x8D71
> - CASE(GL_RGBA16UI) // 0x8D76
> - CASE(GL_RGB16UI) // 0x8D77
> - CASE(GL_RGBA8UI) // 0x8D7C
> - CASE(GL_RGB8UI) // 0x8D7D
> - CASE(GL_RGBA32I) // 0x8D82
> - CASE(GL_RGB32I) // 0x8D83
> - CASE(GL_RGBA16I) // 0x8D88
> - CASE(GL_RGB16I) // 0x8D89
> - CASE(GL_RGBA8I) // 0x8D8E
> - CASE(GL_RGB8I) // 0x8D8F
> - CASE(GL_RED_INTEGER) // 0x8D94
> - CASE(GL_RGB_INTEGER) // 0x8D98
> - CASE(GL_RGBA_INTEGER) // 0x8D99
> - CASE(GL_SAMPLER_2D_ARRAY) // 0x8DC1
> - CASE(GL_SAMPLER_2D_ARRAY_SHADOW) // 0x8DC4
> - CASE(GL_SAMPLER_CUBE_SHADOW) // 0x8DC5
> - CASE(GL_UNSIGNED_INT_VEC2) // 0x8DC6
> - CASE(GL_UNSIGNED_INT_VEC3) // 0x8DC7
> - CASE(GL_UNSIGNED_INT_VEC4) // 0x8DC8
> - CASE(GL_INT_SAMPLER_2D) // 0x8DCA
> - CASE(GL_INT_SAMPLER_3D) // 0x8DCB
> - CASE(GL_INT_SAMPLER_CUBE) // 0x8DCC
> - CASE(GL_INT_SAMPLER_2D_ARRAY) // 0x8DCF
> - CASE(GL_UNSIGNED_INT_SAMPLER_2D) // 0x8DD2
> - CASE(GL_UNSIGNED_INT_SAMPLER_3D) // 0x8DD3
> - CASE(GL_UNSIGNED_INT_SAMPLER_CUBE) // 0x8DD4
> - CASE(GL_UNSIGNED_INT_SAMPLER_2D_ARRAY) // 0x8DD7
> - CASE(GL_BUFFER_ACCESS_FLAGS) // 0x911F
> - CASE(GL_BUFFER_MAP_LENGTH) // 0x9120
> - CASE(GL_BUFFER_MAP_OFFSET) // 0x9121
> - CASE(GL_DEPTH_COMPONENT32F) // 0x8CAC
> - CASE(GL_DEPTH32F_STENCIL8) // 0x8CAD
> - CASE(GL_FLOAT_32_UNSIGNED_INT_24_8_REV) // 0x8DAD
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING) // 0x8210
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE) // 0x8211
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE) // 0x8212
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE) // 0x8213
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE) // 0x8214
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE) // 0x8215
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE) // 0x8216
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE) // 0x8217
> - CASE(GL_FRAMEBUFFER_DEFAULT) // 0x8218
> - CASE(GL_FRAMEBUFFER_UNDEFINED) // 0x8219
> - CASE(GL_DEPTH_STENCIL_ATTACHMENT) // 0x821A
> - CASE(GL_DEPTH_STENCIL) // 0x84F9
> - CASE(GL_UNSIGNED_INT_24_8) // 0x84FA
> - CASE(GL_DEPTH24_STENCIL8) // 0x88F0
> - CASE(GL_UNSIGNED_NORMALIZED) // 0x8C17
> - CASE(GL_READ_FRAMEBUFFER) // 0x8CA8
> - CASE(GL_DRAW_FRAMEBUFFER) // 0x8CA9
> - CASE(GL_READ_FRAMEBUFFER_BINDING) // 0x8CAA
> - CASE(GL_RENDERBUFFER_SAMPLES) // 0x8CAB
> - CASE(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER) // 0x8CD4
> - CASE(GL_MAX_COLOR_ATTACHMENTS) // 0x8CDF
> - CASE(GL_COLOR_ATTACHMENT1) // 0x8CE1
> - CASE(GL_COLOR_ATTACHMENT2) // 0x8CE2
> - CASE(GL_COLOR_ATTACHMENT3) // 0x8CE3
> - CASE(GL_COLOR_ATTACHMENT4) // 0x8CE4
> - CASE(GL_COLOR_ATTACHMENT5) // 0x8CE5
> - CASE(GL_COLOR_ATTACHMENT6) // 0x8CE6
> - CASE(GL_COLOR_ATTACHMENT7) // 0x8CE7
> - CASE(GL_COLOR_ATTACHMENT8) // 0x8CE8
> - CASE(GL_COLOR_ATTACHMENT9) // 0x8CE9
> - CASE(GL_COLOR_ATTACHMENT10) // 0x8CEA
> - CASE(GL_COLOR_ATTACHMENT11) // 0x8CEB
> - CASE(GL_COLOR_ATTACHMENT12) // 0x8CEC
> - CASE(GL_COLOR_ATTACHMENT13) // 0x8CED
> - CASE(GL_COLOR_ATTACHMENT14) // 0x8CEE
> - CASE(GL_COLOR_ATTACHMENT15) // 0x8CEF
> - CASE(GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE) // 0x8D56
> - CASE(GL_MAX_SAMPLES) // 0x8D57
> - CASE(GL_HALF_FLOAT) // 0x140B
> - CASE(GL_MAP_READ_BIT) // 0x0001
> - CASE(GL_MAP_WRITE_BIT) // 0x0002
> - CASE(GL_MAP_INVALIDATE_RANGE_BIT) // 0x0004
> - CASE(GL_MAP_INVALIDATE_BUFFER_BIT) // 0x0008
> - CASE(GL_MAP_FLUSH_EXPLICIT_BIT) // 0x0010
> - CASE(GL_MAP_UNSYNCHRONIZED_BIT) // 0x0020
> - CASE(GL_RG) // 0x8227
> - CASE(GL_RG_INTEGER) // 0x8228
> - CASE(GL_R8) // 0x8229
> - CASE(GL_RG8) // 0x822B
> - CASE(GL_R16F) // 0x822D
> - CASE(GL_R32F) // 0x822E
> - CASE(GL_RG16F) // 0x822F
> - CASE(GL_RG32F) // 0x8230
> - CASE(GL_R8I) // 0x8231
> - CASE(GL_R8UI) // 0x8232
> - CASE(GL_R16I) // 0x8233
> - CASE(GL_R16UI) // 0x8234
> - CASE(GL_R32I) // 0x8235
> - CASE(GL_R32UI) // 0x8236
> - CASE(GL_RG8I) // 0x8237
> - CASE(GL_RG8UI) // 0x8238
> - CASE(GL_RG16I) // 0x8239
> - CASE(GL_RG16UI) // 0x823A
> - CASE(GL_RG32I) // 0x823B
> - CASE(GL_RG32UI) // 0x823C
> - CASE(GL_VERTEX_ARRAY_BINDING) // 0x85B5
> - CASE(GL_R8_SNORM) // 0x8F94
> - CASE(GL_RG8_SNORM) // 0x8F95
> - CASE(GL_RGB8_SNORM) // 0x8F96
> - CASE(GL_RGBA8_SNORM) // 0x8F97
> - CASE(GL_SIGNED_NORMALIZED) // 0x8F9C
> - CASE(GL_PRIMITIVE_RESTART_FIXED_INDEX) // 0x8D69
> - CASE(GL_COPY_READ_BUFFER) // 0x8F36
> - CASE(GL_COPY_WRITE_BUFFER) // 0x8F37
> - CASE(GL_UNIFORM_BUFFER) // 0x8A11
> - CASE(GL_UNIFORM_BUFFER_BINDING) // 0x8A28
> - CASE(GL_UNIFORM_BUFFER_START) // 0x8A29
> - CASE(GL_UNIFORM_BUFFER_SIZE) // 0x8A2A
> - CASE(GL_MAX_VERTEX_UNIFORM_BLOCKS) // 0x8A2B
> - CASE(GL_MAX_FRAGMENT_UNIFORM_BLOCKS) // 0x8A2D
> - CASE(GL_MAX_COMBINED_UNIFORM_BLOCKS) // 0x8A2E
> - CASE(GL_MAX_UNIFORM_BUFFER_BINDINGS) // 0x8A2F
> - CASE(GL_MAX_UNIFORM_BLOCK_SIZE) // 0x8A30
> - CASE(GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS) // 0x8A31
> - CASE(GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS) // 0x8A33
> - CASE(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT) // 0x8A34
> - CASE(GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH) // 0x8A35
> - CASE(GL_ACTIVE_UNIFORM_BLOCKS) // 0x8A36
> - CASE(GL_UNIFORM_TYPE) // 0x8A37
> - CASE(GL_UNIFORM_SIZE) // 0x8A38
> - CASE(GL_UNIFORM_NAME_LENGTH) // 0x8A39
> - CASE(GL_UNIFORM_BLOCK_INDEX) // 0x8A3A
> - CASE(GL_UNIFORM_OFFSET) // 0x8A3B
> - CASE(GL_UNIFORM_ARRAY_STRIDE) // 0x8A3C
> - CASE(GL_UNIFORM_MATRIX_STRIDE) // 0x8A3D
> - CASE(GL_UNIFORM_IS_ROW_MAJOR) // 0x8A3E
> - CASE(GL_UNIFORM_BLOCK_BINDING) // 0x8A3F
> - CASE(GL_UNIFORM_BLOCK_DATA_SIZE) // 0x8A40
> - CASE(GL_UNIFORM_BLOCK_NAME_LENGTH) // 0x8A41
> - CASE(GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS) // 0x8A42
> - CASE(GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES) // 0x8A43
> - CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER) // 0x8A44
> - CASE(GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER) // 0x8A46
> - CASE(GL_MAX_VERTEX_OUTPUT_COMPONENTS) // 0x9122
> - CASE(GL_MAX_FRAGMENT_INPUT_COMPONENTS) // 0x9125
> - CASE(GL_MAX_SERVER_WAIT_TIMEOUT) // 0x9111
> - CASE(GL_OBJECT_TYPE) // 0x9112
> - CASE(GL_SYNC_CONDITION) // 0x9113
> - CASE(GL_SYNC_STATUS) // 0x9114
> - CASE(GL_SYNC_FLAGS) // 0x9115
> - CASE(GL_SYNC_FENCE) // 0x9116
> - CASE(GL_SYNC_GPU_COMMANDS_COMPLETE) // 0x9117
> - CASE(GL_UNSIGNALED) // 0x9118
> - CASE(GL_SIGNALED) // 0x9119
> - CASE(GL_ALREADY_SIGNALED) // 0x911A
> - CASE(GL_TIMEOUT_EXPIRED) // 0x911B
> - CASE(GL_CONDITION_SATISFIED) // 0x911C
> - CASE(GL_WAIT_FAILED) // 0x911D
> - CASE(GL_VERTEX_ATTRIB_ARRAY_DIVISOR) // 0x88FE
> - CASE(GL_ANY_SAMPLES_PASSED) // 0x8C2F
> - CASE(GL_ANY_SAMPLES_PASSED_CONSERVATIVE) // 0x8D6A
> - CASE(GL_SAMPLER_BINDING) // 0x8919
> - CASE(GL_RGB10_A2UI) // 0x906F
> - CASE(GL_TEXTURE_SWIZZLE_R) // 0x8E42
> - CASE(GL_TEXTURE_SWIZZLE_G) // 0x8E43
> - CASE(GL_TEXTURE_SWIZZLE_B) // 0x8E44
> - CASE(GL_TEXTURE_SWIZZLE_A) // 0x8E45
> - CASE(GL_GREEN) // 0x1904
> - CASE(GL_BLUE) // 0x1905
> - CASE(GL_INT_2_10_10_10_REV) // 0x8D9F
> - CASE(GL_TRANSFORM_FEEDBACK) // 0x8E22
> - CASE(GL_TRANSFORM_FEEDBACK_PAUSED) // 0x8E23
> - CASE(GL_TRANSFORM_FEEDBACK_ACTIVE) // 0x8E24
> - CASE(GL_TRANSFORM_FEEDBACK_BINDING) // 0x8E25
> - CASE(GL_PROGRAM_BINARY_RETRIEVABLE_HINT) // 0x8257
> - CASE(GL_PROGRAM_BINARY_LENGTH) // 0x8741
> - CASE(GL_NUM_PROGRAM_BINARY_FORMATS) // 0x87FE
> - CASE(GL_PROGRAM_BINARY_FORMATS) // 0x87FF
> - CASE(GL_COMPRESSED_R11_EAC) // 0x9270
> - CASE(GL_COMPRESSED_SIGNED_R11_EAC) // 0x9271
> - CASE(GL_COMPRESSED_RG11_EAC) // 0x9272
> - CASE(GL_COMPRESSED_SIGNED_RG11_EAC) // 0x9273
> - CASE(GL_COMPRESSED_RGB8_ETC2) // 0x9274
> - CASE(GL_COMPRESSED_SRGB8_ETC2) // 0x9275
> - CASE(GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2) // 0x9276
> - CASE(GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2) // 0x9277
> - CASE(GL_COMPRESSED_RGBA8_ETC2_EAC) // 0x9278
> - CASE(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC) // 0x9279
> - CASE(GL_TEXTURE_IMMUTABLE_FORMAT) // 0x912F
> - CASE(GL_MAX_ELEMENT_INDEX) // 0x8D6B
> - CASE(GL_NUM_SAMPLE_COUNTS) // 0x9380
> - CASE(GL_TEXTURE_IMMUTABLE_LEVELS) // 0x8D63
> -
> - default:
> - return "(unrecognized enum)";
> - }
> -
> -#undef CASE
> -}
> -
> -const char *
> -piglit_get_prim_name(GLenum prim)
> -{
> - switch (prim) {
> - case GL_POINTS:
> - return "GL_POINTS";
> - case GL_LINES:
> - return "GL_LINES";
> - case GL_LINE_STRIP:
> - return "GL_LINE_STRIP";
> - case GL_LINE_LOOP:
> - return "GL_LINE_LOOP";
> - case GL_TRIANGLES:
> - return "GL_TRIANGLES";
> - case GL_TRIANGLE_STRIP:
> - return "GL_TRIANGLE_STRIP";
> - case GL_TRIANGLE_FAN:
> - return "GL_TRIANGLE_FAN";
> - default:
> - return "(unrecognized enum)";
> - }
> -}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140613/422daae5/attachment-0001.sig>
More information about the Piglit
mailing list