MCPcopy Create free account
hub / github.com/LibreVR/Revive / TextureFormatToDXGIFormat

Method TextureFormatToDXGIFormat

Revive/TextureD3D.cpp:50–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48}
49
50DXGI_FORMAT TextureD3D::TextureFormatToDXGIFormat(ovrTextureFormat format, bool typeless)
51{
52 if (typeless)
53 {
54 switch (format)
55 {
56 case OVR_FORMAT_UNKNOWN: return DXGI_FORMAT_UNKNOWN;
57 //case OVR_FORMAT_B5G6R5_UNORM: return DXGI_FORMAT_B5G6R5_TYPELESS;
58 //case OVR_FORMAT_B5G5R5A1_UNORM: return DXGI_FORMAT_B5G5R5A1_TYPELESS;
59 //case OVR_FORMAT_B4G4R4A4_UNORM: return DXGI_FORMAT_B4G4R4A4_TYPELESS;
60 case OVR_FORMAT_R8G8B8A8_UNORM: return DXGI_FORMAT_R8G8B8A8_TYPELESS;
61 case OVR_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_TYPELESS;
62 case OVR_FORMAT_B8G8R8A8_UNORM: return DXGI_FORMAT_B8G8R8A8_TYPELESS;
63 case OVR_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_TYPELESS;
64 case OVR_FORMAT_B8G8R8X8_UNORM: return DXGI_FORMAT_B8G8R8X8_TYPELESS;
65 case OVR_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_TYPELESS;
66 case OVR_FORMAT_R11G11B10_FLOAT: // TODO: SteamVR doesn't support R11G11B10F
67 case OVR_FORMAT_R16G16B16A16_FLOAT: return DXGI_FORMAT_R16G16B16A16_TYPELESS;
68
69 // Depth formats
70 case OVR_FORMAT_D16_UNORM: return DXGI_FORMAT_R16_TYPELESS;
71 case OVR_FORMAT_D24_UNORM_S8_UINT: return DXGI_FORMAT_R24G8_TYPELESS;
72 case OVR_FORMAT_D32_FLOAT: return DXGI_FORMAT_R32_TYPELESS;
73 case OVR_FORMAT_D32_FLOAT_S8X24_UINT: return DXGI_FORMAT_R32G8X24_TYPELESS;
74
75 // Added in 1.5 compressed formats can be used for static layers
76 case OVR_FORMAT_BC1_UNORM: return DXGI_FORMAT_BC1_TYPELESS;
77 case OVR_FORMAT_BC1_UNORM_SRGB: return DXGI_FORMAT_BC1_TYPELESS;
78 case OVR_FORMAT_BC2_UNORM: return DXGI_FORMAT_BC2_TYPELESS;
79 case OVR_FORMAT_BC2_UNORM_SRGB: return DXGI_FORMAT_BC2_TYPELESS;
80 case OVR_FORMAT_BC3_UNORM: return DXGI_FORMAT_BC3_TYPELESS;
81 case OVR_FORMAT_BC3_UNORM_SRGB: return DXGI_FORMAT_BC3_TYPELESS;
82 case OVR_FORMAT_BC6H_UF16: return DXGI_FORMAT_BC6H_TYPELESS;
83 case OVR_FORMAT_BC6H_SF16: return DXGI_FORMAT_BC6H_TYPELESS;
84 case OVR_FORMAT_BC7_UNORM: return DXGI_FORMAT_BC7_TYPELESS;
85 case OVR_FORMAT_BC7_UNORM_SRGB: return DXGI_FORMAT_BC7_TYPELESS;
86
87 default: return DXGI_FORMAT_UNKNOWN;
88 }
89 }
90 else
91 {
92 switch (format)
93 {
94 case OVR_FORMAT_UNKNOWN: return DXGI_FORMAT_UNKNOWN;
95 case OVR_FORMAT_B5G6R5_UNORM: return DXGI_FORMAT_B5G6R5_UNORM;
96 case OVR_FORMAT_B5G5R5A1_UNORM: return DXGI_FORMAT_B5G5R5A1_UNORM;
97 case OVR_FORMAT_B4G4R4A4_UNORM: return DXGI_FORMAT_B4G4R4A4_UNORM;
98 case OVR_FORMAT_R8G8B8A8_UNORM: return DXGI_FORMAT_R8G8B8A8_UNORM;
99 case OVR_FORMAT_R8G8B8A8_UNORM_SRGB: return DXGI_FORMAT_R8G8B8A8_UNORM_SRGB;
100 case OVR_FORMAT_B8G8R8A8_UNORM: return DXGI_FORMAT_B8G8R8A8_UNORM;
101 case OVR_FORMAT_B8G8R8A8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8A8_UNORM_SRGB;
102 case OVR_FORMAT_B8G8R8X8_UNORM: return DXGI_FORMAT_B8G8R8X8_UNORM;
103 case OVR_FORMAT_B8G8R8X8_UNORM_SRGB: return DXGI_FORMAT_B8G8R8X8_UNORM_SRGB;
104 case OVR_FORMAT_R11G11B10_FLOAT: // TODO: SteamVR doesn't support R11G11B10F
105 case OVR_FORMAT_R16G16B16A16_FLOAT: return DXGI_FORMAT_R16G16B16A16_FLOAT;
106
107 // Depth formats

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected