972 lines
32 KiB
Python
972 lines
32 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
#-------------------------------------------------------------------------
|
|
# drawElements Quality Program utilities
|
|
# --------------------------------------
|
|
#
|
|
# Copyright 2015 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
#-------------------------------------------------------------------------
|
|
|
|
import os
|
|
import string
|
|
|
|
# TODO remove
|
|
import sys
|
|
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
|
|
|
from src_util import *
|
|
from khr_util.gen_str_util import addValuePrefix, genStrUtilProtos, genStrUtilImpls
|
|
|
|
# Bitfield mapping
|
|
BITFIELD_GROUPS = [
|
|
# ClearBufferMask
|
|
("BufferMask", ["DEPTH_BUFFER_BIT", "STENCIL_BUFFER_BIT", "COLOR_BUFFER_BIT"]),
|
|
# MapBufferUsageMask
|
|
("BufferMapFlags", [
|
|
"MAP_READ_BIT",
|
|
"MAP_WRITE_BIT",
|
|
"MAP_INVALIDATE_RANGE_BIT",
|
|
"MAP_INVALIDATE_BUFFER_BIT",
|
|
"MAP_FLUSH_EXPLICIT_BIT",
|
|
"MAP_UNSYNCHRONIZED_BIT"
|
|
]),
|
|
# MemoryBarrierMask
|
|
("MemoryBarrierFlags", [
|
|
"VERTEX_ATTRIB_ARRAY_BARRIER_BIT",
|
|
"ELEMENT_ARRAY_BARRIER_BIT",
|
|
"UNIFORM_BARRIER_BIT",
|
|
"TEXTURE_FETCH_BARRIER_BIT",
|
|
"SHADER_IMAGE_ACCESS_BARRIER_BIT",
|
|
"COMMAND_BARRIER_BIT",
|
|
"PIXEL_BUFFER_BARRIER_BIT",
|
|
"TEXTURE_UPDATE_BARRIER_BIT",
|
|
"BUFFER_UPDATE_BARRIER_BIT",
|
|
"FRAMEBUFFER_BARRIER_BIT",
|
|
"TRANSFORM_FEEDBACK_BARRIER_BIT",
|
|
"ATOMIC_COUNTER_BARRIER_BIT"
|
|
]),
|
|
# ShaderTypeMask
|
|
("ShaderTypeMask", [
|
|
"VERTEX_SHADER_BIT",
|
|
"FRAGMENT_SHADER_BIT",
|
|
"COMPUTE_SHADER_BIT",
|
|
"GEOMETRY_SHADER_BIT",
|
|
"TESS_CONTROL_SHADER_BIT",
|
|
"TESS_EVALUATION_SHADER_BIT"
|
|
]),
|
|
]
|
|
|
|
# Enum mapping
|
|
ENUM_GROUPS = [
|
|
# Common enums
|
|
|
|
# ErrorCode
|
|
("Error", ["NO_ERROR", "INVALID_ENUM", "INVALID_VALUE", "INVALID_OPERATION", "OUT_OF_MEMORY",
|
|
"INVALID_FRAMEBUFFER_OPERATION", "CONTEXT_LOST"]),
|
|
# PixelType, partially
|
|
("Type", [
|
|
# GLES2 types
|
|
"BYTE",
|
|
"UNSIGNED_BYTE",
|
|
"SHORT",
|
|
"UNSIGNED_SHORT",
|
|
"INT",
|
|
"UNSIGNED_INT",
|
|
"FLOAT",
|
|
"FIXED",
|
|
"UNSIGNED_SHORT_5_6_5",
|
|
"UNSIGNED_SHORT_4_4_4_4",
|
|
"UNSIGNED_SHORT_5_5_5_1",
|
|
|
|
# GLES3 types
|
|
"HALF_FLOAT",
|
|
"INT_2_10_10_10_REV",
|
|
"UNSIGNED_INT_2_10_10_10_REV",
|
|
"UNSIGNED_INT_10F_11F_11F_REV",
|
|
"UNSIGNED_INT_5_9_9_9_REV",
|
|
"UNSIGNED_INT_24_8",
|
|
"FLOAT_32_UNSIGNED_INT_24_8_REV",
|
|
"SIGNED_NORMALIZED",
|
|
"UNSIGNED_NORMALIZED",
|
|
|
|
# Extension types
|
|
"HALF_FLOAT_OES",
|
|
]),
|
|
|
|
# GetPName, also GettableState below
|
|
("ParamQuery", [
|
|
# Generic
|
|
"LINE_WIDTH",
|
|
"ALIASED_POINT_SIZE_RANGE",
|
|
"ALIASED_LINE_WIDTH_RANGE",
|
|
"CULL_FACE_MODE",
|
|
"FRONT_FACE",
|
|
"DEPTH_RANGE",
|
|
"DEPTH_WRITEMASK",
|
|
"DEPTH_CLEAR_VALUE",
|
|
"DEPTH_FUNC",
|
|
"STENCIL_CLEAR_VALUE",
|
|
"STENCIL_FUNC",
|
|
"STENCIL_FAIL",
|
|
"STENCIL_PASS_DEPTH_FAIL",
|
|
"STENCIL_PASS_DEPTH_PASS",
|
|
"STENCIL_REF",
|
|
"STENCIL_VALUE_MASK",
|
|
"STENCIL_WRITEMASK",
|
|
"STENCIL_BACK_FUNC",
|
|
"STENCIL_BACK_FAIL",
|
|
"STENCIL_BACK_PASS_DEPTH_FAIL",
|
|
"STENCIL_BACK_PASS_DEPTH_PASS",
|
|
"STENCIL_BACK_REF",
|
|
"STENCIL_BACK_VALUE_MASK",
|
|
"STENCIL_BACK_WRITEMASK",
|
|
"VIEWPORT",
|
|
"SCISSOR_BOX",
|
|
"SCISSOR_TEST",
|
|
"COLOR_CLEAR_VALUE",
|
|
"COLOR_WRITEMASK",
|
|
"UNPACK_ALIGNMENT",
|
|
"PACK_ALIGNMENT",
|
|
"MAX_TEXTURE_SIZE",
|
|
"MAX_VIEWPORT_DIMS",
|
|
"SUBPIXEL_BITS",
|
|
"RED_BITS",
|
|
"GREEN_BITS",
|
|
"BLUE_BITS",
|
|
"ALPHA_BITS",
|
|
"DEPTH_BITS",
|
|
"STENCIL_BITS",
|
|
"POLYGON_OFFSET_UNITS",
|
|
"POLYGON_OFFSET_FILL",
|
|
"POLYGON_OFFSET_FACTOR",
|
|
"TEXTURE_BINDING_2D",
|
|
"SAMPLE_BUFFERS",
|
|
"SAMPLES",
|
|
"SAMPLE_COVERAGE_VALUE",
|
|
"SAMPLE_COVERAGE_INVERT",
|
|
|
|
"MAX_CUBE_MAP_TEXTURE_SIZE",
|
|
"MAX_RENDERBUFFER_SIZE",
|
|
|
|
# Program-related
|
|
"MAX_VERTEX_ATTRIBS",
|
|
"MAX_VERTEX_UNIFORM_VECTORS",
|
|
"MAX_VARYING_VECTORS",
|
|
"MAX_COMBINED_TEXTURE_IMAGE_UNITS",
|
|
"MAX_VERTEX_TEXTURE_IMAGE_UNITS",
|
|
"MAX_TEXTURE_IMAGE_UNITS",
|
|
"MAX_FRAGMENT_UNIFORM_VECTORS"
|
|
]),
|
|
|
|
# *missing*
|
|
# Program query
|
|
("ProgramParam", [
|
|
"ACTIVE_ATTRIBUTES",
|
|
"ACTIVE_ATTRIBUTE_MAX_LENGTH",
|
|
"ACTIVE_UNIFORMS",
|
|
"ACTIVE_UNIFORM_BLOCKS",
|
|
"ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH",
|
|
"ACTIVE_UNIFORM_MAX_LENGTH",
|
|
"ATTACHED_SHADERS",
|
|
"DELETE_STATUS",
|
|
"INFO_LOG_LENGTH",
|
|
"LINK_STATUS",
|
|
"PROGRAM_BINARY_RETRIEVABLE_HINT",
|
|
"TRANSFORM_FEEDBACK_BUFFER_MODE",
|
|
"TRANSFORM_FEEDBACK_VARYINGS",
|
|
"TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH",
|
|
"VALIDATE_STATUS",
|
|
"GEOMETRY_INPUT_TYPE",
|
|
"GEOMETRY_OUTPUT_TYPE",
|
|
"GEOMETRY_VERTICES_OUT",
|
|
"GEOMETRY_SHADER_INVOCATIONS",
|
|
"PROGRAM_SEPARABLE",
|
|
"COMPUTE_WORK_GROUP_SIZE",
|
|
"ACTIVE_ATOMIC_COUNTER_BUFFERS",
|
|
"TESS_CONTROL_OUTPUT_VERTICES",
|
|
"TESS_GEN_MODE",
|
|
"TESS_GEN_SPACING",
|
|
"TESS_GEN_VERTEX_ORDER",
|
|
"TESS_GEN_POINT_MODE",
|
|
]),
|
|
|
|
# *missing*
|
|
# Uniform query
|
|
("UniformParam", [
|
|
"UNIFORM_TYPE",
|
|
"UNIFORM_SIZE",
|
|
"UNIFORM_NAME_LENGTH",
|
|
"UNIFORM_BLOCK_INDEX",
|
|
"UNIFORM_OFFSET",
|
|
"UNIFORM_ARRAY_STRIDE",
|
|
"UNIFORM_MATRIX_STRIDE",
|
|
"UNIFORM_IS_ROW_MAJOR"
|
|
]),
|
|
|
|
# *missing*
|
|
# Framebuffers
|
|
("FramebufferAttachment", ["COLOR_ATTACHMENT0", "COLOR_ATTACHMENT1", "COLOR_ATTACHMENT2", "COLOR_ATTACHMENT3",
|
|
"COLOR_ATTACHMENT4", "COLOR_ATTACHMENT5", "COLOR_ATTACHMENT6", "COLOR_ATTACHMENT7",
|
|
"COLOR_ATTACHMENT8", "COLOR_ATTACHMENT9", "COLOR_ATTACHMENT10", "COLOR_ATTACHMENT11",
|
|
"COLOR_ATTACHMENT12", "COLOR_ATTACHMENT13", "COLOR_ATTACHMENT14", "COLOR_ATTACHMENT15",
|
|
"DEPTH_ATTACHMENT", "STENCIL_ATTACHMENT", "DEPTH_STENCIL_ATTACHMENT",
|
|
"BACK", "FRONT_LEFT", "FRONT_RIGHT", "BACK_LEFT", "BACK_RIGHT",
|
|
"DEPTH", "STENCIL"]),
|
|
# *missing*
|
|
("FramebufferAttachmentParameter", ["FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",
|
|
"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",
|
|
"FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER", "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",
|
|
"FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING", "FRAMEBUFFER_ATTACHMENT_RED_SIZE",
|
|
"FRAMEBUFFER_ATTACHMENT_GREEN_SIZE", "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",
|
|
"FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE", "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",
|
|
"FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE", "FRAMEBUFFER_ATTACHMENT_LAYERED"]),
|
|
("FramebufferTarget", ["FRAMEBUFFER", "RENDERBUFFER", "DRAW_FRAMEBUFFER", "READ_FRAMEBUFFER"]),
|
|
("FramebufferStatus", ["FRAMEBUFFER_COMPLETE", "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",
|
|
"FRAMEBUFFER_INCOMPLETE_DIMENSIONS", "FRAMEBUFFER_UNSUPPORTED", "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",
|
|
"FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"]),
|
|
("FramebufferAttachmentType", ["NONE", "FRAMEBUFFER_DEFAULT", "TEXTURE", "RENDERBUFFER"]),
|
|
("FramebufferColorEncoding", ["LINEAR", "SRGB"]),
|
|
|
|
("FramebufferParameter", [
|
|
"FRAMEBUFFER_DEFAULT_WIDTH",
|
|
"FRAMEBUFFER_DEFAULT_HEIGHT",
|
|
"FRAMEBUFFER_DEFAULT_SAMPLES",
|
|
"FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS",
|
|
"FRAMEBUFFER_DEFAULT_LAYERS",
|
|
]),
|
|
|
|
# Renderbuffers
|
|
("RenderbufferParameter", ["RENDERBUFFER_WIDTH", "RENDERBUFFER_HEIGHT", "RENDERBUFFER_INTERNAL_FORMAT", "RENDERBUFFER_RED_SIZE",
|
|
"RENDERBUFFER_GREEN_SIZE", "RENDERBUFFER_BLUE_SIZE", "RENDERBUFFER_ALPHA_SIZE", "RENDERBUFFER_DEPTH_SIZE",
|
|
"RENDERBUFFER_STENCIL_SIZE", "RENDERBUFFER_SAMPLES"]),
|
|
|
|
# Primitives
|
|
("PrimitiveType", ["POINTS", "LINES", "LINE_STRIP", "LINE_LOOP", "TRIANGLES", "TRIANGLE_STRIP", "TRIANGLE_FAN", "LINES_ADJACENCY", "LINE_STRIP_ADJACENCY", "TRIANGLES_ADJACENCY", "TRIANGLE_STRIP_ADJACENCY"]),
|
|
|
|
# Blending
|
|
("BlendFactor", ["ZERO", "ONE", "SRC_ALPHA_SATURATE",
|
|
"SRC_COLOR", "ONE_MINUS_SRC_COLOR", "SRC_ALPHA", "ONE_MINUS_SRC_ALPHA",
|
|
"SRC1_COLOR", "ONE_MINUS_SRC1_COLOR", "SRC1_ALPHA", "ONE_MINUS_SRC1_ALPHA",
|
|
"DST_COLOR", "ONE_MINUS_DST_COLOR", "DST_ALPHA", "ONE_MINUS_DST_ALPHA",
|
|
"CONSTANT_COLOR", "ONE_MINUS_CONSTANT_COLOR", "CONSTANT_ALPHA", "ONE_MINUS_CONSTANT_ALPHA"]),
|
|
("BlendEquation", [
|
|
"FUNC_ADD",
|
|
"FUNC_SUBTRACT",
|
|
"FUNC_REVERSE_SUBTRACT",
|
|
"MIN",
|
|
"MAX",
|
|
"MULTIPLY_KHR",
|
|
"SCREEN_KHR",
|
|
"OVERLAY_KHR",
|
|
"DARKEN_KHR",
|
|
"LIGHTEN_KHR",
|
|
"COLORDODGE_KHR",
|
|
"COLORBURN_KHR",
|
|
"HARDLIGHT_KHR",
|
|
"SOFTLIGHT_KHR",
|
|
"DIFFERENCE_KHR",
|
|
"EXCLUSION_KHR",
|
|
"HSL_HUE_KHR",
|
|
"HSL_SATURATION_KHR",
|
|
"HSL_COLOR_KHR",
|
|
"HSL_LUMINOSITY_KHR",
|
|
]),
|
|
|
|
# Buffer Objects
|
|
("BufferTarget", [
|
|
"ARRAY_BUFFER",
|
|
"ELEMENT_ARRAY_BUFFER",
|
|
"COPY_READ_BUFFER",
|
|
"COPY_WRITE_BUFFER",
|
|
"PIXEL_PACK_BUFFER",
|
|
"PIXEL_UNPACK_BUFFER",
|
|
"TRANSFORM_FEEDBACK_BUFFER",
|
|
"UNIFORM_BUFFER",
|
|
"DRAW_INDIRECT_BUFFER",
|
|
"SHADER_STORAGE_BUFFER",
|
|
"TEXTURE_BUFFER",
|
|
"DISPATCH_INDIRECT_BUFFER",
|
|
"ATOMIC_COUNTER_BUFFER",
|
|
]),
|
|
("BufferBinding", ["ARRAY_BUFFER_BINDING", "ELEMENT_ARRAY_BUFFER_BINDING"]),
|
|
("Usage", [
|
|
"STREAM_DRAW",
|
|
"STREAM_READ",
|
|
"STREAM_COPY",
|
|
"STATIC_DRAW",
|
|
"STATIC_READ",
|
|
"STATIC_COPY",
|
|
"DYNAMIC_DRAW",
|
|
"DYNAMIC_READ",
|
|
"DYNAMIC_COPY"]),
|
|
("BufferQuery", ["BUFFER_SIZE", "BUFFER_USAGE", "BUFFER_ACCESS_FLAGS", "BUFFER_MAPPED", "BUFFER_MAP_OFFSET", "BUFFER_MAP_LENGTH"]),
|
|
|
|
# Culling
|
|
("Face", ["FRONT", "BACK", "FRONT_AND_BACK"]),
|
|
|
|
# Comparison function
|
|
("CompareFunc", ["NEVER", "LESS", "LEQUAL", "GREATER", "EQUAL", "NOTEQUAL", "GEQUAL", "ALWAYS"]),
|
|
|
|
# Enable-disable bit
|
|
("EnableCap", ["TEXTURE_2D", "CULL_FACE", "BLEND", "DITHER", "STENCIL_TEST", "DEPTH_TEST", "SCISSOR_TEST",
|
|
"POLYGON_OFFSET_FILL", "SAMPLE_ALPHA_TO_COVERAGE", "SAMPLE_COVERAGE",
|
|
"PRIMITIVE_RESTART_FIXED_INDEX", "RASTERIZER_DISCARD",
|
|
"FRAMEBUFFER_SRGB", "SAMPLE_SHADING", "DEPTH_CLAMP",
|
|
"PRIMITIVE_RESTART", "SAMPLE_MASK", "DEBUG_OUTPUT", "DEBUG_OUTPUT_SYNCHRONOUS",
|
|
"BLEND_ADVANCED_COHERENT_KHR"]),
|
|
|
|
# Indexed enable-disable bit
|
|
("IndexedEnableCap", ["BLEND"]),
|
|
|
|
# Polygon winding
|
|
("Winding", ["CW", "CCW"]),
|
|
|
|
# Hints
|
|
("HintMode", ["DONT_CARE", "FASTEST", "NICEST"]),
|
|
("Hint", ["GENERATE_MIPMAP_HINT"]),
|
|
|
|
# Stencil ops
|
|
("StencilOp", ["ZERO", "KEEP", "REPLACE", "INCR", "DECR", "INVERT", "INCR_WRAP", "DECR_WRAP"]),
|
|
|
|
# Shader type
|
|
("ShaderType", [
|
|
"VERTEX_SHADER",
|
|
"FRAGMENT_SHADER",
|
|
"COMPUTE_SHADER",
|
|
"TESS_CONTROL_SHADER",
|
|
"TESS_EVALUATION_SHADER",
|
|
"GEOMETRY_SHADER",
|
|
]),
|
|
|
|
# Buffers
|
|
("Buffer", ["COLOR", "DEPTH", "STENCIL", "DEPTH_STENCIL"]),
|
|
|
|
# Invalidate buffer target
|
|
("InvalidateAttachment",["COLOR", "DEPTH", "STENCIL",
|
|
"COLOR_ATTACHMENT0",
|
|
"COLOR_ATTACHMENT1",
|
|
"COLOR_ATTACHMENT2",
|
|
"COLOR_ATTACHMENT3",
|
|
"COLOR_ATTACHMENT4",
|
|
"COLOR_ATTACHMENT5",
|
|
"COLOR_ATTACHMENT6",
|
|
"COLOR_ATTACHMENT7",
|
|
"DEPTH_ATTACHMENT",
|
|
"STENCIL_ATTACHMENT",
|
|
"DEPTH_STENCIL_ATTACHMENT"]),
|
|
|
|
# Draw/ReadBuffer attachment
|
|
("DrawReadBuffer", ["COLOR", "DEPTH", "STENCIL", "BACK", "NONE",
|
|
"COLOR_ATTACHMENT0",
|
|
"COLOR_ATTACHMENT1",
|
|
"COLOR_ATTACHMENT2",
|
|
"COLOR_ATTACHMENT3",
|
|
"COLOR_ATTACHMENT4",
|
|
"COLOR_ATTACHMENT5",
|
|
"COLOR_ATTACHMENT6",
|
|
"COLOR_ATTACHMENT7",
|
|
"DEPTH_ATTACHMENT",
|
|
"STENCIL_ATTACHMENT",
|
|
"DEPTH_STENCIL_ATTACHMENT"]),
|
|
|
|
# Textures
|
|
("TextureTarget", ["TEXTURE_1D",
|
|
"TEXTURE_2D", "TEXTURE_CUBE_MAP",
|
|
"TEXTURE_CUBE_MAP_POSITIVE_X", "TEXTURE_CUBE_MAP_NEGATIVE_X",
|
|
"TEXTURE_CUBE_MAP_POSITIVE_Y", "TEXTURE_CUBE_MAP_NEGATIVE_Y",
|
|
"TEXTURE_CUBE_MAP_POSITIVE_Z", "TEXTURE_CUBE_MAP_NEGATIVE_Z",
|
|
"TEXTURE_3D", "TEXTURE_2D_ARRAY", "TEXTURE_2D_MULTISAMPLE",
|
|
"TEXTURE_2D_MULTISAMPLE_ARRAY",
|
|
"TEXTURE_BUFFER",
|
|
"TEXTURE_CUBE_MAP_ARRAY"]),
|
|
("TextureParameter", [
|
|
"TEXTURE_WRAP_S",
|
|
"TEXTURE_WRAP_T",
|
|
"TEXTURE_WRAP_R",
|
|
"TEXTURE_BASE_LEVEL",
|
|
"TEXTURE_MAX_LEVEL",
|
|
"TEXTURE_COMPARE_MODE",
|
|
"TEXTURE_COMPARE_FUNC",
|
|
"TEXTURE_MAX_LOD",
|
|
"TEXTURE_MIN_LOD",
|
|
"TEXTURE_SWIZZLE_R",
|
|
"TEXTURE_SWIZZLE_G",
|
|
"TEXTURE_SWIZZLE_B",
|
|
"TEXTURE_SWIZZLE_A",
|
|
"TEXTURE_MIN_FILTER",
|
|
"TEXTURE_MAG_FILTER",
|
|
"DEPTH_STENCIL_TEXTURE_MODE",
|
|
"TEXTURE_SRGB_DECODE_EXT",
|
|
"TEXTURE_BORDER_COLOR",
|
|
|
|
# Gettable only
|
|
"TEXTURE_IMMUTABLE_LEVELS",
|
|
"TEXTURE_IMMUTABLE_FORMAT",
|
|
]),
|
|
("TextureLevelParameter", [
|
|
"TEXTURE_SAMPLES",
|
|
"TEXTURE_FIXED_SAMPLE_LOCATIONS",
|
|
"TEXTURE_WIDTH",
|
|
"TEXTURE_HEIGHT",
|
|
"TEXTURE_DEPTH",
|
|
"TEXTURE_INTERNAL_FORMAT",
|
|
"TEXTURE_RED_SIZE",
|
|
"TEXTURE_GREEN_SIZE",
|
|
"TEXTURE_BLUE_SIZE",
|
|
"TEXTURE_ALPHA_SIZE",
|
|
"TEXTURE_DEPTH_SIZE",
|
|
"TEXTURE_STENCIL_SIZE",
|
|
"TEXTURE_SHARED_SIZE",
|
|
"TEXTURE_RED_TYPE",
|
|
"TEXTURE_GREEN_TYPE",
|
|
"TEXTURE_BLUE_TYPE",
|
|
"TEXTURE_ALPHA_TYPE",
|
|
"TEXTURE_DEPTH_TYPE",
|
|
"TEXTURE_COMPRESSED",
|
|
"TEXTURE_BUFFER_DATA_STORE_BINDING",
|
|
"TEXTURE_BUFFER_OFFSET",
|
|
"TEXTURE_BUFFER_SIZE",
|
|
]),
|
|
("RepeatMode", ["REPEAT", "CLAMP_TO_EDGE", "MIRRORED_REPEAT", "CLAMP_TO_BORDER"]),
|
|
("TextureFilter", ["NEAREST", "LINEAR", "NEAREST_MIPMAP_NEAREST", "LINEAR_MIPMAP_NEAREST",
|
|
"NEAREST_MIPMAP_LINEAR", "LINEAR_MIPMAP_LINEAR"]),
|
|
("TextureWrapMode", ["REPEAT", "CLAMP_TO_EDGE", "MIRRORED_REPEAT"]),
|
|
("TextureSwizzle", ["RED", "GREEN", "BLUE", "ALPHA", "ZERO", "ONE"]),
|
|
("TextureCompareMode", ["NONE", "COMPARE_REF_TO_TEXTURE"]),
|
|
("CubeMapFace", ["TEXTURE_CUBE_MAP_POSITIVE_X", "TEXTURE_CUBE_MAP_NEGATIVE_X",
|
|
"TEXTURE_CUBE_MAP_POSITIVE_Y", "TEXTURE_CUBE_MAP_NEGATIVE_Y",
|
|
"TEXTURE_CUBE_MAP_POSITIVE_Z", "TEXTURE_CUBE_MAP_NEGATIVE_Z"]),
|
|
("TextureDepthStencilMode", ["DEPTH_COMPONENT", "STENCIL_INDEX"]),
|
|
("PixelStoreParameter", [
|
|
"UNPACK_ALIGNMENT",
|
|
"UNPACK_IMAGE_HEIGHT",
|
|
"UNPACK_ROW_LENGTH",
|
|
"UNPACK_SKIP_IMAGES",
|
|
"UNPACK_SKIP_ROWS",
|
|
"UNPACK_SKIP_PIXELS",
|
|
"PACK_ROW_LENGTH",
|
|
"PACK_SKIP_ROWS",
|
|
"PACK_SKIP_PIXELS"]),
|
|
("UncompressedTextureFormat", [
|
|
# GLES2 unsized formats
|
|
"LUMINANCE",
|
|
"LUMINANCE_ALPHA",
|
|
"ALPHA",
|
|
"RGB",
|
|
"RGBA",
|
|
|
|
# GLES2 sized formats
|
|
"RGBA4",
|
|
"RGB5_A1",
|
|
"RGB565",
|
|
"DEPTH_COMPONENT16",
|
|
"STENCIL_INDEX8",
|
|
|
|
# GLES3 unsized formats
|
|
"RG",
|
|
"RED",
|
|
"RGBA_INTEGER",
|
|
"RGB_INTEGER",
|
|
"RG_INTEGER",
|
|
"RED_INTEGER",
|
|
"DEPTH_COMPONENT",
|
|
"DEPTH_STENCIL",
|
|
|
|
# GLES3 sized formats
|
|
"RGBA32F",
|
|
"RGBA32I",
|
|
"RGBA32UI",
|
|
"RGBA16",
|
|
"RGBA16_SNORM",
|
|
"RGBA16F",
|
|
"RGBA16I",
|
|
"RGBA16UI",
|
|
"RGBA8",
|
|
"RGBA8I",
|
|
"RGBA8UI",
|
|
"SRGB8_ALPHA8",
|
|
"RGB10_A2",
|
|
"RGB10_A2UI",
|
|
"RGBA8_SNORM",
|
|
"RGB8",
|
|
"R11F_G11F_B10F",
|
|
"RGB32F",
|
|
"RGB32I",
|
|
"RGB32UI",
|
|
"RGB16",
|
|
"RGB16_SNORM",
|
|
"RGB16F",
|
|
"RGB16I",
|
|
"RGB16UI",
|
|
"RGB8_SNORM",
|
|
"RGB8I",
|
|
"RGB8UI",
|
|
"SRGB8",
|
|
"RGB9_E5",
|
|
"RG32F",
|
|
"RG32I",
|
|
"RG32UI",
|
|
"RG16",
|
|
"RG16_SNORM",
|
|
"RG16F",
|
|
"RG16I",
|
|
"RG16UI",
|
|
"RG8",
|
|
"RG8I",
|
|
"RG8UI",
|
|
"RG8_SNORM",
|
|
"R32F",
|
|
"R32I",
|
|
"R32UI",
|
|
"R16",
|
|
"R16_SNORM",
|
|
"R16F",
|
|
"R16I",
|
|
"R16UI",
|
|
"R8",
|
|
"R8I",
|
|
"R8UI",
|
|
"R8_SNORM",
|
|
"DEPTH_COMPONENT32F",
|
|
"DEPTH_COMPONENT24",
|
|
"DEPTH32F_STENCIL8",
|
|
"DEPTH24_STENCIL8",
|
|
|
|
# OES_required_internalformat
|
|
"RGB10",
|
|
|
|
# OES_depth32
|
|
"DEPTH_COMPONENT32",
|
|
|
|
# EXT_sRGB
|
|
"SRGB",
|
|
"SRGB_ALPHA",
|
|
|
|
# GL_EXT_texture_sRGB_R8 & RG8
|
|
"SR8_EXT",
|
|
"SRG8_EXT",
|
|
|
|
# GL_EXT_read_format_bgra
|
|
"BGRA",
|
|
]),
|
|
|
|
("CompressedTextureFormat", [
|
|
# ETC2/EAC formats
|
|
"COMPRESSED_R11_EAC",
|
|
"COMPRESSED_SIGNED_R11_EAC",
|
|
"COMPRESSED_RG11_EAC",
|
|
"COMPRESSED_SIGNED_RG11_EAC",
|
|
"COMPRESSED_RGB8_ETC2",
|
|
"COMPRESSED_SRGB8_ETC2",
|
|
"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",
|
|
"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",
|
|
"COMPRESSED_RGBA8_ETC2_EAC",
|
|
"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",
|
|
|
|
# ASTC formats
|
|
"COMPRESSED_RGBA_ASTC_4x4_KHR",
|
|
"COMPRESSED_RGBA_ASTC_5x4_KHR",
|
|
"COMPRESSED_RGBA_ASTC_5x5_KHR",
|
|
"COMPRESSED_RGBA_ASTC_6x5_KHR",
|
|
"COMPRESSED_RGBA_ASTC_6x6_KHR",
|
|
"COMPRESSED_RGBA_ASTC_8x5_KHR",
|
|
"COMPRESSED_RGBA_ASTC_8x6_KHR",
|
|
"COMPRESSED_RGBA_ASTC_8x8_KHR",
|
|
"COMPRESSED_RGBA_ASTC_10x5_KHR",
|
|
"COMPRESSED_RGBA_ASTC_10x6_KHR",
|
|
"COMPRESSED_RGBA_ASTC_10x8_KHR",
|
|
"COMPRESSED_RGBA_ASTC_10x10_KHR",
|
|
"COMPRESSED_RGBA_ASTC_12x10_KHR",
|
|
"COMPRESSED_RGBA_ASTC_12x12_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",
|
|
"COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",
|
|
|
|
# EXT_texture_compression_s3tc
|
|
"COMPRESSED_RGB_S3TC_DXT1_EXT",
|
|
"COMPRESSED_RGBA_S3TC_DXT1_EXT",
|
|
"COMPRESSED_RGBA_S3TC_DXT3_EXT",
|
|
"COMPRESSED_RGBA_S3TC_DXT5_EXT",
|
|
|
|
# IMG_texture_compression_pvrtc
|
|
"COMPRESSED_RGB_PVRTC_4BPPV1_IMG",
|
|
"COMPRESSED_RGB_PVRTC_2BPPV1_IMG",
|
|
"COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",
|
|
"COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",
|
|
]),
|
|
|
|
# Shader var type
|
|
("ShaderVarType", [
|
|
"FLOAT",
|
|
"FLOAT_VEC2",
|
|
"FLOAT_VEC3",
|
|
"FLOAT_VEC4",
|
|
"INT",
|
|
"INT_VEC2",
|
|
"INT_VEC3",
|
|
"INT_VEC4",
|
|
"UNSIGNED_INT",
|
|
"UNSIGNED_INT_VEC2",
|
|
"UNSIGNED_INT_VEC3",
|
|
"UNSIGNED_INT_VEC4",
|
|
"BOOL",
|
|
"BOOL_VEC2",
|
|
"BOOL_VEC3",
|
|
"BOOL_VEC4",
|
|
"FLOAT_MAT2",
|
|
"FLOAT_MAT3",
|
|
"FLOAT_MAT4",
|
|
"FLOAT_MAT2x3",
|
|
"FLOAT_MAT2x4",
|
|
"FLOAT_MAT3x2",
|
|
"FLOAT_MAT3x4",
|
|
"FLOAT_MAT4x2",
|
|
"FLOAT_MAT4x3",
|
|
"SAMPLER_2D",
|
|
"SAMPLER_3D",
|
|
"SAMPLER_CUBE",
|
|
"SAMPLER_2D_SHADOW",
|
|
"SAMPLER_2D_ARRAY",
|
|
"SAMPLER_2D_ARRAY_SHADOW",
|
|
"SAMPLER_CUBE_SHADOW",
|
|
"INT_SAMPLER_2D",
|
|
"INT_SAMPLER_3D",
|
|
"INT_SAMPLER_CUBE",
|
|
"INT_SAMPLER_2D_ARRAY",
|
|
"UNSIGNED_INT_SAMPLER_2D",
|
|
"UNSIGNED_INT_SAMPLER_3D",
|
|
"UNSIGNED_INT_SAMPLER_CUBE",
|
|
"UNSIGNED_INT_SAMPLER_2D_ARRAY",
|
|
"SAMPLER_2D_MULTISAMPLE",
|
|
"INT_SAMPLER_2D_MULTISAMPLE",
|
|
"UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE",
|
|
"IMAGE_2D",
|
|
"IMAGE_3D",
|
|
"IMAGE_CUBE",
|
|
"IMAGE_2D_ARRAY",
|
|
"INT_IMAGE_2D",
|
|
"INT_IMAGE_3D",
|
|
"INT_IMAGE_CUBE",
|
|
"INT_IMAGE_2D_ARRAY",
|
|
"UNSIGNED_INT_IMAGE_2D",
|
|
"UNSIGNED_INT_IMAGE_3D",
|
|
"UNSIGNED_INT_IMAGE_CUBE",
|
|
"UNSIGNED_INT_IMAGE_2D_ARRAY",
|
|
"UNSIGNED_INT_ATOMIC_COUNTER",
|
|
"SAMPLER_2D_MULTISAMPLE_ARRAY",
|
|
"INT_SAMPLER_2D_MULTISAMPLE_ARRAY",
|
|
"UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY",
|
|
"SAMPLER_BUFFER",
|
|
"INT_SAMPLER_BUFFER",
|
|
"UNSIGNED_INT_SAMPLER_BUFFER",
|
|
"IMAGE_BUFFER",
|
|
"INT_IMAGE_BUFFER",
|
|
"UNSIGNED_INT_IMAGE_BUFFER",
|
|
"SAMPLER_CUBE_MAP_ARRAY",
|
|
"SAMPLER_CUBE_MAP_ARRAY_SHADOW",
|
|
"INT_SAMPLER_CUBE_MAP_ARRAY",
|
|
"UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY",
|
|
"IMAGE_CUBE_MAP_ARRAY",
|
|
"INT_IMAGE_CUBE_MAP_ARRAY",
|
|
"UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY",
|
|
]),
|
|
|
|
# Shader params
|
|
("ShaderParam", [ "SHADER_TYPE", "DELETE_STATUS", "COMPILE_STATUS", "INFO_LOG_LENGTH", "SHADER_SOURCE_LENGTH"]),
|
|
|
|
# Vertex attribute queries
|
|
("VertexAttribParameterName", [
|
|
"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",
|
|
"VERTEX_ATTRIB_ARRAY_ENABLED",
|
|
"VERTEX_ATTRIB_ARRAY_SIZE",
|
|
"VERTEX_ATTRIB_ARRAY_STRIDE",
|
|
"VERTEX_ATTRIB_ARRAY_TYPE",
|
|
"VERTEX_ATTRIB_ARRAY_NORMALIZED",
|
|
"VERTEX_ATTRIB_ARRAY_INTEGER",
|
|
"VERTEX_ATTRIB_ARRAY_DIVISOR",
|
|
"CURRENT_VERTEX_ATTRIB",
|
|
"VERTEX_ATTRIB_BINDING",
|
|
"VERTEX_ATTRIB_RELATIVE_OFFSET",
|
|
]),
|
|
|
|
("Boolean", ["FALSE", "TRUE"]),
|
|
|
|
# GetPName
|
|
("GettableState", [
|
|
"ELEMENT_ARRAY_BUFFER_BINDING", "ARRAY_BUFFER_BINDING", "VERTEX_ARRAY_BINDING", "VIEWPORT", "DEPTH_RANGE",
|
|
"TRANSFORM_FEEDBACK_BINDING", "LINE_WIDTH", "CULL_FACE_MODE", "FRONT_FACE", "POLYGON_OFFSET_FACTOR",
|
|
"POLYGON_OFFSET_UNITS", "SAMPLE_COVERAGE_VALUE", "SAMPLE_COVERAGE_INVERT", "ACTIVE_TEXTURE", "TEXTURE_BINDING_1D",
|
|
"TEXTURE_BINDING_2D", "TEXTURE_BINDING_3D", "TEXTURE_BINDING_2D_ARRAY",
|
|
"TEXTURE_BINDING_CUBE_MAP", "SAMPLER_BINDING", "SCISSOR_BOX", "STENCIL_FUNC", "STENCIL_VALUE_MASK",
|
|
"STENCIL_REF", "STENCIL_FAIL", "STENCIL_PASS_DEPTH_FAIL", "STENCIL_PASS_DEPTH_PASS", "STENCIL_BACK_FUNC",
|
|
"STENCIL_BACK_VALUE_MASK", "STENCIL_BACK_REF", "STENCIL_BACK_FAIL", "STENCIL_BACK_PASS_DEPTH_FAIL", "STENCIL_BACK_PASS_DEPTH_PASS",
|
|
"DEPTH_FUNC", "BLEND_SRC_RGB", "BLEND_SRC_ALPHA", "BLEND_DST_RGB", "BLEND_DST_ALPHA",
|
|
"BLEND_EQUATION_RGB", "BLEND_EQUATION_ALPHA", "BLEND_COLOR", "COLOR_WRITEMASK", "DEPTH_WRITEMASK",
|
|
"STENCIL_WRITEMASK", "STENCIL_BACK_WRITEMASK", "COLOR_CLEAR_VALUE", "DEPTH_CLEAR_VALUE", "STENCIL_CLEAR_VALUE",
|
|
"DRAW_FRAMEBUFFER_BINDING", "READ_FRAMEBUFFER_BINDING", "RENDERBUFFER_BINDING", "DRAW_BUFFER0", "DRAW_BUFFER1",
|
|
"DRAW_BUFFER2", "DRAW_BUFFER3", "DRAW_BUFFER4", "DRAW_BUFFER5", "DRAW_BUFFER6",
|
|
"DRAW_BUFFER7", "DRAW_BUFFER8", "DRAW_BUFFER9", "DRAW_BUFFER10", "DRAW_BUFFER11",
|
|
"DRAW_BUFFER12", "DRAW_BUFFER13", "DRAW_BUFFER14", "DRAW_BUFFER15", "READ_BUFFER",
|
|
"UNPACK_IMAGE_HEIGHT", "UNPACK_SKIP_IMAGES", "UNPACK_ROW_LENGTH", "UNPACK_SKIP_ROWS", "UNPACK_SKIP_PIXELS",
|
|
"UNPACK_ALIGNMENT", "PACK_ROW_LENGTH", "PACK_SKIP_ROWS", "PACK_SKIP_PIXELS", "PACK_ALIGNMENT",
|
|
"PIXEL_PACK_BUFFER_BINDING", "PIXEL_UNPACK_BUFFER_BINDING", "CURRENT_PROGRAM", "TRANSFORM_FEEDBACK_BUFFER_BINDING", "TRANSFORM_FEEDBACK_PAUSED",
|
|
"TRANSFORM_FEEDBACK_ACTIVE", "UNIFORM_BUFFER_BINDING", "GENERATE_MIPMAP_HINT", "FRAGMENT_SHADER_DERIVATIVE_HINT", "MAX_ELEMENT_INDEX",
|
|
"SUBPIXEL_BITS", "MAX_3D_TEXTURE_SIZE", "MAX_TEXTURE_SIZE", "MAX_ARRAY_TEXTURE_LAYERS", "MAX_TEXTURE_LOD_BIAS",
|
|
"MAX_CUBE_MAP_TEXTURE_SIZE", "MAX_RENDERBUFFER_SIZE", "MAX_DRAW_BUFFERS", "MAX_COLOR_ATTACHMENTS", "MAX_VIEWPORT_DIMS",
|
|
"ALIASED_POINT_SIZE_RANGE", "ALIASED_LINE_WIDTH_RANGE", "MAX_ELEMENTS_INDICES", "MAX_ELEMENTS_VERTICES", "COMPRESSED_TEXTURE_FORMATS",
|
|
"NUM_COMPRESSED_TEXTURE_FORMATS", "PROGRAM_BINARY_FORMATS", "NUM_PROGRAM_BINARY_FORMATS", "SHADER_BINARY_FORMATS", "NUM_SHADER_BINARY_FORMATS",
|
|
"SHADER_COMPILER", "MAX_SERVER_WAIT_TIMEOUT", "NUM_EXTENSIONS", "MAJOR_VERSION", "MINOR_VERSION",
|
|
"MAX_VERTEX_ATTRIBS", "MAX_VERTEX_UNIFORM_COMPONENTS", "MAX_VERTEX_UNIFORM_VECTORS", "MAX_VERTEX_UNIFORM_BLOCKS", "MAX_VERTEX_OUTPUT_COMPONENTS",
|
|
"MAX_VERTEX_TEXTURE_IMAGE_UNITS", "MAX_FRAGMENT_UNIFORM_COMPONENTS", "MAX_FRAGMENT_UNIFORM_VECTORS", "MAX_FRAGMENT_UNIFORM_BLOCKS", "MAX_FRAGMENT_INPUT_COMPONENTS",
|
|
"MAX_TEXTURE_IMAGE_UNITS", "MIN_PROGRAM_TEXEL_OFFSET", "MAX_PROGRAM_TEXEL_OFFSET", "MAX_UNIFORM_BUFFER_BINDINGS", "MAX_UNIFORM_BLOCK_SIZE",
|
|
"UNIFORM_BUFFER_OFFSET_ALIGNMENT", "MAX_COMBINED_UNIFORM_BLOCKS", "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", "MAX_VARYING_COMPONENTS",
|
|
"MAX_VARYING_VECTORS", "MAX_COMBINED_TEXTURE_IMAGE_UNITS", "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",
|
|
"SAMPLE_BUFFERS", "SAMPLES", "MAX_SAMPLES", "DEPTH_BITS", "STENCIL_BITS",
|
|
"IMPLEMENTATION_COLOR_READ_TYPE", "IMPLEMENTATION_COLOR_READ_FORMAT", "COPY_READ_BUFFER_BINDING", "COPY_WRITE_BUFFER_BINDING", "RED_BITS",
|
|
"GREEN_BITS", "BLUE_BITS", "ALPHA_BITS", "MAX_COLOR_TEXTURE_SAMPLES", "TIMESTAMP",
|
|
"MAX_DEPTH_TEXTURE_SAMPLES", "MAX_INTEGER_SAMPLES", "TEXTURE_BINDING_2D_MULTISAMPLE", "TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY", "MAX_VERTEX_ATTRIB_STRIDE",
|
|
"MAX_VERTEX_ATTRIB_BINDINGS", "MAX_VERTEX_ATTRIB_RELATIVE_OFFSET", "MIN_SAMPLE_SHADING_VALUE", "FRAGMENT_INTERPOLATION_OFFSET_BITS", "MAX_FRAGMENT_INTERPOLATION_OFFSET",
|
|
"MIN_FRAGMENT_INTERPOLATION_OFFSET", "MAX_GEOMETRY_SHADER_INVOCATIONS", "LAYER_PROVOKING_VERTEX", "MAX_GEOMETRY_UNIFORM_COMPONENTS", "MAX_GEOMETRY_SHADER_STORAGE_BLOCKS",
|
|
"MAX_GEOMETRY_UNIFORM_BLOCKS", "MAX_GEOMETRY_INPUT_COMPONENTS", "MAX_GEOMETRY_OUTPUT_COMPONENTS", "MAX_GEOMETRY_IMAGE_UNIFORMS", "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS",
|
|
"MAX_GEOMETRY_OUTPUT_VERTICES", "MAX_GEOMETRY_ATOMIC_COUNTERS", "MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS", "MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS", "MAX_FRAMEBUFFER_LAYERS",
|
|
"PROVOKING_VERTEX", "PRIMITIVE_RESTART_INDEX", "MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS", "MAX_FRAGMENT_ATOMIC_COUNTERS", "MAX_FRAGMENT_IMAGE_UNIFORMS",
|
|
"MAX_COMPUTE_UNIFORM_BLOCKS", "MAX_COMPUTE_TEXTURE_IMAGE_UNITS", "MAX_COMPUTE_UNIFORM_COMPONENTS", "MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS", "MAX_COMPUTE_ATOMIC_COUNTERS",
|
|
"MAX_COMPUTE_IMAGE_UNIFORMS", "MAX_COMPUTE_SHADER_STORAGE_BLOCKS", "MAX_FRAGMENT_SHADER_STORAGE_BLOCKS", "MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS", "MAX_VERTEX_ATOMIC_COUNTER_BUFFERS",
|
|
"MAX_VERTEX_ATOMIC_COUNTERS", "MAX_VERTEX_IMAGE_UNIFORMS", "MAX_VERTEX_SHADER_STORAGE_BLOCKS", "MAX_COMBINED_SHADER_OUTPUT_RESOURCES", "MAX_ATOMIC_COUNTER_BUFFER_BINDINGS",
|
|
"MAX_ATOMIC_COUNTER_BUFFER_SIZE", "MAX_IMAGE_UNITS", "MAX_COMBINED_ATOMIC_COUNTER_BUFFERS", "MAX_COMBINED_IMAGE_UNIFORMS", "MAX_SHADER_STORAGE_BUFFER_BINDINGS",
|
|
"MAX_SHADER_STORAGE_BLOCK_SIZE", "MAX_COMBINED_ATOMIC_COUNTERS", "MAX_COMBINED_SHADER_STORAGE_BLOCKS", "SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT", "PRIMITIVE_BOUNDING_BOX_EXT",
|
|
"DRAW_INDIRECT_BUFFER_BINDING", "MAX_SAMPLE_MASK_WORDS", "PROGRAM_PIPELINE_BINDING", "ATOMIC_COUNTER_BUFFER_BINDING", "SHADER_STORAGE_BUFFER_BINDING",
|
|
"DISPATCH_INDIRECT_BUFFER_BINDING", "MAX_FRAMEBUFFER_WIDTH", "MAX_FRAMEBUFFER_HEIGHT", "MAX_FRAMEBUFFER_SAMPLES", "MAX_COMPUTE_SHARED_MEMORY_SIZE",
|
|
"MIN_PROGRAM_TEXTURE_GATHER_OFFSET", "MAX_PROGRAM_TEXTURE_GATHER_OFFSET", "MAX_COMPUTE_WORK_GROUP_INVOCATIONS", "MAX_UNIFORM_LOCATIONS", "MAX_DEBUG_MESSAGE_LENGTH",
|
|
"MAX_DEBUG_LOGGED_MESSAGES", "MAX_DEBUG_GROUP_STACK_DEPTH", "MAX_LABEL_LENGTH", "CONTEXT_FLAGS", "DEBUG_LOGGED_MESSAGES",
|
|
"DEBUG_NEXT_LOGGED_MESSAGE_LENGTH", "DEBUG_GROUP_STACK_DEPTH", "MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS", "TEXTURE_BUFFER_OFFSET_ALIGNMENT", "TEXTURE_BUFFER_BINDING",
|
|
"TEXTURE_BINDING_BUFFER", "MAX_TEXTURE_BUFFER_SIZE", "MAX_PATCH_VERTICES", "MAX_TESS_GEN_LEVEL", "MAX_TESS_CONTROL_UNIFORM_COMPONENTS",
|
|
"MAX_TESS_EVALUATION_UNIFORM_COMPONENTS", "MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS", "MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS", "MAX_TESS_CONTROL_OUTPUT_COMPONENTS", "MAX_TESS_PATCH_COMPONENTS",
|
|
"MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS", "MAX_TESS_EVALUATION_OUTPUT_COMPONENTS", "MAX_TESS_CONTROL_UNIFORM_BLOCKS", "MAX_TESS_EVALUATION_UNIFORM_BLOCKS", "MAX_TESS_CONTROL_INPUT_COMPONENTS",
|
|
"MAX_TESS_EVALUATION_INPUT_COMPONENTS", "MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS", "MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS", "MAX_TESS_CONTROL_ATOMIC_COUNTERS", "MAX_TESS_EVALUATION_ATOMIC_COUNTERS",
|
|
"MAX_TESS_CONTROL_IMAGE_UNIFORMS", "MAX_TESS_EVALUATION_IMAGE_UNIFORMS", "MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS", "MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS","MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS",
|
|
"MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS", "PATCH_VERTICES", "PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"
|
|
]),
|
|
|
|
("GettableIndexedState", [
|
|
"TRANSFORM_FEEDBACK_BUFFER_BINDING",
|
|
"UNIFORM_BUFFER_BINDING",
|
|
"TRANSFORM_FEEDBACK_BUFFER_START",
|
|
"TRANSFORM_FEEDBACK_BUFFER_SIZE",
|
|
"UNIFORM_BUFFER_START",
|
|
"UNIFORM_BUFFER_SIZE",
|
|
"SAMPLE_MASK_VALUE",
|
|
"VERTEX_BINDING_OFFSET",
|
|
"VERTEX_BINDING_STRIDE",
|
|
"VERTEX_BINDING_DIVISOR",
|
|
"VERTEX_BINDING_BUFFER",
|
|
"MAX_COMPUTE_WORK_GROUP_COUNT",
|
|
"MAX_COMPUTE_WORK_GROUP_SIZE",
|
|
"ATOMIC_COUNTER_BUFFER_BINDING",
|
|
"ATOMIC_COUNTER_BUFFER_START",
|
|
"ATOMIC_COUNTER_BUFFER_SIZE",
|
|
"SHADER_STORAGE_BUFFER_BINDING",
|
|
"SHADER_STORAGE_BUFFER_START",
|
|
"SHADER_STORAGE_BUFFER_SIZE",
|
|
"IMAGE_BINDING_NAME",
|
|
"IMAGE_BINDING_LEVEL",
|
|
"IMAGE_BINDING_LAYERED",
|
|
"IMAGE_BINDING_LAYER",
|
|
"IMAGE_BINDING_ACCESS",
|
|
"IMAGE_BINDING_FORMAT",
|
|
"BLEND_EQUATION_RGB",
|
|
"BLEND_EQUATION_ALPHA",
|
|
"BLEND_SRC_RGB",
|
|
"BLEND_SRC_ALPHA",
|
|
"BLEND_DST_RGB",
|
|
"BLEND_DST_ALPHA",
|
|
"COLOR_WRITEMASK",
|
|
]),
|
|
|
|
("GettableString", [
|
|
"EXTENSIONS",
|
|
"RENDERER",
|
|
"SHADING_LANGUAGE_VERSION",
|
|
"VENDOR",
|
|
"VERSION"
|
|
]),
|
|
|
|
("PointerState", [
|
|
"DEBUG_CALLBACK_FUNCTION",
|
|
"DEBUG_CALLBACK_USER_PARAM",
|
|
]),
|
|
|
|
("InternalFormatParameter", ["NUM_SAMPLE_COUNTS", "SAMPLES"]),
|
|
("InternalFormatTarget", [
|
|
"RENDERBUFFER",
|
|
"TEXTURE_2D_MULTISAMPLE",
|
|
"TEXTURE_2D_MULTISAMPLE_ARRAY",
|
|
"TEXTURE_2D",
|
|
"TEXTURE_3D",
|
|
"TEXTURE_2D_ARRAY",
|
|
"TEXTURE_CUBE_MAP",
|
|
]),
|
|
|
|
("MultisampleParameter", ["SAMPLE_POSITION"]),
|
|
|
|
# Occlusion and timer queries
|
|
("QueryTarget", [
|
|
"SAMPLES_PASSED",
|
|
"ANY_SAMPLES_PASSED",
|
|
"PRIMITIVES_GENERATED",
|
|
"TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",
|
|
"TIME_ELAPSED",
|
|
]),
|
|
|
|
("QueryParam", ["CURRENT_QUERY", "QUERY_COUNTER_BITS"]),
|
|
("QueryObjectParam", ["QUERY_RESULT", "QUERY_RESULT_AVAILABLE"]),
|
|
|
|
("ImageAccess", ["READ_ONLY", "WRITE_ONLY", "READ_WRITE"]),
|
|
|
|
("ProgramInterface", [
|
|
"UNIFORM",
|
|
"UNIFORM_BLOCK",
|
|
"ATOMIC_COUNTER_BUFFER",
|
|
"PROGRAM_INPUT",
|
|
"PROGRAM_OUTPUT",
|
|
"TRANSFORM_FEEDBACK_VARYING",
|
|
"BUFFER_VARIABLE",
|
|
"SHADER_STORAGE_BLOCK",
|
|
]),
|
|
|
|
("ProgramResourceProperty", [
|
|
"ACTIVE_VARIABLES",
|
|
"BUFFER_BINDING",
|
|
"NUM_ACTIVE_VARIABLES",
|
|
"ARRAY_SIZE",
|
|
"ARRAY_STRIDE",
|
|
"BLOCK_INDEX",
|
|
"IS_ROW_MAJOR",
|
|
"MATRIX_STRIDE",
|
|
"ATOMIC_COUNTER_BUFFER_INDEX",
|
|
"BUFFER_DATA_SIZE",
|
|
"LOCATION",
|
|
"NAME_LENGTH",
|
|
"OFFSET",
|
|
"REFERENCED_BY_VERTEX_SHADER",
|
|
"REFERENCED_BY_FRAGMENT_SHADER",
|
|
"REFERENCED_BY_COMPUTE_SHADER",
|
|
"REFERENCED_BY_GEOMETRY_SHADER",
|
|
"REFERENCED_BY_TESS_CONTROL_SHADER",
|
|
"REFERENCED_BY_TESS_EVALUATION_SHADER",
|
|
"TOP_LEVEL_ARRAY_SIZE",
|
|
"TOP_LEVEL_ARRAY_STRIDE",
|
|
"TYPE",
|
|
"IS_PER_PATCH",
|
|
]),
|
|
|
|
("PrecisionFormatType", ["LOW_FLOAT", "MEDIUM_FLOAT", "HIGH_FLOAT", "LOW_INT", "MEDIUM_INT", "HIGH_INT"]),
|
|
|
|
("TransformFeedbackTarget", ["TRANSFORM_FEEDBACK"]),
|
|
|
|
("ProvokingVertex", ["FIRST_VERTEX_CONVENTION", "LAST_VERTEX_CONVENTION", "UNDEFINED_VERTEX"]),
|
|
|
|
("DebugMessageSource", [
|
|
"DEBUG_SOURCE_API",
|
|
"DEBUG_SOURCE_WINDOW_SYSTEM",
|
|
"DEBUG_SOURCE_SHADER_COMPILER",
|
|
"DEBUG_SOURCE_THIRD_PARTY",
|
|
"DEBUG_SOURCE_APPLICATION",
|
|
"DEBUG_SOURCE_OTHER", "DONT_CARE"
|
|
]),
|
|
("DebugMessageType", [
|
|
"DEBUG_TYPE_ERROR",
|
|
"DEBUG_TYPE_DEPRECATED_BEHAVIOR",
|
|
"DEBUG_TYPE_UNDEFINED_BEHAVIOR",
|
|
"DEBUG_TYPE_PORTABILITY",
|
|
"DEBUG_TYPE_PERFORMANCE",
|
|
"DEBUG_TYPE_OTHER",
|
|
"DEBUG_TYPE_MARKER",
|
|
"DEBUG_TYPE_PUSH_GROUP",
|
|
"DEBUG_TYPE_POP_GROUP",
|
|
"DONT_CARE"
|
|
]),
|
|
("DebugMessageSeverity", [
|
|
"DEBUG_SEVERITY_HIGH",
|
|
"DEBUG_SEVERITY_MEDIUM",
|
|
"DEBUG_SEVERITY_LOW",
|
|
"DEBUG_SEVERITY_NOTIFICATION",
|
|
"DONT_CARE"
|
|
]),
|
|
|
|
# Pipeline query
|
|
("PipelineParam", [
|
|
"ACTIVE_PROGRAM",
|
|
"INFO_LOG_LENGTH",
|
|
"VALIDATE_STATUS",
|
|
"VERTEX_SHADER",
|
|
"FRAGMENT_SHADER",
|
|
"COMPUTE_SHADER",
|
|
"GEOMETRY_SHADER",
|
|
"TESS_CONTROL_SHADER",
|
|
"TESS_EVALUATION_SHADER",
|
|
]),
|
|
|
|
("PatchParam", [
|
|
"PATCH_VERTICES",
|
|
]),
|
|
|
|
("TextureFormat", [
|
|
# generated: UncompressedTextureFormat + CompressedTextureFormat
|
|
]),
|
|
|
|
# GraphicsResetStatus
|
|
("GraphicsResetStatus", [
|
|
"NO_ERROR",
|
|
"GUILTY_CONTEXT_RESET",
|
|
"INNOCENT_CONTEXT_RESET",
|
|
"UNKNOWN_CONTEXT_RESET",
|
|
]),
|
|
]
|
|
|
|
def getEnumGroupByName (name):
|
|
# \note: will raise an (index out of bounds) error if no such group
|
|
return [x for x in ENUM_GROUPS if x[0]==name][0][1]
|
|
|
|
# EnableCap EnumGroups are also GettableState EnumGroups
|
|
getEnumGroupByName("GettableState").extend(getEnumGroupByName("EnableCap"))
|
|
|
|
# TextureFormat = UncompressedTextureFormat + CompressedTextureFormat
|
|
getEnumGroupByName("TextureFormat").extend(getEnumGroupByName("UncompressedTextureFormat") + getEnumGroupByName("CompressedTextureFormat"))
|
|
|
|
def genStrUtil (iface):
|
|
enumGroups = addValuePrefix(ENUM_GROUPS, "GL_")
|
|
bitfieldGroups = addValuePrefix(BITFIELD_GROUPS, "GL_")
|
|
prototypeFile = os.path.join(OPENGL_DIR, "gluStrUtilPrototypes.inl")
|
|
implFile = os.path.join(OPENGL_DIR, "gluStrUtil.inl")
|
|
|
|
writeInlFile(prototypeFile, indentLines(genStrUtilProtos(iface, enumGroups, bitfieldGroups)))
|
|
writeInlFile(implFile, genStrUtilImpls(iface, enumGroups, bitfieldGroups))
|
|
|
|
if __name__ == "__main__":
|
|
genStrUtil(getHybridInterface())
|