// GENERATED FILE - DO NOT EDIT. // Generated by gen_format_map.py using data from format_map_data.json. // ES3 format info from es3_format_type_combinations.json. // // Copyright 2016 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // format_map: // Determining the sized internal format from a (format,type) pair. // Also check es3 format combinations for validity.
#include"angle_gl.h" #include"common/debug.h"
namespace gl
{
GLenum GetSizedFormatInternal(GLenum format, GLenum type)
{ switch (format)
{ case GL_ALPHA: switch (type)
{ case GL_FLOAT: return GL_ALPHA32F_EXT; case GL_HALF_FLOAT: return GL_ALPHA16F_EXT; case GL_HALF_FLOAT_OES: return GL_ALPHA16F_EXT; case GL_UNSIGNED_BYTE: return GL_ALPHA8_EXT; default: break;
} break;
case GL_BGRA_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_BGRA8_EXT; case GL_UNSIGNED_INT_2_10_10_10_REV: return GL_BGR10_A2_ANGLEX; case GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT: return GL_BGR5_A1_ANGLEX; case GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT: return GL_BGRA4_ANGLEX; case GL_UNSIGNED_SHORT_5_6_5: return GL_BGR565_ANGLEX; default: break;
} break;
case GL_COMPRESSED_RED_GREEN_RGTC2_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RED_GREEN_RGTC2_EXT; default: break;
} break;
case GL_COMPRESSED_RED_RGTC1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RED_RGTC1_EXT; default: break;
} break;
case GL_COMPRESSED_RGBA_BPTC_UNORM_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_BPTC_UNORM_EXT; default: break;
} break;
case GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; default: break;
} break;
case GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; default: break;
} break;
case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; default: break;
} break;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE; default: break;
} break;
case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE; default: break;
} break;
case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT; default: break;
} break;
case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT; default: break;
} break;
case GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; default: break;
} break;
case GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; default: break;
} break;
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_RGB_S3TC_DXT1_EXT; default: break;
} break;
case GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT; default: break;
} break;
case GL_COMPRESSED_SIGNED_RED_RGTC1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SIGNED_RED_RGTC1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT; default: break;
} break;
case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_COMPRESSED_SRGB_S3TC_DXT1_EXT; default: break;
} break;
case GL_DEPTH_COMPONENT: switch (type)
{ case GL_FLOAT: return GL_DEPTH_COMPONENT32F; case GL_UNSIGNED_INT: return GL_DEPTH_COMPONENT32_OES; case GL_UNSIGNED_INT_24_8: return GL_DEPTH24_STENCIL8; case GL_UNSIGNED_SHORT: return GL_DEPTH_COMPONENT16; default: break;
} break;
case GL_DEPTH_STENCIL: switch (type)
{ case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: return GL_DEPTH32F_STENCIL8; case GL_UNSIGNED_INT_24_8: return GL_DEPTH24_STENCIL8; default: break;
} break;
case GL_LUMINANCE: switch (type)
{ case GL_FLOAT: return GL_LUMINANCE32F_EXT; case GL_HALF_FLOAT: return GL_LUMINANCE16F_EXT; case GL_HALF_FLOAT_OES: return GL_LUMINANCE16F_EXT; case GL_UNSIGNED_BYTE: return GL_LUMINANCE8_EXT; default: break;
} break;
case GL_LUMINANCE_ALPHA: switch (type)
{ case GL_FLOAT: return GL_LUMINANCE_ALPHA32F_EXT; case GL_HALF_FLOAT: return GL_LUMINANCE_ALPHA16F_EXT; case GL_HALF_FLOAT_OES: return GL_LUMINANCE_ALPHA16F_EXT; case GL_UNSIGNED_BYTE: return GL_LUMINANCE8_ALPHA8_EXT; default: break;
} break;
case GL_RED: switch (type)
{ case GL_BYTE: return GL_R8_SNORM; case GL_FLOAT: return GL_R32F; case GL_HALF_FLOAT: return GL_R16F; case GL_HALF_FLOAT_OES: return GL_R16F; case GL_SHORT: return GL_R16_SNORM_EXT; case GL_UNSIGNED_BYTE: return GL_R8; case GL_UNSIGNED_SHORT: return GL_R16_EXT; default: break;
} break;
case GL_RED_INTEGER: switch (type)
{ case GL_BYTE: return GL_R8I; case GL_INT: return GL_R32I; case GL_SHORT: return GL_R16I; case GL_UNSIGNED_BYTE: return GL_R8UI; case GL_UNSIGNED_INT: return GL_R32UI; case GL_UNSIGNED_SHORT: return GL_R16UI; default: break;
} break;
case GL_RG: switch (type)
{ case GL_BYTE: return GL_RG8_SNORM; case GL_FLOAT: return GL_RG32F; case GL_HALF_FLOAT: return GL_RG16F; case GL_HALF_FLOAT_OES: return GL_RG16F; case GL_SHORT: return GL_RG16_SNORM_EXT; case GL_UNSIGNED_BYTE: return GL_RG8; case GL_UNSIGNED_SHORT: return GL_RG16_EXT; default: break;
} break;
case GL_RGB: switch (type)
{ case GL_BYTE: return GL_RGB8_SNORM; case GL_FLOAT: return GL_RGB32F; case GL_HALF_FLOAT: return GL_RGB16F; case GL_HALF_FLOAT_OES: return GL_RGB16F; case GL_SHORT: return GL_RGB16_SNORM_EXT; case GL_UNSIGNED_BYTE: return GL_RGB8; case GL_UNSIGNED_INT_10F_11F_11F_REV: return GL_R11F_G11F_B10F; case GL_UNSIGNED_INT_2_10_10_10_REV: return GL_RGB10_UNORM_ANGLEX; case GL_UNSIGNED_INT_5_9_9_9_REV: return GL_RGB9_E5; case GL_UNSIGNED_SHORT: return GL_RGB16_EXT; case GL_UNSIGNED_SHORT_5_6_5: return GL_RGB565; default: break;
} break;
case GL_RGBA: switch (type)
{ case GL_BYTE: return GL_RGBA8_SNORM; case GL_FLOAT: return GL_RGBA32F; case GL_HALF_FLOAT: return GL_RGBA16F; case GL_HALF_FLOAT_OES: return GL_RGBA16F; case GL_SHORT: return GL_RGBA16_SNORM_EXT; case GL_UNSIGNED_BYTE: return GL_RGBA8; case GL_UNSIGNED_INT_2_10_10_10_REV: return GL_RGB10_A2; case GL_UNSIGNED_SHORT: return GL_RGBA16_EXT; case GL_UNSIGNED_SHORT_4_4_4_4: return GL_RGBA4; case GL_UNSIGNED_SHORT_5_5_5_1: return GL_RGB5_A1; default: break;
} break;
case GL_RGBA_INTEGER: switch (type)
{ case GL_BYTE: return GL_RGBA8I; case GL_INT: return GL_RGBA32I; case GL_SHORT: return GL_RGBA16I; case GL_UNSIGNED_BYTE: return GL_RGBA8UI; case GL_UNSIGNED_INT: return GL_RGBA32UI; case GL_UNSIGNED_INT_2_10_10_10_REV: return GL_RGB10_A2UI; case GL_UNSIGNED_SHORT: return GL_RGBA16UI; default: break;
} break;
case GL_RGB_INTEGER: switch (type)
{ case GL_BYTE: return GL_RGB8I; case GL_INT: return GL_RGB32I; case GL_SHORT: return GL_RGB16I; case GL_UNSIGNED_BYTE: return GL_RGB8UI; case GL_UNSIGNED_INT: return GL_RGB32UI; case GL_UNSIGNED_SHORT: return GL_RGB16UI; default: break;
} break;
case GL_RG_INTEGER: switch (type)
{ case GL_BYTE: return GL_RG8I; case GL_INT: return GL_RG32I; case GL_SHORT: return GL_RG16I; case GL_UNSIGNED_BYTE: return GL_RG8UI; case GL_UNSIGNED_INT: return GL_RG32UI; case GL_UNSIGNED_SHORT: return GL_RG16UI; default: break;
} break;
case GL_SRGB_ALPHA_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_SRGB8_ALPHA8; default: break;
} break;
case GL_SRGB_EXT: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_SRGB8; default: break;
} break;
case GL_STENCIL: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_STENCIL_INDEX8; default: break;
} break;
case GL_STENCIL_INDEX_OES: switch (type)
{ case GL_UNSIGNED_BYTE: return GL_STENCIL_INDEX8; default: break;
} break;
case GL_NONE: return GL_NONE;
default: break;
}
return GL_NONE;
}
bool ValidES3Format(GLenum format)
{ switch (format)
{ case GL_ALPHA: case GL_BGRA_EXT: case GL_DEPTH_COMPONENT: case GL_DEPTH_STENCIL: case GL_LUMINANCE: case GL_LUMINANCE_ALPHA: case GL_RED: case GL_RED_INTEGER: case GL_RG: case GL_RGB: case GL_RGBA: case GL_RGBA_INTEGER: case GL_RGB_INTEGER: case GL_RG_INTEGER: case GL_SRGB_ALPHA_EXT: case GL_SRGB_EXT: case GL_STENCIL_INDEX: returntrue;
default: returnfalse;
}
}
bool ValidES3Type(GLenum type)
{ switch (type)
{ case GL_BYTE: case GL_FLOAT: case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: case GL_HALF_FLOAT: case GL_HALF_FLOAT_OES: case GL_INT: case GL_SHORT: case GL_UNSIGNED_BYTE: case GL_UNSIGNED_INT: case GL_UNSIGNED_INT_10F_11F_11F_REV: case GL_UNSIGNED_INT_24_8: case GL_UNSIGNED_INT_2_10_10_10_REV: case GL_UNSIGNED_INT_5_9_9_9_REV: case GL_UNSIGNED_SHORT: case GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT: case GL_UNSIGNED_SHORT_4_4_4_4: case GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT: case GL_UNSIGNED_SHORT_5_5_5_1: case GL_UNSIGNED_SHORT_5_6_5: returntrue;
switch (format)
{ case GL_ALPHA: switch (type)
{ case GL_FLOAT:
{ switch (internalFormat)
{ case GL_ALPHA: case GL_ALPHA32F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_ALPHA: case GL_ALPHA16F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_ALPHA: case GL_ALPHA16F_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_ALPHA: case GL_ALPHA8_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_BGRA_EXT: switch (type)
{ case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_BGRA_EXT: case GL_BGRA8_EXT: case GL_BGRA4_ANGLEX: case GL_BGR5_A1_ANGLEX: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT:
{ switch (internalFormat)
{ case GL_BGR5_A1_ANGLEX: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT:
{ switch (internalFormat)
{ case GL_BGRA4_ANGLEX: returntrue; default: break;
} break;
} default: break;
} break;
case GL_DEPTH_COMPONENT: switch (type)
{ case GL_FLOAT:
{ switch (internalFormat)
{ case GL_DEPTH_COMPONENT32F: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT:
{ switch (internalFormat)
{ case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT16: case GL_DEPTH_COMPONENT: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_24_8:
{ switch (internalFormat)
{ case GL_DEPTH_COMPONENT32_OES: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_DEPTH_COMPONENT16: case GL_DEPTH_COMPONENT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_DEPTH_STENCIL: switch (type)
{ case GL_FLOAT_32_UNSIGNED_INT_24_8_REV:
{ switch (internalFormat)
{ case GL_DEPTH32F_STENCIL8: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_24_8:
{ switch (internalFormat)
{ case GL_DEPTH_STENCIL: case GL_DEPTH24_STENCIL8: returntrue; default: break;
} break;
} default: break;
} break;
case GL_LUMINANCE: switch (type)
{ case GL_FLOAT:
{ switch (internalFormat)
{ case GL_LUMINANCE: case GL_LUMINANCE32F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_LUMINANCE: case GL_LUMINANCE16F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_LUMINANCE: case GL_LUMINANCE16F_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_LUMINANCE: case GL_LUMINANCE8_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_LUMINANCE_ALPHA: switch (type)
{ case GL_FLOAT:
{ switch (internalFormat)
{ case GL_LUMINANCE_ALPHA: case GL_LUMINANCE_ALPHA32F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_LUMINANCE_ALPHA: case GL_LUMINANCE_ALPHA16F_EXT: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_LUMINANCE_ALPHA: case GL_LUMINANCE_ALPHA16F_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_LUMINANCE_ALPHA: case GL_LUMINANCE8_ALPHA8_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RED: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_R8_SNORM: returntrue; default: break;
} break;
} case GL_FLOAT:
{ switch (internalFormat)
{ case GL_R32F: case GL_R16F: case GL_RED: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_R16F: case GL_RED: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_R16F: case GL_RED: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_R16_SNORM_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_R8: case GL_RED: case GL_SR8_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_R16_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RED_INTEGER: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_R8I: returntrue; default: break;
} break;
} case GL_INT:
{ switch (internalFormat)
{ case GL_R32I: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_R16I: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_R8UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT:
{ switch (internalFormat)
{ case GL_R32UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_R16UI: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RG: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RG8_SNORM: returntrue; default: break;
} break;
} case GL_FLOAT:
{ switch (internalFormat)
{ case GL_RG32F: case GL_RG16F: case GL_RG: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_RG16F: case GL_RG: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_RG16F: case GL_RG: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RG16_SNORM_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RG8: case GL_RG: case GL_SRG8_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RG16_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RGB: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RGB8_SNORM: returntrue; default: break;
} break;
} case GL_FLOAT:
{ switch (internalFormat)
{ case GL_RGB32F: case GL_RGB16F: case GL_R11F_G11F_B10F: case GL_RGB9_E5: case GL_RGB: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_RGB16F: case GL_R11F_G11F_B10F: case GL_RGB9_E5: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_RGB16F: case GL_R11F_G11F_B10F: case GL_RGB9_E5: case GL_RGB: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RGB16_SNORM_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RGB8: case GL_RGB565: case GL_SRGB8: case GL_RGB: case GL_RGBX8_ANGLE: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_10F_11F_11F_REV:
{ switch (internalFormat)
{ case GL_R11F_G11F_B10F: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_2_10_10_10_REV:
{ switch (internalFormat)
{ case GL_RGB: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_5_9_9_9_REV:
{ switch (internalFormat)
{ case GL_RGB9_E5: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RGB16_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT_5_6_5:
{ switch (internalFormat)
{ case GL_RGB565: case GL_RGB: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RGBA: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RGBA8_SNORM: returntrue; default: break;
} break;
} case GL_FLOAT:
{ switch (internalFormat)
{ case GL_RGBA32F: case GL_RGBA16F: case GL_RGBA: returntrue; default: break;
} break;
} case GL_HALF_FLOAT:
{ switch (internalFormat)
{ case GL_RGBA16F: returntrue; default: break;
} break;
} case GL_HALF_FLOAT_OES:
{ switch (internalFormat)
{ case GL_RGBA16F: case GL_RGBA: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RGBA16_SNORM_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RGBA8: case GL_RGB5_A1: case GL_RGBA4: case GL_SRGB8_ALPHA8: case GL_RGBA: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_2_10_10_10_REV:
{ switch (internalFormat)
{ case GL_RGB10_A2: case GL_RGB5_A1: case GL_RGBA: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RGBA16_EXT: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT_4_4_4_4:
{ switch (internalFormat)
{ case GL_RGBA4: case GL_RGBA: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT_5_5_5_1:
{ switch (internalFormat)
{ case GL_RGB5_A1: case GL_RGBA: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RGBA_INTEGER: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RGBA8I: returntrue; default: break;
} break;
} case GL_INT:
{ switch (internalFormat)
{ case GL_RGBA32I: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RGBA16I: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RGBA8UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT:
{ switch (internalFormat)
{ case GL_RGBA32UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT_2_10_10_10_REV:
{ switch (internalFormat)
{ case GL_RGB10_A2UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RGBA16UI: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RGB_INTEGER: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RGB8I: returntrue; default: break;
} break;
} case GL_INT:
{ switch (internalFormat)
{ case GL_RGB32I: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RGB16I: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RGB8UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT:
{ switch (internalFormat)
{ case GL_RGB32UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RGB16UI: returntrue; default: break;
} break;
} default: break;
} break;
case GL_RG_INTEGER: switch (type)
{ case GL_BYTE:
{ switch (internalFormat)
{ case GL_RG8I: returntrue; default: break;
} break;
} case GL_INT:
{ switch (internalFormat)
{ case GL_RG32I: returntrue; default: break;
} break;
} case GL_SHORT:
{ switch (internalFormat)
{ case GL_RG16I: returntrue; default: break;
} break;
} case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_RG8UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_INT:
{ switch (internalFormat)
{ case GL_RG32UI: returntrue; default: break;
} break;
} case GL_UNSIGNED_SHORT:
{ switch (internalFormat)
{ case GL_RG16UI: returntrue; default: break;
} break;
} default: break;
} break;
case GL_SRGB_ALPHA_EXT: switch (type)
{ case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_SRGB_ALPHA_EXT: case GL_SRGB8_ALPHA8_EXT: returntrue; default: break;
} break;
} default: break;
} break;
case GL_SRGB_EXT: switch (type)
{ case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_SRGB_EXT: case GL_SRGB8: returntrue; default: break;
} break;
} default: break;
} break;
case GL_STENCIL_INDEX: switch (type)
{ case GL_UNSIGNED_BYTE:
{ switch (internalFormat)
{ case GL_STENCIL_INDEX8: returntrue; default: break;
} break;
} default: break;
} break;
default:
UNREACHABLE(); break;
}
returnfalse;
}
} // namespace gl
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.28Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.