Cogs.Core
FormatsD3D11.cpp
1#include "FormatsD3D11.h"
2
6const DXGI_FORMAT Cogs::Direct3D11::Formats[] = {
7 DXGI_FORMAT_UNKNOWN,
8
9 // Unsigned byte formats
10
11 DXGI_FORMAT_R8_UNORM,
12 DXGI_FORMAT_R8G8_UNORM,
13 DXGI_FORMAT_UNKNOWN,
14 DXGI_FORMAT_R8G8B8A8_UNORM,
15
16 // Unsigned short formats
17
18 DXGI_FORMAT_R16_UNORM,
19 DXGI_FORMAT_R16G16_UNORM,
20 DXGI_FORMAT_UNKNOWN,
21 DXGI_FORMAT_R16G16B16A16_UNORM,
22
23 // Signed byte formats
24
25 DXGI_FORMAT_R8_SNORM,
26 DXGI_FORMAT_R8G8_SNORM,
27 DXGI_FORMAT_UNKNOWN,
28 DXGI_FORMAT_R8G8B8A8_SNORM,
29
30 // Signed short formats
31
32 DXGI_FORMAT_R16_SNORM,
33 DXGI_FORMAT_R16G16_SNORM,
34 DXGI_FORMAT_UNKNOWN,
35 DXGI_FORMAT_R16G16B16A16_SNORM,
36
37 // Unsigned byte formats
38
39 DXGI_FORMAT_R8_UINT,
40 DXGI_FORMAT_R8G8_UINT,
41 DXGI_FORMAT_UNKNOWN,
42 DXGI_FORMAT_R8G8B8A8_UINT,
43
44 // Unsigned short formats
45
46 DXGI_FORMAT_R16_UINT,
47 DXGI_FORMAT_R16G16_UINT,
48 DXGI_FORMAT_UNKNOWN,
49 DXGI_FORMAT_R16G16B16A16_UINT,
50
51 // Unsigned integer formats
52
53 DXGI_FORMAT_R32_UINT,
54 DXGI_FORMAT_R32G32_UINT,
55 DXGI_FORMAT_R32G32B32_UINT,
56 DXGI_FORMAT_R32G32B32A32_UINT,
57
58 // Signed byte formats
59
60 DXGI_FORMAT_R8_SINT,
61 DXGI_FORMAT_R8G8_SINT,
62 DXGI_FORMAT_UNKNOWN,
63 DXGI_FORMAT_R8G8B8A8_SINT,
64
65 // Signed short formats
66
67 DXGI_FORMAT_R16_SINT,
68 DXGI_FORMAT_R16G16_SINT,
69 DXGI_FORMAT_UNKNOWN,
70 DXGI_FORMAT_R16G16B16A16_SINT,
71
72 // Signed integer formats
73
74 DXGI_FORMAT_R32_SINT,
75 DXGI_FORMAT_R32G32_SINT,
76 DXGI_FORMAT_R32G32B32_SINT,
77 DXGI_FORMAT_R32G32B32A32_SINT,
78
79 // Half precision floating point formats
80
81 DXGI_FORMAT_R16_FLOAT,
82 DXGI_FORMAT_R16G16_FLOAT,
83 DXGI_FORMAT_UNKNOWN,
84 DXGI_FORMAT_R16G16B16A16_FLOAT,
85
86 // Single precision floating point formats
87
88 DXGI_FORMAT_R32_FLOAT,
89 DXGI_FORMAT_R32G32_FLOAT,
90 DXGI_FORMAT_R32G32B32_FLOAT,
91 DXGI_FORMAT_R32G32B32A32_FLOAT,
92
93 // Depth buffer formats
94
95 DXGI_FORMAT_D16_UNORM,
96 DXGI_FORMAT_UNKNOWN,
97 DXGI_FORMAT_D24_UNORM_S8_UINT,
98 DXGI_FORMAT_D32_FLOAT,
99
100 // Typeless
101 DXGI_FORMAT_R32_TYPELESS,
102 DXGI_FORMAT_R16_TYPELESS,
103
104 // 8 bit typeless
105
106 DXGI_FORMAT_R8_TYPELESS,
107 DXGI_FORMAT_R8G8_TYPELESS,
108 DXGI_FORMAT_UNKNOWN,
109 DXGI_FORMAT_R8G8B8A8_TYPELESS,
110
111 // Reverse component order formats.
112
113 DXGI_FORMAT_UNKNOWN,
114 DXGI_FORMAT_B8G8R8A8_UNORM,
115
116 // Alpha
117
118 DXGI_FORMAT_A8_UNORM,
119
120 // Compressed
121
122 DXGI_FORMAT_BC1_TYPELESS,
123 DXGI_FORMAT_BC1_UNORM,
124 DXGI_FORMAT_BC1_UNORM_SRGB,
125 DXGI_FORMAT_BC2_TYPELESS,
126 DXGI_FORMAT_BC2_UNORM,
127 DXGI_FORMAT_BC2_UNORM_SRGB,
128 DXGI_FORMAT_BC3_TYPELESS,
129 DXGI_FORMAT_BC3_UNORM,
130 DXGI_FORMAT_BC3_UNORM_SRGB,
131 DXGI_FORMAT_BC4_TYPELESS,
132 DXGI_FORMAT_BC4_UNORM,
133 DXGI_FORMAT_BC4_SNORM,
134 DXGI_FORMAT_BC5_TYPELESS,
135 DXGI_FORMAT_BC5_UNORM,
136 DXGI_FORMAT_BC5_SNORM,
137
138 // BC7
139 DXGI_FORMAT_BC6H_SF16,
140 DXGI_FORMAT_BC6H_UF16,
141 DXGI_FORMAT_BC7_UNORM,
142 DXGI_FORMAT_BC7_UNORM_SRGB,
143
144 // PVRTC
145 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
146 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
147 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
148 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
149
150
151 // ETC
152 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
153 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
154 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
155 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
156
157 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
158 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
159 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
160 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
161
162 // ASTC
163 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
164 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
165 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
166 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
167 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
168 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
169 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
170 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
171 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
172 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
173 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
174 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
175 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
176 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
177
178 // ASTC SRGBA
179 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
180 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
181 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
182 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
183 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
184 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
185 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
186 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
187 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
188 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
189 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
190 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
191 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
192 DXGI_FORMAT_UNKNOWN, // Not supported on DX11
193
194 // SRGB
195 DXGI_FORMAT_UNKNOWN,
196 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
197
198 // Packed
199
200 DXGI_FORMAT_R10G10B10A2_TYPELESS,
201 DXGI_FORMAT_R10G10B10A2_UNORM,
202 DXGI_FORMAT_R10G10B10A2_UINT,
203 DXGI_FORMAT_R11G11B10_FLOAT,
204 DXGI_FORMAT_B5G6R5_UNORM, // Note: wrong order.
205 DXGI_FORMAT_B5G5R5A1_UNORM, // Note: wrong order.
206 DXGI_FORMAT_B4G4R4A4_UNORM , // Note: wrong order.
207 DXGI_FORMAT_R9G9B9E5_SHAREDEXP,
208
209 // Matrix
210
211 DXGI_FORMAT_R32G32B32A32_FLOAT
212};
213
214STATIC_ASSERT_MAPPING(Cogs::Direct3D11::Formats, (int)Cogs::TextureFormat::TextureFormat_Size);
215
216const D3D11_TEXTURE_ADDRESS_MODE Cogs::Direct3D11::AddressModes[] = {
217 D3D11_TEXTURE_ADDRESS_CLAMP,
218 D3D11_TEXTURE_ADDRESS_WRAP,
219 D3D11_TEXTURE_ADDRESS_MIRROR,
220 D3D11_TEXTURE_ADDRESS_BORDER,
221};
222
223const D3D11_FILTER Cogs::Direct3D11::FilterModes[] = {
224 D3D11_FILTER_MIN_MAG_MIP_POINT,
225 D3D11_FILTER_MIN_MAG_MIP_LINEAR,
226 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT,
227 D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR,
228};
229
230const D3D11_COMPARISON_FUNC Cogs::Direct3D11::ComparisonFunctions[] = {
231 D3D11_COMPARISON_NEVER,
232 D3D11_COMPARISON_LESS,
233 D3D11_COMPARISON_EQUAL,
234 D3D11_COMPARISON_LESS_EQUAL,
235 D3D11_COMPARISON_GREATER,
236 D3D11_COMPARISON_NOT_EQUAL,
237 D3D11_COMPARISON_GREATER_EQUAL,
238 D3D11_COMPARISON_ALWAYS,
239};
const DXGI_FORMAT Formats[]
Must match up to Format definition.
Definition: FormatsD3D11.cpp:6