Cogs.Core
FormatsVK.cpp
1#include "FormatsVK.h"
2
3const VkFormat Cogs::Vulkan::TextureFormats[] = {
4 VK_FORMAT_UNDEFINED,
5
6 // Unsigned byte formats
7
8 VK_FORMAT_R8_UNORM,
9 VK_FORMAT_R8G8_UNORM,
10 VK_FORMAT_R8G8B8_UNORM,
11 VK_FORMAT_R8G8B8A8_UNORM,
12
13 // Unsigned short formats
14
15 VK_FORMAT_R16_UNORM,
16 VK_FORMAT_R16G16_UNORM,
17 VK_FORMAT_R16G16B16_UNORM,
18 VK_FORMAT_R16G16B16A16_UNORM,
19
20 // Signed byte formats
21
22 VK_FORMAT_R8_SNORM,
23 VK_FORMAT_R8G8_SNORM,
24 VK_FORMAT_R8G8B8_SNORM,
25 VK_FORMAT_R8G8B8A8_SNORM,
26
27 // Signed short formats
28
29 VK_FORMAT_R16_SNORM,
30 VK_FORMAT_R16G16_SNORM,
31 VK_FORMAT_R16G16B16_SNORM,
32 VK_FORMAT_R16G16B16A16_SNORM,
33
34 // Unsigned byte formats
35
36 VK_FORMAT_R8_UINT,
37 VK_FORMAT_R8G8_UINT,
38 VK_FORMAT_R8G8B8_UINT,
39 VK_FORMAT_R8G8B8A8_UINT,
40
41 // Unsigned short formats
42
43 VK_FORMAT_R16_UINT,
44 VK_FORMAT_R16G16_UINT,
45 VK_FORMAT_R16G16B16_UINT,
46 VK_FORMAT_R16G16B16A16_UINT,
47
48 // Unsigned integer formats
49
50 VK_FORMAT_R32_UINT,
51 VK_FORMAT_R32G32_UINT,
52 VK_FORMAT_R32G32B32_UINT,
53 VK_FORMAT_R32G32B32A32_UINT,
54
55 // Signed byte formats
56
57 VK_FORMAT_R8_SINT,
58 VK_FORMAT_R8G8_SINT,
59 VK_FORMAT_R8G8B8_SINT,
60 VK_FORMAT_R8G8B8A8_SINT,
61
62 // Signed short formats
63
64 VK_FORMAT_R16_SINT,
65 VK_FORMAT_R16G16_SINT,
66 VK_FORMAT_R16G16B16_SINT,
67 VK_FORMAT_R16G16B16A16_SINT,
68
69 // Signed integer formats
70
71 VK_FORMAT_R32_SINT,
72 VK_FORMAT_R32G32_SINT,
73 VK_FORMAT_R32G32B32_SINT,
74 VK_FORMAT_R32G32B32A32_SINT,
75
76 // Half precision floating point formats
77
78 VK_FORMAT_R16_SFLOAT,
79 VK_FORMAT_R16G16_SFLOAT,
80 VK_FORMAT_R16G16B16_SFLOAT,
81 VK_FORMAT_R16G16B16A16_SFLOAT,
82
83 // Single precision floating point formats
84
85 VK_FORMAT_R32_SFLOAT,
86 VK_FORMAT_R32G32_SFLOAT,
87 VK_FORMAT_R32G32B32_SFLOAT,
88 VK_FORMAT_R32G32B32A32_SFLOAT,
89
90 // Depth buffer formats
91
92 VK_FORMAT_D16_UNORM,
93 VK_FORMAT_UNDEFINED,
94 VK_FORMAT_D24_UNORM_S8_UINT,
95 VK_FORMAT_D32_SFLOAT,
96 VK_FORMAT_D32_SFLOAT,
97 VK_FORMAT_R16_SFLOAT,
98
99 // 8 bit typeless
100
101 VK_FORMAT_UNDEFINED,
102 VK_FORMAT_UNDEFINED,
103 VK_FORMAT_UNDEFINED,
104 VK_FORMAT_UNDEFINED,
105
106 // Reverse component order formats.
107
108 VK_FORMAT_UNDEFINED,
109 VK_FORMAT_B8G8R8A8_UNORM,
110
111 // Alpha
112
113 VK_FORMAT_UNDEFINED,
114
115 // Compressed TODO
116
117 VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
118 VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
119 VK_FORMAT_BC1_RGBA_SRGB_BLOCK,
120 VK_FORMAT_BC1_RGBA_UNORM_BLOCK,
121 VK_FORMAT_BC2_UNORM_BLOCK,
122 VK_FORMAT_BC2_SRGB_BLOCK,
123 VK_FORMAT_BC2_UNORM_BLOCK,
124 VK_FORMAT_BC3_UNORM_BLOCK,
125 VK_FORMAT_BC3_SRGB_BLOCK,
126 VK_FORMAT_BC3_UNORM_BLOCK,
127 VK_FORMAT_BC4_UNORM_BLOCK,
128 VK_FORMAT_BC4_UNORM_BLOCK,
129 VK_FORMAT_BC5_UNORM_BLOCK,
130 VK_FORMAT_BC5_UNORM_BLOCK,
131 VK_FORMAT_BC5_SNORM_BLOCK,
132
133 // BPTC TODO
134 VK_FORMAT_UNDEFINED,
135 VK_FORMAT_UNDEFINED,
136 VK_FORMAT_UNDEFINED,
137 VK_FORMAT_UNDEFINED,
138
139 // PVRTC TODO
140 VK_FORMAT_UNDEFINED,
141 VK_FORMAT_UNDEFINED,
142 VK_FORMAT_UNDEFINED,
143 VK_FORMAT_UNDEFINED,
144
145 //ETC TODO
146 VK_FORMAT_UNDEFINED,
147 VK_FORMAT_UNDEFINED,
148 VK_FORMAT_UNDEFINED,
149 VK_FORMAT_UNDEFINED,
150
151 VK_FORMAT_UNDEFINED,
152 VK_FORMAT_UNDEFINED,
153 VK_FORMAT_UNDEFINED,
154 VK_FORMAT_UNDEFINED,
155
156 // ASTC TODO
157 VK_FORMAT_UNDEFINED,
158 VK_FORMAT_UNDEFINED,
159 VK_FORMAT_UNDEFINED,
160 VK_FORMAT_UNDEFINED,
161 VK_FORMAT_UNDEFINED,
162 VK_FORMAT_UNDEFINED,
163 VK_FORMAT_UNDEFINED,
164 VK_FORMAT_UNDEFINED,
165 VK_FORMAT_UNDEFINED,
166 VK_FORMAT_UNDEFINED,
167 VK_FORMAT_UNDEFINED,
168 VK_FORMAT_UNDEFINED,
169 VK_FORMAT_UNDEFINED,
170 VK_FORMAT_UNDEFINED,
171 // ASTC SRGBA TODO
172 VK_FORMAT_UNDEFINED,
173 VK_FORMAT_UNDEFINED,
174 VK_FORMAT_UNDEFINED,
175 VK_FORMAT_UNDEFINED,
176 VK_FORMAT_UNDEFINED,
177 VK_FORMAT_UNDEFINED,
178 VK_FORMAT_UNDEFINED,
179 VK_FORMAT_UNDEFINED,
180 VK_FORMAT_UNDEFINED,
181 VK_FORMAT_UNDEFINED,
182 VK_FORMAT_UNDEFINED,
183 VK_FORMAT_UNDEFINED,
184 VK_FORMAT_UNDEFINED,
185 VK_FORMAT_UNDEFINED,
186
187 // SRGB
188
189 VK_FORMAT_UNDEFINED,
190 VK_FORMAT_R8G8B8A8_SRGB,
191
192 VK_FORMAT_UNDEFINED,
193 VK_FORMAT_UNDEFINED,
194 VK_FORMAT_UNDEFINED,
195 VK_FORMAT_UNDEFINED,
196 VK_FORMAT_UNDEFINED,
197 VK_FORMAT_UNDEFINED,
198 VK_FORMAT_UNDEFINED,
199 VK_FORMAT_UNDEFINED,
200
201 VK_FORMAT_UNDEFINED,
202};
203
204STATIC_ASSERT_MAPPING(Cogs::Vulkan::TextureFormats, (int)Cogs::TextureFormat::TextureFormat_Size);