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

Method TextureFormatToVkFormat

Revive/TextureVk.cpp:46–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46VkFormat TextureVk::TextureFormatToVkFormat(ovrTextureFormat format)
47{
48 switch (format)
49 {
50 case OVR_FORMAT_UNKNOWN: return VK_FORMAT_UNDEFINED;
51 case OVR_FORMAT_B5G6R5_UNORM: return VK_FORMAT_B5G6R5_UNORM_PACK16;
52 case OVR_FORMAT_B5G5R5A1_UNORM: return VK_FORMAT_B5G5R5A1_UNORM_PACK16;
53 case OVR_FORMAT_B4G4R4A4_UNORM: return VK_FORMAT_B4G4R4A4_UNORM_PACK16;
54 case OVR_FORMAT_R8G8B8A8_UNORM: return VK_FORMAT_R8G8B8A8_UNORM;
55 case OVR_FORMAT_R8G8B8A8_UNORM_SRGB: return VK_FORMAT_R8G8B8A8_SRGB;
56 case OVR_FORMAT_B8G8R8A8_UNORM: return VK_FORMAT_B8G8R8A8_UNORM;
57 case OVR_FORMAT_B8G8R8A8_UNORM_SRGB: return VK_FORMAT_B8G8R8A8_SRGB;
58 case OVR_FORMAT_B8G8R8X8_UNORM: return VK_FORMAT_B8G8R8_UNORM;
59 case OVR_FORMAT_B8G8R8X8_UNORM_SRGB: return VK_FORMAT_B8G8R8_SRGB;
60 case OVR_FORMAT_R16G16B16A16_FLOAT: return VK_FORMAT_R16G16B16A16_SFLOAT;
61 case OVR_FORMAT_R11G11B10_FLOAT: return VK_FORMAT_A2R10G10B10_UINT_PACK32; // TODO: OpenVR doesn't support R11G11B10
62
63 // Depth formats
64 case OVR_FORMAT_D16_UNORM: return VK_FORMAT_D16_UNORM;
65 case OVR_FORMAT_D24_UNORM_S8_UINT: return VK_FORMAT_D24_UNORM_S8_UINT;
66 case OVR_FORMAT_D32_FLOAT: return VK_FORMAT_D32_SFLOAT;
67 case OVR_FORMAT_D32_FLOAT_S8X24_UINT: return VK_FORMAT_D32_SFLOAT_S8_UINT;
68
69 // Added in 1.5 compressed formats can be used for static layers
70 case OVR_FORMAT_BC1_UNORM: return VK_FORMAT_BC1_RGBA_UNORM_BLOCK;
71 case OVR_FORMAT_BC1_UNORM_SRGB: return VK_FORMAT_BC1_RGBA_SRGB_BLOCK;
72 case OVR_FORMAT_BC2_UNORM: return VK_FORMAT_BC2_UNORM_BLOCK;
73 case OVR_FORMAT_BC2_UNORM_SRGB: return VK_FORMAT_BC2_SRGB_BLOCK;
74 case OVR_FORMAT_BC3_UNORM: return VK_FORMAT_BC3_UNORM_BLOCK;
75 case OVR_FORMAT_BC3_UNORM_SRGB: return VK_FORMAT_BC3_SRGB_BLOCK;
76 case OVR_FORMAT_BC6H_UF16: return VK_FORMAT_BC6H_UFLOAT_BLOCK;
77 case OVR_FORMAT_BC6H_SF16: return VK_FORMAT_BC6H_SFLOAT_BLOCK;
78 case OVR_FORMAT_BC7_UNORM: return VK_FORMAT_BC7_UNORM_BLOCK;
79 case OVR_FORMAT_BC7_UNORM_SRGB: return VK_FORMAT_BC7_SRGB_BLOCK;
80
81 default: return VK_FORMAT_UNDEFINED;
82 }
83}
84
85VkImageUsageFlags TextureVk::BindFlagsToVkImageUsageFlags(unsigned int flags)
86{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected