summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/libANGLE/format_map_autogen.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-07-11 23:29:50 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-07-11 23:31:02 +0200
commit70dd5e7c66b1fe3f82e5b4db2406050baba15f05 (patch)
tree3f012200ef3c934f33db1a4ef2b790fae3141860 /gfx/angle/src/libANGLE/format_map_autogen.cpp
parent3b7ffb477eec078c7036c92c6a51bb5de6de4f28 (diff)
parent8481fa25d246f1968d0a254ee3c6cdd82c60781a (diff)
downloadUXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.gz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.lz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.xz
UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.zip
Merge branch 'ANGLE-rollback'
This resolves #624 Note: Cherry-picked some fixes on top of the ANGLE version that we want to keep.
Diffstat (limited to 'gfx/angle/src/libANGLE/format_map_autogen.cpp')
-rw-r--r--gfx/angle/src/libANGLE/format_map_autogen.cpp1530
1 files changed, 0 insertions, 1530 deletions
diff --git a/gfx/angle/src/libANGLE/format_map_autogen.cpp b/gfx/angle/src/libANGLE/format_map_autogen.cpp
deleted file mode 100644
index 707d38426..000000000
--- a/gfx/angle/src/libANGLE/format_map_autogen.cpp
+++ /dev/null
@@ -1,1530 +0,0 @@
-// 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_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_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_S3TC_DXT1_EXT:
- switch (type)
- {
- case GL_UNSIGNED_BYTE:
- return GL_COMPRESSED_RGB_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_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_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_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:
- return true;
-
- default:
- return false;
- }
-}
-
-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:
- return true;
-
- default:
- return false;
- }
-}
-
-bool ValidES3FormatCombination(GLenum format, GLenum type, GLenum internalFormat)
-{
- ASSERT(ValidES3Format(format) && ValidES3Type(type));
-
- switch (format)
- {
- case GL_RGB_INTEGER:
- switch (type)
- {
- case GL_INT:
- {
- switch (internalFormat)
- {
- case GL_RGB32I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGB16UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGB16I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGB8UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGB8I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT:
- {
- switch (internalFormat)
- {
- case GL_RGB32UI:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RGBA_INTEGER:
- switch (type)
- {
- case GL_INT:
- {
- switch (internalFormat)
- {
- case GL_RGBA32I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGBA16UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT_2_10_10_10_REV:
- {
- switch (internalFormat)
- {
- case GL_RGB10_A2UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGBA16I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGBA8UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGBA8I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT:
- {
- switch (internalFormat)
- {
- case GL_RGBA32UI:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RGB:
- switch (type)
- {
- case GL_UNSIGNED_INT_10F_11F_11F_REV:
- {
- switch (internalFormat)
- {
- case GL_R11F_G11F_B10F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGB16_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGB16_SNORM_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGB:
- case GL_RGB8:
- case GL_RGB565:
- case GL_SRGB8:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT_5_6_5:
- {
- switch (internalFormat)
- {
- case GL_RGB:
- case GL_RGB565:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_RGB:
- case GL_RGB16F:
- case GL_R11F_G11F_B10F:
- case GL_RGB9_E5:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RGB16F:
- case GL_R11F_G11F_B10F:
- case GL_RGB9_E5:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RGB:
- case GL_RGB32F:
- case GL_RGB16F:
- case GL_R11F_G11F_B10F:
- case GL_RGB9_E5:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGB8_SNORM:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT_5_9_9_9_REV:
- {
- switch (internalFormat)
- {
- case GL_RGB9_E5:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_LUMINANCE_ALPHA:
- switch (type)
- {
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE_ALPHA16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE_ALPHA32F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE8_ALPHA8_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE_ALPHA16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_ALPHA:
- switch (type)
- {
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_ALPHA:
- case GL_ALPHA16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_ALPHA:
- case GL_ALPHA32F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_ALPHA:
- case GL_ALPHA8_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_ALPHA:
- case GL_ALPHA16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RGBA:
- switch (type)
- {
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGBA16_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT_2_10_10_10_REV:
- {
- switch (internalFormat)
- {
- case GL_RGB10_A2:
- case GL_RGB5_A1:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RGBA16_SNORM_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT_4_4_4_4:
- {
- switch (internalFormat)
- {
- case GL_RGBA:
- case GL_RGBA4:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGBA:
- case GL_RGBA8:
- case GL_RGB5_A1:
- case GL_RGBA4:
- case GL_SRGB8_ALPHA8:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_RGBA:
- case GL_RGBA16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RGBA16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RGBA:
- case GL_RGBA32F:
- case GL_RGBA16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RGBA8_SNORM:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT_5_5_5_1:
- {
- switch (internalFormat)
- {
- case GL_RGBA:
- case GL_RGB5_A1:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_LUMINANCE:
- switch (type)
- {
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE:
- case GL_LUMINANCE16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE:
- case GL_LUMINANCE32F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE:
- case GL_LUMINANCE8_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_LUMINANCE:
- case GL_LUMINANCE16F_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RG_INTEGER:
- switch (type)
- {
- case GL_INT:
- {
- switch (internalFormat)
- {
- case GL_RG32I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RG16UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RG16I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RG8UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RG8I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT:
- {
- switch (internalFormat)
- {
- case GL_RG32UI:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RED_INTEGER:
- switch (type)
- {
- case GL_INT:
- {
- switch (internalFormat)
- {
- case GL_R32I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_R16UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_R16I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_R8UI:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_R8I:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT:
- {
- switch (internalFormat)
- {
- case GL_R32UI:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RED:
- switch (type)
- {
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_R16_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_R16_SNORM_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RED:
- case GL_R32F:
- case GL_R16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_RED:
- case GL_R16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RED:
- case GL_R16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RED:
- case GL_R8:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_R8_SNORM:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_DEPTH_COMPONENT:
- switch (type)
- {
- case GL_UNSIGNED_INT:
- {
- switch (internalFormat)
- {
- case GL_DEPTH_COMPONENT:
- case GL_DEPTH_COMPONENT24:
- case GL_DEPTH_COMPONENT16:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_INT_24_8:
- {
- switch (internalFormat)
- {
- case GL_DEPTH_COMPONENT32_OES:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_DEPTH_COMPONENT32F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_DEPTH_COMPONENT:
- case GL_DEPTH_COMPONENT16:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_DEPTH_STENCIL:
- switch (type)
- {
- case GL_UNSIGNED_INT_24_8:
- {
- switch (internalFormat)
- {
- case GL_DEPTH_STENCIL:
- case GL_DEPTH24_STENCIL8:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT_32_UNSIGNED_INT_24_8_REV:
- {
- switch (internalFormat)
- {
- case GL_DEPTH32F_STENCIL8:
- return true;
- 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:
- return true;
- 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:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_RG:
- switch (type)
- {
- case GL_UNSIGNED_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RG16_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_SHORT:
- {
- switch (internalFormat)
- {
- case GL_RG16_SNORM_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RG:
- case GL_RG32F:
- case GL_RG16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT_OES:
- {
- switch (internalFormat)
- {
- case GL_RG:
- case GL_RG16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_HALF_FLOAT:
- {
- switch (internalFormat)
- {
- case GL_RG:
- case GL_RG16F:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RG:
- case GL_RG8:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_BYTE:
- {
- switch (internalFormat)
- {
- case GL_RG8_SNORM:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- case GL_BGRA_EXT:
- switch (type)
- {
- case GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT:
- {
- switch (internalFormat)
- {
- case GL_BGRA4_ANGLEX:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_BYTE:
- {
- switch (internalFormat)
- {
- case GL_BGRA8_EXT:
- case GL_BGRA4_ANGLEX:
- case GL_BGR5_A1_ANGLEX:
- case GL_BGRA_EXT:
- return true;
- default:
- break;
- }
- break;
- }
- case GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT:
- {
- switch (internalFormat)
- {
- case GL_BGR5_A1_ANGLEX:
- return true;
- default:
- break;
- }
- break;
- }
- default:
- break;
- }
- break;
-
- default:
- UNREACHABLE();
- break;
- }
-
- return false;
-}
-
-} // namespace gl