• 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": "VK_FORMAT_R8G8B8_UNORM",
51        "R8G8B8_UNORM_SRGB": "VK_FORMAT_R8G8B8_SRGB",
52        "R8G8B8A8_UNORM": "VK_FORMAT_R8G8B8A8_UNORM",
53        "R8G8B8A8_SNORM": "VK_FORMAT_R8G8B8A8_SNORM",
54        "R8G8B8A8_UINT": "VK_FORMAT_R8G8B8A8_UINT",
55        "R8G8B8A8_SINT": "VK_FORMAT_R8G8B8A8_SINT",
56        "R8G8B8A8_USCALED": "VK_FORMAT_R8G8B8A8_USCALED",
57        "R8G8B8A8_SSCALED": "VK_FORMAT_R8G8B8A8_SSCALED",
58        "R8G8B8A8_UNORM_SRGB": "VK_FORMAT_R8G8B8A8_SRGB",
59        "B8G8R8A8_UNORM": "VK_FORMAT_B8G8R8A8_UNORM",
60        "B8G8R8A8_UNORM_SRGB": "VK_FORMAT_B8G8R8A8_SRGB",
61        "B10G10R10A2_UNORM": "VK_FORMAT_A2R10G10B10_UNORM_PACK32",
62        "R10G10B10A2_UNORM": "VK_FORMAT_A2B10G10R10_UNORM_PACK32",
63        "R10G10B10A2_SNORM": "VK_FORMAT_A2B10G10R10_SNORM_PACK32",
64        "R10G10B10A2_USCALED": "VK_FORMAT_A2B10G10R10_USCALED_PACK32",
65        "R10G10B10A2_SSCALED": "VK_FORMAT_A2B10G10R10_SSCALED_PACK32",
66        "R10G10B10A2_UINT": "VK_FORMAT_A2B10G10R10_UINT_PACK32",
67        "R10G10B10A2_SINT": "VK_FORMAT_A2B10G10R10_SINT_PACK32",
68        "R16_UNORM": "VK_FORMAT_R16_UNORM",
69        "R16_SNORM": "VK_FORMAT_R16_SNORM",
70        "R16_USCALED": "VK_FORMAT_R16_USCALED",
71        "R16_SSCALED": "VK_FORMAT_R16_SSCALED",
72        "R16_UINT": "VK_FORMAT_R16_UINT",
73        "R16_SINT": "VK_FORMAT_R16_SINT",
74        "R16_FLOAT": "VK_FORMAT_R16_SFLOAT",
75        "R16G16_UNORM": "VK_FORMAT_R16G16_UNORM",
76        "R16G16_SNORM": "VK_FORMAT_R16G16_SNORM",
77        "R16G16_USCALED": "VK_FORMAT_R16G16_USCALED",
78        "R16G16_SSCALED": "VK_FORMAT_R16G16_SSCALED",
79        "R16G16_UINT": "VK_FORMAT_R16G16_UINT",
80        "R16G16_SINT": "VK_FORMAT_R16G16_SINT",
81        "R16G16_FLOAT": "VK_FORMAT_R16G16_SFLOAT",
82        "R16G16B16_UNORM": "VK_FORMAT_R16G16B16_UNORM",
83        "R16G16B16_SNORM": "VK_FORMAT_R16G16B16_SNORM",
84        "R16G16B16_USCALED": "VK_FORMAT_R16G16B16_USCALED",
85        "R16G16B16_SSCALED": "VK_FORMAT_R16G16B16_SSCALED",
86        "R16G16B16_UINT": "VK_FORMAT_R16G16B16_UINT",
87        "R16G16B16_SINT": "VK_FORMAT_R16G16B16_SINT",
88        "R16G16B16_FLOAT": "VK_FORMAT_R16G16B16_SFLOAT",
89        "R16G16B16A16_UNORM": "VK_FORMAT_R16G16B16A16_UNORM",
90        "R16G16B16A16_SNORM": "VK_FORMAT_R16G16B16A16_SNORM",
91        "R16G16B16A16_USCALED": "VK_FORMAT_R16G16B16A16_USCALED",
92        "R16G16B16A16_SSCALED": "VK_FORMAT_R16G16B16A16_SSCALED",
93        "R16G16B16A16_UINT": "VK_FORMAT_R16G16B16A16_UINT",
94        "R16G16B16A16_SINT": "VK_FORMAT_R16G16B16A16_SINT",
95        "R16G16B16A16_FLOAT": "VK_FORMAT_R16G16B16A16_SFLOAT",
96        "R32_UINT": "VK_FORMAT_R32_UINT",
97        "R32_SINT": "VK_FORMAT_R32_SINT",
98        "R32_FLOAT": "VK_FORMAT_R32_SFLOAT",
99        "R32G32_UINT": "VK_FORMAT_R32G32_UINT",
100        "R32G32_SINT": "VK_FORMAT_R32G32_SINT",
101        "R32G32_FLOAT": "VK_FORMAT_R32G32_SFLOAT",
102        "R32G32B32_UINT": "VK_FORMAT_R32G32B32_UINT",
103        "R32G32B32_SINT": "VK_FORMAT_R32G32B32_SINT",
104        "R32G32B32_FLOAT": "VK_FORMAT_R32G32B32_SFLOAT",
105        "R32G32B32A32_UINT": "VK_FORMAT_R32G32B32A32_UINT",
106        "R32G32B32A32_SINT": "VK_FORMAT_R32G32B32A32_SINT",
107        "R32G32B32A32_FLOAT": "VK_FORMAT_R32G32B32A32_SFLOAT",
108        "R11G11B10_FLOAT": "VK_FORMAT_B10G11R11_UFLOAT_PACK32",
109        "R9G9B9E5_SHAREDEXP": "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",
110        "D16_UNORM": "VK_FORMAT_D16_UNORM",
111        "D32_FLOAT": "VK_FORMAT_D32_SFLOAT",
112        "S8_UINT": "VK_FORMAT_S8_UINT",
113        "D24_UNORM_S8_UINT": "VK_FORMAT_D24_UNORM_S8_UINT",
114        "D24_UNORM_X8_UINT": "VK_FORMAT_X8_D24_UNORM_PACK32",
115        "D32_FLOAT_S8X24_UINT": "VK_FORMAT_D32_SFLOAT_S8_UINT",
116        "BC1_RGB_UNORM_BLOCK": "VK_FORMAT_BC1_RGB_UNORM_BLOCK",
117        "BC1_RGB_UNORM_SRGB_BLOCK": "VK_FORMAT_BC1_RGB_SRGB_BLOCK",
118        "BC1_RGBA_UNORM_BLOCK": "VK_FORMAT_BC1_RGBA_UNORM_BLOCK",
119        "BC1_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC1_RGBA_SRGB_BLOCK",
120        "BC2_RGBA_UNORM_BLOCK": "VK_FORMAT_BC2_UNORM_BLOCK",
121        "BC2_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC2_SRGB_BLOCK",
122        "BC3_RGBA_UNORM_BLOCK": "VK_FORMAT_BC3_UNORM_BLOCK",
123        "BC3_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC3_SRGB_BLOCK",
124        "BC4_RED_UNORM_BLOCK": "VK_FORMAT_BC4_UNORM_BLOCK",
125        "BC4_RED_SNORM_BLOCK": "VK_FORMAT_BC4_SNORM_BLOCK",
126        "BC5_RG_UNORM_BLOCK": "VK_FORMAT_BC5_UNORM_BLOCK",
127        "BC5_RG_SNORM_BLOCK": "VK_FORMAT_BC5_SNORM_BLOCK",
128        "BC6H_RGB_UFLOAT_BLOCK": "VK_FORMAT_BC6H_UFLOAT_BLOCK",
129        "BC6H_RGB_SFLOAT_BLOCK": "VK_FORMAT_BC6H_SFLOAT_BLOCK",
130        "BC7_RGBA_UNORM_BLOCK": "VK_FORMAT_BC7_UNORM_BLOCK",
131        "BC7_RGBA_UNORM_SRGB_BLOCK": "VK_FORMAT_BC7_SRGB_BLOCK",
132        "ETC2_R8G8B8_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",
133        "ETC2_R8G8B8_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",
134        "ETC2_R8G8B8A1_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",
135        "ETC2_R8G8B8A1_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",
136        "ETC2_R8G8B8A8_UNORM_BLOCK": "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",
137        "ETC2_R8G8B8A8_SRGB_BLOCK": "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",
138        "EAC_R11_UNORM_BLOCK": "VK_FORMAT_EAC_R11_UNORM_BLOCK",
139        "EAC_R11_SNORM_BLOCK": "VK_FORMAT_EAC_R11_SNORM_BLOCK",
140        "EAC_R11G11_UNORM_BLOCK": "VK_FORMAT_EAC_R11G11_UNORM_BLOCK",
141        "EAC_R11G11_SNORM_BLOCK": "VK_FORMAT_EAC_R11G11_SNORM_BLOCK",
142        "ASTC_4x4_UNORM_BLOCK": "VK_FORMAT_ASTC_4x4_UNORM_BLOCK",
143        "ASTC_4x4_SRGB_BLOCK": "VK_FORMAT_ASTC_4x4_SRGB_BLOCK",
144        "ASTC_5x4_UNORM_BLOCK": "VK_FORMAT_ASTC_5x4_UNORM_BLOCK",
145        "ASTC_5x4_SRGB_BLOCK": "VK_FORMAT_ASTC_5x4_SRGB_BLOCK",
146        "ASTC_5x5_UNORM_BLOCK": "VK_FORMAT_ASTC_5x5_UNORM_BLOCK",
147        "ASTC_5x5_SRGB_BLOCK": "VK_FORMAT_ASTC_5x5_SRGB_BLOCK",
148        "ASTC_6x5_UNORM_BLOCK": "VK_FORMAT_ASTC_6x5_UNORM_BLOCK",
149        "ASTC_6x5_SRGB_BLOCK": "VK_FORMAT_ASTC_6x5_SRGB_BLOCK",
150        "ASTC_6x6_UNORM_BLOCK": "VK_FORMAT_ASTC_6x6_UNORM_BLOCK",
151        "ASTC_6x6_SRGB_BLOCK": "VK_FORMAT_ASTC_6x6_SRGB_BLOCK",
152        "ASTC_8x5_UNORM_BLOCK": "VK_FORMAT_ASTC_8x5_UNORM_BLOCK",
153        "ASTC_8x5_SRGB_BLOCK": "VK_FORMAT_ASTC_8x5_SRGB_BLOCK",
154        "ASTC_8x6_UNORM_BLOCK": "VK_FORMAT_ASTC_8x6_UNORM_BLOCK",
155        "ASTC_8x6_SRGB_BLOCK": "VK_FORMAT_ASTC_8x6_SRGB_BLOCK",
156        "ASTC_8x8_UNORM_BLOCK": "VK_FORMAT_ASTC_8x8_UNORM_BLOCK",
157        "ASTC_8x8_SRGB_BLOCK": "VK_FORMAT_ASTC_8x8_SRGB_BLOCK",
158        "ASTC_10x5_UNORM_BLOCK": "VK_FORMAT_ASTC_10x5_UNORM_BLOCK",
159        "ASTC_10x5_SRGB_BLOCK": "VK_FORMAT_ASTC_10x5_SRGB_BLOCK",
160        "ASTC_10x6_UNORM_BLOCK": "VK_FORMAT_ASTC_10x6_UNORM_BLOCK",
161        "ASTC_10x6_SRGB_BLOCK": "VK_FORMAT_ASTC_10x6_SRGB_BLOCK",
162        "ASTC_10x8_UNORM_BLOCK": "VK_FORMAT_ASTC_10x8_UNORM_BLOCK",
163        "ASTC_10x8_SRGB_BLOCK": "VK_FORMAT_ASTC_10x8_SRGB_BLOCK",
164        "ASTC_10x10_UNORM_BLOCK": "VK_FORMAT_ASTC_10x10_UNORM_BLOCK",
165        "ASTC_10x10_SRGB_BLOCK": "VK_FORMAT_ASTC_10x10_SRGB_BLOCK",
166        "ASTC_12x10_UNORM_BLOCK": "VK_FORMAT_ASTC_12x10_UNORM_BLOCK",
167        "ASTC_12x10_SRGB_BLOCK": "VK_FORMAT_ASTC_12x10_SRGB_BLOCK",
168        "ASTC_12x12_UNORM_BLOCK": "VK_FORMAT_ASTC_12x12_UNORM_BLOCK",
169        "ASTC_12x12_SRGB_BLOCK": "VK_FORMAT_ASTC_12x12_SRGB_BLOCK",
170        "G8_B8_R8_3PLANE_420_UNORM": "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM",
171        "G8_B8R8_2PLANE_420_UNORM": "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM"
172    },
173    "fallbacks": {
174        "A16_FLOAT": {
175            "image": "R16_FLOAT"
176        },
177        "A32_FLOAT": {
178            "image": "R32_FLOAT"
179        },
180        "L16_FLOAT": {
181            "image": "R16_FLOAT"
182        },
183        "L32_FLOAT": {
184            "image": "R32_FLOAT"
185        },
186        "L16A16_FLOAT": {
187            "image": "R16G16_FLOAT"
188        },
189        "L32A32_FLOAT": {
190            "image": "R32G32_FLOAT"
191        },
192        "A8_UNORM": {
193            "image": "R8_UNORM"
194        },
195        "L8_UNORM": {
196            "image": "R8_UNORM"
197        },
198        "L8A8_UNORM": {
199            "image": "R8G8_UNORM"
200        },
201        "R4G4B4A4_UNORM": {
202            "image": "R8G8B8A8_UNORM"
203        },
204        "R5G5B5A1_UNORM": {
205            "image": "A1R5G5B5_UNORM"
206        },
207        "R8G8B8_UNORM_SRGB": {
208            "image": "R8G8B8A8_UNORM_SRGB"
209        },
210        "B8G8R8X8_UNORM": {
211            "buffer": "NONE",
212            "image": "B8G8R8A8_UNORM"
213        },
214        "R8G8B8X8_UNORM": {
215            "buffer": "NONE",
216            "image": "R8G8B8A8_UNORM"
217        },
218        "D24_UNORM_X8_UINT": {
219            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT"]
220        },
221        "D32_UNORM": {
222            "buffer": "NONE",
223            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT"]
224        },
225        "ETC1_R8G8B8_UNORM_BLOCK": {
226            "buffer": "NONE",
227            "image": ["ETC2_R8G8B8_UNORM_BLOCK", "R8G8B8A8_UNORM"]
228        },
229        "R32_FIXED": {
230            "buffer": "R32_FLOAT"
231        },
232        "R32G32_FIXED": {
233            "buffer": "R32G32_FLOAT"
234        },
235        "R32G32B32_FIXED": {
236            "buffer": "R32G32B32_FLOAT"
237        },
238        "R32G32B32A32_FIXED": {
239            "buffer": "R32G32B32A32_FLOAT"
240        },
241        "R32_UNORM": {
242            "buffer": "R32_FLOAT"
243        },
244        "R32G32_UNORM": {
245            "buffer": "R32G32_FLOAT"
246        },
247        "R32G32B32_UNORM": {
248            "buffer": "R32G32B32_FLOAT"
249        },
250        "R32G32B32A32_UNORM": {
251            "buffer": "R32G32B32A32_FLOAT"
252        },
253        "R32_SNORM": {
254            "buffer": "R32_FLOAT"
255        },
256        "R32G32_SNORM": {
257            "buffer": "R32G32_FLOAT"
258        },
259        "R32G32B32_SNORM": {
260            "buffer": "R32G32B32_FLOAT"
261        },
262        "R32G32B32A32_SNORM": {
263            "buffer": "R32G32B32A32_FLOAT"
264        },
265        "R32G32B32A32_FLOAT": {
266            "buffer_compressed": "R16G16B16A16_FLOAT"
267        },
268        "R32G32_FLOAT": {
269            "buffer_compressed": "R16G16_FLOAT"
270        },
271        "R32_FLOAT": {
272            "buffer_compressed": "R16_FLOAT"
273        },
274        "R32_USCALED": {
275            "buffer": "R32_FLOAT"
276        },
277        "R32G32_USCALED": {
278            "buffer": "R32G32_FLOAT"
279        },
280        "R32G32B32_USCALED": {
281            "buffer": "R32G32B32_FLOAT"
282        },
283        "R32G32B32A32_USCALED": {
284            "buffer": "R32G32B32A32_FLOAT"
285        },
286        "R32_SSCALED": {
287            "buffer": "R32_FLOAT"
288        },
289        "R32G32_SSCALED": {
290            "buffer": "R32G32_FLOAT"
291        },
292        "R32G32B32_SSCALED": {
293            "buffer": "R32G32B32_FLOAT"
294        },
295        "R32G32B32A32_SSCALED": {
296            "buffer": "R32G32B32A32_FLOAT"
297        },
298        "R10G10B10X2_UNORM": {
299            "buffer": "NONE",
300            "image": "R10G10B10A2_UNORM"
301        },
302        "A2R10G10B10_SINT_VERTEX": {
303            "image": "NONE",
304            "buffer": "R16G16B16A16_FLOAT"
305        },
306        "A2R10G10B10_UINT_VERTEX": {
307            "image": "NONE",
308            "buffer": "R16G16B16A16_FLOAT"
309        },
310        "A2R10G10B10_SSCALED_VERTEX": {
311            "image": "NONE",
312            "buffer": "R16G16B16A16_FLOAT"
313        },
314        "A2R10G10B10_USCALED_VERTEX": {
315            "image": "NONE",
316            "buffer": "R16G16B16A16_FLOAT"
317        },
318        "A2R10G10B10_SNORM_VERTEX": {
319            "image": "NONE",
320            "buffer": "R16G16B16A16_FLOAT"
321        },
322        "A2R10G10B10_UNORM_VERTEX": {
323            "image": "NONE",
324            "buffer": "R16G16B16A16_FLOAT"
325        },
326        "X2R10G10B10_SINT_VERTEX": {
327            "image": "NONE",
328            "buffer": "R16G16B16A16_FLOAT"
329        },
330        "X2R10G10B10_USCALED_VERTEX": {
331            "image": "NONE",
332            "buffer": "R16G16B16A16_FLOAT"
333        },
334        "X2R10G10B10_SSCALED_VERTEX": {
335            "image": "NONE",
336            "buffer": "R16G16B16A16_FLOAT"
337        },
338        "X2R10G10B10_UINT_VERTEX": {
339            "image": "NONE",
340            "buffer": "R16G16B16A16_FLOAT"
341        },
342        "X2R10G10B10_SNORM_VERTEX": {
343            "image": "NONE",
344            "buffer": "R16G16B16A16_FLOAT"
345        },
346        "X2R10G10B10_UNORM_VERTEX": {
347            "image": "NONE",
348            "buffer": "R16G16B16A16_FLOAT"
349        },
350        "D32_FLOAT_S8X24_UINT": {
351            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT"]
352        },
353        "D24_UNORM_S8_UINT": {
354            "image": ["D32_FLOAT_S8X24_UINT", "D24_UNORM_S8_UINT"]
355        },
356        "S8_UINT": {
357            "image": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT", "S8_UINT"]
358        },
359
360        "R8_USCALED": {
361            "buffer": "R16_FLOAT"
362        },
363        "R8_SSCALED": {
364            "buffer": "R16_FLOAT"
365        },
366        "R8G8_USCALED": {
367            "buffer": ["R8G8B8_USCALED", "R16G16_FLOAT"]
368        },
369        "R8G8_SSCALED": {
370            "buffer": ["R8G8B8_SSCALED", "R16G16_FLOAT"]
371        },
372        "R8G8B8_UNORM": {
373            "image": "R8G8B8A8_UNORM",
374            "buffer": "R8G8B8A8_UNORM"
375        },
376        "R8G8B8_SNORM": {
377            "image": "R8G8B8A8_SNORM",
378            "buffer": "R8G8B8A8_SNORM"
379        },
380        "R8G8B8_USCALED": {
381            "buffer": ["R8G8B8A8_USCALED", "R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
382        },
383        "R8G8B8_SSCALED": {
384            "buffer": ["R8G8B8A8_SSCALED", "R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
385        },
386        "R8G8B8A8_USCALED": {
387            "buffer": "R16G16B16A16_FLOAT"
388        },
389        "R8G8B8A8_SSCALED": {
390            "buffer": "R16G16B16A16_FLOAT"
391        },
392
393        "R16_USCALED": {
394            "buffer": "R32_FLOAT",
395            "buffer_compressed": "R16_FLOAT"
396        },
397        "R16_SSCALED": {
398            "buffer": "R32_FLOAT",
399            "buffer_compressed": "R16_FLOAT"
400        },
401        "R16G16_USCALED": {
402            "buffer": ["R16G16B16_USCALED", "R32G32_FLOAT"],
403            "buffer_compressed": "R16G16_FLOAT"
404        },
405        "R16G16_SSCALED": {
406            "buffer": ["R16G16B16_SSCALED", "R32G32_FLOAT"],
407            "buffer_compressed": "R16G16_FLOAT"
408        },
409        "R16G16B16_UNORM": {
410            "buffer": ["R16G16B16A16_UNORM", "R32G32B32_FLOAT"],
411            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
412        },
413        "R16G16B16_SNORM": {
414            "buffer": ["R16G16B16A16_SNORM", "R32G32B32_FLOAT"],
415            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
416        },
417        "R16G16B16_USCALED": {
418            "buffer": ["R16G16B16A16_USCALED", "R32G32B32_FLOAT"],
419            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
420        },
421        "R16G16B16_SSCALED": {
422            "buffer": ["R16G16B16A16_SSCALED", "R32G32B32_FLOAT"],
423            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
424        },
425        "R16G16B16A16_USCALED": {
426            "buffer": "R32G32B32A32_FLOAT",
427            "buffer_compressed": "R16G16B16A16_FLOAT"
428        },
429        "R16G16B16A16_SSCALED": {
430            "buffer": "R32G32B32A32_FLOAT",
431            "buffer_compressed": "R16G16B16A16_FLOAT"
432        },
433        "R32G32B32_UINT": {
434            "image": "R32G32B32A32_UINT"
435        },
436        "R32G32B32_SINT": {
437            "image": "R32G32B32A32_SINT"
438        },
439        "R16G16B16_UINT": {
440            "image": "R16G16B16A16_UINT",
441            "buffer": "R16G16B16A16_UINT"
442        },
443        "R16G16B16_SINT": {
444            "image": "R16G16B16A16_SINT",
445            "buffer": "R16G16B16A16_SINT"
446        },
447        "R8G8B8_UINT": {
448            "image": "R8G8B8A8_UINT",
449            "buffer": "R8G8B8A8_UINT"
450        },
451        "R8G8B8_SINT": {
452            "image": "R8G8B8A8_SINT",
453            "buffer": "R8G8B8A8_SINT"
454        },
455        "R16G16B16_FLOAT": {
456            "image": "R16G16B16A16_FLOAT",
457            "buffer": "R16G16B16A16_FLOAT"
458        },
459        "R32G32B32_FLOAT": {
460            "image": "R32G32B32A32_FLOAT",
461            "buffer_compressed": ["R16G16B16_FLOAT", "R16G16B16A16_FLOAT"]
462        },
463        "ETC2_R8G8B8_UNORM_BLOCK": {
464            "image": "R8G8B8A8_UNORM"
465        },
466        "ETC2_R8G8B8_SRGB_BLOCK": {
467            "image": "R8G8B8A8_UNORM_SRGB"
468        },
469        "ETC2_R8G8B8A1_UNORM_BLOCK": {
470            "image": "R8G8B8A8_UNORM"
471        },
472        "ETC2_R8G8B8A1_SRGB_BLOCK": {
473            "image": "R8G8B8A8_UNORM_SRGB"
474        },
475        "ETC2_R8G8B8A8_UNORM_BLOCK": {
476            "image": "R8G8B8A8_UNORM"
477        },
478        "ETC2_R8G8B8A8_SRGB_BLOCK": {
479            "image": "R8G8B8A8_UNORM_SRGB"
480        },
481        "EAC_R11_UNORM_BLOCK": {
482            "image": ["R16_UNORM", "R16_FLOAT"]
483        },
484        "EAC_R11_SNORM_BLOCK": {
485            "image": ["R16_SNORM", "R16_FLOAT"]
486        },
487        "EAC_R11G11_UNORM_BLOCK": {
488            "image": ["R16G16_UNORM", "R16G16_FLOAT"]
489        },
490        "EAC_R11G11_SNORM_BLOCK": {
491            "image": ["R16G16_SNORM", "R16G16_FLOAT"]
492        },
493        "R10G10B10A2_SNORM": {
494            "buffer": "R16G16B16A16_FLOAT"
495        },
496        "R10G10B10A2_USCALED": {
497            "buffer": "R16G16B16A16_FLOAT"
498        },
499        "R10G10B10A2_SSCALED": {
500            "buffer": "R16G16B16A16_FLOAT"
501        },
502        "R10G10B10A2_UINT": {
503            "buffer": "R16G16B16A16_UINT"
504        },
505        "R10G10B10A2_SINT": {
506            "buffer": "R16G16B16A16_SINT"
507        }
508    }
509}
510