/*
 * Copyright 2016 Józef Kucia for CodeWeavers
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

const unsigned int DXGI_FORMAT_DEFINED = 1;

typedef enum DXGI_FORMAT
{
    DXGI_FORMAT_UNKNOWN                     = 0x00,
    DXGI_FORMAT_R32G32B32A32_TYPELESS       = 0x01,
    DXGI_FORMAT_R32G32B32A32_FLOAT          = 0x02,
    DXGI_FORMAT_R32G32B32A32_UINT           = 0x03,
    DXGI_FORMAT_R32G32B32A32_SINT           = 0x04,
    DXGI_FORMAT_R32G32B32_TYPELESS          = 0x05,
    DXGI_FORMAT_R32G32B32_FLOAT             = 0x06,
    DXGI_FORMAT_R32G32B32_UINT              = 0x07,
    DXGI_FORMAT_R32G32B32_SINT              = 0x08,
    DXGI_FORMAT_R16G16B16A16_TYPELESS       = 0x09,
    DXGI_FORMAT_R16G16B16A16_FLOAT          = 0x0a,
    DXGI_FORMAT_R16G16B16A16_UNORM          = 0x0b,
    DXGI_FORMAT_R16G16B16A16_UINT           = 0x0c,
    DXGI_FORMAT_R16G16B16A16_SNORM          = 0x0d,
    DXGI_FORMAT_R16G16B16A16_SINT           = 0x0e,
    DXGI_FORMAT_R32G32_TYPELESS             = 0x0f,
    DXGI_FORMAT_R32G32_FLOAT                = 0x10,
    DXGI_FORMAT_R32G32_UINT                 = 0x11,
    DXGI_FORMAT_R32G32_SINT                 = 0x12,
    DXGI_FORMAT_R32G8X24_TYPELESS           = 0x13,
    DXGI_FORMAT_D32_FLOAT_S8X24_UINT        = 0x14,
    DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS    = 0x15,
    DXGI_FORMAT_X32_TYPELESS_G8X24_UINT     = 0x16,
    DXGI_FORMAT_R10G10B10A2_TYPELESS        = 0x17,
    DXGI_FORMAT_R10G10B10A2_UNORM           = 0x18,
    DXGI_FORMAT_R10G10B10A2_UINT            = 0x19,
    DXGI_FORMAT_R11G11B10_FLOAT             = 0x1a,
    DXGI_FORMAT_R8G8B8A8_TYPELESS           = 0x1b,
    DXGI_FORMAT_R8G8B8A8_UNORM              = 0x1c,
    DXGI_FORMAT_R8G8B8A8_UNORM_SRGB         = 0x1d,
    DXGI_FORMAT_R8G8B8A8_UINT               = 0x1e,
    DXGI_FORMAT_R8G8B8A8_SNORM              = 0x1f,
    DXGI_FORMAT_R8G8B8A8_SINT               = 0x20,
    DXGI_FORMAT_R16G16_TYPELESS             = 0x21,
    DXGI_FORMAT_R16G16_FLOAT                = 0x22,
    DXGI_FORMAT_R16G16_UNORM                = 0x23,
    DXGI_FORMAT_R16G16_UINT                 = 0x24,
    DXGI_FORMAT_R16G16_SNORM                = 0x25,
    DXGI_FORMAT_R16G16_SINT                 = 0x26,
    DXGI_FORMAT_R32_TYPELESS                = 0x27,
    DXGI_FORMAT_D32_FLOAT                   = 0x28,
    DXGI_FORMAT_R32_FLOAT                   = 0x29,
    DXGI_FORMAT_R32_UINT                    = 0x2a,
    DXGI_FORMAT_R32_SINT                    = 0x2b,
    DXGI_FORMAT_R24G8_TYPELESS              = 0x2c,
    DXGI_FORMAT_D24_UNORM_S8_UINT           = 0x2d,
    DXGI_FORMAT_R24_UNORM_X8_TYPELESS       = 0x2e,
    DXGI_FORMAT_X24_TYPELESS_G8_UINT        = 0x2f,
    DXGI_FORMAT_R8G8_TYPELESS               = 0x30,
    DXGI_FORMAT_R8G8_UNORM                  = 0x31,
    DXGI_FORMAT_R8G8_UINT                   = 0x32,
    DXGI_FORMAT_R8G8_SNORM                  = 0x33,
    DXGI_FORMAT_R8G8_SINT                   = 0x34,
    DXGI_FORMAT_R16_TYPELESS                = 0x35,
    DXGI_FORMAT_R16_FLOAT                   = 0x36,
    DXGI_FORMAT_D16_UNORM                   = 0x37,
    DXGI_FORMAT_R16_UNORM                   = 0x38,
    DXGI_FORMAT_R16_UINT                    = 0x39,
    DXGI_FORMAT_R16_SNORM                   = 0x3a,
    DXGI_FORMAT_R16_SINT                    = 0x3b,
    DXGI_FORMAT_R8_TYPELESS                 = 0x3c,
    DXGI_FORMAT_R8_UNORM                    = 0x3d,
    DXGI_FORMAT_R8_UINT                     = 0x3e,
    DXGI_FORMAT_R8_SNORM                    = 0x3f,
    DXGI_FORMAT_R8_SINT                     = 0x40,
    DXGI_FORMAT_A8_UNORM                    = 0x41,
    DXGI_FORMAT_R1_UNORM                    = 0x42,
    DXGI_FORMAT_R9G9B9E5_SHAREDEXP          = 0x43,
    DXGI_FORMAT_R8G8_B8G8_UNORM             = 0x44,
    DXGI_FORMAT_G8R8_G8B8_UNORM             = 0x45,
    DXGI_FORMAT_BC1_TYPELESS                = 0x46,
    DXGI_FORMAT_BC1_UNORM                   = 0x47,
    DXGI_FORMAT_BC1_UNORM_SRGB              = 0x48,
    DXGI_FORMAT_BC2_TYPELESS                = 0x49,
    DXGI_FORMAT_BC2_UNORM                   = 0x4a,
    DXGI_FORMAT_BC2_UNORM_SRGB              = 0x4b,
    DXGI_FORMAT_BC3_TYPELESS                = 0x4c,
    DXGI_FORMAT_BC3_UNORM                   = 0x4d,
    DXGI_FORMAT_BC3_UNORM_SRGB              = 0x4e,
    DXGI_FORMAT_BC4_TYPELESS                = 0x4f,
    DXGI_FORMAT_BC4_UNORM                   = 0x50,
    DXGI_FORMAT_BC4_SNORM                   = 0x51,
    DXGI_FORMAT_BC5_TYPELESS                = 0x52,
    DXGI_FORMAT_BC5_UNORM                   = 0x53,
    DXGI_FORMAT_BC5_SNORM                   = 0x54,
    DXGI_FORMAT_B5G6R5_UNORM                = 0x55,
    DXGI_FORMAT_B5G5R5A1_UNORM              = 0x56,
    DXGI_FORMAT_B8G8R8A8_UNORM              = 0x57,
    DXGI_FORMAT_B8G8R8X8_UNORM              = 0x58,
    DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM  = 0x59,
    DXGI_FORMAT_B8G8R8A8_TYPELESS           = 0x5a,
    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB         = 0x5b,
    DXGI_FORMAT_B8G8R8X8_TYPELESS           = 0x5c,
    DXGI_FORMAT_B8G8R8X8_UNORM_SRGB         = 0x5d,
    DXGI_FORMAT_BC6H_TYPELESS               = 0x5e,
    DXGI_FORMAT_BC6H_UF16                   = 0x5f,
    DXGI_FORMAT_BC6H_SF16                   = 0x60,
    DXGI_FORMAT_BC7_TYPELESS                = 0x61,
    DXGI_FORMAT_BC7_UNORM                   = 0x62,
    DXGI_FORMAT_BC7_UNORM_SRGB              = 0x63,
    DXGI_FORMAT_AYUV                        = 0x64,
    DXGI_FORMAT_Y410                        = 0x65,
    DXGI_FORMAT_Y416                        = 0x66,
    DXGI_FORMAT_NV12                        = 0x67,
    DXGI_FORMAT_P010                        = 0x68,
    DXGI_FORMAT_P016                        = 0x69,
    DXGI_FORMAT_420_OPAQUE                  = 0x6a,
    DXGI_FORMAT_YUY2                        = 0x6b,
    DXGI_FORMAT_Y210                        = 0x6c,
    DXGI_FORMAT_Y216                        = 0x6d,
    DXGI_FORMAT_NV11                        = 0x6e,
    DXGI_FORMAT_AI44                        = 0x6f,
    DXGI_FORMAT_IA44                        = 0x70,
    DXGI_FORMAT_P8                          = 0x71,
    DXGI_FORMAT_A8P8                        = 0x72,
    DXGI_FORMAT_B4G4R4A4_UNORM              = 0x73,

    DXGI_FORMAT_P208                        = 0x82,
    DXGI_FORMAT_V208                        = 0x83,
    DXGI_FORMAT_V408                        = 0x84,

    DXGI_FORMAT_FORCE_UINT                  = 0xffffffff,
} DXGI_FORMAT;