MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Samples / to_blockdim

Function to_blockdim

framework/scene_graph/components/image/astc.cpp:48–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46using Path = std::filesystem::path;
47
48BlockDim to_blockdim(const VkFormat format)
49{
50 switch (format)
51 {
52 case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
53 case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
54 return {4, 4, 1};
55 case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
56 case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
57 return {5, 4, 1};
58 case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
59 case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
60 return {5, 5, 1};
61 case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
62 case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
63 return {6, 5, 1};
64 case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
65 case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
66 return {6, 6, 1};
67 case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
68 case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
69 return {8, 5, 1};
70 case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
71 case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
72 return {8, 6, 1};
73 case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
74 case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
75 return {8, 8, 1};
76 case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
77 case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
78 return {10, 5, 1};
79 case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
80 case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
81 return {10, 6, 1};
82 case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
83 case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
84 return {10, 8, 1};
85 case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
86 case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
87 return {10, 10, 1};
88 case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
89 case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
90 return {12, 10, 1};
91 case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
92 case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
93 return {12, 12, 1};
94 default:
95 throw std::runtime_error{"Invalid astc format"};
96 }
97}
98
99inline astcenc_profile to_profile(const VkFormat format)
100{

Callers 1

AstcMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected