1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_vk_mandatory_format_support_table.py using data from
3 // vk_mandatory_format_support_data.json and the vk.xml file situated at
4 // /third_party/vulkan-validation-layers/src/scripts/vk.xml
5 //
6 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
7 // Use of this source code is governed by a BSD-style license that can be
8 // found in the LICENSE file.
9 //
10 // vk_mandatory_format_support_table_autogen.cpp:
11 // Queries for full Vulkan mandatory format support information based on VK format.
12
13 #include "libANGLE/renderer/vulkan/vk_format_utils.h"
14
15 using namespace angle;
16
17 namespace rx
18 {
19 namespace vk
20 {
21 namespace
22 {
23 constexpr VkFormatFeatureFlagBits BLIT_DST = VK_FORMAT_FEATURE_BLIT_DST_BIT;
24 constexpr VkFormatFeatureFlagBits BLIT_SRC = VK_FORMAT_FEATURE_BLIT_SRC_BIT;
25 constexpr VkFormatFeatureFlagBits COLOR_ATTACHMENT = VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT;
26 constexpr VkFormatFeatureFlagBits COLOR_ATTACHMENT_BLEND =
27 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT;
28 constexpr VkFormatFeatureFlagBits DEPTH_STENCIL_ATTACHMENT =
29 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT;
30 constexpr VkFormatFeatureFlagBits SAMPLED_IMAGE = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT;
31 constexpr VkFormatFeatureFlagBits SAMPLED_IMAGE_FILTER_LINEAR =
32 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
33 constexpr VkFormatFeatureFlagBits STORAGE_IMAGE = VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT;
34 constexpr VkFormatFeatureFlagBits STORAGE_IMAGE_ATOMIC = VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT;
35 constexpr VkFormatFeatureFlagBits STORAGE_TEXEL_BUFFER = VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT;
36 constexpr VkFormatFeatureFlagBits STORAGE_TEXEL_BUFFER_ATOMIC =
37 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT;
38 constexpr VkFormatFeatureFlagBits UNIFORM_TEXEL_BUFFER = VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT;
39 constexpr VkFormatFeatureFlagBits VERTEX_BUFFER = VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT;
40
41 using namespace angle;
42
43 constexpr FormatMap<VkFormatProperties> kFormatProperties = {
44 {FormatID::A1R5G5B5_UNORM,
45 {0,
46 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
47 SAMPLED_IMAGE_FILTER_LINEAR,
48 0}},
49 {FormatID::ASTC_10x10_SRGB_BLOCK, {0, 0, 0}},
50 {FormatID::ASTC_10x10_UNORM_BLOCK, {0, 0, 0}},
51 {FormatID::ASTC_10x5_SRGB_BLOCK, {0, 0, 0}},
52 {FormatID::ASTC_10x5_UNORM_BLOCK, {0, 0, 0}},
53 {FormatID::ASTC_10x6_SRGB_BLOCK, {0, 0, 0}},
54 {FormatID::ASTC_10x6_UNORM_BLOCK, {0, 0, 0}},
55 {FormatID::ASTC_10x8_SRGB_BLOCK, {0, 0, 0}},
56 {FormatID::ASTC_10x8_UNORM_BLOCK, {0, 0, 0}},
57 {FormatID::ASTC_12x10_SRGB_BLOCK, {0, 0, 0}},
58 {FormatID::ASTC_12x10_UNORM_BLOCK, {0, 0, 0}},
59 {FormatID::ASTC_12x12_SRGB_BLOCK, {0, 0, 0}},
60 {FormatID::ASTC_12x12_UNORM_BLOCK, {0, 0, 0}},
61 {FormatID::ASTC_4x4_SRGB_BLOCK, {0, 0, 0}},
62 {FormatID::ASTC_4x4_UNORM_BLOCK, {0, 0, 0}},
63 {FormatID::ASTC_5x4_SRGB_BLOCK, {0, 0, 0}},
64 {FormatID::ASTC_5x4_UNORM_BLOCK, {0, 0, 0}},
65 {FormatID::ASTC_5x5_SRGB_BLOCK, {0, 0, 0}},
66 {FormatID::ASTC_5x5_UNORM_BLOCK, {0, 0, 0}},
67 {FormatID::ASTC_6x5_SRGB_BLOCK, {0, 0, 0}},
68 {FormatID::ASTC_6x5_UNORM_BLOCK, {0, 0, 0}},
69 {FormatID::ASTC_6x6_SRGB_BLOCK, {0, 0, 0}},
70 {FormatID::ASTC_6x6_UNORM_BLOCK, {0, 0, 0}},
71 {FormatID::ASTC_8x5_SRGB_BLOCK, {0, 0, 0}},
72 {FormatID::ASTC_8x5_UNORM_BLOCK, {0, 0, 0}},
73 {FormatID::ASTC_8x6_SRGB_BLOCK, {0, 0, 0}},
74 {FormatID::ASTC_8x6_UNORM_BLOCK, {0, 0, 0}},
75 {FormatID::ASTC_8x8_SRGB_BLOCK, {0, 0, 0}},
76 {FormatID::ASTC_8x8_UNORM_BLOCK, {0, 0, 0}},
77 {FormatID::B10G10R10A2_UNORM, {0, 0, 0}},
78 {FormatID::B4G4R4A4_UNORM, {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR, 0}},
79 {FormatID::B5G5R5A1_UNORM, {0, 0, 0}},
80 {FormatID::B5G6R5_UNORM, {0, 0, 0}},
81 {FormatID::B8G8R8A8_UNORM,
82 {0,
83 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
84 SAMPLED_IMAGE_FILTER_LINEAR,
85 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
86 {FormatID::B8G8R8A8_UNORM_SRGB,
87 {0,
88 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
89 SAMPLED_IMAGE_FILTER_LINEAR,
90 0}},
91 {FormatID::BC1_RGBA_UNORM_BLOCK, {0, 0, 0}},
92 {FormatID::BC1_RGBA_UNORM_SRGB_BLOCK, {0, 0, 0}},
93 {FormatID::BC1_RGB_UNORM_BLOCK, {0, 0, 0}},
94 {FormatID::BC1_RGB_UNORM_SRGB_BLOCK, {0, 0, 0}},
95 {FormatID::BC2_RGBA_UNORM_BLOCK, {0, 0, 0}},
96 {FormatID::BC2_RGBA_UNORM_SRGB_BLOCK, {0, 0, 0}},
97 {FormatID::BC3_RGBA_UNORM_BLOCK, {0, 0, 0}},
98 {FormatID::BC3_RGBA_UNORM_SRGB_BLOCK, {0, 0, 0}},
99 {FormatID::BC4_RED_SNORM_BLOCK, {0, 0, 0}},
100 {FormatID::BC4_RED_UNORM_BLOCK, {0, 0, 0}},
101 {FormatID::BC5_RG_SNORM_BLOCK, {0, 0, 0}},
102 {FormatID::BC5_RG_UNORM_BLOCK, {0, 0, 0}},
103 {FormatID::BC6H_RGB_SFLOAT_BLOCK, {0, 0, 0}},
104 {FormatID::BC6H_RGB_UFLOAT_BLOCK, {0, 0, 0}},
105 {FormatID::BC7_RGBA_UNORM_BLOCK, {0, 0, 0}},
106 {FormatID::BC7_RGBA_UNORM_SRGB_BLOCK, {0, 0, 0}},
107 {FormatID::D16_UNORM, {0, BLIT_SRC | DEPTH_STENCIL_ATTACHMENT | SAMPLED_IMAGE, 0}},
108 {FormatID::D24_UNORM_S8_UINT, {0, 0, 0}},
109 {FormatID::D24_UNORM_X8_UINT, {0, 0, 0}},
110 {FormatID::D32_FLOAT, {0, 0, 0}},
111 {FormatID::D32_FLOAT_S8X24_UINT, {0, 0, 0}},
112 {FormatID::EAC_R11G11_SNORM_BLOCK, {0, 0, 0}},
113 {FormatID::EAC_R11G11_UNORM_BLOCK, {0, 0, 0}},
114 {FormatID::EAC_R11_SNORM_BLOCK, {0, 0, 0}},
115 {FormatID::EAC_R11_UNORM_BLOCK, {0, 0, 0}},
116 {FormatID::ETC2_R8G8B8A1_SRGB_BLOCK, {0, 0, 0}},
117 {FormatID::ETC2_R8G8B8A1_UNORM_BLOCK, {0, 0, 0}},
118 {FormatID::ETC2_R8G8B8A8_SRGB_BLOCK, {0, 0, 0}},
119 {FormatID::ETC2_R8G8B8A8_UNORM_BLOCK, {0, 0, 0}},
120 {FormatID::ETC2_R8G8B8_SRGB_BLOCK, {0, 0, 0}},
121 {FormatID::ETC2_R8G8B8_UNORM_BLOCK, {0, 0, 0}},
122 {FormatID::EXTERNAL0, {0, 0, 0}},
123 {FormatID::EXTERNAL1, {0, 0, 0}},
124 {FormatID::EXTERNAL2, {0, 0, 0}},
125 {FormatID::EXTERNAL3, {0, 0, 0}},
126 {FormatID::EXTERNAL4, {0, 0, 0}},
127 {FormatID::EXTERNAL5, {0, 0, 0}},
128 {FormatID::EXTERNAL6, {0, 0, 0}},
129 {FormatID::EXTERNAL7, {0, 0, 0}},
130 {FormatID::G8_B8R8_2PLANE_420_UNORM, {0, 0, 0}},
131 {FormatID::G8_B8_R8_3PLANE_420_UNORM, {0, 0, 0}},
132 {FormatID::NONE, {0, 0, 0}},
133 {FormatID::R10G10B10A2_SINT, {0, 0, 0}},
134 {FormatID::R10G10B10A2_SNORM, {0, 0, 0}},
135 {FormatID::R10G10B10A2_SSCALED, {0, 0, 0}},
136 {FormatID::R10G10B10A2_UINT,
137 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE, UNIFORM_TEXEL_BUFFER}},
138 {FormatID::R10G10B10A2_UNORM,
139 {0,
140 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
141 SAMPLED_IMAGE_FILTER_LINEAR,
142 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
143 {FormatID::R10G10B10A2_USCALED, {0, 0, 0}},
144 {FormatID::R11G11B10_FLOAT,
145 {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR, UNIFORM_TEXEL_BUFFER}},
146 {FormatID::R16G16B16A16_FLOAT,
147 {0,
148 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
149 SAMPLED_IMAGE_FILTER_LINEAR | STORAGE_IMAGE,
150 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
151 {FormatID::R16G16B16A16_SINT,
152 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
153 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
154 {FormatID::R16G16B16A16_SNORM, {0, 0, VERTEX_BUFFER}},
155 {FormatID::R16G16B16A16_SSCALED, {0, 0, 0}},
156 {FormatID::R16G16B16A16_UINT,
157 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
158 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
159 {FormatID::R16G16B16A16_UNORM, {0, 0, VERTEX_BUFFER}},
160 {FormatID::R16G16B16A16_USCALED, {0, 0, 0}},
161 {FormatID::R16G16B16_FLOAT, {0, 0, 0}},
162 {FormatID::R16G16B16_SINT, {0, 0, 0}},
163 {FormatID::R16G16B16_SNORM, {0, 0, 0}},
164 {FormatID::R16G16B16_SSCALED, {0, 0, 0}},
165 {FormatID::R16G16B16_UINT, {0, 0, 0}},
166 {FormatID::R16G16B16_UNORM, {0, 0, 0}},
167 {FormatID::R16G16B16_USCALED, {0, 0, 0}},
168 {FormatID::R16G16_FLOAT,
169 {0,
170 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
171 SAMPLED_IMAGE_FILTER_LINEAR,
172 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
173 {FormatID::R16G16_SINT,
174 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
175 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
176 {FormatID::R16G16_SNORM, {0, 0, VERTEX_BUFFER}},
177 {FormatID::R16G16_SSCALED, {0, 0, 0}},
178 {FormatID::R16G16_UINT,
179 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
180 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
181 {FormatID::R16G16_UNORM, {0, 0, VERTEX_BUFFER}},
182 {FormatID::R16G16_USCALED, {0, 0, 0}},
183 {FormatID::R16_FLOAT,
184 {0,
185 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
186 SAMPLED_IMAGE_FILTER_LINEAR,
187 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
188 {FormatID::R16_SINT,
189 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
190 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
191 {FormatID::R16_SNORM, {0, 0, VERTEX_BUFFER}},
192 {FormatID::R16_SSCALED, {0, 0, 0}},
193 {FormatID::R16_UINT,
194 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
195 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
196 {FormatID::R16_UNORM, {0, 0, VERTEX_BUFFER}},
197 {FormatID::R16_USCALED, {0, 0, 0}},
198 {FormatID::R32G32B32A32_FLOAT,
199 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
200 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
201 {FormatID::R32G32B32A32_SINT,
202 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
203 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
204 {FormatID::R32G32B32A32_UINT,
205 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
206 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
207 {FormatID::R32G32B32_FLOAT, {0, 0, VERTEX_BUFFER}},
208 {FormatID::R32G32B32_SINT, {0, 0, VERTEX_BUFFER}},
209 {FormatID::R32G32B32_UINT, {0, 0, VERTEX_BUFFER}},
210 {FormatID::R32G32_FLOAT,
211 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
212 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
213 {FormatID::R32G32_SINT,
214 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
215 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
216 {FormatID::R32G32_UINT,
217 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
218 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
219 {FormatID::R32_FLOAT,
220 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
221 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
222 {FormatID::R32_SINT,
223 {0,
224 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE | STORAGE_IMAGE_ATOMIC,
225 STORAGE_TEXEL_BUFFER | STORAGE_TEXEL_BUFFER_ATOMIC | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
226 {FormatID::R32_UINT,
227 {0,
228 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE | STORAGE_IMAGE_ATOMIC,
229 STORAGE_TEXEL_BUFFER | STORAGE_TEXEL_BUFFER_ATOMIC | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
230 {FormatID::R4G4B4A4_UNORM, {0, 0, 0}},
231 {FormatID::R5G5B5A1_UNORM, {0, 0, 0}},
232 {FormatID::R5G6B5_UNORM,
233 {0,
234 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
235 SAMPLED_IMAGE_FILTER_LINEAR,
236 0}},
237 {FormatID::R8G8B8A8_SINT,
238 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
239 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
240 {FormatID::R8G8B8A8_SNORM,
241 {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR | STORAGE_IMAGE,
242 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
243 {FormatID::R8G8B8A8_SSCALED, {0, 0, 0}},
244 {FormatID::R8G8B8A8_UINT,
245 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE | STORAGE_IMAGE,
246 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
247 {FormatID::R8G8B8A8_UNORM,
248 {0,
249 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
250 SAMPLED_IMAGE_FILTER_LINEAR | STORAGE_IMAGE,
251 STORAGE_TEXEL_BUFFER | UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
252 {FormatID::R8G8B8A8_UNORM_SRGB,
253 {0,
254 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
255 SAMPLED_IMAGE_FILTER_LINEAR,
256 0}},
257 {FormatID::R8G8B8A8_USCALED, {0, 0, 0}},
258 {FormatID::R8G8B8_SINT, {0, 0, 0}},
259 {FormatID::R8G8B8_SNORM, {0, 0, 0}},
260 {FormatID::R8G8B8_SSCALED, {0, 0, 0}},
261 {FormatID::R8G8B8_UINT, {0, 0, 0}},
262 {FormatID::R8G8B8_UNORM, {0, 0, 0}},
263 {FormatID::R8G8B8_UNORM_SRGB, {0, 0, 0}},
264 {FormatID::R8G8B8_USCALED, {0, 0, 0}},
265 {FormatID::R8G8_SINT,
266 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
267 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
268 {FormatID::R8G8_SNORM,
269 {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR,
270 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
271 {FormatID::R8G8_SSCALED, {0, 0, 0}},
272 {FormatID::R8G8_UINT,
273 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
274 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
275 {FormatID::R8G8_UNORM,
276 {0,
277 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
278 SAMPLED_IMAGE_FILTER_LINEAR,
279 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
280 {FormatID::R8G8_UNORM_SRGB, {0, 0, 0}},
281 {FormatID::R8G8_USCALED, {0, 0, 0}},
282 {FormatID::R8_SINT,
283 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
284 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
285 {FormatID::R8_SNORM,
286 {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR,
287 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
288 {FormatID::R8_SSCALED, {0, 0, 0}},
289 {FormatID::R8_UINT,
290 {0, BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | SAMPLED_IMAGE,
291 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
292 {FormatID::R8_UNORM,
293 {0,
294 BLIT_DST | BLIT_SRC | COLOR_ATTACHMENT | COLOR_ATTACHMENT_BLEND | SAMPLED_IMAGE |
295 SAMPLED_IMAGE_FILTER_LINEAR,
296 UNIFORM_TEXEL_BUFFER | VERTEX_BUFFER}},
297 {FormatID::R8_UNORM_SRGB, {0, 0, 0}},
298 {FormatID::R8_USCALED, {0, 0, 0}},
299 {FormatID::R9G9B9E5_SHAREDEXP, {0, BLIT_SRC | SAMPLED_IMAGE | SAMPLED_IMAGE_FILTER_LINEAR, 0}},
300 {FormatID::S8_UINT, {0, 0, 0}}};
301 } // anonymous namespace
302
GetMandatoryFormatSupport(FormatID formatID)303 const VkFormatProperties &GetMandatoryFormatSupport(FormatID formatID)
304 {
305 return kFormatProperties[formatID];
306 }
307 } // namespace vk
308 } // namespace rx
309