// GENERATED FILE - DO NOT EDIT. // Generated by gen_copy_conversion_table.py using data from es3_copy_conversion_formats.json. // // Copyright 2017 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