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