Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/gfx/angle/checkout/src/libANGLE/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 51 kB image not shown  

Quelle  format_map_autogen.cpp   Sprache: C

 
// 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:
            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_ALPHA:
            switch (type)
            {
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_ALPHA:
                        case GL_ALPHA32F_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_ALPHA:
                        case GL_ALPHA16F_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;
                }
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_ALPHA:
                        case GL_ALPHA8_EXT:
                            return true;
                        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:
                            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;
                }
                case GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT:
                {
                    switch (internalFormat)
                    {
                        case GL_BGRA4_ANGLEX:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_DEPTH_COMPONENT:
            switch (type)
            {
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_DEPTH_COMPONENT32F:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_DEPTH_COMPONENT24:
                        case GL_DEPTH_COMPONENT16:
                        case GL_DEPTH_COMPONENT:
                            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_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_DEPTH_COMPONENT16:
                        case GL_DEPTH_COMPONENT:
                            return true;
                        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:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_INT_24_8:
                {
                    switch (internalFormat)
                    {
                        case GL_DEPTH_STENCIL:
                        case GL_DEPTH24_STENCIL8:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_LUMINANCE:
            switch (type)
            {
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_LUMINANCE:
                        case GL_LUMINANCE32F_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_LUMINANCE:
                        case GL_LUMINANCE16F_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;
                }
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_LUMINANCE:
                        case GL_LUMINANCE8_EXT:
                            return true;
                        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:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_LUMINANCE_ALPHA:
                        case GL_LUMINANCE_ALPHA16F_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;
                }
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_LUMINANCE_ALPHA:
                        case GL_LUMINANCE8_ALPHA8_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RED:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_R8_SNORM:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_R32F:
                        case GL_R16F:
                        case GL_RED:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_R16F:
                        case GL_RED:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT_OES:
                {
                    switch (internalFormat)
                    {
                        case GL_R16F:
                        case GL_RED:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_R16_SNORM_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_R8:
                        case GL_RED:
                        case GL_SR8_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_R16_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RED_INTEGER:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_R8I:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_R32I:
                            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_UNSIGNED_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_R32UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_R16UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RG:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RG8_SNORM:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG32F:
                        case GL_RG16F:
                        case GL_RG:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG16F:
                        case GL_RG:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT_OES:
                {
                    switch (internalFormat)
                    {
                        case GL_RG16F:
                        case GL_RG:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG16_SNORM_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RG8:
                        case GL_RG:
                        case GL_SRG8_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG16_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RGB:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB8_SNORM:
                            return true;
                        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:
                            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_HALF_FLOAT_OES:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB16F:
                        case GL_R11F_G11F_B10F:
                        case GL_RGB9_E5:
                        case GL_RGB:
                            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_RGB8:
                        case GL_RGB565:
                        case GL_SRGB8:
                        case GL_RGB:
                        case GL_RGBX8_ANGLE:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_INT_10F_11F_11F_REV:
                {
                    switch (internalFormat)
                    {
                        case GL_R11F_G11F_B10F:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_INT_2_10_10_10_REV:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB:
                            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;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB16_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT_5_6_5:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB565:
                        case GL_RGB:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RGBA:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA8_SNORM:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA32F:
                        case GL_RGBA16F:
                        case GL_RGBA:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA16F:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_HALF_FLOAT_OES:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA16F:
                        case GL_RGBA:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA16_SNORM_EXT:
                            return true;
                        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:
                            return true;
                        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:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA16_EXT:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT_4_4_4_4:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA4:
                        case GL_RGBA:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT_5_5_5_1:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB5_A1:
                        case GL_RGBA:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RGBA_INTEGER:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA8I:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA32I:
                            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_UNSIGNED_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA32UI:
                            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_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGBA16UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RGB_INTEGER:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB8I:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB32I:
                            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_UNSIGNED_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB32UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RGB16UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        case GL_RG_INTEGER:
            switch (type)
            {
                case GL_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_RG8I:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG32I:
                            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_UNSIGNED_INT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG32UI:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                case GL_UNSIGNED_SHORT:
                {
                    switch (internalFormat)
                    {
                        case GL_RG16UI:
                            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_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_STENCIL_INDEX:
            switch (type)
            {
                case GL_UNSIGNED_BYTE:
                {
                    switch (internalFormat)
                    {
                        case GL_STENCIL_INDEX8:
                            return true;
                        default:
                            break;
                    }
                    break;
                }
                default:
                    break;
            }
            break;

        default:
            UNREACHABLE();
            break;
    }

    return false;
}

}  // namespace gl

Messung V0.5
C=95 H=96 G=95

¤ Dauer der Verarbeitung: 0.18 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.