-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOpenGL_MapFormats_FallBacks.cpp
More file actions
67 lines (61 loc) · 3.69 KB
/
OpenGL_MapFormats_FallBacks.cpp
File metadata and controls
67 lines (61 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <unordered_map>
#include <string>
#include "OpenGL_MapFormats_FallBacks.h"
static const std::unordered_map<int, FallbackMapping> dxgiFallbackMap = {
{0, {"DXGI_FORMAT_UNKNOWN", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{1, {"DXGI_FORMAT_R32G32B32A32_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{5, {"DXGI_FORMAT_R32G32B32_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{9, {"DXGI_FORMAT_R16G16B16A16_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{15, {"DXGI_FORMAT_R32G32_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{19, {"DXGI_FORMAT_R32G8X24_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{21, {"DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{22, {"DXGI_FORMAT_X32_TYPELESS_G8X24_UINT", 30, "DXGI_FORMAT_R8G8B8A8_UINT"}},
{23, {"DXGI_FORMAT_R10G10B10A2_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{27, {"DXGI_FORMAT_R8G8B8A8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{33, {"DXGI_FORMAT_R16G16_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{39, {"DXGI_FORMAT_R32_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{44, {"DXGI_FORMAT_R24G8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{46, {"DXGI_FORMAT_R24_UNORM_X8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{47, {"DXGI_FORMAT_X24_TYPELESS_G8_UINT", 30, "DXGI_FORMAT_R8G8B8A8_UINT"}},
{48, {"DXGI_FORMAT_R8G8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{53, {"DXGI_FORMAT_R16_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{60, {"DXGI_FORMAT_R8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{66, {"DXGI_FORMAT_R1_UNORM", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{68, {"DXGI_FORMAT_R8G8_B8G8_UNORM", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{69, {"DXGI_FORMAT_G8R8_G8B8_UNORM", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{70, {"DXGI_FORMAT_BC1_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{73, {"DXGI_FORMAT_BC2_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{76, {"DXGI_FORMAT_BC3_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{79, {"DXGI_FORMAT_BC4_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{82, {"DXGI_FORMAT_BC5_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{89, {"DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{90, {"DXGI_FORMAT_B8G8R8A8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{92, {"DXGI_FORMAT_B8G8R8X8_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{94, {"DXGI_FORMAT_BC6H_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{97, {"DXGI_FORMAT_BC7_TYPELESS", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{100, {"DXGI_FORMAT_AYUV", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{101, {"DXGI_FORMAT_Y410", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{102, {"DXGI_FORMAT_Y416", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{103, {"DXGI_FORMAT_NV12", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{104, {"DXGI_FORMAT_P010", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{105, {"DXGI_FORMAT_P016", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{106, {"DXGI_FORMAT_420_OPAQUE", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{107, {"DXGI_FORMAT_YUY2", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{108, {"DXGI_FORMAT_Y210", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{109, {"DXGI_FORMAT_Y216", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{110, {"DXGI_FORMAT_NV11", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{111, {"DXGI_FORMAT_AI44", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{112, {"DXGI_FORMAT_IA44", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{113, {"DXGI_FORMAT_P8", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{114, {"DXGI_FORMAT_A8P8", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{130, {"DXGI_FORMAT_P208", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{131, {"DXGI_FORMAT_V208", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
{132, {"DXGI_FORMAT_V408", 28, "DXGI_FORMAT_R8G8B8A8_UNORM"}},
};
int ResolveFallback(int dxgiCode)
{
auto it = dxgiFallbackMap.find(dxgiCode);
if (it != dxgiFallbackMap.end())
return it->second.fallbackCode;
return 28; // default fallback
}