• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "description": [
3        "Copyright 2018 The ANGLE Project Authors. All rights reserved.",
4        "Use of this source code is governed by a BSD-style license that can be",
5        "found in the LICENSE file.",
6        "",
7        "vk_format_map.json: Format mapping between OpenGL and Vulkan.",
8        "",
9        "The format of the map is a dictionary where the key of each entry is the",
10        "ANGLE format ID, and the value is the Vulkan format enum. Note some formats",
11        "are missing from the map, these formats are either unsupported or emulated",
12        "on Vulkan. The map matches GL formats to identical Vulkan formats; missing",
13        "formats use the fallback table for emulation.",
14        "",
15        "We implement formats that aren't natively supported in Vulkan using",
16        "fallback formats. These are specified as dictionaries (also keyed on",
17        "the angle format ID), with two optional entries for Buffer and Image",
18        "formats. Each entry specifies a fallback format.",
19        "",
20        "Also see gen_vk_format_table.py for the code generation step."
21    ],
22    "map": {
23        "NONE": "VK_FORMAT_UNDEFINED",
24        "A1R5G5B5_UNORM": "VK_FORMAT_A1R5G5B5_UNORM_PACK16",
25        "B4G4R4A4_UNORM": "VK_FORMAT_B4G4R4A4_UNORM_PACK16",
26        "R4G4B4A4_UNORM": "VK_FORMAT_R4G4B4A4_UNORM_PACK16",
27        "R5G6B5_UNORM": "VK_FORMAT_R5G6B5_UNORM_PACK16",
28        "R5G5B5A1_UNORM": "VK_FORMAT_R5G5B5A1_UNORM_PACK16",
29        "B5G6R5_UNORM": "VK_FORMAT_B5G6R5_UNORM_PACK16",
30        "B5G5R5A1_UNORM": "VK_FORMAT_B5G5R5A1_UNORM_PACK16",
31        "R8_UNORM": "VK_FORMAT_R8_UNORM",
32        "R8_UNORM_SRGB": "VK_FORMAT_R8_SRGB",
33        "R8_SNORM": "VK_FORMAT_R8_SNORM",
34        "R8_UINT": "VK_FORMAT_R8_UINT",
35        "R8_SINT": "VK_FORMAT_R8_SINT",
36        "R8_USCALED": "VK_FORMAT_R8_USCALED",
37        "R8_SSCALED": "VK_FORMAT_R8_SSCALED",
38        "R8G8_UNORM": "VK_FORMAT_R8G8_UNORM",
39        "R8G8_UNORM_SRGB": "VK_FORMAT_R8G8_SRGB",
40        "R8G8_SNORM": "VK_FORMAT_R8G8_SNORM",
41        "R8G8_UINT": "VK_FORMAT_R8G8_UINT",
42        "R8G8_SINT": "VK_FORMAT_R8G8_SINT",
43        "R8G8_USCALED": "VK_FORMAT_R8G8_USCALED",
44        "R8G8_SSCALED": "VK_FORMAT_R8G8_SSCALED",
45        "R8G8B8_SNORM": "VK_FORMAT_R8G8B8_SNORM",
46        "R8G8B8_UINT": "VK_FORMAT_R8G8B8_UINT",
47        "R8G8B8_SINT": "VK_FORMAT_R8G8B8_SINT",
48        "R8G8B8_USCALED": "VK_FORMAT_R8G8B8_USCALED",
49        "R8G8B8_SSCALED": "VK_FORMAT_R8G8B8_SSCALED",
50        "R8G8B8_UNORM_SRGB": "VK_FORMAT_R8G8B8_SRGB",
51        "R8G8B8A8_UNORM": "VK_FORMAT_R8G8B8A8_UNORM",
52        "R8G8B8A8_SNORM": "VK_FORMAT_R8G8B8A8_SNORM",
53        "R8G8B8A8_UINT": "VK_FORMAT_R8G8B8A8_UINT",
54        "R8G8B8A8_SINT": "VK_FORMAT_R8G8B8A8_SINT",
55        "R8G8B8A8_USCALED": "VK_FORMAT_R8G8B8A8_USCALED",
56        "R8G8B8A8_SSCALED": "VK_FORMAT_R8G8B8A8_SSCALED",
57        "R8G8B8A8_UNORM_SRGB": "VK_FORMAT_R8G8B8A8_SRGB",
58        "B8G8R8A8_UNORM": "VK_FORMAT_B8G8R8A8_UNORM",
59        "B8G8R8A8_UNORM_SRGB": "VK_FORMAT_B8G8R8A8_SRGB",
60        "B10G10R10A2_UNORM": "VK_FORMAT_A2R10G10B10_UNORM_PACK32",
61        "R10G10B10A2_UNORM": "VK_FORMAT_A2B10G10R10_UNORM_PACK32",
62        "R10G10B10A2_SNORM": "VK_FORMAT_A2B10G10R10_SNORM_PACK32",
63        "R10G10B10A2_USCALED": "VK_FORMAT_A2B10G10R10_USCALED_PACK32",
64        "R10G10B10A2_SSCALED": "VK_FORMAT_A2B10G10R10_SSCALED_PACK32",
65        "R10G10B10A2_UINT": "VK_FORMAT_A2B10G10R10_UINT_PACK32",
66        "R10G10B10A2_SINT": "VK_FORMAT_A2B10G10R10_SINT_PACK32",
67        "R16_UNORM": "VK_FORMAT_R16_UNORM",
68        "R16_SNORM": "VK_FORMAT_R16_SNORM",
69        "R16_USCALED": "VK_FORMAT_R16_USCALED",
70        "R16_SSCALED": "VK_FORMAT_R16_SSCALED",
71        "R16_UINT": "VK_FORMAT_R16_UINT",
72        "R16_SINT": "VK_FORMAT_R16_SINT",
73        "R16_FLOAT": "VK_FORMAT_R16_SFLOAT",
74        "R16G16_UNORM": "VK_FORMAT_R16G16_UNORM",
75        "R16G16_SNORM": "VK_FORMAT_R16G16_SNORM",
76        "R16G16_USCALED": "VK_FORMAT_R16G16_USCALED",
77        "R16G16_SSCALED": "VK_FORMAT_R16G16_SSCALED",
78        "R16G16_UINT": "VK_FORMAT_R16G16_UINT",
79        "R16G16_SINT": "VK_FORMAT_R16G16_SINT",
80        "R16G16_FLOAT": "VK_FORMAT_R16G16_SFLOAT",
81        "R16G16B16_UNORM": "VK_FORMAT_R16G16B16_UNORM",
82        "R16G16B16_SNORM": "VK_FORMAT_R16G16B16_SNORM",
83        "R16G16B16_USCALED": "VK_FORMAT_R16G16B16_USCALED",
84        "R16G16B16_SSCALED": "VK_FORMAT_R16G16B16_SSCALED",
85        "R16G16B16_UINT": "VK_FORMAT_R16G16B16_UINT",
86        "R16G16B16_SINT": "VK_FORMAT_R16G16B16_SINT",
87        "R16G16B16_FLOAT": "VK_FORMAT_R16G16B16_SFLOAT",
88        "R16G16B16A16_UNORM": "VK_FORMAT_R16G16B16A16_UNORM",
89        "R16G16B16A16_SNORM": "VK_FORMAT_R16G16B16A16_SNORM",
90        "R16G16B16A16_USCALED": "VK_FORMAT_R16G16B16A16_USCALED",
91        "R16G16B16A16_SSCALED": "VK_FORMAT_R16G16B16A16_SSCALED",
92        "R16G16B16A16_UINT": "VK_FORMAT_R16G16B16A16_UINT",
93        "R16G16B16A16_SINT": "VK_FORMAT_R16G16B16A16_SINT",
94        "R16G16B16A16_FLOAT": "VK_FORMAT_R16G16B16A16_SFLOAT",
95        "R32_UINT": "VK_FORMAT_R32_UINT",
96        "R32_SINT": "VK_FORMAT_R32_SINT",
97        "R32_FLOAT": "VK_FORMAT_R32_SFLOAT",
98        "R32G32_UINT": "VK_FORMAT_R32G32_UINT",
99        "R32G32_SINT": "VK_FORMAT_R32G32_SINT",
100        "R32G32_FLOAT": "VK_FORMAT_R32G32_SFLOAT",
101        "R32G32B32_UINT": "VK_FORMAT_R32G32B32_UINT",
102        "R32G32B32_SINT": "VK_FORMAT_R32G32B32_SINT",
103        "R32G32B32_FLOAT": "VK_FORMAT_R32G32B32_SFLOAT",
104        "R32G32B32A32_UINT": "VK_FORMAT_R32G32B32A32_UINT",
105        "R32G32B32A32_SINT": "VK_FORMAT_R32G32B32A32_SINT",
106        "R32G32B32A32_FLOAT": "VK_FORMAT_R32G32B32A32_SFLOAT",
107        "R11G11B10_FLOAT": "VK_FORMAT_B10G11R11_UFLOAT_PACK32",
108        "R9G9B9E5_SHAREDEXP": "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",
109        "D16_UNORM": "VK_FORMAT_D16_UNORM",
110        "D32_FLOAT": "VK_FORMAT_D32_SFLOAT",
111        "S8_UINT": "VK_FORMAT_S8_UINT",
112        "D24_UNORM_S8_UINT": "VK_FORMAT_D24_UNORM_S8_UINT",
113        "D24_UNORM_X8_UINT": "VK_FORMAT_X8_D24_UNORM_PACK32",
114        "D32_FLOAT_S8X24_UINT": "VK_FORMAT_D32_SFLOAT_S8_UINT",
115        "BC1_RGB_UNORM_BLOCK": "VK_FORMAT_BC1_RGB_UNORM_BLOCK",
116        "BC1_RGB_UNORM_SRGB_BLOCK": "VK_FORMAT_BC1_RGB_SRGB_BLOCK",
117        "BC1_RGBA_UNORM_BLOCK": "VK_FORMAT_BC1_RGBA_UNORM_BLOCK",
118        "BC1_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC1_RGBA_SRGB_BLOCK",
119        "BC2_RGBA_UNORM_BLOCK": "VK_FORMAT_BC2_UNORM_BLOCK",
120        "BC2_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC2_SRGB_BLOCK",
121        "BC3_RGBA_UNORM_BLOCK": "VK_FORMAT_BC3_UNORM_BLOCK",
122        "BC3_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC3_SRGB_BLOCK",
123        "BC4_RED_UNORM_BLOCK": "VK_FORMAT_BC4_UNORM_BLOCK",
124        "BC4_RED_SNORM_BLOCK": "VK_FORMAT_BC4_SNORM_BLOCK",
125        "BC5_RG_UNORM_BLOCK": "VK_FORMAT_BC5_UNORM_BLOCK",
126        "BC5_RG_SNORM_BLOCK": "VK_FORMAT_BC5_SNORM_BLOCK",
127        "BC6H_RGB_UFLOAT_BLOCK": "VK_FORMAT_BC6H_UFLOAT_BLOCK",
128        "BC6H_RGB_SFLOAT_BLOCK": "VK_FORMAT_BC6H_SFLOAT_BLOCK",
129        "BC7_RGBA_UNORM_BLOCK": "VK_FORMAT_BC7_UNORM_BLOCK",
130        "BC7_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC7_SRGB_BLOCK",
131        "ETC2_R8G8B8_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",
132        "ETC2_R8G8B8_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",
133        "ETC2_R8G8B8A1_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",
134        "ETC2_R8G8B8A1_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",
135        "ETC2_R8G8B8A8_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",
136        "ETC2_R8G8B8A8_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",
137        "EAC_R11_UNORM_BLOCK": "VK_FORMAT_EAC_R11_UNORM_BLOCK",
138        "EAC_R11_SNORM_BLOCK": "VK_FORMAT_EAC_R11_SNORM_BLOCK",
139        "EAC_R11G11_UNORM_BLOCK": "VK_FORMAT_EAC_R11G11_UNORM_BLOCK",
140        "EAC_R11G11_SNORM_BLOCK": "VK_FORMAT_EAC_R11G11_SNORM_BLOCK",
141        "ASTC_4x4_UNORM_BLOCK": "VK_FORMAT_ASTC_4x4_UNORM_BLOCK",
142        "ASTC_4x4_SRGB_BLOCK": "VK_FORMAT_ASTC_4x4_SRGB_BLOCK",
143        "ASTC_5x4_UNORM_BLOCK": "VK_FORMAT_ASTC_5x4_UNORM_BLOCK",
144        "ASTC_5x4_SRGB_BLOCK": "VK_FORMAT_ASTC_5x4_SRGB_BLOCK",
145        "ASTC_5x5_UNORM_BLOCK": "VK_FORMAT_ASTC_5x5_UNORM_BLOCK",
146        "ASTC_5x5_SRGB_BLOCK": "VK_FORMAT_ASTC_5x5_SRGB_BLOCK",
147        "ASTC_6x5_UNORM_BLOCK": "VK_FORMAT_ASTC_6x5_UNORM_BLOCK",
148        "ASTC_6x5_SRGB_BLOCK": "VK_FORMAT_ASTC_6x5_SRGB_BLOCK",
149        "ASTC_6x6_UNORM_BLOCK": "VK_FORMAT_ASTC_6x6_UNORM_BLOCK",
150        "ASTC_6x6_SRGB_BLOCK": "VK_FORMAT_ASTC_6x6_SRGB_BLOCK",
151        "ASTC_8x5_UNORM_BLOCK": "VK_FORMAT_ASTC_8x5_UNORM_BLOCK",
152        "ASTC_8x5_SRGB_BLOCK": "VK_FORMAT_ASTC_8x5_SRGB_BLOCK",
153        "ASTC_8x6_UNORM_BLOCK": "VK_FORMAT_ASTC_8x6_UNORM_BLOCK",
154        "ASTC_8x6_SRGB_BLOCK": "VK_FORMAT_ASTC_8x6_SRGB_BLOCK",
155        "ASTC_8x8_UNORM_BLOCK": "VK_FORMAT_ASTC_8x8_UNORM_BLOCK",
156        "ASTC_8x8_SRGB_BLOCK": "VK_FORMAT_ASTC_8x8_SRGB_BLOCK",
157        "ASTC_10x5_UNORM_BLOCK": "VK_FORMAT_ASTC_10x5_UNORM_BLOCK",
158        "ASTC_10x5_SRGB_BLOCK": "VK_FORMAT_ASTC_10x5_SRGB_BLOCK",
159        "ASTC_10x6_UNORM_BLOCK": "VK_FORMAT_ASTC_10x6_UNORM_BLOCK",
160        "ASTC_10x6_SRGB_BLOCK": "VK_FORMAT_ASTC_10x6_SRGB_BLOCK",
161        "ASTC_10x8_UNORM_BLOCK": "VK_FORMAT_ASTC_10x8_UNORM_BLOCK",
162        "ASTC_10x8_SRGB_BLOCK": "VK_FORMAT_ASTC_10x8_SRGB_BLOCK",
163        "ASTC_10x10_UNORM_BLOCK": "VK_FORMAT_ASTC_10x10_UNORM_BLOCK",
164        "ASTC_10x10_SRGB_BLOCK": "VK_FORMAT_ASTC_10x10_SRGB_BLOCK",
165        "ASTC_12x10_UNORM_BLOCK": "VK_FORMAT_ASTC_12x10_UNORM_BLOCK",
166        "ASTC_12x10_SRGB_BLOCK": "VK_FORMAT_ASTC_12x10_SRGB_BLOCK",
167        "ASTC_12x12_UNORM_BLOCK": "VK_FORMAT_ASTC_12x12_UNORM_BLOCK",
168        "ASTC_12x12_SRGB_BLOCK": "VK_FORMAT_ASTC_12x12_SRGB_BLOCK",
169        "G8_B8_R8_3PLANE_420_UNORM": "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM",
170        "G8_B8R8_2PLANE_420_UNORM": "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"
171    },
172    "fallbacks": {
173        "A16_FLOAT": {
174            "image": "R16_FLOAT"
175        },
176        "A32_FLOAT": {
177            "image": "R32_FLOAT"
178        },
179        "L16_FLOAT": {
180            "image": "R16_FLOAT"
181        },
182        "L32_FLOAT": {
183            "image": "R32_FLOAT"
184        },
185        "L16A16_FLOAT": {
186            "image": "R16G16_FLOAT"
187        },
188        "L32A32_FLOAT": {
189            "image": "R32G32_FLOAT"
190        },
191        "A8_UNORM": {
192            "image": "R8_UNORM"
193        },
194        "L8_UNORM": {
195            "image": "R8_UNORM"
196        },
197        "L8A8_UNORM": {
198            "image": "R8G8_UNORM"
199        },
200        "R4G4B4A4_UNORM": {
201            "image": "R8G8B8A8_UNORM"
202        },
203        "R5G5B5A1_UNORM": {
204            "image": "A1R5G5B5_UNORM"
205        },
206        "R8G8B8_UNORM_SRGB": {
207            "image": "R8G8B8A8_UNORM_SRGB"
208        },
209        "B8G8R8X8_UNORM": {
210            "buffer": "NONE",
211            "image": "B8G8R8A8_UNORM"
212        },
213        "D24_UNORM_X8_UINT": {
214            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT"]
215        },
216        "D32_UNORM": {
217            "buffer": "NONE",
218            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT"]
219        },
220        "ETC1_R8G8B8_UNORM_BLOCK": {
221            "buffer": "NONE",
222            "image": ["ETC2_R8G8B8_UNORM_BLOCK", "R8G8B8A8_UNORM"]
223        },
224        "R32_FIXED": {
225            "buffer": "R32_FLOAT"
226        },
227        "R32G32_FIXED": {
228            "buffer": "R32G32_FLOAT"
229        },
230        "R32G32B32_FIXED": {
231            "buffer": "R32G32B32_FLOAT"
232        },
233        "R32G32B32A32_FIXED": {
234            "buffer": "R32G32B32A32_FLOAT"
235        },
236        "R32_UNORM": {
237            "buffer": "R32_FLOAT"
238        },
239        "R32G32_UNORM": {
240            "buffer": "R32G32_FLOAT"
241        },
242        "R32G32B32_UNORM": {
243            "buffer": "R32G32B32_FLOAT"
244        },
245        "R32G32B32A32_UNORM": {
246            "buffer": "R32G32B32A32_FLOAT"
247        },
248        "R32_SNORM": {
249            "buffer": "R32_FLOAT"
250        },
251        "R32G32_SNORM": {
252            "buffer": "R32G32_FLOAT"
253        },
254        "R32G32B32_SNORM": {
255            "buffer": "R32G32B32_FLOAT"
256        },
257        "R32G32B32A32_SNORM": {
258            "buffer": "R32G32B32A32_FLOAT"
259        },
260        "R32G32B32A32_FLOAT": {
261            "buffer_compressed": "R16G16B16A16_FLOAT"
262        },
263        "R32G32_FLOAT": {
264            "buffer_compressed": "R16G16_FLOAT"
265        },
266        "R32_FLOAT": {
267            "buffer_compressed": "R16_FLOAT"
268        },
269        "R32_USCALED": {
270            "buffer": "R32_FLOAT"
271        },
272        "R32G32_USCALED": {
273            "buffer": "R32G32_FLOAT"
274        },
275        "R32G32B32_USCALED": {
276            "buffer": "R32G32B32_FLOAT"
277        },
278        "R32G32B32A32_USCALED": {
279            "buffer": "R32G32B32A32_FLOAT"
280        },
281        "R32_SSCALED": {
282            "buffer": "R32_FLOAT"
283        },
284        "R32G32_SSCALED": {
285            "buffer": "R32G32_FLOAT"
286        },
287        "R32G32B32_SSCALED": {
288            "buffer": "R32G32B32_FLOAT"
289        },
290        "R32G32B32A32_SSCALED": {
291            "buffer": "R32G32B32A32_FLOAT"
292        },
293        "R10G10B10X2_UNORM": {
294            "buffer": "NONE",
295            "image": "R10G10B10A2_UNORM"
296        },
297        "A2R10G10B10_SINT_VERTEX": {
298            "image": "NONE",
299            "buffer": "R16G16B16A16_FLOAT"
300        },
301        "A2R10G10B10_UINT_VERTEX": {
302            "image": "NONE",
303            "buffer": "R16G16B16A16_FLOAT"
304        },
305        "A2R10G10B10_SSCALED_VERTEX": {
306            "image": "NONE",
307            "buffer": "R16G16B16A16_FLOAT"
308        },
309        "A2R10G10B10_USCALED_VERTEX": {
310            "image": "NONE",
311            "buffer": "R16G16B16A16_FLOAT"
312        },
313        "A2R10G10B10_SNORM_VERTEX": {
314            "image": "NONE",
315            "buffer": "R16G16B16A16_FLOAT"
316        },
317        "A2R10G10B10_UNORM_VERTEX": {
318            "image": "NONE",
319            "buffer": "R16G16B16A16_FLOAT"
320        },
321        "X2R10G10B10_SINT_VERTEX": {
322            "image": "NONE",
323            "buffer": "R16G16B16A16_FLOAT"
324        },
325        "X2R10G10B10_USCALED_VERTEX": {
326            "image": "NONE",
327            "buffer": "R16G16B16A16_FLOAT"
328        },
329        "X2R10G10B10_SSCALED_VERTEX": {
330            "image": "NONE",
331            "buffer": "R16G16B16A16_FLOAT"
332        },
333        "X2R10G10B10_UINT_VERTEX": {
334            "image": "NONE",
335            "buffer": "R16G16B16A16_FLOAT"
336        },
337        "X2R10G10B10_SNORM_VERTEX": {
338            "image": "NONE",
339            "buffer": "R16G16B16A16_FLOAT"
340        },
341        "X2R10G10B10_UNORM_VERTEX": {
342            "image": "NONE",
343            "buffer": "R16G16B16A16_FLOAT"
344        },
345        "D32_FLOAT_S8X24_UINT": {
346            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT"]
347        },
348        "D24_UNORM_S8_UINT": {
349            "image": ["D32_FLOAT_S8X24_UINT", "D24_UNORM_S8_UINT"]
350        },
351        "S8_UINT": {
352            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT", "S8_UINT"]
353        },
354
355        "R8_USCALED": {
356            "buffer": "R16_FLOAT"
357        },
358        "R8_SSCALED": {
359            "buffer": "R16_FLOAT"
360        },
361        "R8G8_USCALED": {
362            "buffer": "R16G16_FLOAT"
363        },
364        "R8G8_SSCALED": {
365            "buffer": "R16G16_FLOAT"
366        },
367        "R8G8B8_UNORM": {
368            "image": "R8G8B8A8_UNORM",
369            "buffer": "R8G8B8A8_UNORM"
370        },
371        "R8G8B8_SNORM": {
372            "image": "R8G8B8A8_SNORM",
373            "buffer": "R8G8B8A8_SNORM"
374        },
375        "R8G8B8_USCALED": {
376            "buffer": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
377        },
378        "R8G8B8_SSCALED": {
379            "buffer": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
380        },
381        "R8G8B8A8_USCALED": {
382            "buffer": "R16G16B16A16_FLOAT"
383        },
384        "R8G8B8A8_SSCALED": {
385            "buffer": "R16G16B16A16_FLOAT"
386        },
387
388        "R16_USCALED": {
389            "buffer": "R32_FLOAT",
390            "buffer_compressed": "R16_FLOAT"
391        },
392        "R16_SSCALED": {
393            "buffer": "R32_FLOAT",
394            "buffer_compressed": "R16_FLOAT"
395        },
396        "R16G16_USCALED": {
397            "buffer": "R32G32_FLOAT",
398            "buffer_compressed": "R16G16_FLOAT"
399        },
400        "R16G16_SSCALED": {
401            "buffer": "R32G32_FLOAT",
402            "buffer_compressed": "R16G16_FLOAT"
403        },
404        "R16G16B16_UNORM": {
405            "buffer": "R32G32B32_FLOAT",
406            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
407        },
408        "R16G16B16_SNORM": {
409            "buffer": "R32G32B32_FLOAT",
410            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
411        },
412        "R16G16B16_USCALED": {
413            "buffer": "R32G32B32_FLOAT",
414            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
415        },
416        "R16G16B16_SSCALED": {
417            "buffer": "R32G32B32_FLOAT",
418            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
419        },
420        "R16G16B16A16_USCALED": {
421            "buffer": "R32G32B32A32_FLOAT",
422            "buffer_compressed": "R16G16B16A16_FLOAT"
423        },
424        "R16G16B16A16_SSCALED": {
425            "buffer": "R32G32B32A32_FLOAT",
426            "buffer_compressed": "R16G16B16A16_FLOAT"
427        },
428        "R32G32B32_UINT": {
429            "image": "R32G32B32A32_UINT"
430        },
431        "R32G32B32_SINT": {
432            "image": "R32G32B32A32_SINT"
433        },
434        "R16G16B16_UINT": {
435            "image": "R16G16B16A16_UINT",
436            "buffer": "R16G16B16A16_UINT"
437        },
438        "R16G16B16_SINT": {
439            "image": "R16G16B16A16_SINT",
440            "buffer": "R16G16B16A16_SINT"
441        },
442        "R8G8B8_UINT": {
443            "image": "R8G8B8A8_UINT",
444            "buffer": "R8G8B8A8_UINT"
445        },
446        "R8G8B8_SINT": {
447            "image": "R8G8B8A8_SINT",
448            "buffer": "R8G8B8A8_SINT"
449        },
450        "R16G16B16_FLOAT": {
451            "image": "R16G16B16A16_FLOAT",
452            "buffer": "R16G16B16A16_FLOAT"
453        },
454        "R32G32B32_FLOAT": {
455            "image": "R32G32B32A32_FLOAT",
456            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
457        },
458        "ETC2_R8G8B8_UNORM_BLOCK": {
459            "image": "R8G8B8A8_UNORM"
460        },
461        "ETC2_R8G8B8_SRGB_BLOCK": {
462            "image": "R8G8B8A8_UNORM_SRGB"
463        },
464        "ETC2_R8G8B8A1_UNORM_BLOCK": {
465            "image": "R8G8B8A8_UNORM"
466        },
467        "ETC2_R8G8B8A1_SRGB_BLOCK": {
468            "image": "R8G8B8A8_UNORM_SRGB"
469        },
470        "ETC2_R8G8B8A8_UNORM_BLOCK": {
471            "image": "R8G8B8A8_UNORM"
472        },
473        "ETC2_R8G8B8A8_SRGB_BLOCK": {
474            "image": "R8G8B8A8_UNORM_SRGB"
475        },
476        "EAC_R11_UNORM_BLOCK": {
477            "image": ["R16_UNORM", "R16_FLOAT"]
478        },
479        "EAC_R11_SNORM_BLOCK": {
480            "image": ["R16_SNORM", "R16_FLOAT"]
481        },
482        "EAC_R11G11_UNORM_BLOCK": {
483            "image": ["R16G16_UNORM", "R16G16_FLOAT"]
484        },
485        "EAC_R11G11_SNORM_BLOCK": {
486            "image": ["R16G16_SNORM", "R16G16_FLOAT"]
487        },
488        "R10G10B10A2_SNORM": {
489            "buffer": "R16G16B16A16_FLOAT"
490        },
491        "R10G10B10A2_USCALED": {
492            "buffer": "R16G16B16A16_FLOAT"
493        },
494        "R10G10B10A2_SSCALED": {
495            "buffer": "R16G16B16A16_FLOAT"
496        },
497        "R10G10B10A2_UINT": {
498            "buffer": "R16G16B16A16_UINT"
499        },
500        "R10G10B10A2_SINT": {
501            "buffer": "R16G16B16A16_SINT"
502        }
503    }
504}
505