Edit

kc3-lang/angle/src/libANGLE/es3_copy_conversion_table_autogen.cpp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2019-03-11 10:18:57
    Hash : 0f34f3f2
    Message : Use auto_script in run_code_generation. Cleans up the generator scripts to prepare for listing outputs in the generated hashes file. Also reorganizes the scripts somewhat to make them a bit more maintainable. Bug: angleproject:3227 Change-Id: If40946c2004941d3f6cd51d5521c7db8cc0b52df Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1512052 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/es3_copy_conversion_table_autogen.cpp
  • // GENERATED FILE - DO NOT EDIT.
    // Generated by gen_copy_conversion_table.py using data from es3_copy_conversion_formats.json.
    //
    // Copyright 2019 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
    {
    
    bool ValidES3CopyConversion(GLenum textureFormat, GLenum framebufferFormat)
    {
        switch (textureFormat)
        {
            case GL_ALPHA:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_BGRA_EXT:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_LUMINANCE:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RED:
                    case GL_RG:
                    case GL_RGB:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_LUMINANCE_ALPHA:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RED:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RED:
                    case GL_RG:
                    case GL_RGB:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RED_INTEGER:
                switch (framebufferFormat)
                {
                    case GL_RED_INTEGER:
                    case GL_RGBA_INTEGER:
                    case GL_RGB_INTEGER:
                    case GL_RG_INTEGER:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RG:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RG:
                    case GL_RGB:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RGB:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RGB:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RGBA:
                switch (framebufferFormat)
                {
                    case GL_BGRA_EXT:
                    case GL_RGBA:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RGBA_INTEGER:
                switch (framebufferFormat)
                {
                    case GL_RGBA_INTEGER:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RGB_INTEGER:
                switch (framebufferFormat)
                {
                    case GL_RGBA_INTEGER:
                    case GL_RGB_INTEGER:
                        return true;
                    default:
                        break;
                }
                break;
    
            case GL_RG_INTEGER:
                switch (framebufferFormat)
                {
                    case GL_RGBA_INTEGER:
                    case GL_RGB_INTEGER:
                    case GL_RG_INTEGER:
                        return true;
                    default:
                        break;
                }
                break;
    
            default:
                break;
        }
    
        return false;
    }
    
    }  // namespace gl