1/*
2 * Copyright 2016 Józef Kucia for CodeWeavers
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19const unsigned int DXGI_FORMAT_DEFINED = 1;
20
21typedef enum DXGI_FORMAT
22{
23    DXGI_FORMAT_UNKNOWN                     = 0x00,
24    DXGI_FORMAT_R32G32B32A32_TYPELESS       = 0x01,
25    DXGI_FORMAT_R32G32B32A32_FLOAT          = 0x02,
26    DXGI_FORMAT_R32G32B32A32_UINT           = 0x03,
27    DXGI_FORMAT_R32G32B32A32_SINT           = 0x04,
28    DXGI_FORMAT_R32G32B32_TYPELESS          = 0x05,
29    DXGI_FORMAT_R32G32B32_FLOAT             = 0x06,
30    DXGI_FORMAT_R32G32B32_UINT              = 0x07,
31    DXGI_FORMAT_R32G32B32_SINT              = 0x08,
32    DXGI_FORMAT_R16G16B16A16_TYPELESS       = 0x09,
33    DXGI_FORMAT_R16G16B16A16_FLOAT          = 0x0a,
34    DXGI_FORMAT_R16G16B16A16_UNORM          = 0x0b,
35    DXGI_FORMAT_R16G16B16A16_UINT           = 0x0c,
36    DXGI_FORMAT_R16G16B16A16_SNORM          = 0x0d,
37    DXGI_FORMAT_R16G16B16A16_SINT           = 0x0e,
38    DXGI_FORMAT_R32G32_TYPELESS             = 0x0f,
39    DXGI_FORMAT_R32G32_FLOAT                = 0x10,
40    DXGI_FORMAT_R32G32_UINT                 = 0x11,
41    DXGI_FORMAT_R32G32_SINT                 = 0x12,
42    DXGI_FORMAT_R32G8X24_TYPELESS           = 0x13,
43    DXGI_FORMAT_D32_FLOAT_S8X24_UINT        = 0x14,
44    DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS    = 0x15,
45    DXGI_FORMAT_X32_TYPELESS_G8X24_UINT     = 0x16,
46    DXGI_FORMAT_R10G10B10A2_TYPELESS        = 0x17,
47    DXGI_FORMAT_R10G10B10A2_UNORM           = 0x18,
48    DXGI_FORMAT_R10G10B10A2_UINT            = 0x19,
49    DXGI_FORMAT_R11G11B10_FLOAT             = 0x1a,
50    DXGI_FORMAT_R8G8B8A8_TYPELESS           = 0x1b,
51    DXGI_FORMAT_R8G8B8A8_UNORM              = 0x1c,
52    DXGI_FORMAT_R8G8B8A8_UNORM_SRGB         = 0x1d,
53    DXGI_FORMAT_R8G8B8A8_UINT               = 0x1e,
54    DXGI_FORMAT_R8G8B8A8_SNORM              = 0x1f,
55    DXGI_FORMAT_R8G8B8A8_SINT               = 0x20,
56    DXGI_FORMAT_R16G16_TYPELESS             = 0x21,
57    DXGI_FORMAT_R16G16_FLOAT                = 0x22,
58    DXGI_FORMAT_R16G16_UNORM                = 0x23,
59    DXGI_FORMAT_R16G16_UINT                 = 0x24,
60    DXGI_FORMAT_R16G16_SNORM                = 0x25,
61    DXGI_FORMAT_R16G16_SINT                 = 0x26,
62    DXGI_FORMAT_R32_TYPELESS                = 0x27,
63    DXGI_FORMAT_D32_FLOAT                   = 0x28,
64    DXGI_FORMAT_R32_FLOAT                   = 0x29,
65    DXGI_FORMAT_R32_UINT                    = 0x2a,
66    DXGI_FORMAT_R32_SINT                    = 0x2b,
67    DXGI_FORMAT_R24G8_TYPELESS              = 0x2c,
68    DXGI_FORMAT_D24_UNORM_S8_UINT           = 0x2d,
69    DXGI_FORMAT_R24_UNORM_X8_TYPELESS       = 0x2e,
70    DXGI_FORMAT_X24_TYPELESS_G8_UINT        = 0x2f,
71    DXGI_FORMAT_R8G8_TYPELESS               = 0x30,
72    DXGI_FORMAT_R8G8_UNORM                  = 0x31,
73    DXGI_FORMAT_R8G8_UINT                   = 0x32,
74    DXGI_FORMAT_R8G8_SNORM                  = 0x33,
75    DXGI_FORMAT_R8G8_SINT                   = 0x34,
76    DXGI_FORMAT_R16_TYPELESS                = 0x35,
77    DXGI_FORMAT_R16_FLOAT                   = 0x36,
78    DXGI_FORMAT_D16_UNORM                   = 0x37,
79    DXGI_FORMAT_R16_UNORM                   = 0x38,
80    DXGI_FORMAT_R16_UINT                    = 0x39,
81    DXGI_FORMAT_R16_SNORM                   = 0x3a,
82    DXGI_FORMAT_R16_SINT                    = 0x3b,
83    DXGI_FORMAT_R8_TYPELESS                 = 0x3c,
84    DXGI_FORMAT_R8_UNORM                    = 0x3d,
85    DXGI_FORMAT_R8_UINT                     = 0x3e,
86    DXGI_FORMAT_R8_SNORM                    = 0x3f,
87    DXGI_FORMAT_R8_SINT                     = 0x40,
88    DXGI_FORMAT_A8_UNORM                    = 0x41,
89    DXGI_FORMAT_R1_UNORM                    = 0x42,
90    DXGI_FORMAT_R9G9B9E5_SHAREDEXP          = 0x43,
91    DXGI_FORMAT_R8G8_B8G8_UNORM             = 0x44,
92    DXGI_FORMAT_G8R8_G8B8_UNORM             = 0x45,
93    DXGI_FORMAT_BC1_TYPELESS                = 0x46,
94    DXGI_FORMAT_BC1_UNORM                   = 0x47,
95    DXGI_FORMAT_BC1_UNORM_SRGB              = 0x48,
96    DXGI_FORMAT_BC2_TYPELESS                = 0x49,
97    DXGI_FORMAT_BC2_UNORM                   = 0x4a,
98    DXGI_FORMAT_BC2_UNORM_SRGB              = 0x4b,
99    DXGI_FORMAT_BC3_TYPELESS                = 0x4c,
100    DXGI_FORMAT_BC3_UNORM                   = 0x4d,
101    DXGI_FORMAT_BC3_UNORM_SRGB              = 0x4e,
102    DXGI_FORMAT_BC4_TYPELESS                = 0x4f,
103    DXGI_FORMAT_BC4_UNORM                   = 0x50,
104    DXGI_FORMAT_BC4_SNORM                   = 0x51,
105    DXGI_FORMAT_BC5_TYPELESS                = 0x52,
106    DXGI_FORMAT_BC5_UNORM                   = 0x53,
107    DXGI_FORMAT_BC5_SNORM                   = 0x54,
108    DXGI_FORMAT_B5G6R5_UNORM                = 0x55,
109    DXGI_FORMAT_B5G5R5A1_UNORM              = 0x56,
110    DXGI_FORMAT_B8G8R8A8_UNORM              = 0x57,
111    DXGI_FORMAT_B8G8R8X8_UNORM              = 0x58,
112    DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM  = 0x59,
113    DXGI_FORMAT_B8G8R8A8_TYPELESS           = 0x5a,
114    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB         = 0x5b,
115    DXGI_FORMAT_B8G8R8X8_TYPELESS           = 0x5c,
116    DXGI_FORMAT_B8G8R8X8_UNORM_SRGB         = 0x5d,
117    DXGI_FORMAT_BC6H_TYPELESS               = 0x5e,
118    DXGI_FORMAT_BC6H_UF16                   = 0x5f,
119    DXGI_FORMAT_BC6H_SF16                   = 0x60,
120    DXGI_FORMAT_BC7_TYPELESS                = 0x61,
121    DXGI_FORMAT_BC7_UNORM                   = 0x62,
122    DXGI_FORMAT_BC7_UNORM_SRGB              = 0x63,
123    DXGI_FORMAT_AYUV                        = 0x64,
124    DXGI_FORMAT_Y410                        = 0x65,
125    DXGI_FORMAT_Y416                        = 0x66,
126    DXGI_FORMAT_NV12                        = 0x67,
127    DXGI_FORMAT_P010                        = 0x68,
128    DXGI_FORMAT_P016                        = 0x69,
129    DXGI_FORMAT_420_OPAQUE                  = 0x6a,
130    DXGI_FORMAT_YUY2                        = 0x6b,
131    DXGI_FORMAT_Y210                        = 0x6c,
132    DXGI_FORMAT_Y216                        = 0x6d,
133    DXGI_FORMAT_NV11                        = 0x6e,
134    DXGI_FORMAT_AI44                        = 0x6f,
135    DXGI_FORMAT_IA44                        = 0x70,
136    DXGI_FORMAT_P8                          = 0x71,
137    DXGI_FORMAT_A8P8                        = 0x72,
138    DXGI_FORMAT_B4G4R4A4_UNORM              = 0x73,
139
140    DXGI_FORMAT_P208                        = 0x82,
141    DXGI_FORMAT_V208                        = 0x83,
142    DXGI_FORMAT_V408                        = 0x84,
143
144    DXGI_FORMAT_FORCE_UINT                  = 0xffffffff,
145} DXGI_FORMAT;
146