| // GENERATED FILE - DO NOT EDIT. |
| // Generated by gen_texture_format_table.py using data from texture_format_data.json |
| // |
| // Copyright 2020 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. |
| // |
| // texture_format_table: |
| // Queries for full textureFormat information based in internalFormat |
| // |
| |
| #include "libANGLE/renderer/d3d/d3d11/texture_format_table.h" |
| |
| #include "image_util/copyimage.h" |
| #include "image_util/generatemip.h" |
| #include "image_util/loadimage.h" |
| |
| #include "libANGLE/renderer/d3d/d3d11/formatutils11.h" |
| #include "libANGLE/renderer/d3d/d3d11/renderer11_utils.h" |
| #include "libANGLE/renderer/d3d/d3d11/texture_format_table_utils.h" |
| |
| using namespace angle; |
| |
| namespace rx |
| { |
| |
| namespace d3d11 |
| { |
| |
| // static |
| const Format &Format::Get(GLenum internalFormat, const Renderer11DeviceCaps &deviceCaps) |
| { |
| // clang-format off |
| switch (internalFormat) |
| { |
| case GL_ALPHA16F_EXT: |
| { |
| static constexpr Format info(GL_ALPHA16F_EXT, |
| angle::FormatID::R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| GL_RGBA16F, |
| nullptr); |
| return info; |
| } |
| case GL_ALPHA32F_EXT: |
| { |
| static constexpr Format info(GL_ALPHA32F_EXT, |
| angle::FormatID::R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_ALPHA8_EXT: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_ALPHA8_EXT, |
| angle::FormatID::A8_UNORM, |
| DXGI_FORMAT_A8_UNORM, |
| DXGI_FORMAT_A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_ALPHA8_EXT, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_BGR565_ANGLEX: |
| { |
| if (SupportsFormat(DXGI_FORMAT_B5G6R5_UNORM, deviceCaps)) |
| { |
| static constexpr Format info(GL_BGR565_ANGLEX, |
| angle::FormatID::B5G6R5_UNORM, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_BGR565_ANGLEX, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_BGR5_A1_ANGLEX: |
| { |
| static constexpr Format info(GL_BGR5_A1_ANGLEX, |
| angle::FormatID::B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| GL_BGRA8_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_BGRA4_ANGLEX: |
| { |
| static constexpr Format info(GL_BGRA4_ANGLEX, |
| angle::FormatID::B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| GL_BGRA8_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_BGRA8_EXT: |
| { |
| static constexpr Format info(GL_BGRA8_EXT, |
| angle::FormatID::B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM, |
| GL_BGRA8_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_BGRA8_SRGB_ANGLEX: |
| { |
| static constexpr Format info(GL_BGRA8_SRGB_ANGLEX, |
| angle::FormatID::B8G8R8A8_UNORM_SRGB, |
| DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, |
| DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, |
| GL_BGRA8_SRGB_ANGLEX, |
| nullptr); |
| return info; |
| } |
| case GL_BGRX8_ANGLEX: |
| { |
| if (OnlyFL11_1Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_BGRX8_ANGLEX, |
| angle::FormatID::B8G8R8X8_UNORM, |
| DXGI_FORMAT_B8G8R8X8_UNORM, |
| DXGI_FORMAT_B8G8R8X8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8X8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B8G8R8X8_UNORM, |
| GL_BGRX8_ANGLEX, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_BGRX8_ANGLEX, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_COMPRESSED_R11_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_R11_EAC, |
| angle::FormatID::R16_UNORM, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RED_GREEN_RGTC2_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RED_GREEN_RGTC2_EXT, |
| angle::FormatID::BC5_RG_UNORM_BLOCK, |
| DXGI_FORMAT_BC5_UNORM, |
| DXGI_FORMAT_BC5_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC5_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RED_RGTC1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RED_RGTC1_EXT, |
| angle::FormatID::BC4_RED_UNORM_BLOCK, |
| DXGI_FORMAT_BC4_UNORM, |
| DXGI_FORMAT_BC4_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC4_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RG11_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_RG11_EAC, |
| angle::FormatID::R16G16_UNORM, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB8_ETC2: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB8_ETC2, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_COMPRESSED_RGB8_LOSSY_DECODE_ETC2_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB8_LOSSY_DECODE_ETC2_ANGLE, |
| angle::FormatID::BC1_RGB_UNORM_BLOCK, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE, |
| angle::FormatID::BC1_RGBA_UNORM_BLOCK, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA8_ETC2_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA8_ETC2_EAC, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_10x10_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_10x10_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_10x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_10x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_10x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_10x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_10x8_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_10x8_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_12x10_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_12x10_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_12x12_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_12x12_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_3x3x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_3x3x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_4x3x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_4x3x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_4x4_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_4x4_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_4x4x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_4x4x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_4x4x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_4x4x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_5x4_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_5x4_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_5x4x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_5x4x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_5x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_5x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_5x5x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_5x5x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_5x5x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_5x5x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_6x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_6x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_6x5x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_6x5x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_6x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_6x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_6x6x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_6x6x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_6x6x6_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_6x6x6_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_8x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_8x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_8x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_8x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_ASTC_8x8_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_ASTC_8x8_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_BPTC_UNORM_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_BPTC_UNORM_EXT, |
| angle::FormatID::BPTC_RGBA_UNORM_BLOCK, |
| DXGI_FORMAT_BC7_UNORM, |
| DXGI_FORMAT_BC7_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC7_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, |
| angle::FormatID::BC1_RGBA_UNORM_BLOCK, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE, |
| angle::FormatID::BC2_RGBA_UNORM_BLOCK, |
| DXGI_FORMAT_BC2_UNORM, |
| DXGI_FORMAT_BC2_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC2_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE, |
| angle::FormatID::BC3_RGBA_UNORM_BLOCK, |
| DXGI_FORMAT_BC3_UNORM, |
| DXGI_FORMAT_BC3_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC3_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT, |
| angle::FormatID::BPTC_RGB_SIGNED_FLOAT_BLOCK, |
| DXGI_FORMAT_BC6H_SF16, |
| DXGI_FORMAT_BC6H_SF16, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC6H_SF16, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT, |
| angle::FormatID::BPTC_RGB_UNSIGNED_FLOAT_BLOCK, |
| DXGI_FORMAT_BC6H_UF16, |
| DXGI_FORMAT_BC6H_UF16, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC6H_UF16, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_RGB_S3TC_DXT1_EXT, |
| angle::FormatID::BC1_RGB_UNORM_BLOCK, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SIGNED_R11_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_SIGNED_R11_EAC, |
| angle::FormatID::R16_SNORM, |
| DXGI_FORMAT_R16_SNORM, |
| DXGI_FORMAT_R16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT, |
| angle::FormatID::BC5_RG_SNORM_BLOCK, |
| DXGI_FORMAT_BC5_SNORM, |
| DXGI_FORMAT_BC5_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC5_SNORM, |
| GL_RGBA8_SNORM, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SIGNED_RED_RGTC1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SIGNED_RED_RGTC1_EXT, |
| angle::FormatID::BC4_RED_SNORM_BLOCK, |
| DXGI_FORMAT_BC4_SNORM, |
| DXGI_FORMAT_BC4_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC4_SNORM, |
| GL_RGBA8_SNORM, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SIGNED_RG11_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_SIGNED_RG11_EAC, |
| angle::FormatID::R16G16_SNORM, |
| DXGI_FORMAT_R16G16_SNORM, |
| DXGI_FORMAT_R16G16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC, |
| angle::FormatID::R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_ETC2: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_ETC2, |
| angle::FormatID::R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_LOSSY_DECODE_ETC2_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_LOSSY_DECODE_ETC2_ANGLE, |
| angle::FormatID::BC1_RGB_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2, |
| angle::FormatID::R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE, |
| angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT, |
| angle::FormatID::BPTC_SRGB_ALPHA_UNORM_BLOCK, |
| DXGI_FORMAT_BC7_UNORM_SRGB, |
| DXGI_FORMAT_BC7_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC7_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, |
| angle::FormatID::BC1_RGBA_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, |
| angle::FormatID::BC2_RGBA_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC2_UNORM_SRGB, |
| DXGI_FORMAT_BC2_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC2_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, |
| angle::FormatID::BC3_RGBA_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC3_UNORM_SRGB, |
| DXGI_FORMAT_BC3_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC3_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: |
| { |
| static constexpr Format info(GL_COMPRESSED_SRGB_S3TC_DXT1_EXT, |
| angle::FormatID::BC1_RGB_UNORM_SRGB_BLOCK, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM_SRGB, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_DEPTH24_STENCIL8: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_DEPTH24_STENCIL8, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24G8_TYPELESS, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_DEPTH24_STENCIL8, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_DEPTH32F_STENCIL8: |
| { |
| static constexpr Format info(GL_DEPTH32F_STENCIL8, |
| angle::FormatID::D32_FLOAT_S8X24_UINT, |
| DXGI_FORMAT_R32G8X24_TYPELESS, |
| DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D32_FLOAT_S8X24_UINT, |
| DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_DEPTH_COMPONENT16: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT16, |
| angle::FormatID::D16_UNORM, |
| DXGI_FORMAT_R16_TYPELESS, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D16_UNORM, |
| DXGI_FORMAT_R16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT16, |
| angle::FormatID::D16_UNORM, |
| DXGI_FORMAT_D16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_DEPTH_COMPONENT24: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT24, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24G8_TYPELESS, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT24, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_DEPTH_COMPONENT32F: |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT32F, |
| angle::FormatID::D32_FLOAT, |
| DXGI_FORMAT_R32_TYPELESS, |
| DXGI_FORMAT_R32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D32_FLOAT, |
| DXGI_FORMAT_R32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_DEPTH_COMPONENT32_OES: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT32_OES, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24G8_TYPELESS, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_DEPTH_COMPONENT32_OES, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_ETC1_RGB8_LOSSY_DECODE_ANGLE: |
| { |
| static constexpr Format info(GL_ETC1_RGB8_LOSSY_DECODE_ANGLE, |
| angle::FormatID::BC1_RGB_UNORM_BLOCK, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_BC1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_BC1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_ETC1_RGB8_OES: |
| { |
| static constexpr Format info(GL_ETC1_RGB8_OES, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_LUMINANCE16F_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE16F_EXT, |
| angle::FormatID::R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| GL_RGBA16F, |
| Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>); |
| return info; |
| } |
| case GL_LUMINANCE32F_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE32F_EXT, |
| angle::FormatID::R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| GL_RGBA32F, |
| Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000, 0x00000000, gl::Float32One>); |
| return info; |
| } |
| case GL_LUMINANCE8_ALPHA8_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE8_ALPHA8_EXT, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_LUMINANCE8_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE8_EXT, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_LUMINANCE_ALPHA16F_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE_ALPHA16F_EXT, |
| angle::FormatID::R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| GL_RGBA16F, |
| nullptr); |
| return info; |
| } |
| case GL_LUMINANCE_ALPHA32F_EXT: |
| { |
| static constexpr Format info(GL_LUMINANCE_ALPHA32F_EXT, |
| angle::FormatID::R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_NONE: |
| { |
| static constexpr Format info(GL_NONE, |
| angle::FormatID::NONE, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| GL_NONE, |
| nullptr); |
| return info; |
| } |
| case GL_R11F_G11F_B10F: |
| { |
| static constexpr Format info(GL_R11F_G11F_B10F, |
| angle::FormatID::R11G11B10_FLOAT, |
| DXGI_FORMAT_R11G11B10_FLOAT, |
| DXGI_FORMAT_R11G11B10_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R11G11B10_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R11G11B10_FLOAT, |
| GL_RGBA16F_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_R16F: |
| { |
| static constexpr Format info(GL_R16F, |
| angle::FormatID::R16_FLOAT, |
| DXGI_FORMAT_R16_FLOAT, |
| DXGI_FORMAT_R16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_FLOAT, |
| GL_RGBA16F_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_R16I: |
| { |
| static constexpr Format info(GL_R16I, |
| angle::FormatID::R16_SINT, |
| DXGI_FORMAT_R16_SINT, |
| DXGI_FORMAT_R16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_SINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_R16UI: |
| { |
| static constexpr Format info(GL_R16UI, |
| angle::FormatID::R16_UINT, |
| DXGI_FORMAT_R16_UINT, |
| DXGI_FORMAT_R16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_R16_EXT: |
| { |
| static constexpr Format info(GL_R16_EXT, |
| angle::FormatID::R16_UNORM, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_R16_SNORM_EXT: |
| { |
| static constexpr Format info(GL_R16_SNORM_EXT, |
| angle::FormatID::R16_SNORM, |
| DXGI_FORMAT_R16_SNORM, |
| DXGI_FORMAT_R16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_R32F: |
| { |
| static constexpr Format info(GL_R32F, |
| angle::FormatID::R32_FLOAT, |
| DXGI_FORMAT_R32_FLOAT, |
| DXGI_FORMAT_R32_FLOAT, |
| DXGI_FORMAT_R32_FLOAT, |
| DXGI_FORMAT_R32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_R32I: |
| { |
| static constexpr Format info(GL_R32I, |
| angle::FormatID::R32_SINT, |
| DXGI_FORMAT_R32_SINT, |
| DXGI_FORMAT_R32_SINT, |
| DXGI_FORMAT_R32_SINT, |
| DXGI_FORMAT_R32_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32_SINT, |
| GL_RGBA32I, |
| nullptr); |
| return info; |
| } |
| case GL_R32UI: |
| { |
| static constexpr Format info(GL_R32UI, |
| angle::FormatID::R32_UINT, |
| DXGI_FORMAT_R32_UINT, |
| DXGI_FORMAT_R32_UINT, |
| DXGI_FORMAT_R32_UINT, |
| DXGI_FORMAT_R32_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32_UINT, |
| GL_RGBA32I, |
| nullptr); |
| return info; |
| } |
| case GL_R8: |
| { |
| static constexpr Format info(GL_R8, |
| angle::FormatID::R8_UNORM, |
| DXGI_FORMAT_R8_UNORM, |
| DXGI_FORMAT_R8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_R8I: |
| { |
| static constexpr Format info(GL_R8I, |
| angle::FormatID::R8_SINT, |
| DXGI_FORMAT_R8_SINT, |
| DXGI_FORMAT_R8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_SINT, |
| GL_RGBA8I, |
| nullptr); |
| return info; |
| } |
| case GL_R8UI: |
| { |
| static constexpr Format info(GL_R8UI, |
| angle::FormatID::R8_UINT, |
| DXGI_FORMAT_R8_UINT, |
| DXGI_FORMAT_R8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_UINT, |
| GL_RGBA8I, |
| nullptr); |
| return info; |
| } |
| case GL_R8_SNORM: |
| { |
| static constexpr Format info(GL_R8_SNORM, |
| angle::FormatID::R8_SNORM, |
| DXGI_FORMAT_R8_SNORM, |
| DXGI_FORMAT_R8_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8_SNORM, |
| GL_RGBA8_SNORM, |
| nullptr); |
| return info; |
| } |
| case GL_RG16F: |
| { |
| static constexpr Format info(GL_RG16F, |
| angle::FormatID::R16G16_FLOAT, |
| DXGI_FORMAT_R16G16_FLOAT, |
| DXGI_FORMAT_R16G16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_FLOAT, |
| GL_RGBA16F_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RG16I: |
| { |
| static constexpr Format info(GL_RG16I, |
| angle::FormatID::R16G16_SINT, |
| DXGI_FORMAT_R16G16_SINT, |
| DXGI_FORMAT_R16G16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_SINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_RG16UI: |
| { |
| static constexpr Format info(GL_RG16UI, |
| angle::FormatID::R16G16_UINT, |
| DXGI_FORMAT_R16G16_UINT, |
| DXGI_FORMAT_R16G16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_RG16_EXT: |
| { |
| static constexpr Format info(GL_RG16_EXT, |
| angle::FormatID::R16G16_UNORM, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RG16_SNORM_EXT: |
| { |
| static constexpr Format info(GL_RG16_SNORM_EXT, |
| angle::FormatID::R16G16_SNORM, |
| DXGI_FORMAT_R16G16_SNORM, |
| DXGI_FORMAT_R16G16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RG32F: |
| { |
| static constexpr Format info(GL_RG32F, |
| angle::FormatID::R32G32_FLOAT, |
| DXGI_FORMAT_R32G32_FLOAT, |
| DXGI_FORMAT_R32G32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_RG32I: |
| { |
| static constexpr Format info(GL_RG32I, |
| angle::FormatID::R32G32_SINT, |
| DXGI_FORMAT_R32G32_SINT, |
| DXGI_FORMAT_R32G32_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_SINT, |
| GL_RGBA32I, |
| nullptr); |
| return info; |
| } |
| case GL_RG32UI: |
| { |
| static constexpr Format info(GL_RG32UI, |
| angle::FormatID::R32G32_UINT, |
| DXGI_FORMAT_R32G32_UINT, |
| DXGI_FORMAT_R32G32_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32_UINT, |
| GL_RGBA32I, |
| nullptr); |
| return info; |
| } |
| case GL_RG8: |
| { |
| static constexpr Format info(GL_RG8, |
| angle::FormatID::R8G8_UNORM, |
| DXGI_FORMAT_R8G8_UNORM, |
| DXGI_FORMAT_R8G8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_RG8I: |
| { |
| static constexpr Format info(GL_RG8I, |
| angle::FormatID::R8G8_SINT, |
| DXGI_FORMAT_R8G8_SINT, |
| DXGI_FORMAT_R8G8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_SINT, |
| GL_RGBA8I, |
| nullptr); |
| return info; |
| } |
| case GL_RG8UI: |
| { |
| static constexpr Format info(GL_RG8UI, |
| angle::FormatID::R8G8_UINT, |
| DXGI_FORMAT_R8G8_UINT, |
| DXGI_FORMAT_R8G8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_UINT, |
| GL_RGBA8I, |
| nullptr); |
| return info; |
| } |
| case GL_RG8_SNORM: |
| { |
| static constexpr Format info(GL_RG8_SNORM, |
| angle::FormatID::R8G8_SNORM, |
| DXGI_FORMAT_R8G8_SNORM, |
| DXGI_FORMAT_R8G8_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8_SNORM, |
| GL_RGBA8_SNORM, |
| nullptr); |
| return info; |
| } |
| case GL_RGB: |
| { |
| static constexpr Format info(GL_RGB, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_RGB10_A2: |
| { |
| static constexpr Format info(GL_RGB10_A2, |
| angle::FormatID::R10G10B10A2_UNORM, |
| DXGI_FORMAT_R10G10B10A2_UNORM, |
| DXGI_FORMAT_R10G10B10A2_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R10G10B10A2_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R10G10B10A2_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RGB10_A2UI: |
| { |
| static constexpr Format info(GL_RGB10_A2UI, |
| angle::FormatID::R10G10B10A2_UINT, |
| DXGI_FORMAT_R10G10B10A2_UINT, |
| DXGI_FORMAT_R10G10B10A2_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R10G10B10A2_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R10G10B10A2_UINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_RGB16F: |
| { |
| static constexpr Format info(GL_RGB16F, |
| angle::FormatID::R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| GL_RGBA16F, |
| Initialize4ComponentData<GLhalf, 0x0000, 0x0000, 0x0000, gl::Float16One>); |
| return info; |
| } |
| case GL_RGB16I: |
| { |
| static constexpr Format info(GL_RGB16I, |
| angle::FormatID::R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| GL_RGBA16I, |
| Initialize4ComponentData<GLshort, 0x0000, 0x0000, 0x0000, 0x0001>); |
| return info; |
| } |
| case GL_RGB16UI: |
| { |
| static constexpr Format info(GL_RGB16UI, |
| angle::FormatID::R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| GL_RGBA16UI, |
| Initialize4ComponentData<GLushort, 0x0000, 0x0000, 0x0000, 0x0001>); |
| return info; |
| } |
| case GL_RGB16_EXT: |
| { |
| static constexpr Format info(GL_RGB16_EXT, |
| angle::FormatID::R16G16B16A16_UNORM, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| GL_RGBA16_EXT, |
| Initialize4ComponentData<GLubyte, 0x0000, 0x0000, 0x0000, 0xFFFF>); |
| return info; |
| } |
| case GL_RGB16_SNORM_EXT: |
| { |
| static constexpr Format info(GL_RGB16_SNORM_EXT, |
| angle::FormatID::R16G16B16A16_SNORM, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| Initialize4ComponentData<GLushort, 0x0000, 0x0000, 0x0000, 0x7FFF>); |
| return info; |
| } |
| case GL_RGB32F: |
| { |
| static constexpr Format info(GL_RGB32F, |
| angle::FormatID::R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| GL_RGBA32F, |
| Initialize4ComponentData<GLfloat, 0x00000000, 0x00000000, 0x00000000, gl::Float32One>); |
| return info; |
| } |
| case GL_RGB32I: |
| { |
| static constexpr Format info(GL_RGB32I, |
| angle::FormatID::R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| GL_RGBA32I, |
| Initialize4ComponentData<GLint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>); |
| return info; |
| } |
| case GL_RGB32UI: |
| { |
| static constexpr Format info(GL_RGB32UI, |
| angle::FormatID::R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| GL_RGBA32UI, |
| Initialize4ComponentData<GLuint, 0x00000000, 0x00000000, 0x00000000, 0x00000001>); |
| return info; |
| } |
| case GL_RGB565: |
| { |
| if (SupportsFormat(DXGI_FORMAT_B5G6R5_UNORM, deviceCaps)) |
| { |
| static constexpr Format info(GL_RGB565, |
| angle::FormatID::B5G6R5_UNORM, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G6R5_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_RGB565, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| } |
| case GL_RGB5_A1: |
| { |
| if (SupportsFormat(DXGI_FORMAT_B5G5R5A1_UNORM, deviceCaps)) |
| { |
| static constexpr Format info(GL_RGB5_A1, |
| angle::FormatID::B5G5R5A1_UNORM, |
| DXGI_FORMAT_B5G5R5A1_UNORM, |
| DXGI_FORMAT_B5G5R5A1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G5R5A1_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B5G5R5A1_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_RGB5_A1, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_RGB8: |
| { |
| static constexpr Format info(GL_RGB8, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_RGB8I: |
| { |
| static constexpr Format info(GL_RGB8I, |
| angle::FormatID::R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| GL_RGBA8I, |
| Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x01>); |
| return info; |
| } |
| case GL_RGB8UI: |
| { |
| static constexpr Format info(GL_RGB8UI, |
| angle::FormatID::R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| GL_RGBA8UI, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0x01>); |
| return info; |
| } |
| case GL_RGB8_SNORM: |
| { |
| static constexpr Format info(GL_RGB8_SNORM, |
| angle::FormatID::R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| GL_RGBA8_SNORM, |
| Initialize4ComponentData<GLbyte, 0x00, 0x00, 0x00, 0x7F>); |
| return info; |
| } |
| case GL_RGB9_E5: |
| { |
| static constexpr Format info(GL_RGB9_E5, |
| angle::FormatID::R9G9B9E5_SHAREDEXP, |
| DXGI_FORMAT_R9G9B9E5_SHAREDEXP, |
| DXGI_FORMAT_R9G9B9E5_SHAREDEXP, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R9G9B9E5_SHAREDEXP, |
| GL_RGBA16F_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA: |
| { |
| static constexpr Format info(GL_RGBA, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA16F: |
| { |
| static constexpr Format info(GL_RGBA16F, |
| angle::FormatID::R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_FLOAT, |
| GL_RGBA16F, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA16I: |
| { |
| static constexpr Format info(GL_RGBA16I, |
| angle::FormatID::R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_SINT, |
| GL_RGBA16I, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA16UI: |
| { |
| static constexpr Format info(GL_RGBA16UI, |
| angle::FormatID::R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UINT, |
| GL_RGBA16UI, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA16_EXT: |
| { |
| static constexpr Format info(GL_RGBA16_EXT, |
| angle::FormatID::R16G16B16A16_UNORM, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_UNORM, |
| GL_RGBA16_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA16_SNORM_EXT: |
| { |
| static constexpr Format info(GL_RGBA16_SNORM_EXT, |
| angle::FormatID::R16G16B16A16_SNORM, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R16G16B16A16_SNORM, |
| GL_RGBA16_SNORM_EXT, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA32F: |
| { |
| static constexpr Format info(GL_RGBA32F, |
| angle::FormatID::R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_FLOAT, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA32I: |
| { |
| static constexpr Format info(GL_RGBA32I, |
| angle::FormatID::R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_SINT, |
| GL_RGBA32I, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA32UI: |
| { |
| static constexpr Format info(GL_RGBA32UI, |
| angle::FormatID::R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R32G32B32A32_UINT, |
| GL_RGBA32UI, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA4: |
| { |
| if (SupportsFormat(DXGI_FORMAT_B4G4R4A4_UNORM, deviceCaps)) |
| { |
| static constexpr Format info(GL_RGBA4, |
| angle::FormatID::B4G4R4A4_UNORM, |
| DXGI_FORMAT_B4G4R4A4_UNORM, |
| DXGI_FORMAT_B4G4R4A4_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B4G4R4A4_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_B4G4R4A4_UNORM, |
| GL_RGBA4, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_RGBA4, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| } |
| case GL_RGBA8: |
| { |
| static constexpr Format info(GL_RGBA8, |
| angle::FormatID::R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM, |
| GL_RGBA8, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA8I: |
| { |
| static constexpr Format info(GL_RGBA8I, |
| angle::FormatID::R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_SINT, |
| GL_RGBA8I, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA8UI: |
| { |
| static constexpr Format info(GL_RGBA8UI, |
| angle::FormatID::R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UINT, |
| GL_RGBA8UI, |
| nullptr); |
| return info; |
| } |
| case GL_RGBA8_SNORM: |
| { |
| static constexpr Format info(GL_RGBA8_SNORM, |
| angle::FormatID::R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_SNORM, |
| GL_RGBA8_SNORM, |
| nullptr); |
| return info; |
| } |
| case GL_SRGB8: |
| { |
| static constexpr Format info(GL_SRGB8, |
| angle::FormatID::R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| Initialize4ComponentData<GLubyte, 0x00, 0x00, 0x00, 0xFF>); |
| return info; |
| } |
| case GL_SRGB8_ALPHA8: |
| { |
| static constexpr Format info(GL_SRGB8_ALPHA8, |
| angle::FormatID::R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, |
| GL_SRGB8_ALPHA8, |
| nullptr); |
| return info; |
| } |
| case GL_STENCIL_INDEX8: |
| { |
| if (OnlyFL10Plus(deviceCaps)) |
| { |
| static constexpr Format info(GL_STENCIL_INDEX8, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24G8_TYPELESS, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_R24_UNORM_X8_TYPELESS, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| else |
| { |
| static constexpr Format info(GL_STENCIL_INDEX8, |
| angle::FormatID::D24_UNORM_S8_UINT, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_UNKNOWN, |
| DXGI_FORMAT_D24_UNORM_S8_UINT, |
| DXGI_FORMAT_UNKNOWN, |
| GL_RGBA32F, |
| nullptr); |
| return info; |
| } |
| } |
| |
| default: |
| break; |
| } |
| // clang-format on |
| |
| UNREACHABLE(); |
| static constexpr Format defaultInfo; |
| return defaultInfo; |
| } |
| |
| } // namespace d3d11 |
| |
| } // namespace rx |