| // 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 |