1/* This file is autogenerated by gen_format_layout.py. DO NOT EDIT! */
2
3/*
4 * Copyright 2015 Intel Corporation
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the next
14 * paragraph) shall be included in all copies or substantial portions of the
15 * Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
23 * IN THE SOFTWARE.
24 */
25
26#include "isl/isl.h"
27
28const struct isl_format_layout
29isl_format_layouts[] = {
30  [ISL_FORMAT_R32G32B32A32_FLOAT] = {
31    .format = ISL_FORMAT_R32G32B32A32_FLOAT,
32    .name = "ISL_FORMAT_R32G32B32A32_FLOAT",
33    .bpb = 128,
34    .bw = 1,
35    .bh = 1,
36    .bd = 1,
37    .channels = {
38              .r = { ISL_SFLOAT, 0, 32 },
39              .g = { ISL_SFLOAT, 32, 32 },
40              .b = { ISL_SFLOAT, 64, 32 },
41              .a = { ISL_SFLOAT, 96, 32 },
42              .l = {},
43              .i = {},
44              .p = {},
45    },
46    .colorspace = ISL_COLORSPACE_LINEAR,
47    .txc = ISL_TXC_NONE,
48  },
49
50  [ISL_FORMAT_R32G32B32A32_SINT] = {
51    .format = ISL_FORMAT_R32G32B32A32_SINT,
52    .name = "ISL_FORMAT_R32G32B32A32_SINT",
53    .bpb = 128,
54    .bw = 1,
55    .bh = 1,
56    .bd = 1,
57    .channels = {
58              .r = { ISL_SINT, 0, 32 },
59              .g = { ISL_SINT, 32, 32 },
60              .b = { ISL_SINT, 64, 32 },
61              .a = { ISL_SINT, 96, 32 },
62              .l = {},
63              .i = {},
64              .p = {},
65    },
66    .colorspace = ISL_COLORSPACE_LINEAR,
67    .txc = ISL_TXC_NONE,
68  },
69
70  [ISL_FORMAT_R32G32B32A32_UINT] = {
71    .format = ISL_FORMAT_R32G32B32A32_UINT,
72    .name = "ISL_FORMAT_R32G32B32A32_UINT",
73    .bpb = 128,
74    .bw = 1,
75    .bh = 1,
76    .bd = 1,
77    .channels = {
78              .r = { ISL_UINT, 0, 32 },
79              .g = { ISL_UINT, 32, 32 },
80              .b = { ISL_UINT, 64, 32 },
81              .a = { ISL_UINT, 96, 32 },
82              .l = {},
83              .i = {},
84              .p = {},
85    },
86    .colorspace = ISL_COLORSPACE_LINEAR,
87    .txc = ISL_TXC_NONE,
88  },
89
90  [ISL_FORMAT_R32G32B32A32_UNORM] = {
91    .format = ISL_FORMAT_R32G32B32A32_UNORM,
92    .name = "ISL_FORMAT_R32G32B32A32_UNORM",
93    .bpb = 128,
94    .bw = 1,
95    .bh = 1,
96    .bd = 1,
97    .channels = {
98              .r = { ISL_UNORM, 0, 32 },
99              .g = { ISL_UNORM, 32, 32 },
100              .b = { ISL_UNORM, 64, 32 },
101              .a = { ISL_UNORM, 96, 32 },
102              .l = {},
103              .i = {},
104              .p = {},
105    },
106    .colorspace = ISL_COLORSPACE_LINEAR,
107    .txc = ISL_TXC_NONE,
108  },
109
110  [ISL_FORMAT_R32G32B32A32_SNORM] = {
111    .format = ISL_FORMAT_R32G32B32A32_SNORM,
112    .name = "ISL_FORMAT_R32G32B32A32_SNORM",
113    .bpb = 128,
114    .bw = 1,
115    .bh = 1,
116    .bd = 1,
117    .channels = {
118              .r = { ISL_SNORM, 0, 32 },
119              .g = { ISL_SNORM, 32, 32 },
120              .b = { ISL_SNORM, 64, 32 },
121              .a = { ISL_SNORM, 96, 32 },
122              .l = {},
123              .i = {},
124              .p = {},
125    },
126    .colorspace = ISL_COLORSPACE_LINEAR,
127    .txc = ISL_TXC_NONE,
128  },
129
130  [ISL_FORMAT_R64G64_FLOAT] = {
131    .format = ISL_FORMAT_R64G64_FLOAT,
132    .name = "ISL_FORMAT_R64G64_FLOAT",
133    .bpb = 128,
134    .bw = 1,
135    .bh = 1,
136    .bd = 1,
137    .channels = {
138              .r = { ISL_SFLOAT, 0, 64 },
139              .g = { ISL_SFLOAT, 64, 64 },
140              .b = {},
141              .a = {},
142              .l = {},
143              .i = {},
144              .p = {},
145    },
146    .colorspace = ISL_COLORSPACE_LINEAR,
147    .txc = ISL_TXC_NONE,
148  },
149
150  [ISL_FORMAT_R32G32B32X32_FLOAT] = {
151    .format = ISL_FORMAT_R32G32B32X32_FLOAT,
152    .name = "ISL_FORMAT_R32G32B32X32_FLOAT",
153    .bpb = 128,
154    .bw = 1,
155    .bh = 1,
156    .bd = 1,
157    .channels = {
158              .r = { ISL_SFLOAT, 0, 32 },
159              .g = { ISL_SFLOAT, 32, 32 },
160              .b = { ISL_SFLOAT, 64, 32 },
161              .a = { ISL_VOID, 96, 32 },
162              .l = {},
163              .i = {},
164              .p = {},
165    },
166    .colorspace = ISL_COLORSPACE_LINEAR,
167    .txc = ISL_TXC_NONE,
168  },
169
170  [ISL_FORMAT_R32G32B32A32_SSCALED] = {
171    .format = ISL_FORMAT_R32G32B32A32_SSCALED,
172    .name = "ISL_FORMAT_R32G32B32A32_SSCALED",
173    .bpb = 128,
174    .bw = 1,
175    .bh = 1,
176    .bd = 1,
177    .channels = {
178              .r = { ISL_SSCALED, 0, 32 },
179              .g = { ISL_SSCALED, 32, 32 },
180              .b = { ISL_SSCALED, 64, 32 },
181              .a = { ISL_SSCALED, 96, 32 },
182              .l = {},
183              .i = {},
184              .p = {},
185    },
186    .colorspace = ISL_COLORSPACE_LINEAR,
187    .txc = ISL_TXC_NONE,
188  },
189
190  [ISL_FORMAT_R32G32B32A32_USCALED] = {
191    .format = ISL_FORMAT_R32G32B32A32_USCALED,
192    .name = "ISL_FORMAT_R32G32B32A32_USCALED",
193    .bpb = 128,
194    .bw = 1,
195    .bh = 1,
196    .bd = 1,
197    .channels = {
198              .r = { ISL_USCALED, 0, 32 },
199              .g = { ISL_USCALED, 32, 32 },
200              .b = { ISL_USCALED, 64, 32 },
201              .a = { ISL_USCALED, 96, 32 },
202              .l = {},
203              .i = {},
204              .p = {},
205    },
206    .colorspace = ISL_COLORSPACE_LINEAR,
207    .txc = ISL_TXC_NONE,
208  },
209
210  [ISL_FORMAT_R32G32B32A32_SFIXED] = {
211    .format = ISL_FORMAT_R32G32B32A32_SFIXED,
212    .name = "ISL_FORMAT_R32G32B32A32_SFIXED",
213    .bpb = 128,
214    .bw = 1,
215    .bh = 1,
216    .bd = 1,
217    .channels = {
218              .r = { ISL_SFIXED, 0, 32 },
219              .g = { ISL_SFIXED, 32, 32 },
220              .b = { ISL_SFIXED, 64, 32 },
221              .a = { ISL_SFIXED, 96, 32 },
222              .l = {},
223              .i = {},
224              .p = {},
225    },
226    .colorspace = ISL_COLORSPACE_LINEAR,
227    .txc = ISL_TXC_NONE,
228  },
229
230  [ISL_FORMAT_R64G64_PASSTHRU] = {
231    .format = ISL_FORMAT_R64G64_PASSTHRU,
232    .name = "ISL_FORMAT_R64G64_PASSTHRU",
233    .bpb = 128,
234    .bw = 1,
235    .bh = 1,
236    .bd = 1,
237    .channels = {
238              .r = { ISL_RAW, 0, 64 },
239              .g = { ISL_RAW, 64, 64 },
240              .b = {},
241              .a = {},
242              .l = {},
243              .i = {},
244              .p = {},
245    },
246    .colorspace = ISL_COLORSPACE_NONE,
247    .txc = ISL_TXC_NONE,
248  },
249
250  [ISL_FORMAT_R32G32B32_FLOAT] = {
251    .format = ISL_FORMAT_R32G32B32_FLOAT,
252    .name = "ISL_FORMAT_R32G32B32_FLOAT",
253    .bpb = 96,
254    .bw = 1,
255    .bh = 1,
256    .bd = 1,
257    .channels = {
258              .r = { ISL_SFLOAT, 0, 32 },
259              .g = { ISL_SFLOAT, 32, 32 },
260              .b = { ISL_SFLOAT, 64, 32 },
261              .a = {},
262              .l = {},
263              .i = {},
264              .p = {},
265    },
266    .colorspace = ISL_COLORSPACE_LINEAR,
267    .txc = ISL_TXC_NONE,
268  },
269
270  [ISL_FORMAT_R32G32B32_SINT] = {
271    .format = ISL_FORMAT_R32G32B32_SINT,
272    .name = "ISL_FORMAT_R32G32B32_SINT",
273    .bpb = 96,
274    .bw = 1,
275    .bh = 1,
276    .bd = 1,
277    .channels = {
278              .r = { ISL_SINT, 0, 32 },
279              .g = { ISL_SINT, 32, 32 },
280              .b = { ISL_SINT, 64, 32 },
281              .a = {},
282              .l = {},
283              .i = {},
284              .p = {},
285    },
286    .colorspace = ISL_COLORSPACE_LINEAR,
287    .txc = ISL_TXC_NONE,
288  },
289
290  [ISL_FORMAT_R32G32B32_UINT] = {
291    .format = ISL_FORMAT_R32G32B32_UINT,
292    .name = "ISL_FORMAT_R32G32B32_UINT",
293    .bpb = 96,
294    .bw = 1,
295    .bh = 1,
296    .bd = 1,
297    .channels = {
298              .r = { ISL_UINT, 0, 32 },
299              .g = { ISL_UINT, 32, 32 },
300              .b = { ISL_UINT, 64, 32 },
301              .a = {},
302              .l = {},
303              .i = {},
304              .p = {},
305    },
306    .colorspace = ISL_COLORSPACE_LINEAR,
307    .txc = ISL_TXC_NONE,
308  },
309
310  [ISL_FORMAT_R32G32B32_UNORM] = {
311    .format = ISL_FORMAT_R32G32B32_UNORM,
312    .name = "ISL_FORMAT_R32G32B32_UNORM",
313    .bpb = 96,
314    .bw = 1,
315    .bh = 1,
316    .bd = 1,
317    .channels = {
318              .r = { ISL_UNORM, 0, 32 },
319              .g = { ISL_UNORM, 32, 32 },
320              .b = { ISL_UNORM, 64, 32 },
321              .a = {},
322              .l = {},
323              .i = {},
324              .p = {},
325    },
326    .colorspace = ISL_COLORSPACE_LINEAR,
327    .txc = ISL_TXC_NONE,
328  },
329
330  [ISL_FORMAT_R32G32B32_SNORM] = {
331    .format = ISL_FORMAT_R32G32B32_SNORM,
332    .name = "ISL_FORMAT_R32G32B32_SNORM",
333    .bpb = 96,
334    .bw = 1,
335    .bh = 1,
336    .bd = 1,
337    .channels = {
338              .r = { ISL_SNORM, 0, 32 },
339              .g = { ISL_SNORM, 32, 32 },
340              .b = { ISL_SNORM, 64, 32 },
341              .a = {},
342              .l = {},
343              .i = {},
344              .p = {},
345    },
346    .colorspace = ISL_COLORSPACE_LINEAR,
347    .txc = ISL_TXC_NONE,
348  },
349
350  [ISL_FORMAT_R32G32B32_SSCALED] = {
351    .format = ISL_FORMAT_R32G32B32_SSCALED,
352    .name = "ISL_FORMAT_R32G32B32_SSCALED",
353    .bpb = 96,
354    .bw = 1,
355    .bh = 1,
356    .bd = 1,
357    .channels = {
358              .r = { ISL_SSCALED, 0, 32 },
359              .g = { ISL_SSCALED, 32, 32 },
360              .b = { ISL_SSCALED, 64, 32 },
361              .a = {},
362              .l = {},
363              .i = {},
364              .p = {},
365    },
366    .colorspace = ISL_COLORSPACE_LINEAR,
367    .txc = ISL_TXC_NONE,
368  },
369
370  [ISL_FORMAT_R32G32B32_USCALED] = {
371    .format = ISL_FORMAT_R32G32B32_USCALED,
372    .name = "ISL_FORMAT_R32G32B32_USCALED",
373    .bpb = 96,
374    .bw = 1,
375    .bh = 1,
376    .bd = 1,
377    .channels = {
378              .r = { ISL_USCALED, 0, 32 },
379              .g = { ISL_USCALED, 32, 32 },
380              .b = { ISL_USCALED, 64, 32 },
381              .a = {},
382              .l = {},
383              .i = {},
384              .p = {},
385    },
386    .colorspace = ISL_COLORSPACE_LINEAR,
387    .txc = ISL_TXC_NONE,
388  },
389
390  [ISL_FORMAT_R32G32B32_SFIXED] = {
391    .format = ISL_FORMAT_R32G32B32_SFIXED,
392    .name = "ISL_FORMAT_R32G32B32_SFIXED",
393    .bpb = 96,
394    .bw = 1,
395    .bh = 1,
396    .bd = 1,
397    .channels = {
398              .r = { ISL_SFIXED, 0, 32 },
399              .g = { ISL_SFIXED, 32, 32 },
400              .b = { ISL_SFIXED, 64, 32 },
401              .a = {},
402              .l = {},
403              .i = {},
404              .p = {},
405    },
406    .colorspace = ISL_COLORSPACE_LINEAR,
407    .txc = ISL_TXC_NONE,
408  },
409
410  [ISL_FORMAT_R16G16B16A16_UNORM] = {
411    .format = ISL_FORMAT_R16G16B16A16_UNORM,
412    .name = "ISL_FORMAT_R16G16B16A16_UNORM",
413    .bpb = 64,
414    .bw = 1,
415    .bh = 1,
416    .bd = 1,
417    .channels = {
418              .r = { ISL_UNORM, 0, 16 },
419              .g = { ISL_UNORM, 16, 16 },
420              .b = { ISL_UNORM, 32, 16 },
421              .a = { ISL_UNORM, 48, 16 },
422              .l = {},
423              .i = {},
424              .p = {},
425    },
426    .colorspace = ISL_COLORSPACE_LINEAR,
427    .txc = ISL_TXC_NONE,
428  },
429
430  [ISL_FORMAT_R16G16B16A16_SNORM] = {
431    .format = ISL_FORMAT_R16G16B16A16_SNORM,
432    .name = "ISL_FORMAT_R16G16B16A16_SNORM",
433    .bpb = 64,
434    .bw = 1,
435    .bh = 1,
436    .bd = 1,
437    .channels = {
438              .r = { ISL_SNORM, 0, 16 },
439              .g = { ISL_SNORM, 16, 16 },
440              .b = { ISL_SNORM, 32, 16 },
441              .a = { ISL_SNORM, 48, 16 },
442              .l = {},
443              .i = {},
444              .p = {},
445    },
446    .colorspace = ISL_COLORSPACE_LINEAR,
447    .txc = ISL_TXC_NONE,
448  },
449
450  [ISL_FORMAT_R16G16B16A16_SINT] = {
451    .format = ISL_FORMAT_R16G16B16A16_SINT,
452    .name = "ISL_FORMAT_R16G16B16A16_SINT",
453    .bpb = 64,
454    .bw = 1,
455    .bh = 1,
456    .bd = 1,
457    .channels = {
458              .r = { ISL_SINT, 0, 16 },
459              .g = { ISL_SINT, 16, 16 },
460              .b = { ISL_SINT, 32, 16 },
461              .a = { ISL_SINT, 48, 16 },
462              .l = {},
463              .i = {},
464              .p = {},
465    },
466    .colorspace = ISL_COLORSPACE_LINEAR,
467    .txc = ISL_TXC_NONE,
468  },
469
470  [ISL_FORMAT_R16G16B16A16_UINT] = {
471    .format = ISL_FORMAT_R16G16B16A16_UINT,
472    .name = "ISL_FORMAT_R16G16B16A16_UINT",
473    .bpb = 64,
474    .bw = 1,
475    .bh = 1,
476    .bd = 1,
477    .channels = {
478              .r = { ISL_UINT, 0, 16 },
479              .g = { ISL_UINT, 16, 16 },
480              .b = { ISL_UINT, 32, 16 },
481              .a = { ISL_UINT, 48, 16 },
482              .l = {},
483              .i = {},
484              .p = {},
485    },
486    .colorspace = ISL_COLORSPACE_LINEAR,
487    .txc = ISL_TXC_NONE,
488  },
489
490  [ISL_FORMAT_R16G16B16A16_FLOAT] = {
491    .format = ISL_FORMAT_R16G16B16A16_FLOAT,
492    .name = "ISL_FORMAT_R16G16B16A16_FLOAT",
493    .bpb = 64,
494    .bw = 1,
495    .bh = 1,
496    .bd = 1,
497    .channels = {
498              .r = { ISL_SFLOAT, 0, 16 },
499              .g = { ISL_SFLOAT, 16, 16 },
500              .b = { ISL_SFLOAT, 32, 16 },
501              .a = { ISL_SFLOAT, 48, 16 },
502              .l = {},
503              .i = {},
504              .p = {},
505    },
506    .colorspace = ISL_COLORSPACE_LINEAR,
507    .txc = ISL_TXC_NONE,
508  },
509
510  [ISL_FORMAT_R32G32_FLOAT] = {
511    .format = ISL_FORMAT_R32G32_FLOAT,
512    .name = "ISL_FORMAT_R32G32_FLOAT",
513    .bpb = 64,
514    .bw = 1,
515    .bh = 1,
516    .bd = 1,
517    .channels = {
518              .r = { ISL_SFLOAT, 0, 32 },
519              .g = { ISL_SFLOAT, 32, 32 },
520              .b = {},
521              .a = {},
522              .l = {},
523              .i = {},
524              .p = {},
525    },
526    .colorspace = ISL_COLORSPACE_LINEAR,
527    .txc = ISL_TXC_NONE,
528  },
529
530  [ISL_FORMAT_R32G32_SINT] = {
531    .format = ISL_FORMAT_R32G32_SINT,
532    .name = "ISL_FORMAT_R32G32_SINT",
533    .bpb = 64,
534    .bw = 1,
535    .bh = 1,
536    .bd = 1,
537    .channels = {
538              .r = { ISL_SINT, 0, 32 },
539              .g = { ISL_SINT, 32, 32 },
540              .b = {},
541              .a = {},
542              .l = {},
543              .i = {},
544              .p = {},
545    },
546    .colorspace = ISL_COLORSPACE_LINEAR,
547    .txc = ISL_TXC_NONE,
548  },
549
550  [ISL_FORMAT_R32G32_UINT] = {
551    .format = ISL_FORMAT_R32G32_UINT,
552    .name = "ISL_FORMAT_R32G32_UINT",
553    .bpb = 64,
554    .bw = 1,
555    .bh = 1,
556    .bd = 1,
557    .channels = {
558              .r = { ISL_UINT, 0, 32 },
559              .g = { ISL_UINT, 32, 32 },
560              .b = {},
561              .a = {},
562              .l = {},
563              .i = {},
564              .p = {},
565    },
566    .colorspace = ISL_COLORSPACE_LINEAR,
567    .txc = ISL_TXC_NONE,
568  },
569
570  [ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS] = {
571    .format = ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS,
572    .name = "ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS",
573    .bpb = 64,
574    .bw = 1,
575    .bh = 1,
576    .bd = 1,
577    .channels = {
578              .r = { ISL_SFLOAT, 0, 32 },
579              .g = { ISL_VOID, 32, 8 },
580              .b = { ISL_VOID, 40, 24 },
581              .a = {},
582              .l = {},
583              .i = {},
584              .p = {},
585    },
586    .colorspace = ISL_COLORSPACE_LINEAR,
587    .txc = ISL_TXC_NONE,
588  },
589
590  [ISL_FORMAT_X32_TYPELESS_G8X24_UINT] = {
591    .format = ISL_FORMAT_X32_TYPELESS_G8X24_UINT,
592    .name = "ISL_FORMAT_X32_TYPELESS_G8X24_UINT",
593    .bpb = 64,
594    .bw = 1,
595    .bh = 1,
596    .bd = 1,
597    .channels = {
598              .r = { ISL_VOID, 0, 32 },
599              .g = { ISL_UINT, 32, 8 },
600              .b = { ISL_VOID, 40, 24 },
601              .a = {},
602              .l = {},
603              .i = {},
604              .p = {},
605    },
606    .colorspace = ISL_COLORSPACE_LINEAR,
607    .txc = ISL_TXC_NONE,
608  },
609
610  [ISL_FORMAT_L32A32_FLOAT] = {
611    .format = ISL_FORMAT_L32A32_FLOAT,
612    .name = "ISL_FORMAT_L32A32_FLOAT",
613    .bpb = 64,
614    .bw = 1,
615    .bh = 1,
616    .bd = 1,
617    .channels = {
618              .r = {},
619              .g = {},
620              .b = {},
621              .a = { ISL_SFLOAT, 32, 32 },
622              .l = { ISL_SFLOAT, 0, 32 },
623              .i = {},
624              .p = {},
625    },
626    .colorspace = ISL_COLORSPACE_LINEAR,
627    .txc = ISL_TXC_NONE,
628  },
629
630  [ISL_FORMAT_R32G32_UNORM] = {
631    .format = ISL_FORMAT_R32G32_UNORM,
632    .name = "ISL_FORMAT_R32G32_UNORM",
633    .bpb = 64,
634    .bw = 1,
635    .bh = 1,
636    .bd = 1,
637    .channels = {
638              .r = { ISL_UNORM, 0, 32 },
639              .g = { ISL_UNORM, 32, 32 },
640              .b = {},
641              .a = {},
642              .l = {},
643              .i = {},
644              .p = {},
645    },
646    .colorspace = ISL_COLORSPACE_LINEAR,
647    .txc = ISL_TXC_NONE,
648  },
649
650  [ISL_FORMAT_R32G32_SNORM] = {
651    .format = ISL_FORMAT_R32G32_SNORM,
652    .name = "ISL_FORMAT_R32G32_SNORM",
653    .bpb = 64,
654    .bw = 1,
655    .bh = 1,
656    .bd = 1,
657    .channels = {
658              .r = { ISL_SNORM, 0, 32 },
659              .g = { ISL_SNORM, 32, 32 },
660              .b = {},
661              .a = {},
662              .l = {},
663              .i = {},
664              .p = {},
665    },
666    .colorspace = ISL_COLORSPACE_LINEAR,
667    .txc = ISL_TXC_NONE,
668  },
669
670  [ISL_FORMAT_R64_FLOAT] = {
671    .format = ISL_FORMAT_R64_FLOAT,
672    .name = "ISL_FORMAT_R64_FLOAT",
673    .bpb = 64,
674    .bw = 1,
675    .bh = 1,
676    .bd = 1,
677    .channels = {
678              .r = { ISL_SFLOAT, 0, 64 },
679              .g = {},
680              .b = {},
681              .a = {},
682              .l = {},
683              .i = {},
684              .p = {},
685    },
686    .colorspace = ISL_COLORSPACE_LINEAR,
687    .txc = ISL_TXC_NONE,
688  },
689
690  [ISL_FORMAT_R16G16B16X16_UNORM] = {
691    .format = ISL_FORMAT_R16G16B16X16_UNORM,
692    .name = "ISL_FORMAT_R16G16B16X16_UNORM",
693    .bpb = 64,
694    .bw = 1,
695    .bh = 1,
696    .bd = 1,
697    .channels = {
698              .r = { ISL_UNORM, 0, 16 },
699              .g = { ISL_UNORM, 16, 16 },
700              .b = { ISL_UNORM, 32, 16 },
701              .a = { ISL_VOID, 48, 16 },
702              .l = {},
703              .i = {},
704              .p = {},
705    },
706    .colorspace = ISL_COLORSPACE_LINEAR,
707    .txc = ISL_TXC_NONE,
708  },
709
710  [ISL_FORMAT_R16G16B16X16_FLOAT] = {
711    .format = ISL_FORMAT_R16G16B16X16_FLOAT,
712    .name = "ISL_FORMAT_R16G16B16X16_FLOAT",
713    .bpb = 64,
714    .bw = 1,
715    .bh = 1,
716    .bd = 1,
717    .channels = {
718              .r = { ISL_SFLOAT, 0, 16 },
719              .g = { ISL_SFLOAT, 16, 16 },
720              .b = { ISL_SFLOAT, 32, 16 },
721              .a = { ISL_VOID, 48, 16 },
722              .l = {},
723              .i = {},
724              .p = {},
725    },
726    .colorspace = ISL_COLORSPACE_LINEAR,
727    .txc = ISL_TXC_NONE,
728  },
729
730  [ISL_FORMAT_A32X32_FLOAT] = {
731    .format = ISL_FORMAT_A32X32_FLOAT,
732    .name = "ISL_FORMAT_A32X32_FLOAT",
733    .bpb = 64,
734    .bw = 1,
735    .bh = 1,
736    .bd = 1,
737    .channels = {
738              .r = {},
739              .g = {},
740              .b = {},
741              .a = { ISL_SFLOAT, 0, 32 },
742              .l = { ISL_VOID, 32, 32 },
743              .i = {},
744              .p = {},
745    },
746    .colorspace = ISL_COLORSPACE_LINEAR,
747    .txc = ISL_TXC_NONE,
748  },
749
750  [ISL_FORMAT_L32X32_FLOAT] = {
751    .format = ISL_FORMAT_L32X32_FLOAT,
752    .name = "ISL_FORMAT_L32X32_FLOAT",
753    .bpb = 64,
754    .bw = 1,
755    .bh = 1,
756    .bd = 1,
757    .channels = {
758              .r = {},
759              .g = {},
760              .b = {},
761              .a = { ISL_VOID, 32, 32 },
762              .l = { ISL_SFLOAT, 0, 32 },
763              .i = {},
764              .p = {},
765    },
766    .colorspace = ISL_COLORSPACE_LINEAR,
767    .txc = ISL_TXC_NONE,
768  },
769
770  [ISL_FORMAT_I32X32_FLOAT] = {
771    .format = ISL_FORMAT_I32X32_FLOAT,
772    .name = "ISL_FORMAT_I32X32_FLOAT",
773    .bpb = 64,
774    .bw = 1,
775    .bh = 1,
776    .bd = 1,
777    .channels = {
778              .r = {},
779              .g = {},
780              .b = {},
781              .a = { ISL_VOID, 32, 32 },
782              .l = {},
783              .i = { ISL_SFLOAT, 0, 32 },
784              .p = {},
785    },
786    .colorspace = ISL_COLORSPACE_LINEAR,
787    .txc = ISL_TXC_NONE,
788  },
789
790  [ISL_FORMAT_R16G16B16A16_SSCALED] = {
791    .format = ISL_FORMAT_R16G16B16A16_SSCALED,
792    .name = "ISL_FORMAT_R16G16B16A16_SSCALED",
793    .bpb = 64,
794    .bw = 1,
795    .bh = 1,
796    .bd = 1,
797    .channels = {
798              .r = { ISL_SSCALED, 0, 16 },
799              .g = { ISL_SSCALED, 16, 16 },
800              .b = { ISL_SSCALED, 32, 16 },
801              .a = { ISL_SSCALED, 48, 16 },
802              .l = {},
803              .i = {},
804              .p = {},
805    },
806    .colorspace = ISL_COLORSPACE_LINEAR,
807    .txc = ISL_TXC_NONE,
808  },
809
810  [ISL_FORMAT_R16G16B16A16_USCALED] = {
811    .format = ISL_FORMAT_R16G16B16A16_USCALED,
812    .name = "ISL_FORMAT_R16G16B16A16_USCALED",
813    .bpb = 64,
814    .bw = 1,
815    .bh = 1,
816    .bd = 1,
817    .channels = {
818              .r = { ISL_USCALED, 0, 16 },
819              .g = { ISL_USCALED, 16, 16 },
820              .b = { ISL_USCALED, 32, 16 },
821              .a = { ISL_USCALED, 48, 16 },
822              .l = {},
823              .i = {},
824              .p = {},
825    },
826    .colorspace = ISL_COLORSPACE_LINEAR,
827    .txc = ISL_TXC_NONE,
828  },
829
830  [ISL_FORMAT_R32G32_SSCALED] = {
831    .format = ISL_FORMAT_R32G32_SSCALED,
832    .name = "ISL_FORMAT_R32G32_SSCALED",
833    .bpb = 64,
834    .bw = 1,
835    .bh = 1,
836    .bd = 1,
837    .channels = {
838              .r = { ISL_SSCALED, 0, 32 },
839              .g = { ISL_SSCALED, 32, 32 },
840              .b = {},
841              .a = {},
842              .l = {},
843              .i = {},
844              .p = {},
845    },
846    .colorspace = ISL_COLORSPACE_LINEAR,
847    .txc = ISL_TXC_NONE,
848  },
849
850  [ISL_FORMAT_R32G32_USCALED] = {
851    .format = ISL_FORMAT_R32G32_USCALED,
852    .name = "ISL_FORMAT_R32G32_USCALED",
853    .bpb = 64,
854    .bw = 1,
855    .bh = 1,
856    .bd = 1,
857    .channels = {
858              .r = { ISL_USCALED, 0, 32 },
859              .g = { ISL_USCALED, 32, 32 },
860              .b = {},
861              .a = {},
862              .l = {},
863              .i = {},
864              .p = {},
865    },
866    .colorspace = ISL_COLORSPACE_LINEAR,
867    .txc = ISL_TXC_NONE,
868  },
869
870  [ISL_FORMAT_R32G32_FLOAT_LD] = {
871    .format = ISL_FORMAT_R32G32_FLOAT_LD,
872    .name = "ISL_FORMAT_R32G32_FLOAT_LD",
873    .bpb = 64,
874    .bw = 1,
875    .bh = 1,
876    .bd = 1,
877    .channels = {
878              .r = { ISL_SFLOAT, 0, 32 },
879              .g = { ISL_SFLOAT, 32, 32 },
880              .b = {},
881              .a = {},
882              .l = {},
883              .i = {},
884              .p = {},
885    },
886    .colorspace = ISL_COLORSPACE_LINEAR,
887    .txc = ISL_TXC_NONE,
888  },
889
890  [ISL_FORMAT_R32G32_SFIXED] = {
891    .format = ISL_FORMAT_R32G32_SFIXED,
892    .name = "ISL_FORMAT_R32G32_SFIXED",
893    .bpb = 64,
894    .bw = 1,
895    .bh = 1,
896    .bd = 1,
897    .channels = {
898              .r = { ISL_SFIXED, 0, 32 },
899              .g = { ISL_SFIXED, 32, 32 },
900              .b = {},
901              .a = {},
902              .l = {},
903              .i = {},
904              .p = {},
905    },
906    .colorspace = ISL_COLORSPACE_LINEAR,
907    .txc = ISL_TXC_NONE,
908  },
909
910  [ISL_FORMAT_R64_PASSTHRU] = {
911    .format = ISL_FORMAT_R64_PASSTHRU,
912    .name = "ISL_FORMAT_R64_PASSTHRU",
913    .bpb = 64,
914    .bw = 1,
915    .bh = 1,
916    .bd = 1,
917    .channels = {
918              .r = { ISL_RAW, 0, 64 },
919              .g = {},
920              .b = {},
921              .a = {},
922              .l = {},
923              .i = {},
924              .p = {},
925    },
926    .colorspace = ISL_COLORSPACE_NONE,
927    .txc = ISL_TXC_NONE,
928  },
929
930  [ISL_FORMAT_B8G8R8A8_UNORM] = {
931    .format = ISL_FORMAT_B8G8R8A8_UNORM,
932    .name = "ISL_FORMAT_B8G8R8A8_UNORM",
933    .bpb = 32,
934    .bw = 1,
935    .bh = 1,
936    .bd = 1,
937    .channels = {
938              .r = { ISL_UNORM, 16, 8 },
939              .g = { ISL_UNORM, 8, 8 },
940              .b = { ISL_UNORM, 0, 8 },
941              .a = { ISL_UNORM, 24, 8 },
942              .l = {},
943              .i = {},
944              .p = {},
945    },
946    .colorspace = ISL_COLORSPACE_LINEAR,
947    .txc = ISL_TXC_NONE,
948  },
949
950  [ISL_FORMAT_B8G8R8A8_UNORM_SRGB] = {
951    .format = ISL_FORMAT_B8G8R8A8_UNORM_SRGB,
952    .name = "ISL_FORMAT_B8G8R8A8_UNORM_SRGB",
953    .bpb = 32,
954    .bw = 1,
955    .bh = 1,
956    .bd = 1,
957    .channels = {
958              .r = { ISL_UNORM, 16, 8 },
959              .g = { ISL_UNORM, 8, 8 },
960              .b = { ISL_UNORM, 0, 8 },
961              .a = { ISL_UNORM, 24, 8 },
962              .l = {},
963              .i = {},
964              .p = {},
965    },
966    .colorspace = ISL_COLORSPACE_SRGB,
967    .txc = ISL_TXC_NONE,
968  },
969
970  [ISL_FORMAT_R10G10B10A2_UNORM] = {
971    .format = ISL_FORMAT_R10G10B10A2_UNORM,
972    .name = "ISL_FORMAT_R10G10B10A2_UNORM",
973    .bpb = 32,
974    .bw = 1,
975    .bh = 1,
976    .bd = 1,
977    .channels = {
978              .r = { ISL_UNORM, 0, 10 },
979              .g = { ISL_UNORM, 10, 10 },
980              .b = { ISL_UNORM, 20, 10 },
981              .a = { ISL_UNORM, 30, 2 },
982              .l = {},
983              .i = {},
984              .p = {},
985    },
986    .colorspace = ISL_COLORSPACE_LINEAR,
987    .txc = ISL_TXC_NONE,
988  },
989
990  [ISL_FORMAT_R10G10B10A2_UNORM_SRGB] = {
991    .format = ISL_FORMAT_R10G10B10A2_UNORM_SRGB,
992    .name = "ISL_FORMAT_R10G10B10A2_UNORM_SRGB",
993    .bpb = 32,
994    .bw = 1,
995    .bh = 1,
996    .bd = 1,
997    .channels = {
998              .r = { ISL_UNORM, 0, 10 },
999              .g = { ISL_UNORM, 10, 10 },
1000              .b = { ISL_UNORM, 20, 10 },
1001              .a = { ISL_UNORM, 30, 2 },
1002              .l = {},
1003              .i = {},
1004              .p = {},
1005    },
1006    .colorspace = ISL_COLORSPACE_SRGB,
1007    .txc = ISL_TXC_NONE,
1008  },
1009
1010  [ISL_FORMAT_R10G10B10A2_UINT] = {
1011    .format = ISL_FORMAT_R10G10B10A2_UINT,
1012    .name = "ISL_FORMAT_R10G10B10A2_UINT",
1013    .bpb = 32,
1014    .bw = 1,
1015    .bh = 1,
1016    .bd = 1,
1017    .channels = {
1018              .r = { ISL_UINT, 0, 10 },
1019              .g = { ISL_UINT, 10, 10 },
1020              .b = { ISL_UINT, 20, 10 },
1021              .a = { ISL_UINT, 30, 2 },
1022              .l = {},
1023              .i = {},
1024              .p = {},
1025    },
1026    .colorspace = ISL_COLORSPACE_LINEAR,
1027    .txc = ISL_TXC_NONE,
1028  },
1029
1030  [ISL_FORMAT_R10G10B10_SNORM_A2_UNORM] = {
1031    .format = ISL_FORMAT_R10G10B10_SNORM_A2_UNORM,
1032    .name = "ISL_FORMAT_R10G10B10_SNORM_A2_UNORM",
1033    .bpb = 32,
1034    .bw = 1,
1035    .bh = 1,
1036    .bd = 1,
1037    .channels = {
1038              .r = { ISL_SNORM, 0, 10 },
1039              .g = { ISL_SNORM, 10, 10 },
1040              .b = { ISL_SNORM, 20, 10 },
1041              .a = { ISL_UNORM, 30, 2 },
1042              .l = {},
1043              .i = {},
1044              .p = {},
1045    },
1046    .colorspace = ISL_COLORSPACE_LINEAR,
1047    .txc = ISL_TXC_NONE,
1048  },
1049
1050  [ISL_FORMAT_R8G8B8A8_UNORM] = {
1051    .format = ISL_FORMAT_R8G8B8A8_UNORM,
1052    .name = "ISL_FORMAT_R8G8B8A8_UNORM",
1053    .bpb = 32,
1054    .bw = 1,
1055    .bh = 1,
1056    .bd = 1,
1057    .channels = {
1058              .r = { ISL_UNORM, 0, 8 },
1059              .g = { ISL_UNORM, 8, 8 },
1060              .b = { ISL_UNORM, 16, 8 },
1061              .a = { ISL_UNORM, 24, 8 },
1062              .l = {},
1063              .i = {},
1064              .p = {},
1065    },
1066    .colorspace = ISL_COLORSPACE_LINEAR,
1067    .txc = ISL_TXC_NONE,
1068  },
1069
1070  [ISL_FORMAT_R8G8B8A8_UNORM_SRGB] = {
1071    .format = ISL_FORMAT_R8G8B8A8_UNORM_SRGB,
1072    .name = "ISL_FORMAT_R8G8B8A8_UNORM_SRGB",
1073    .bpb = 32,
1074    .bw = 1,
1075    .bh = 1,
1076    .bd = 1,
1077    .channels = {
1078              .r = { ISL_UNORM, 0, 8 },
1079              .g = { ISL_UNORM, 8, 8 },
1080              .b = { ISL_UNORM, 16, 8 },
1081              .a = { ISL_UNORM, 24, 8 },
1082              .l = {},
1083              .i = {},
1084              .p = {},
1085    },
1086    .colorspace = ISL_COLORSPACE_SRGB,
1087    .txc = ISL_TXC_NONE,
1088  },
1089
1090  [ISL_FORMAT_R8G8B8A8_SNORM] = {
1091    .format = ISL_FORMAT_R8G8B8A8_SNORM,
1092    .name = "ISL_FORMAT_R8G8B8A8_SNORM",
1093    .bpb = 32,
1094    .bw = 1,
1095    .bh = 1,
1096    .bd = 1,
1097    .channels = {
1098              .r = { ISL_SNORM, 0, 8 },
1099              .g = { ISL_SNORM, 8, 8 },
1100              .b = { ISL_SNORM, 16, 8 },
1101              .a = { ISL_SNORM, 24, 8 },
1102              .l = {},
1103              .i = {},
1104              .p = {},
1105    },
1106    .colorspace = ISL_COLORSPACE_LINEAR,
1107    .txc = ISL_TXC_NONE,
1108  },
1109
1110  [ISL_FORMAT_R8G8B8A8_SINT] = {
1111    .format = ISL_FORMAT_R8G8B8A8_SINT,
1112    .name = "ISL_FORMAT_R8G8B8A8_SINT",
1113    .bpb = 32,
1114    .bw = 1,
1115    .bh = 1,
1116    .bd = 1,
1117    .channels = {
1118              .r = { ISL_SINT, 0, 8 },
1119              .g = { ISL_SINT, 8, 8 },
1120              .b = { ISL_SINT, 16, 8 },
1121              .a = { ISL_SINT, 24, 8 },
1122              .l = {},
1123              .i = {},
1124              .p = {},
1125    },
1126    .colorspace = ISL_COLORSPACE_LINEAR,
1127    .txc = ISL_TXC_NONE,
1128  },
1129
1130  [ISL_FORMAT_R8G8B8A8_UINT] = {
1131    .format = ISL_FORMAT_R8G8B8A8_UINT,
1132    .name = "ISL_FORMAT_R8G8B8A8_UINT",
1133    .bpb = 32,
1134    .bw = 1,
1135    .bh = 1,
1136    .bd = 1,
1137    .channels = {
1138              .r = { ISL_UINT, 0, 8 },
1139              .g = { ISL_UINT, 8, 8 },
1140              .b = { ISL_UINT, 16, 8 },
1141              .a = { ISL_UINT, 24, 8 },
1142              .l = {},
1143              .i = {},
1144              .p = {},
1145    },
1146    .colorspace = ISL_COLORSPACE_LINEAR,
1147    .txc = ISL_TXC_NONE,
1148  },
1149
1150  [ISL_FORMAT_R16G16_UNORM] = {
1151    .format = ISL_FORMAT_R16G16_UNORM,
1152    .name = "ISL_FORMAT_R16G16_UNORM",
1153    .bpb = 32,
1154    .bw = 1,
1155    .bh = 1,
1156    .bd = 1,
1157    .channels = {
1158              .r = { ISL_UNORM, 0, 16 },
1159              .g = { ISL_UNORM, 16, 16 },
1160              .b = {},
1161              .a = {},
1162              .l = {},
1163              .i = {},
1164              .p = {},
1165    },
1166    .colorspace = ISL_COLORSPACE_LINEAR,
1167    .txc = ISL_TXC_NONE,
1168  },
1169
1170  [ISL_FORMAT_R16G16_SNORM] = {
1171    .format = ISL_FORMAT_R16G16_SNORM,
1172    .name = "ISL_FORMAT_R16G16_SNORM",
1173    .bpb = 32,
1174    .bw = 1,
1175    .bh = 1,
1176    .bd = 1,
1177    .channels = {
1178              .r = { ISL_SNORM, 0, 16 },
1179              .g = { ISL_SNORM, 16, 16 },
1180              .b = {},
1181              .a = {},
1182              .l = {},
1183              .i = {},
1184              .p = {},
1185    },
1186    .colorspace = ISL_COLORSPACE_LINEAR,
1187    .txc = ISL_TXC_NONE,
1188  },
1189
1190  [ISL_FORMAT_R16G16_SINT] = {
1191    .format = ISL_FORMAT_R16G16_SINT,
1192    .name = "ISL_FORMAT_R16G16_SINT",
1193    .bpb = 32,
1194    .bw = 1,
1195    .bh = 1,
1196    .bd = 1,
1197    .channels = {
1198              .r = { ISL_SINT, 0, 16 },
1199              .g = { ISL_SINT, 16, 16 },
1200              .b = {},
1201              .a = {},
1202              .l = {},
1203              .i = {},
1204              .p = {},
1205    },
1206    .colorspace = ISL_COLORSPACE_LINEAR,
1207    .txc = ISL_TXC_NONE,
1208  },
1209
1210  [ISL_FORMAT_R16G16_UINT] = {
1211    .format = ISL_FORMAT_R16G16_UINT,
1212    .name = "ISL_FORMAT_R16G16_UINT",
1213    .bpb = 32,
1214    .bw = 1,
1215    .bh = 1,
1216    .bd = 1,
1217    .channels = {
1218              .r = { ISL_UINT, 0, 16 },
1219              .g = { ISL_UINT, 16, 16 },
1220              .b = {},
1221              .a = {},
1222              .l = {},
1223              .i = {},
1224              .p = {},
1225    },
1226    .colorspace = ISL_COLORSPACE_LINEAR,
1227    .txc = ISL_TXC_NONE,
1228  },
1229
1230  [ISL_FORMAT_R16G16_FLOAT] = {
1231    .format = ISL_FORMAT_R16G16_FLOAT,
1232    .name = "ISL_FORMAT_R16G16_FLOAT",
1233    .bpb = 32,
1234    .bw = 1,
1235    .bh = 1,
1236    .bd = 1,
1237    .channels = {
1238              .r = { ISL_SFLOAT, 0, 16 },
1239              .g = { ISL_SFLOAT, 16, 16 },
1240              .b = {},
1241              .a = {},
1242              .l = {},
1243              .i = {},
1244              .p = {},
1245    },
1246    .colorspace = ISL_COLORSPACE_LINEAR,
1247    .txc = ISL_TXC_NONE,
1248  },
1249
1250  [ISL_FORMAT_B10G10R10A2_UNORM] = {
1251    .format = ISL_FORMAT_B10G10R10A2_UNORM,
1252    .name = "ISL_FORMAT_B10G10R10A2_UNORM",
1253    .bpb = 32,
1254    .bw = 1,
1255    .bh = 1,
1256    .bd = 1,
1257    .channels = {
1258              .r = { ISL_UNORM, 20, 10 },
1259              .g = { ISL_UNORM, 10, 10 },
1260              .b = { ISL_UNORM, 0, 10 },
1261              .a = { ISL_UNORM, 30, 2 },
1262              .l = {},
1263              .i = {},
1264              .p = {},
1265    },
1266    .colorspace = ISL_COLORSPACE_LINEAR,
1267    .txc = ISL_TXC_NONE,
1268  },
1269
1270  [ISL_FORMAT_B10G10R10A2_UNORM_SRGB] = {
1271    .format = ISL_FORMAT_B10G10R10A2_UNORM_SRGB,
1272    .name = "ISL_FORMAT_B10G10R10A2_UNORM_SRGB",
1273    .bpb = 32,
1274    .bw = 1,
1275    .bh = 1,
1276    .bd = 1,
1277    .channels = {
1278              .r = { ISL_UNORM, 20, 10 },
1279              .g = { ISL_UNORM, 10, 10 },
1280              .b = { ISL_UNORM, 0, 10 },
1281              .a = { ISL_UNORM, 30, 2 },
1282              .l = {},
1283              .i = {},
1284              .p = {},
1285    },
1286    .colorspace = ISL_COLORSPACE_SRGB,
1287    .txc = ISL_TXC_NONE,
1288  },
1289
1290  [ISL_FORMAT_R11G11B10_FLOAT] = {
1291    .format = ISL_FORMAT_R11G11B10_FLOAT,
1292    .name = "ISL_FORMAT_R11G11B10_FLOAT",
1293    .bpb = 32,
1294    .bw = 1,
1295    .bh = 1,
1296    .bd = 1,
1297    .channels = {
1298              .r = { ISL_UFLOAT, 0, 11 },
1299              .g = { ISL_UFLOAT, 11, 11 },
1300              .b = { ISL_UFLOAT, 22, 10 },
1301              .a = {},
1302              .l = {},
1303              .i = {},
1304              .p = {},
1305    },
1306    .colorspace = ISL_COLORSPACE_LINEAR,
1307    .txc = ISL_TXC_NONE,
1308  },
1309
1310  [ISL_FORMAT_R32_SINT] = {
1311    .format = ISL_FORMAT_R32_SINT,
1312    .name = "ISL_FORMAT_R32_SINT",
1313    .bpb = 32,
1314    .bw = 1,
1315    .bh = 1,
1316    .bd = 1,
1317    .channels = {
1318              .r = { ISL_SINT, 0, 32 },
1319              .g = {},
1320              .b = {},
1321              .a = {},
1322              .l = {},
1323              .i = {},
1324              .p = {},
1325    },
1326    .colorspace = ISL_COLORSPACE_LINEAR,
1327    .txc = ISL_TXC_NONE,
1328  },
1329
1330  [ISL_FORMAT_R32_UINT] = {
1331    .format = ISL_FORMAT_R32_UINT,
1332    .name = "ISL_FORMAT_R32_UINT",
1333    .bpb = 32,
1334    .bw = 1,
1335    .bh = 1,
1336    .bd = 1,
1337    .channels = {
1338              .r = { ISL_UINT, 0, 32 },
1339              .g = {},
1340              .b = {},
1341              .a = {},
1342              .l = {},
1343              .i = {},
1344              .p = {},
1345    },
1346    .colorspace = ISL_COLORSPACE_LINEAR,
1347    .txc = ISL_TXC_NONE,
1348  },
1349
1350  [ISL_FORMAT_R32_FLOAT] = {
1351    .format = ISL_FORMAT_R32_FLOAT,
1352    .name = "ISL_FORMAT_R32_FLOAT",
1353    .bpb = 32,
1354    .bw = 1,
1355    .bh = 1,
1356    .bd = 1,
1357    .channels = {
1358              .r = { ISL_SFLOAT, 0, 32 },
1359              .g = {},
1360              .b = {},
1361              .a = {},
1362              .l = {},
1363              .i = {},
1364              .p = {},
1365    },
1366    .colorspace = ISL_COLORSPACE_LINEAR,
1367    .txc = ISL_TXC_NONE,
1368  },
1369
1370  [ISL_FORMAT_R24_UNORM_X8_TYPELESS] = {
1371    .format = ISL_FORMAT_R24_UNORM_X8_TYPELESS,
1372    .name = "ISL_FORMAT_R24_UNORM_X8_TYPELESS",
1373    .bpb = 32,
1374    .bw = 1,
1375    .bh = 1,
1376    .bd = 1,
1377    .channels = {
1378              .r = { ISL_UNORM, 0, 24 },
1379              .g = { ISL_VOID, 24, 8 },
1380              .b = {},
1381              .a = {},
1382              .l = {},
1383              .i = {},
1384              .p = {},
1385    },
1386    .colorspace = ISL_COLORSPACE_LINEAR,
1387    .txc = ISL_TXC_NONE,
1388  },
1389
1390  [ISL_FORMAT_X24_TYPELESS_G8_UINT] = {
1391    .format = ISL_FORMAT_X24_TYPELESS_G8_UINT,
1392    .name = "ISL_FORMAT_X24_TYPELESS_G8_UINT",
1393    .bpb = 32,
1394    .bw = 1,
1395    .bh = 1,
1396    .bd = 1,
1397    .channels = {
1398              .r = { ISL_VOID, 0, 24 },
1399              .g = { ISL_UINT, 24, 8 },
1400              .b = {},
1401              .a = {},
1402              .l = {},
1403              .i = {},
1404              .p = {},
1405    },
1406    .colorspace = ISL_COLORSPACE_LINEAR,
1407    .txc = ISL_TXC_NONE,
1408  },
1409
1410  [ISL_FORMAT_L32_UNORM] = {
1411    .format = ISL_FORMAT_L32_UNORM,
1412    .name = "ISL_FORMAT_L32_UNORM",
1413    .bpb = 32,
1414    .bw = 1,
1415    .bh = 1,
1416    .bd = 1,
1417    .channels = {
1418              .r = {},
1419              .g = {},
1420              .b = {},
1421              .a = {},
1422              .l = { ISL_UNORM, 0, 32 },
1423              .i = {},
1424              .p = {},
1425    },
1426    .colorspace = ISL_COLORSPACE_LINEAR,
1427    .txc = ISL_TXC_NONE,
1428  },
1429
1430  [ISL_FORMAT_A32_UNORM] = {
1431    .format = ISL_FORMAT_A32_UNORM,
1432    .name = "ISL_FORMAT_A32_UNORM",
1433    .bpb = 32,
1434    .bw = 1,
1435    .bh = 1,
1436    .bd = 1,
1437    .channels = {
1438              .r = {},
1439              .g = {},
1440              .b = {},
1441              .a = { ISL_UNORM, 0, 32 },
1442              .l = {},
1443              .i = {},
1444              .p = {},
1445    },
1446    .colorspace = ISL_COLORSPACE_LINEAR,
1447    .txc = ISL_TXC_NONE,
1448  },
1449
1450  [ISL_FORMAT_L16A16_UNORM] = {
1451    .format = ISL_FORMAT_L16A16_UNORM,
1452    .name = "ISL_FORMAT_L16A16_UNORM",
1453    .bpb = 32,
1454    .bw = 1,
1455    .bh = 1,
1456    .bd = 1,
1457    .channels = {
1458              .r = {},
1459              .g = {},
1460              .b = {},
1461              .a = { ISL_UNORM, 16, 16 },
1462              .l = { ISL_UNORM, 0, 16 },
1463              .i = {},
1464              .p = {},
1465    },
1466    .colorspace = ISL_COLORSPACE_LINEAR,
1467    .txc = ISL_TXC_NONE,
1468  },
1469
1470  [ISL_FORMAT_I24X8_UNORM] = {
1471    .format = ISL_FORMAT_I24X8_UNORM,
1472    .name = "ISL_FORMAT_I24X8_UNORM",
1473    .bpb = 32,
1474    .bw = 1,
1475    .bh = 1,
1476    .bd = 1,
1477    .channels = {
1478              .r = {},
1479              .g = {},
1480              .b = {},
1481              .a = { ISL_VOID, 24, 8 },
1482              .l = {},
1483              .i = { ISL_UNORM, 0, 24 },
1484              .p = {},
1485    },
1486    .colorspace = ISL_COLORSPACE_LINEAR,
1487    .txc = ISL_TXC_NONE,
1488  },
1489
1490  [ISL_FORMAT_L24X8_UNORM] = {
1491    .format = ISL_FORMAT_L24X8_UNORM,
1492    .name = "ISL_FORMAT_L24X8_UNORM",
1493    .bpb = 32,
1494    .bw = 1,
1495    .bh = 1,
1496    .bd = 1,
1497    .channels = {
1498              .r = {},
1499              .g = {},
1500              .b = {},
1501              .a = { ISL_VOID, 24, 8 },
1502              .l = { ISL_UNORM, 0, 24 },
1503              .i = {},
1504              .p = {},
1505    },
1506    .colorspace = ISL_COLORSPACE_LINEAR,
1507    .txc = ISL_TXC_NONE,
1508  },
1509
1510  [ISL_FORMAT_A24X8_UNORM] = {
1511    .format = ISL_FORMAT_A24X8_UNORM,
1512    .name = "ISL_FORMAT_A24X8_UNORM",
1513    .bpb = 32,
1514    .bw = 1,
1515    .bh = 1,
1516    .bd = 1,
1517    .channels = {
1518              .r = {},
1519              .g = {},
1520              .b = {},
1521              .a = { ISL_UNORM, 0, 24 },
1522              .l = { ISL_VOID, 24, 8 },
1523              .i = {},
1524              .p = {},
1525    },
1526    .colorspace = ISL_COLORSPACE_LINEAR,
1527    .txc = ISL_TXC_NONE,
1528  },
1529
1530  [ISL_FORMAT_I32_FLOAT] = {
1531    .format = ISL_FORMAT_I32_FLOAT,
1532    .name = "ISL_FORMAT_I32_FLOAT",
1533    .bpb = 32,
1534    .bw = 1,
1535    .bh = 1,
1536    .bd = 1,
1537    .channels = {
1538              .r = {},
1539              .g = {},
1540              .b = {},
1541              .a = {},
1542              .l = {},
1543              .i = { ISL_SFLOAT, 0, 32 },
1544              .p = {},
1545    },
1546    .colorspace = ISL_COLORSPACE_LINEAR,
1547    .txc = ISL_TXC_NONE,
1548  },
1549
1550  [ISL_FORMAT_L32_FLOAT] = {
1551    .format = ISL_FORMAT_L32_FLOAT,
1552    .name = "ISL_FORMAT_L32_FLOAT",
1553    .bpb = 32,
1554    .bw = 1,
1555    .bh = 1,
1556    .bd = 1,
1557    .channels = {
1558              .r = {},
1559              .g = {},
1560              .b = {},
1561              .a = {},
1562              .l = { ISL_SFLOAT, 0, 32 },
1563              .i = {},
1564              .p = {},
1565    },
1566    .colorspace = ISL_COLORSPACE_LINEAR,
1567    .txc = ISL_TXC_NONE,
1568  },
1569
1570  [ISL_FORMAT_A32_FLOAT] = {
1571    .format = ISL_FORMAT_A32_FLOAT,
1572    .name = "ISL_FORMAT_A32_FLOAT",
1573    .bpb = 32,
1574    .bw = 1,
1575    .bh = 1,
1576    .bd = 1,
1577    .channels = {
1578              .r = {},
1579              .g = {},
1580              .b = {},
1581              .a = { ISL_SFLOAT, 0, 32 },
1582              .l = {},
1583              .i = {},
1584              .p = {},
1585    },
1586    .colorspace = ISL_COLORSPACE_LINEAR,
1587    .txc = ISL_TXC_NONE,
1588  },
1589
1590  [ISL_FORMAT_X8B8_UNORM_G8R8_SNORM] = {
1591    .format = ISL_FORMAT_X8B8_UNORM_G8R8_SNORM,
1592    .name = "ISL_FORMAT_X8B8_UNORM_G8R8_SNORM",
1593    .bpb = 32,
1594    .bw = 1,
1595    .bh = 1,
1596    .bd = 1,
1597    .channels = {
1598              .r = { ISL_SNORM, 24, 8 },
1599              .g = { ISL_SNORM, 16, 8 },
1600              .b = { ISL_UNORM, 8, 8 },
1601              .a = { ISL_VOID, 0, 8 },
1602              .l = {},
1603              .i = {},
1604              .p = {},
1605    },
1606    .colorspace = ISL_COLORSPACE_LINEAR,
1607    .txc = ISL_TXC_NONE,
1608  },
1609
1610  [ISL_FORMAT_A8X8_UNORM_G8R8_SNORM] = {
1611    .format = ISL_FORMAT_A8X8_UNORM_G8R8_SNORM,
1612    .name = "ISL_FORMAT_A8X8_UNORM_G8R8_SNORM",
1613    .bpb = 32,
1614    .bw = 1,
1615    .bh = 1,
1616    .bd = 1,
1617    .channels = {
1618              .r = { ISL_SNORM, 24, 8 },
1619              .g = { ISL_SNORM, 16, 8 },
1620              .b = { ISL_VOID, 8, 8 },
1621              .a = { ISL_UNORM, 0, 8 },
1622              .l = {},
1623              .i = {},
1624              .p = {},
1625    },
1626    .colorspace = ISL_COLORSPACE_LINEAR,
1627    .txc = ISL_TXC_NONE,
1628  },
1629
1630  [ISL_FORMAT_B8X8_UNORM_G8R8_SNORM] = {
1631    .format = ISL_FORMAT_B8X8_UNORM_G8R8_SNORM,
1632    .name = "ISL_FORMAT_B8X8_UNORM_G8R8_SNORM",
1633    .bpb = 32,
1634    .bw = 1,
1635    .bh = 1,
1636    .bd = 1,
1637    .channels = {
1638              .r = { ISL_SNORM, 24, 8 },
1639              .g = { ISL_SNORM, 16, 8 },
1640              .b = { ISL_UNORM, 0, 8 },
1641              .a = { ISL_VOID, 8, 8 },
1642              .l = {},
1643              .i = {},
1644              .p = {},
1645    },
1646    .colorspace = ISL_COLORSPACE_LINEAR,
1647    .txc = ISL_TXC_NONE,
1648  },
1649
1650  [ISL_FORMAT_B8G8R8X8_UNORM] = {
1651    .format = ISL_FORMAT_B8G8R8X8_UNORM,
1652    .name = "ISL_FORMAT_B8G8R8X8_UNORM",
1653    .bpb = 32,
1654    .bw = 1,
1655    .bh = 1,
1656    .bd = 1,
1657    .channels = {
1658              .r = { ISL_UNORM, 16, 8 },
1659              .g = { ISL_UNORM, 8, 8 },
1660              .b = { ISL_UNORM, 0, 8 },
1661              .a = { ISL_VOID, 24, 8 },
1662              .l = {},
1663              .i = {},
1664              .p = {},
1665    },
1666    .colorspace = ISL_COLORSPACE_LINEAR,
1667    .txc = ISL_TXC_NONE,
1668  },
1669
1670  [ISL_FORMAT_B8G8R8X8_UNORM_SRGB] = {
1671    .format = ISL_FORMAT_B8G8R8X8_UNORM_SRGB,
1672    .name = "ISL_FORMAT_B8G8R8X8_UNORM_SRGB",
1673    .bpb = 32,
1674    .bw = 1,
1675    .bh = 1,
1676    .bd = 1,
1677    .channels = {
1678              .r = { ISL_UNORM, 16, 8 },
1679              .g = { ISL_UNORM, 8, 8 },
1680              .b = { ISL_UNORM, 0, 8 },
1681              .a = { ISL_VOID, 24, 8 },
1682              .l = {},
1683              .i = {},
1684              .p = {},
1685    },
1686    .colorspace = ISL_COLORSPACE_SRGB,
1687    .txc = ISL_TXC_NONE,
1688  },
1689
1690  [ISL_FORMAT_R8G8B8X8_UNORM] = {
1691    .format = ISL_FORMAT_R8G8B8X8_UNORM,
1692    .name = "ISL_FORMAT_R8G8B8X8_UNORM",
1693    .bpb = 32,
1694    .bw = 1,
1695    .bh = 1,
1696    .bd = 1,
1697    .channels = {
1698              .r = { ISL_UNORM, 0, 8 },
1699              .g = { ISL_UNORM, 8, 8 },
1700              .b = { ISL_UNORM, 16, 8 },
1701              .a = { ISL_VOID, 24, 8 },
1702              .l = {},
1703              .i = {},
1704              .p = {},
1705    },
1706    .colorspace = ISL_COLORSPACE_LINEAR,
1707    .txc = ISL_TXC_NONE,
1708  },
1709
1710  [ISL_FORMAT_R8G8B8X8_UNORM_SRGB] = {
1711    .format = ISL_FORMAT_R8G8B8X8_UNORM_SRGB,
1712    .name = "ISL_FORMAT_R8G8B8X8_UNORM_SRGB",
1713    .bpb = 32,
1714    .bw = 1,
1715    .bh = 1,
1716    .bd = 1,
1717    .channels = {
1718              .r = { ISL_UNORM, 0, 8 },
1719              .g = { ISL_UNORM, 8, 8 },
1720              .b = { ISL_UNORM, 16, 8 },
1721              .a = { ISL_VOID, 24, 8 },
1722              .l = {},
1723              .i = {},
1724              .p = {},
1725    },
1726    .colorspace = ISL_COLORSPACE_SRGB,
1727    .txc = ISL_TXC_NONE,
1728  },
1729
1730  [ISL_FORMAT_R9G9B9E5_SHAREDEXP] = {
1731    .format = ISL_FORMAT_R9G9B9E5_SHAREDEXP,
1732    .name = "ISL_FORMAT_R9G9B9E5_SHAREDEXP",
1733    .bpb = 32,
1734    .bw = 1,
1735    .bh = 1,
1736    .bd = 1,
1737    .channels = {
1738              .r = { ISL_UFLOAT, 0, 9 },
1739              .g = { ISL_UFLOAT, 9, 9 },
1740              .b = { ISL_UFLOAT, 18, 9 },
1741              .a = {},
1742              .l = {},
1743              .i = {},
1744              .p = {},
1745    },
1746    .colorspace = ISL_COLORSPACE_LINEAR,
1747    .txc = ISL_TXC_NONE,
1748  },
1749
1750  [ISL_FORMAT_B10G10R10X2_UNORM] = {
1751    .format = ISL_FORMAT_B10G10R10X2_UNORM,
1752    .name = "ISL_FORMAT_B10G10R10X2_UNORM",
1753    .bpb = 32,
1754    .bw = 1,
1755    .bh = 1,
1756    .bd = 1,
1757    .channels = {
1758              .r = { ISL_UNORM, 20, 10 },
1759              .g = { ISL_UNORM, 10, 10 },
1760              .b = { ISL_UNORM, 0, 10 },
1761              .a = { ISL_VOID, 30, 2 },
1762              .l = {},
1763              .i = {},
1764              .p = {},
1765    },
1766    .colorspace = ISL_COLORSPACE_LINEAR,
1767    .txc = ISL_TXC_NONE,
1768  },
1769
1770  [ISL_FORMAT_L16A16_FLOAT] = {
1771    .format = ISL_FORMAT_L16A16_FLOAT,
1772    .name = "ISL_FORMAT_L16A16_FLOAT",
1773    .bpb = 32,
1774    .bw = 1,
1775    .bh = 1,
1776    .bd = 1,
1777    .channels = {
1778              .r = {},
1779              .g = {},
1780              .b = {},
1781              .a = { ISL_SFLOAT, 16, 16 },
1782              .l = { ISL_SFLOAT, 0, 16 },
1783              .i = {},
1784              .p = {},
1785    },
1786    .colorspace = ISL_COLORSPACE_LINEAR,
1787    .txc = ISL_TXC_NONE,
1788  },
1789
1790  [ISL_FORMAT_R32_UNORM] = {
1791    .format = ISL_FORMAT_R32_UNORM,
1792    .name = "ISL_FORMAT_R32_UNORM",
1793    .bpb = 32,
1794    .bw = 1,
1795    .bh = 1,
1796    .bd = 1,
1797    .channels = {
1798              .r = { ISL_UNORM, 0, 32 },
1799              .g = {},
1800              .b = {},
1801              .a = {},
1802              .l = {},
1803              .i = {},
1804              .p = {},
1805    },
1806    .colorspace = ISL_COLORSPACE_LINEAR,
1807    .txc = ISL_TXC_NONE,
1808  },
1809
1810  [ISL_FORMAT_R32_SNORM] = {
1811    .format = ISL_FORMAT_R32_SNORM,
1812    .name = "ISL_FORMAT_R32_SNORM",
1813    .bpb = 32,
1814    .bw = 1,
1815    .bh = 1,
1816    .bd = 1,
1817    .channels = {
1818              .r = { ISL_SNORM, 0, 32 },
1819              .g = {},
1820              .b = {},
1821              .a = {},
1822              .l = {},
1823              .i = {},
1824              .p = {},
1825    },
1826    .colorspace = ISL_COLORSPACE_LINEAR,
1827    .txc = ISL_TXC_NONE,
1828  },
1829
1830  [ISL_FORMAT_R10G10B10X2_USCALED] = {
1831    .format = ISL_FORMAT_R10G10B10X2_USCALED,
1832    .name = "ISL_FORMAT_R10G10B10X2_USCALED",
1833    .bpb = 32,
1834    .bw = 1,
1835    .bh = 1,
1836    .bd = 1,
1837    .channels = {
1838              .r = { ISL_USCALED, 0, 10 },
1839              .g = { ISL_USCALED, 10, 10 },
1840              .b = { ISL_USCALED, 20, 10 },
1841              .a = { ISL_VOID, 30, 2 },
1842              .l = {},
1843              .i = {},
1844              .p = {},
1845    },
1846    .colorspace = ISL_COLORSPACE_LINEAR,
1847    .txc = ISL_TXC_NONE,
1848  },
1849
1850  [ISL_FORMAT_R8G8B8A8_SSCALED] = {
1851    .format = ISL_FORMAT_R8G8B8A8_SSCALED,
1852    .name = "ISL_FORMAT_R8G8B8A8_SSCALED",
1853    .bpb = 32,
1854    .bw = 1,
1855    .bh = 1,
1856    .bd = 1,
1857    .channels = {
1858              .r = { ISL_SSCALED, 0, 8 },
1859              .g = { ISL_SSCALED, 8, 8 },
1860              .b = { ISL_SSCALED, 16, 8 },
1861              .a = { ISL_SSCALED, 24, 8 },
1862              .l = {},
1863              .i = {},
1864              .p = {},
1865    },
1866    .colorspace = ISL_COLORSPACE_LINEAR,
1867    .txc = ISL_TXC_NONE,
1868  },
1869
1870  [ISL_FORMAT_R8G8B8A8_USCALED] = {
1871    .format = ISL_FORMAT_R8G8B8A8_USCALED,
1872    .name = "ISL_FORMAT_R8G8B8A8_USCALED",
1873    .bpb = 32,
1874    .bw = 1,
1875    .bh = 1,
1876    .bd = 1,
1877    .channels = {
1878              .r = { ISL_USCALED, 0, 8 },
1879              .g = { ISL_USCALED, 8, 8 },
1880              .b = { ISL_USCALED, 16, 8 },
1881              .a = { ISL_USCALED, 24, 8 },
1882              .l = {},
1883              .i = {},
1884              .p = {},
1885    },
1886    .colorspace = ISL_COLORSPACE_LINEAR,
1887    .txc = ISL_TXC_NONE,
1888  },
1889
1890  [ISL_FORMAT_R16G16_SSCALED] = {
1891    .format = ISL_FORMAT_R16G16_SSCALED,
1892    .name = "ISL_FORMAT_R16G16_SSCALED",
1893    .bpb = 32,
1894    .bw = 1,
1895    .bh = 1,
1896    .bd = 1,
1897    .channels = {
1898              .r = { ISL_SSCALED, 0, 16 },
1899              .g = { ISL_SSCALED, 16, 6 },
1900              .b = {},
1901              .a = {},
1902              .l = {},
1903              .i = {},
1904              .p = {},
1905    },
1906    .colorspace = ISL_COLORSPACE_LINEAR,
1907    .txc = ISL_TXC_NONE,
1908  },
1909
1910  [ISL_FORMAT_R16G16_USCALED] = {
1911    .format = ISL_FORMAT_R16G16_USCALED,
1912    .name = "ISL_FORMAT_R16G16_USCALED",
1913    .bpb = 32,
1914    .bw = 1,
1915    .bh = 1,
1916    .bd = 1,
1917    .channels = {
1918              .r = { ISL_USCALED, 0, 16 },
1919              .g = { ISL_USCALED, 16, 16 },
1920              .b = {},
1921              .a = {},
1922              .l = {},
1923              .i = {},
1924              .p = {},
1925    },
1926    .colorspace = ISL_COLORSPACE_LINEAR,
1927    .txc = ISL_TXC_NONE,
1928  },
1929
1930  [ISL_FORMAT_R32_SSCALED] = {
1931    .format = ISL_FORMAT_R32_SSCALED,
1932    .name = "ISL_FORMAT_R32_SSCALED",
1933    .bpb = 32,
1934    .bw = 1,
1935    .bh = 1,
1936    .bd = 1,
1937    .channels = {
1938              .r = { ISL_SSCALED, 0, 32 },
1939              .g = {},
1940              .b = {},
1941              .a = {},
1942              .l = {},
1943              .i = {},
1944              .p = {},
1945    },
1946    .colorspace = ISL_COLORSPACE_LINEAR,
1947    .txc = ISL_TXC_NONE,
1948  },
1949
1950  [ISL_FORMAT_R32_USCALED] = {
1951    .format = ISL_FORMAT_R32_USCALED,
1952    .name = "ISL_FORMAT_R32_USCALED",
1953    .bpb = 32,
1954    .bw = 1,
1955    .bh = 1,
1956    .bd = 1,
1957    .channels = {
1958              .r = { ISL_USCALED, 0, 32 },
1959              .g = {},
1960              .b = {},
1961              .a = {},
1962              .l = {},
1963              .i = {},
1964              .p = {},
1965    },
1966    .colorspace = ISL_COLORSPACE_LINEAR,
1967    .txc = ISL_TXC_NONE,
1968  },
1969
1970  [ISL_FORMAT_B5G6R5_UNORM] = {
1971    .format = ISL_FORMAT_B5G6R5_UNORM,
1972    .name = "ISL_FORMAT_B5G6R5_UNORM",
1973    .bpb = 16,
1974    .bw = 1,
1975    .bh = 1,
1976    .bd = 1,
1977    .channels = {
1978              .r = { ISL_UNORM, 11, 5 },
1979              .g = { ISL_UNORM, 5, 6 },
1980              .b = { ISL_UNORM, 0, 5 },
1981              .a = {},
1982              .l = {},
1983              .i = {},
1984              .p = {},
1985    },
1986    .colorspace = ISL_COLORSPACE_LINEAR,
1987    .txc = ISL_TXC_NONE,
1988  },
1989
1990  [ISL_FORMAT_B5G6R5_UNORM_SRGB] = {
1991    .format = ISL_FORMAT_B5G6R5_UNORM_SRGB,
1992    .name = "ISL_FORMAT_B5G6R5_UNORM_SRGB",
1993    .bpb = 16,
1994    .bw = 1,
1995    .bh = 1,
1996    .bd = 1,
1997    .channels = {
1998              .r = { ISL_UNORM, 11, 5 },
1999              .g = { ISL_UNORM, 5, 6 },
2000              .b = { ISL_UNORM, 0, 5 },
2001              .a = {},
2002              .l = {},
2003              .i = {},
2004              .p = {},
2005    },
2006    .colorspace = ISL_COLORSPACE_SRGB,
2007    .txc = ISL_TXC_NONE,
2008  },
2009
2010  [ISL_FORMAT_B5G5R5A1_UNORM] = {
2011    .format = ISL_FORMAT_B5G5R5A1_UNORM,
2012    .name = "ISL_FORMAT_B5G5R5A1_UNORM",
2013    .bpb = 16,
2014    .bw = 1,
2015    .bh = 1,
2016    .bd = 1,
2017    .channels = {
2018              .r = { ISL_UNORM, 10, 5 },
2019              .g = { ISL_UNORM, 5, 5 },
2020              .b = { ISL_UNORM, 0, 5 },
2021              .a = { ISL_UNORM, 15, 1 },
2022              .l = {},
2023              .i = {},
2024              .p = {},
2025    },
2026    .colorspace = ISL_COLORSPACE_LINEAR,
2027    .txc = ISL_TXC_NONE,
2028  },
2029
2030  [ISL_FORMAT_B5G5R5A1_UNORM_SRGB] = {
2031    .format = ISL_FORMAT_B5G5R5A1_UNORM_SRGB,
2032    .name = "ISL_FORMAT_B5G5R5A1_UNORM_SRGB",
2033    .bpb = 16,
2034    .bw = 1,
2035    .bh = 1,
2036    .bd = 1,
2037    .channels = {
2038              .r = { ISL_UNORM, 10, 5 },
2039              .g = { ISL_UNORM, 5, 5 },
2040              .b = { ISL_UNORM, 0, 5 },
2041              .a = { ISL_UNORM, 15, 1 },
2042              .l = {},
2043              .i = {},
2044              .p = {},
2045    },
2046    .colorspace = ISL_COLORSPACE_SRGB,
2047    .txc = ISL_TXC_NONE,
2048  },
2049
2050  [ISL_FORMAT_B4G4R4A4_UNORM] = {
2051    .format = ISL_FORMAT_B4G4R4A4_UNORM,
2052    .name = "ISL_FORMAT_B4G4R4A4_UNORM",
2053    .bpb = 16,
2054    .bw = 1,
2055    .bh = 1,
2056    .bd = 1,
2057    .channels = {
2058              .r = { ISL_UNORM, 8, 4 },
2059              .g = { ISL_UNORM, 4, 4 },
2060              .b = { ISL_UNORM, 0, 4 },
2061              .a = { ISL_UNORM, 12, 4 },
2062              .l = {},
2063              .i = {},
2064              .p = {},
2065    },
2066    .colorspace = ISL_COLORSPACE_LINEAR,
2067    .txc = ISL_TXC_NONE,
2068  },
2069
2070  [ISL_FORMAT_B4G4R4A4_UNORM_SRGB] = {
2071    .format = ISL_FORMAT_B4G4R4A4_UNORM_SRGB,
2072    .name = "ISL_FORMAT_B4G4R4A4_UNORM_SRGB",
2073    .bpb = 16,
2074    .bw = 1,
2075    .bh = 1,
2076    .bd = 1,
2077    .channels = {
2078              .r = { ISL_UNORM, 8, 4 },
2079              .g = { ISL_UNORM, 4, 4 },
2080              .b = { ISL_UNORM, 0, 4 },
2081              .a = { ISL_UNORM, 12, 4 },
2082              .l = {},
2083              .i = {},
2084              .p = {},
2085    },
2086    .colorspace = ISL_COLORSPACE_SRGB,
2087    .txc = ISL_TXC_NONE,
2088  },
2089
2090  [ISL_FORMAT_R8G8_UNORM] = {
2091    .format = ISL_FORMAT_R8G8_UNORM,
2092    .name = "ISL_FORMAT_R8G8_UNORM",
2093    .bpb = 16,
2094    .bw = 1,
2095    .bh = 1,
2096    .bd = 1,
2097    .channels = {
2098              .r = { ISL_UNORM, 0, 8 },
2099              .g = { ISL_UNORM, 8, 8 },
2100              .b = {},
2101              .a = {},
2102              .l = {},
2103              .i = {},
2104              .p = {},
2105    },
2106    .colorspace = ISL_COLORSPACE_LINEAR,
2107    .txc = ISL_TXC_NONE,
2108  },
2109
2110  [ISL_FORMAT_R8G8_SNORM] = {
2111    .format = ISL_FORMAT_R8G8_SNORM,
2112    .name = "ISL_FORMAT_R8G8_SNORM",
2113    .bpb = 16,
2114    .bw = 1,
2115    .bh = 1,
2116    .bd = 1,
2117    .channels = {
2118              .r = { ISL_SNORM, 0, 8 },
2119              .g = { ISL_SNORM, 8, 8 },
2120              .b = {},
2121              .a = {},
2122              .l = {},
2123              .i = {},
2124              .p = {},
2125    },
2126    .colorspace = ISL_COLORSPACE_LINEAR,
2127    .txc = ISL_TXC_NONE,
2128  },
2129
2130  [ISL_FORMAT_R8G8_SINT] = {
2131    .format = ISL_FORMAT_R8G8_SINT,
2132    .name = "ISL_FORMAT_R8G8_SINT",
2133    .bpb = 16,
2134    .bw = 1,
2135    .bh = 1,
2136    .bd = 1,
2137    .channels = {
2138              .r = { ISL_SINT, 0, 8 },
2139              .g = { ISL_SINT, 8, 8 },
2140              .b = {},
2141              .a = {},
2142              .l = {},
2143              .i = {},
2144              .p = {},
2145    },
2146    .colorspace = ISL_COLORSPACE_LINEAR,
2147    .txc = ISL_TXC_NONE,
2148  },
2149
2150  [ISL_FORMAT_R8G8_UINT] = {
2151    .format = ISL_FORMAT_R8G8_UINT,
2152    .name = "ISL_FORMAT_R8G8_UINT",
2153    .bpb = 16,
2154    .bw = 1,
2155    .bh = 1,
2156    .bd = 1,
2157    .channels = {
2158              .r = { ISL_UINT, 0, 8 },
2159              .g = { ISL_UINT, 8, 8 },
2160              .b = {},
2161              .a = {},
2162              .l = {},
2163              .i = {},
2164              .p = {},
2165    },
2166    .colorspace = ISL_COLORSPACE_LINEAR,
2167    .txc = ISL_TXC_NONE,
2168  },
2169
2170  [ISL_FORMAT_R16_UNORM] = {
2171    .format = ISL_FORMAT_R16_UNORM,
2172    .name = "ISL_FORMAT_R16_UNORM",
2173    .bpb = 16,
2174    .bw = 1,
2175    .bh = 1,
2176    .bd = 1,
2177    .channels = {
2178              .r = { ISL_UNORM, 0, 16 },
2179              .g = {},
2180              .b = {},
2181              .a = {},
2182              .l = {},
2183              .i = {},
2184              .p = {},
2185    },
2186    .colorspace = ISL_COLORSPACE_LINEAR,
2187    .txc = ISL_TXC_NONE,
2188  },
2189
2190  [ISL_FORMAT_R16_SNORM] = {
2191    .format = ISL_FORMAT_R16_SNORM,
2192    .name = "ISL_FORMAT_R16_SNORM",
2193    .bpb = 16,
2194    .bw = 1,
2195    .bh = 1,
2196    .bd = 1,
2197    .channels = {
2198              .r = { ISL_SNORM, 0, 16 },
2199              .g = {},
2200              .b = {},
2201              .a = {},
2202              .l = {},
2203              .i = {},
2204              .p = {},
2205    },
2206    .colorspace = ISL_COLORSPACE_LINEAR,
2207    .txc = ISL_TXC_NONE,
2208  },
2209
2210  [ISL_FORMAT_R16_SINT] = {
2211    .format = ISL_FORMAT_R16_SINT,
2212    .name = "ISL_FORMAT_R16_SINT",
2213    .bpb = 16,
2214    .bw = 1,
2215    .bh = 1,
2216    .bd = 1,
2217    .channels = {
2218              .r = { ISL_SINT, 0, 16 },
2219              .g = {},
2220              .b = {},
2221              .a = {},
2222              .l = {},
2223              .i = {},
2224              .p = {},
2225    },
2226    .colorspace = ISL_COLORSPACE_LINEAR,
2227    .txc = ISL_TXC_NONE,
2228  },
2229
2230  [ISL_FORMAT_R16_UINT] = {
2231    .format = ISL_FORMAT_R16_UINT,
2232    .name = "ISL_FORMAT_R16_UINT",
2233    .bpb = 16,
2234    .bw = 1,
2235    .bh = 1,
2236    .bd = 1,
2237    .channels = {
2238              .r = { ISL_UINT, 0, 16 },
2239              .g = {},
2240              .b = {},
2241              .a = {},
2242              .l = {},
2243              .i = {},
2244              .p = {},
2245    },
2246    .colorspace = ISL_COLORSPACE_LINEAR,
2247    .txc = ISL_TXC_NONE,
2248  },
2249
2250  [ISL_FORMAT_R16_FLOAT] = {
2251    .format = ISL_FORMAT_R16_FLOAT,
2252    .name = "ISL_FORMAT_R16_FLOAT",
2253    .bpb = 16,
2254    .bw = 1,
2255    .bh = 1,
2256    .bd = 1,
2257    .channels = {
2258              .r = { ISL_SFLOAT, 0, 16 },
2259              .g = {},
2260              .b = {},
2261              .a = {},
2262              .l = {},
2263              .i = {},
2264              .p = {},
2265    },
2266    .colorspace = ISL_COLORSPACE_LINEAR,
2267    .txc = ISL_TXC_NONE,
2268  },
2269
2270  [ISL_FORMAT_A8P8_UNORM_PALETTE0] = {
2271    .format = ISL_FORMAT_A8P8_UNORM_PALETTE0,
2272    .name = "ISL_FORMAT_A8P8_UNORM_PALETTE0",
2273    .bpb = 16,
2274    .bw = 1,
2275    .bh = 1,
2276    .bd = 1,
2277    .channels = {
2278              .r = {},
2279              .g = {},
2280              .b = {},
2281              .a = { ISL_UNORM, 0, 8 },
2282              .l = {},
2283              .i = {},
2284              .p = { ISL_UNORM, 8, 8 },
2285    },
2286    .colorspace = ISL_COLORSPACE_LINEAR,
2287    .txc = ISL_TXC_NONE,
2288  },
2289
2290  [ISL_FORMAT_A8P8_UNORM_PALETTE1] = {
2291    .format = ISL_FORMAT_A8P8_UNORM_PALETTE1,
2292    .name = "ISL_FORMAT_A8P8_UNORM_PALETTE1",
2293    .bpb = 16,
2294    .bw = 1,
2295    .bh = 1,
2296    .bd = 1,
2297    .channels = {
2298              .r = {},
2299              .g = {},
2300              .b = {},
2301              .a = { ISL_UNORM, 0, 8 },
2302              .l = {},
2303              .i = {},
2304              .p = { ISL_UNORM, 8, 8 },
2305    },
2306    .colorspace = ISL_COLORSPACE_LINEAR,
2307    .txc = ISL_TXC_NONE,
2308  },
2309
2310  [ISL_FORMAT_I16_UNORM] = {
2311    .format = ISL_FORMAT_I16_UNORM,
2312    .name = "ISL_FORMAT_I16_UNORM",
2313    .bpb = 16,
2314    .bw = 1,
2315    .bh = 1,
2316    .bd = 1,
2317    .channels = {
2318              .r = {},
2319              .g = {},
2320              .b = {},
2321              .a = {},
2322              .l = {},
2323              .i = { ISL_UNORM, 0, 16 },
2324              .p = {},
2325    },
2326    .colorspace = ISL_COLORSPACE_LINEAR,
2327    .txc = ISL_TXC_NONE,
2328  },
2329
2330  [ISL_FORMAT_L16_UNORM] = {
2331    .format = ISL_FORMAT_L16_UNORM,
2332    .name = "ISL_FORMAT_L16_UNORM",
2333    .bpb = 16,
2334    .bw = 1,
2335    .bh = 1,
2336    .bd = 1,
2337    .channels = {
2338              .r = {},
2339              .g = {},
2340              .b = {},
2341              .a = {},
2342              .l = { ISL_UNORM, 0, 16 },
2343              .i = {},
2344              .p = {},
2345    },
2346    .colorspace = ISL_COLORSPACE_LINEAR,
2347    .txc = ISL_TXC_NONE,
2348  },
2349
2350  [ISL_FORMAT_A16_UNORM] = {
2351    .format = ISL_FORMAT_A16_UNORM,
2352    .name = "ISL_FORMAT_A16_UNORM",
2353    .bpb = 16,
2354    .bw = 1,
2355    .bh = 1,
2356    .bd = 1,
2357    .channels = {
2358              .r = {},
2359              .g = {},
2360              .b = {},
2361              .a = { ISL_UNORM, 0, 16 },
2362              .l = {},
2363              .i = {},
2364              .p = {},
2365    },
2366    .colorspace = ISL_COLORSPACE_LINEAR,
2367    .txc = ISL_TXC_NONE,
2368  },
2369
2370  [ISL_FORMAT_L8A8_UNORM] = {
2371    .format = ISL_FORMAT_L8A8_UNORM,
2372    .name = "ISL_FORMAT_L8A8_UNORM",
2373    .bpb = 16,
2374    .bw = 1,
2375    .bh = 1,
2376    .bd = 1,
2377    .channels = {
2378              .r = {},
2379              .g = {},
2380              .b = {},
2381              .a = { ISL_UNORM, 8, 8 },
2382              .l = { ISL_UNORM, 0, 8 },
2383              .i = {},
2384              .p = {},
2385    },
2386    .colorspace = ISL_COLORSPACE_LINEAR,
2387    .txc = ISL_TXC_NONE,
2388  },
2389
2390  [ISL_FORMAT_I16_FLOAT] = {
2391    .format = ISL_FORMAT_I16_FLOAT,
2392    .name = "ISL_FORMAT_I16_FLOAT",
2393    .bpb = 16,
2394    .bw = 1,
2395    .bh = 1,
2396    .bd = 1,
2397    .channels = {
2398              .r = {},
2399              .g = {},
2400              .b = {},
2401              .a = {},
2402              .l = {},
2403              .i = { ISL_SFLOAT, 0, 16 },
2404              .p = {},
2405    },
2406    .colorspace = ISL_COLORSPACE_LINEAR,
2407    .txc = ISL_TXC_NONE,
2408  },
2409
2410  [ISL_FORMAT_L16_FLOAT] = {
2411    .format = ISL_FORMAT_L16_FLOAT,
2412    .name = "ISL_FORMAT_L16_FLOAT",
2413    .bpb = 16,
2414    .bw = 1,
2415    .bh = 1,
2416    .bd = 1,
2417    .channels = {
2418              .r = {},
2419              .g = {},
2420              .b = {},
2421              .a = {},
2422              .l = { ISL_SFLOAT, 0, 16 },
2423              .i = {},
2424              .p = {},
2425    },
2426    .colorspace = ISL_COLORSPACE_LINEAR,
2427    .txc = ISL_TXC_NONE,
2428  },
2429
2430  [ISL_FORMAT_A16_FLOAT] = {
2431    .format = ISL_FORMAT_A16_FLOAT,
2432    .name = "ISL_FORMAT_A16_FLOAT",
2433    .bpb = 16,
2434    .bw = 1,
2435    .bh = 1,
2436    .bd = 1,
2437    .channels = {
2438              .r = {},
2439              .g = {},
2440              .b = {},
2441              .a = { ISL_SFLOAT, 0, 16 },
2442              .l = {},
2443              .i = {},
2444              .p = {},
2445    },
2446    .colorspace = ISL_COLORSPACE_LINEAR,
2447    .txc = ISL_TXC_NONE,
2448  },
2449
2450  [ISL_FORMAT_L8A8_UNORM_SRGB] = {
2451    .format = ISL_FORMAT_L8A8_UNORM_SRGB,
2452    .name = "ISL_FORMAT_L8A8_UNORM_SRGB",
2453    .bpb = 16,
2454    .bw = 1,
2455    .bh = 1,
2456    .bd = 1,
2457    .channels = {
2458              .r = {},
2459              .g = {},
2460              .b = {},
2461              .a = { ISL_UNORM, 8, 8 },
2462              .l = { ISL_UNORM, 0, 8 },
2463              .i = {},
2464              .p = {},
2465    },
2466    .colorspace = ISL_COLORSPACE_SRGB,
2467    .txc = ISL_TXC_NONE,
2468  },
2469
2470  [ISL_FORMAT_R5G5_SNORM_B6_UNORM] = {
2471    .format = ISL_FORMAT_R5G5_SNORM_B6_UNORM,
2472    .name = "ISL_FORMAT_R5G5_SNORM_B6_UNORM",
2473    .bpb = 16,
2474    .bw = 1,
2475    .bh = 1,
2476    .bd = 1,
2477    .channels = {
2478              .r = { ISL_SNORM, 0, 5 },
2479              .g = { ISL_SNORM, 5, 5 },
2480              .b = { ISL_UNORM, 10, 6 },
2481              .a = {},
2482              .l = {},
2483              .i = {},
2484              .p = {},
2485    },
2486    .colorspace = ISL_COLORSPACE_LINEAR,
2487    .txc = ISL_TXC_NONE,
2488  },
2489
2490  [ISL_FORMAT_B5G5R5X1_UNORM] = {
2491    .format = ISL_FORMAT_B5G5R5X1_UNORM,
2492    .name = "ISL_FORMAT_B5G5R5X1_UNORM",
2493    .bpb = 16,
2494    .bw = 1,
2495    .bh = 1,
2496    .bd = 1,
2497    .channels = {
2498              .r = { ISL_UNORM, 10, 5 },
2499              .g = { ISL_UNORM, 5, 5 },
2500              .b = { ISL_UNORM, 0, 5 },
2501              .a = { ISL_VOID, 15, 1 },
2502              .l = {},
2503              .i = {},
2504              .p = {},
2505    },
2506    .colorspace = ISL_COLORSPACE_LINEAR,
2507    .txc = ISL_TXC_NONE,
2508  },
2509
2510  [ISL_FORMAT_B5G5R5X1_UNORM_SRGB] = {
2511    .format = ISL_FORMAT_B5G5R5X1_UNORM_SRGB,
2512    .name = "ISL_FORMAT_B5G5R5X1_UNORM_SRGB",
2513    .bpb = 16,
2514    .bw = 1,
2515    .bh = 1,
2516    .bd = 1,
2517    .channels = {
2518              .r = { ISL_UNORM, 10, 5 },
2519              .g = { ISL_UNORM, 5, 5 },
2520              .b = { ISL_UNORM, 0, 5 },
2521              .a = { ISL_VOID, 15, 1 },
2522              .l = {},
2523              .i = {},
2524              .p = {},
2525    },
2526    .colorspace = ISL_COLORSPACE_SRGB,
2527    .txc = ISL_TXC_NONE,
2528  },
2529
2530  [ISL_FORMAT_R8G8_SSCALED] = {
2531    .format = ISL_FORMAT_R8G8_SSCALED,
2532    .name = "ISL_FORMAT_R8G8_SSCALED",
2533    .bpb = 16,
2534    .bw = 1,
2535    .bh = 1,
2536    .bd = 1,
2537    .channels = {
2538              .r = { ISL_SSCALED, 0, 8 },
2539              .g = { ISL_SSCALED, 8, 8 },
2540              .b = {},
2541              .a = {},
2542              .l = {},
2543              .i = {},
2544              .p = {},
2545    },
2546    .colorspace = ISL_COLORSPACE_LINEAR,
2547    .txc = ISL_TXC_NONE,
2548  },
2549
2550  [ISL_FORMAT_R8G8_USCALED] = {
2551    .format = ISL_FORMAT_R8G8_USCALED,
2552    .name = "ISL_FORMAT_R8G8_USCALED",
2553    .bpb = 16,
2554    .bw = 1,
2555    .bh = 1,
2556    .bd = 1,
2557    .channels = {
2558              .r = { ISL_USCALED, 0, 8 },
2559              .g = { ISL_USCALED, 8, 8 },
2560              .b = {},
2561              .a = {},
2562              .l = {},
2563              .i = {},
2564              .p = {},
2565    },
2566    .colorspace = ISL_COLORSPACE_LINEAR,
2567    .txc = ISL_TXC_NONE,
2568  },
2569
2570  [ISL_FORMAT_R16_SSCALED] = {
2571    .format = ISL_FORMAT_R16_SSCALED,
2572    .name = "ISL_FORMAT_R16_SSCALED",
2573    .bpb = 16,
2574    .bw = 1,
2575    .bh = 1,
2576    .bd = 1,
2577    .channels = {
2578              .r = { ISL_SSCALED, 0, 16 },
2579              .g = {},
2580              .b = {},
2581              .a = {},
2582              .l = {},
2583              .i = {},
2584              .p = {},
2585    },
2586    .colorspace = ISL_COLORSPACE_LINEAR,
2587    .txc = ISL_TXC_NONE,
2588  },
2589
2590  [ISL_FORMAT_R16_USCALED] = {
2591    .format = ISL_FORMAT_R16_USCALED,
2592    .name = "ISL_FORMAT_R16_USCALED",
2593    .bpb = 16,
2594    .bw = 1,
2595    .bh = 1,
2596    .bd = 1,
2597    .channels = {
2598              .r = { ISL_USCALED, 0, 16 },
2599              .g = {},
2600              .b = {},
2601              .a = {},
2602              .l = {},
2603              .i = {},
2604              .p = {},
2605    },
2606    .colorspace = ISL_COLORSPACE_LINEAR,
2607    .txc = ISL_TXC_NONE,
2608  },
2609
2610  [ISL_FORMAT_P8A8_UNORM_PALETTE0] = {
2611    .format = ISL_FORMAT_P8A8_UNORM_PALETTE0,
2612    .name = "ISL_FORMAT_P8A8_UNORM_PALETTE0",
2613    .bpb = 16,
2614    .bw = 1,
2615    .bh = 1,
2616    .bd = 1,
2617    .channels = {
2618              .r = {},
2619              .g = {},
2620              .b = {},
2621              .a = { ISL_UNORM, 8, 8 },
2622              .l = {},
2623              .i = {},
2624              .p = { ISL_UNORM, 0, 8 },
2625    },
2626    .colorspace = ISL_COLORSPACE_LINEAR,
2627    .txc = ISL_TXC_NONE,
2628  },
2629
2630  [ISL_FORMAT_P8A8_UNORM_PALETTE1] = {
2631    .format = ISL_FORMAT_P8A8_UNORM_PALETTE1,
2632    .name = "ISL_FORMAT_P8A8_UNORM_PALETTE1",
2633    .bpb = 16,
2634    .bw = 1,
2635    .bh = 1,
2636    .bd = 1,
2637    .channels = {
2638              .r = {},
2639              .g = {},
2640              .b = {},
2641              .a = { ISL_UNORM, 8, 8 },
2642              .l = {},
2643              .i = {},
2644              .p = { ISL_UNORM, 0, 8 },
2645    },
2646    .colorspace = ISL_COLORSPACE_LINEAR,
2647    .txc = ISL_TXC_NONE,
2648  },
2649
2650  [ISL_FORMAT_A1B5G5R5_UNORM] = {
2651    .format = ISL_FORMAT_A1B5G5R5_UNORM,
2652    .name = "ISL_FORMAT_A1B5G5R5_UNORM",
2653    .bpb = 16,
2654    .bw = 1,
2655    .bh = 1,
2656    .bd = 1,
2657    .channels = {
2658              .r = { ISL_UNORM, 11, 5 },
2659              .g = { ISL_UNORM, 6, 5 },
2660              .b = { ISL_UNORM, 1, 5 },
2661              .a = { ISL_UNORM, 0, 1 },
2662              .l = {},
2663              .i = {},
2664              .p = {},
2665    },
2666    .colorspace = ISL_COLORSPACE_LINEAR,
2667    .txc = ISL_TXC_NONE,
2668  },
2669
2670  [ISL_FORMAT_A4B4G4R4_UNORM] = {
2671    .format = ISL_FORMAT_A4B4G4R4_UNORM,
2672    .name = "ISL_FORMAT_A4B4G4R4_UNORM",
2673    .bpb = 16,
2674    .bw = 1,
2675    .bh = 1,
2676    .bd = 1,
2677    .channels = {
2678              .r = { ISL_UNORM, 12, 4 },
2679              .g = { ISL_UNORM, 8, 4 },
2680              .b = { ISL_UNORM, 4, 4 },
2681              .a = { ISL_UNORM, 0, 4 },
2682              .l = {},
2683              .i = {},
2684              .p = {},
2685    },
2686    .colorspace = ISL_COLORSPACE_LINEAR,
2687    .txc = ISL_TXC_NONE,
2688  },
2689
2690  [ISL_FORMAT_L8A8_UINT] = {
2691    .format = ISL_FORMAT_L8A8_UINT,
2692    .name = "ISL_FORMAT_L8A8_UINT",
2693    .bpb = 16,
2694    .bw = 1,
2695    .bh = 1,
2696    .bd = 1,
2697    .channels = {
2698              .r = {},
2699              .g = {},
2700              .b = {},
2701              .a = { ISL_UINT, 8, 8 },
2702              .l = { ISL_UINT, 0, 8 },
2703              .i = {},
2704              .p = {},
2705    },
2706    .colorspace = ISL_COLORSPACE_LINEAR,
2707    .txc = ISL_TXC_NONE,
2708  },
2709
2710  [ISL_FORMAT_L8A8_SINT] = {
2711    .format = ISL_FORMAT_L8A8_SINT,
2712    .name = "ISL_FORMAT_L8A8_SINT",
2713    .bpb = 16,
2714    .bw = 1,
2715    .bh = 1,
2716    .bd = 1,
2717    .channels = {
2718              .r = {},
2719              .g = {},
2720              .b = {},
2721              .a = { ISL_SINT, 8, 8 },
2722              .l = { ISL_SINT, 0, 8 },
2723              .i = {},
2724              .p = {},
2725    },
2726    .colorspace = ISL_COLORSPACE_LINEAR,
2727    .txc = ISL_TXC_NONE,
2728  },
2729
2730  [ISL_FORMAT_R8_UNORM] = {
2731    .format = ISL_FORMAT_R8_UNORM,
2732    .name = "ISL_FORMAT_R8_UNORM",
2733    .bpb = 8,
2734    .bw = 1,
2735    .bh = 1,
2736    .bd = 1,
2737    .channels = {
2738              .r = { ISL_UNORM, 0, 8 },
2739              .g = {},
2740              .b = {},
2741              .a = {},
2742              .l = {},
2743              .i = {},
2744              .p = {},
2745    },
2746    .colorspace = ISL_COLORSPACE_LINEAR,
2747    .txc = ISL_TXC_NONE,
2748  },
2749
2750  [ISL_FORMAT_R8_SNORM] = {
2751    .format = ISL_FORMAT_R8_SNORM,
2752    .name = "ISL_FORMAT_R8_SNORM",
2753    .bpb = 8,
2754    .bw = 1,
2755    .bh = 1,
2756    .bd = 1,
2757    .channels = {
2758              .r = { ISL_SNORM, 0, 8 },
2759              .g = {},
2760              .b = {},
2761              .a = {},
2762              .l = {},
2763              .i = {},
2764              .p = {},
2765    },
2766    .colorspace = ISL_COLORSPACE_LINEAR,
2767    .txc = ISL_TXC_NONE,
2768  },
2769
2770  [ISL_FORMAT_R8_SINT] = {
2771    .format = ISL_FORMAT_R8_SINT,
2772    .name = "ISL_FORMAT_R8_SINT",
2773    .bpb = 8,
2774    .bw = 1,
2775    .bh = 1,
2776    .bd = 1,
2777    .channels = {
2778              .r = { ISL_SINT, 0, 8 },
2779              .g = {},
2780              .b = {},
2781              .a = {},
2782              .l = {},
2783              .i = {},
2784              .p = {},
2785    },
2786    .colorspace = ISL_COLORSPACE_LINEAR,
2787    .txc = ISL_TXC_NONE,
2788  },
2789
2790  [ISL_FORMAT_R8_UINT] = {
2791    .format = ISL_FORMAT_R8_UINT,
2792    .name = "ISL_FORMAT_R8_UINT",
2793    .bpb = 8,
2794    .bw = 1,
2795    .bh = 1,
2796    .bd = 1,
2797    .channels = {
2798              .r = { ISL_UINT, 0, 8 },
2799              .g = {},
2800              .b = {},
2801              .a = {},
2802              .l = {},
2803              .i = {},
2804              .p = {},
2805    },
2806    .colorspace = ISL_COLORSPACE_LINEAR,
2807    .txc = ISL_TXC_NONE,
2808  },
2809
2810  [ISL_FORMAT_A8_UNORM] = {
2811    .format = ISL_FORMAT_A8_UNORM,
2812    .name = "ISL_FORMAT_A8_UNORM",
2813    .bpb = 8,
2814    .bw = 1,
2815    .bh = 1,
2816    .bd = 1,
2817    .channels = {
2818              .r = {},
2819              .g = {},
2820              .b = {},
2821              .a = { ISL_UNORM, 0, 8 },
2822              .l = {},
2823              .i = {},
2824              .p = {},
2825    },
2826    .colorspace = ISL_COLORSPACE_LINEAR,
2827    .txc = ISL_TXC_NONE,
2828  },
2829
2830  [ISL_FORMAT_I8_UNORM] = {
2831    .format = ISL_FORMAT_I8_UNORM,
2832    .name = "ISL_FORMAT_I8_UNORM",
2833    .bpb = 8,
2834    .bw = 1,
2835    .bh = 1,
2836    .bd = 1,
2837    .channels = {
2838              .r = {},
2839              .g = {},
2840              .b = {},
2841              .a = {},
2842              .l = {},
2843              .i = { ISL_UNORM, 0, 8 },
2844              .p = {},
2845    },
2846    .colorspace = ISL_COLORSPACE_LINEAR,
2847    .txc = ISL_TXC_NONE,
2848  },
2849
2850  [ISL_FORMAT_L8_UNORM] = {
2851    .format = ISL_FORMAT_L8_UNORM,
2852    .name = "ISL_FORMAT_L8_UNORM",
2853    .bpb = 8,
2854    .bw = 1,
2855    .bh = 1,
2856    .bd = 1,
2857    .channels = {
2858              .r = {},
2859              .g = {},
2860              .b = {},
2861              .a = {},
2862              .l = { ISL_UNORM, 0, 8 },
2863              .i = {},
2864              .p = {},
2865    },
2866    .colorspace = ISL_COLORSPACE_LINEAR,
2867    .txc = ISL_TXC_NONE,
2868  },
2869
2870  [ISL_FORMAT_P4A4_UNORM_PALETTE0] = {
2871    .format = ISL_FORMAT_P4A4_UNORM_PALETTE0,
2872    .name = "ISL_FORMAT_P4A4_UNORM_PALETTE0",
2873    .bpb = 8,
2874    .bw = 1,
2875    .bh = 1,
2876    .bd = 1,
2877    .channels = {
2878              .r = {},
2879              .g = {},
2880              .b = {},
2881              .a = { ISL_UNORM, 4, 4 },
2882              .l = {},
2883              .i = {},
2884              .p = { ISL_UNORM, 0, 4 },
2885    },
2886    .colorspace = ISL_COLORSPACE_LINEAR,
2887    .txc = ISL_TXC_NONE,
2888  },
2889
2890  [ISL_FORMAT_A4P4_UNORM_PALETTE0] = {
2891    .format = ISL_FORMAT_A4P4_UNORM_PALETTE0,
2892    .name = "ISL_FORMAT_A4P4_UNORM_PALETTE0",
2893    .bpb = 8,
2894    .bw = 1,
2895    .bh = 1,
2896    .bd = 1,
2897    .channels = {
2898              .r = {},
2899              .g = {},
2900              .b = {},
2901              .a = { ISL_UNORM, 0, 4 },
2902              .l = {},
2903              .i = {},
2904              .p = { ISL_UNORM, 4, 4 },
2905    },
2906    .colorspace = ISL_COLORSPACE_LINEAR,
2907    .txc = ISL_TXC_NONE,
2908  },
2909
2910  [ISL_FORMAT_R8_SSCALED] = {
2911    .format = ISL_FORMAT_R8_SSCALED,
2912    .name = "ISL_FORMAT_R8_SSCALED",
2913    .bpb = 8,
2914    .bw = 1,
2915    .bh = 1,
2916    .bd = 1,
2917    .channels = {
2918              .r = { ISL_SSCALED, 0, 8 },
2919              .g = {},
2920              .b = {},
2921              .a = {},
2922              .l = {},
2923              .i = {},
2924              .p = {},
2925    },
2926    .colorspace = ISL_COLORSPACE_LINEAR,
2927    .txc = ISL_TXC_NONE,
2928  },
2929
2930  [ISL_FORMAT_R8_USCALED] = {
2931    .format = ISL_FORMAT_R8_USCALED,
2932    .name = "ISL_FORMAT_R8_USCALED",
2933    .bpb = 8,
2934    .bw = 1,
2935    .bh = 1,
2936    .bd = 1,
2937    .channels = {
2938              .r = { ISL_USCALED, 0, 8 },
2939              .g = {},
2940              .b = {},
2941              .a = {},
2942              .l = {},
2943              .i = {},
2944              .p = {},
2945    },
2946    .colorspace = ISL_COLORSPACE_LINEAR,
2947    .txc = ISL_TXC_NONE,
2948  },
2949
2950  [ISL_FORMAT_P8_UNORM_PALETTE0] = {
2951    .format = ISL_FORMAT_P8_UNORM_PALETTE0,
2952    .name = "ISL_FORMAT_P8_UNORM_PALETTE0",
2953    .bpb = 8,
2954    .bw = 1,
2955    .bh = 1,
2956    .bd = 1,
2957    .channels = {
2958              .r = {},
2959              .g = {},
2960              .b = {},
2961              .a = {},
2962              .l = {},
2963              .i = {},
2964              .p = { ISL_UNORM, 0, 8 },
2965    },
2966    .colorspace = ISL_COLORSPACE_LINEAR,
2967    .txc = ISL_TXC_NONE,
2968  },
2969
2970  [ISL_FORMAT_L8_UNORM_SRGB] = {
2971    .format = ISL_FORMAT_L8_UNORM_SRGB,
2972    .name = "ISL_FORMAT_L8_UNORM_SRGB",
2973    .bpb = 8,
2974    .bw = 1,
2975    .bh = 1,
2976    .bd = 1,
2977    .channels = {
2978              .r = {},
2979              .g = {},
2980              .b = {},
2981              .a = {},
2982              .l = { ISL_UNORM, 0, 8 },
2983              .i = {},
2984              .p = {},
2985    },
2986    .colorspace = ISL_COLORSPACE_SRGB,
2987    .txc = ISL_TXC_NONE,
2988  },
2989
2990  [ISL_FORMAT_P8_UNORM_PALETTE1] = {
2991    .format = ISL_FORMAT_P8_UNORM_PALETTE1,
2992    .name = "ISL_FORMAT_P8_UNORM_PALETTE1",
2993    .bpb = 8,
2994    .bw = 1,
2995    .bh = 1,
2996    .bd = 1,
2997    .channels = {
2998              .r = {},
2999              .g = {},
3000              .b = {},
3001              .a = {},
3002              .l = {},
3003              .i = {},
3004              .p = { ISL_UNORM, 0, 8 },
3005    },
3006    .colorspace = ISL_COLORSPACE_LINEAR,
3007    .txc = ISL_TXC_NONE,
3008  },
3009
3010  [ISL_FORMAT_P4A4_UNORM_PALETTE1] = {
3011    .format = ISL_FORMAT_P4A4_UNORM_PALETTE1,
3012    .name = "ISL_FORMAT_P4A4_UNORM_PALETTE1",
3013    .bpb = 8,
3014    .bw = 1,
3015    .bh = 1,
3016    .bd = 1,
3017    .channels = {
3018              .r = {},
3019              .g = {},
3020              .b = {},
3021              .a = { ISL_UNORM, 4, 4 },
3022              .l = {},
3023              .i = {},
3024              .p = { ISL_UNORM, 0, 4 },
3025    },
3026    .colorspace = ISL_COLORSPACE_LINEAR,
3027    .txc = ISL_TXC_NONE,
3028  },
3029
3030  [ISL_FORMAT_A4P4_UNORM_PALETTE1] = {
3031    .format = ISL_FORMAT_A4P4_UNORM_PALETTE1,
3032    .name = "ISL_FORMAT_A4P4_UNORM_PALETTE1",
3033    .bpb = 8,
3034    .bw = 1,
3035    .bh = 1,
3036    .bd = 1,
3037    .channels = {
3038              .r = {},
3039              .g = {},
3040              .b = {},
3041              .a = { ISL_UNORM, 0, 4 },
3042              .l = {},
3043              .i = {},
3044              .p = { ISL_UNORM, 4, 4 },
3045    },
3046    .colorspace = ISL_COLORSPACE_LINEAR,
3047    .txc = ISL_TXC_NONE,
3048  },
3049
3050  [ISL_FORMAT_Y8_UNORM] = {
3051    .format = ISL_FORMAT_Y8_UNORM,
3052    .name = "ISL_FORMAT_Y8_UNORM",
3053    .bpb = 0,
3054    .bw = 0,
3055    .bh = 0,
3056    .bd = 0,
3057    .channels = {
3058              .r = {},
3059              .g = {},
3060              .b = {},
3061              .a = {},
3062              .l = {},
3063              .i = {},
3064              .p = {},
3065    },
3066    .colorspace = ISL_COLORSPACE_YUV,
3067    .txc = ISL_TXC_NONE,
3068  },
3069
3070  [ISL_FORMAT_L8_UINT] = {
3071    .format = ISL_FORMAT_L8_UINT,
3072    .name = "ISL_FORMAT_L8_UINT",
3073    .bpb = 8,
3074    .bw = 1,
3075    .bh = 1,
3076    .bd = 1,
3077    .channels = {
3078              .r = {},
3079              .g = {},
3080              .b = {},
3081              .a = {},
3082              .l = { ISL_UINT, 0, 8 },
3083              .i = {},
3084              .p = {},
3085    },
3086    .colorspace = ISL_COLORSPACE_LINEAR,
3087    .txc = ISL_TXC_NONE,
3088  },
3089
3090  [ISL_FORMAT_L8_SINT] = {
3091    .format = ISL_FORMAT_L8_SINT,
3092    .name = "ISL_FORMAT_L8_SINT",
3093    .bpb = 8,
3094    .bw = 1,
3095    .bh = 1,
3096    .bd = 1,
3097    .channels = {
3098              .r = {},
3099              .g = {},
3100              .b = {},
3101              .a = {},
3102              .l = { ISL_SINT, 0, 8 },
3103              .i = {},
3104              .p = {},
3105    },
3106    .colorspace = ISL_COLORSPACE_LINEAR,
3107    .txc = ISL_TXC_NONE,
3108  },
3109
3110  [ISL_FORMAT_I8_UINT] = {
3111    .format = ISL_FORMAT_I8_UINT,
3112    .name = "ISL_FORMAT_I8_UINT",
3113    .bpb = 8,
3114    .bw = 1,
3115    .bh = 1,
3116    .bd = 1,
3117    .channels = {
3118              .r = {},
3119              .g = {},
3120              .b = {},
3121              .a = {},
3122              .l = {},
3123              .i = { ISL_UINT, 0, 8 },
3124              .p = {},
3125    },
3126    .colorspace = ISL_COLORSPACE_LINEAR,
3127    .txc = ISL_TXC_NONE,
3128  },
3129
3130  [ISL_FORMAT_I8_SINT] = {
3131    .format = ISL_FORMAT_I8_SINT,
3132    .name = "ISL_FORMAT_I8_SINT",
3133    .bpb = 8,
3134    .bw = 1,
3135    .bh = 1,
3136    .bd = 1,
3137    .channels = {
3138              .r = {},
3139              .g = {},
3140              .b = {},
3141              .a = {},
3142              .l = {},
3143              .i = { ISL_SINT, 0, 8 },
3144              .p = {},
3145    },
3146    .colorspace = ISL_COLORSPACE_LINEAR,
3147    .txc = ISL_TXC_NONE,
3148  },
3149
3150  [ISL_FORMAT_DXT1_RGB_SRGB] = {
3151    .format = ISL_FORMAT_DXT1_RGB_SRGB,
3152    .name = "ISL_FORMAT_DXT1_RGB_SRGB",
3153    .bpb = 64,
3154    .bw = 4,
3155    .bh = 4,
3156    .bd = 1,
3157    .channels = {
3158              .r = { ISL_UNORM, -1, 4 },
3159              .g = { ISL_UNORM, -1, 4 },
3160              .b = { ISL_UNORM, -1, 4 },
3161              .a = {},
3162              .l = {},
3163              .i = {},
3164              .p = {},
3165    },
3166    .colorspace = ISL_COLORSPACE_SRGB,
3167    .txc = ISL_TXC_DXT1,
3168  },
3169
3170  [ISL_FORMAT_R1_UNORM] = {
3171    .format = ISL_FORMAT_R1_UNORM,
3172    .name = "ISL_FORMAT_R1_UNORM",
3173    .bpb = 1,
3174    .bw = 1,
3175    .bh = 1,
3176    .bd = 1,
3177    .channels = {
3178              .r = { ISL_UNORM, 0, 1 },
3179              .g = {},
3180              .b = {},
3181              .a = {},
3182              .l = {},
3183              .i = {},
3184              .p = {},
3185    },
3186    .colorspace = ISL_COLORSPACE_LINEAR,
3187    .txc = ISL_TXC_NONE,
3188  },
3189
3190  [ISL_FORMAT_YCRCB_NORMAL] = {
3191    .format = ISL_FORMAT_YCRCB_NORMAL,
3192    .name = "ISL_FORMAT_YCRCB_NORMAL",
3193    .bpb = 16,
3194    .bw = 1,
3195    .bh = 1,
3196    .bd = 1,
3197    .channels = {
3198              .r = { ISL_UNORM, -1, 8 },
3199              .g = { ISL_UNORM, -1, 8 },
3200              .b = { ISL_UNORM, -1, 8 },
3201              .a = {},
3202              .l = {},
3203              .i = {},
3204              .p = {},
3205    },
3206    .colorspace = ISL_COLORSPACE_YUV,
3207    .txc = ISL_TXC_NONE,
3208  },
3209
3210  [ISL_FORMAT_YCRCB_SWAPUVY] = {
3211    .format = ISL_FORMAT_YCRCB_SWAPUVY,
3212    .name = "ISL_FORMAT_YCRCB_SWAPUVY",
3213    .bpb = 16,
3214    .bw = 1,
3215    .bh = 1,
3216    .bd = 1,
3217    .channels = {
3218              .r = { ISL_UNORM, -1, 8 },
3219              .g = { ISL_UNORM, -1, 8 },
3220              .b = { ISL_UNORM, -1, 8 },
3221              .a = {},
3222              .l = {},
3223              .i = {},
3224              .p = {},
3225    },
3226    .colorspace = ISL_COLORSPACE_YUV,
3227    .txc = ISL_TXC_NONE,
3228  },
3229
3230  [ISL_FORMAT_P2_UNORM_PALETTE0] = {
3231    .format = ISL_FORMAT_P2_UNORM_PALETTE0,
3232    .name = "ISL_FORMAT_P2_UNORM_PALETTE0",
3233    .bpb = 2,
3234    .bw = 1,
3235    .bh = 1,
3236    .bd = 1,
3237    .channels = {
3238              .r = {},
3239              .g = {},
3240              .b = {},
3241              .a = {},
3242              .l = {},
3243              .i = {},
3244              .p = { ISL_UNORM, 0, 2 },
3245    },
3246    .colorspace = ISL_COLORSPACE_LINEAR,
3247    .txc = ISL_TXC_NONE,
3248  },
3249
3250  [ISL_FORMAT_P2_UNORM_PALETTE1] = {
3251    .format = ISL_FORMAT_P2_UNORM_PALETTE1,
3252    .name = "ISL_FORMAT_P2_UNORM_PALETTE1",
3253    .bpb = 2,
3254    .bw = 1,
3255    .bh = 1,
3256    .bd = 1,
3257    .channels = {
3258              .r = {},
3259              .g = {},
3260              .b = {},
3261              .a = {},
3262              .l = {},
3263              .i = {},
3264              .p = { ISL_UNORM, 0, 2 },
3265    },
3266    .colorspace = ISL_COLORSPACE_LINEAR,
3267    .txc = ISL_TXC_NONE,
3268  },
3269
3270  [ISL_FORMAT_BC1_UNORM] = {
3271    .format = ISL_FORMAT_BC1_UNORM,
3272    .name = "ISL_FORMAT_BC1_UNORM",
3273    .bpb = 64,
3274    .bw = 4,
3275    .bh = 4,
3276    .bd = 1,
3277    .channels = {
3278              .r = { ISL_UNORM, -1, 4 },
3279              .g = { ISL_UNORM, -1, 4 },
3280              .b = { ISL_UNORM, -1, 4 },
3281              .a = { ISL_UNORM, -1, 4 },
3282              .l = {},
3283              .i = {},
3284              .p = {},
3285    },
3286    .colorspace = ISL_COLORSPACE_LINEAR,
3287    .txc = ISL_TXC_DXT1,
3288  },
3289
3290  [ISL_FORMAT_BC2_UNORM] = {
3291    .format = ISL_FORMAT_BC2_UNORM,
3292    .name = "ISL_FORMAT_BC2_UNORM",
3293    .bpb = 128,
3294    .bw = 4,
3295    .bh = 4,
3296    .bd = 1,
3297    .channels = {
3298              .r = { ISL_UNORM, -1, 4 },
3299              .g = { ISL_UNORM, -1, 4 },
3300              .b = { ISL_UNORM, -1, 4 },
3301              .a = { ISL_UNORM, -1, 4 },
3302              .l = {},
3303              .i = {},
3304              .p = {},
3305    },
3306    .colorspace = ISL_COLORSPACE_LINEAR,
3307    .txc = ISL_TXC_DXT3,
3308  },
3309
3310  [ISL_FORMAT_BC3_UNORM] = {
3311    .format = ISL_FORMAT_BC3_UNORM,
3312    .name = "ISL_FORMAT_BC3_UNORM",
3313    .bpb = 128,
3314    .bw = 4,
3315    .bh = 4,
3316    .bd = 1,
3317    .channels = {
3318              .r = { ISL_UNORM, -1, 4 },
3319              .g = { ISL_UNORM, -1, 4 },
3320              .b = { ISL_UNORM, -1, 4 },
3321              .a = { ISL_UNORM, -1, 4 },
3322              .l = {},
3323              .i = {},
3324              .p = {},
3325    },
3326    .colorspace = ISL_COLORSPACE_LINEAR,
3327    .txc = ISL_TXC_DXT5,
3328  },
3329
3330  [ISL_FORMAT_BC4_UNORM] = {
3331    .format = ISL_FORMAT_BC4_UNORM,
3332    .name = "ISL_FORMAT_BC4_UNORM",
3333    .bpb = 64,
3334    .bw = 4,
3335    .bh = 4,
3336    .bd = 1,
3337    .channels = {
3338              .r = { ISL_UNORM, -1, 8 },
3339              .g = {},
3340              .b = {},
3341              .a = {},
3342              .l = {},
3343              .i = {},
3344              .p = {},
3345    },
3346    .colorspace = ISL_COLORSPACE_LINEAR,
3347    .txc = ISL_TXC_RGTC1,
3348  },
3349
3350  [ISL_FORMAT_BC5_UNORM] = {
3351    .format = ISL_FORMAT_BC5_UNORM,
3352    .name = "ISL_FORMAT_BC5_UNORM",
3353    .bpb = 128,
3354    .bw = 4,
3355    .bh = 4,
3356    .bd = 1,
3357    .channels = {
3358              .r = { ISL_UNORM, -1, 8 },
3359              .g = { ISL_UNORM, -1, 8 },
3360              .b = {},
3361              .a = {},
3362              .l = {},
3363              .i = {},
3364              .p = {},
3365    },
3366    .colorspace = ISL_COLORSPACE_LINEAR,
3367    .txc = ISL_TXC_RGTC2,
3368  },
3369
3370  [ISL_FORMAT_BC1_UNORM_SRGB] = {
3371    .format = ISL_FORMAT_BC1_UNORM_SRGB,
3372    .name = "ISL_FORMAT_BC1_UNORM_SRGB",
3373    .bpb = 64,
3374    .bw = 4,
3375    .bh = 4,
3376    .bd = 1,
3377    .channels = {
3378              .r = { ISL_UNORM, -1, 4 },
3379              .g = { ISL_UNORM, -1, 4 },
3380              .b = { ISL_UNORM, -1, 4 },
3381              .a = { ISL_UNORM, -1, 4 },
3382              .l = {},
3383              .i = {},
3384              .p = {},
3385    },
3386    .colorspace = ISL_COLORSPACE_SRGB,
3387    .txc = ISL_TXC_DXT1,
3388  },
3389
3390  [ISL_FORMAT_BC2_UNORM_SRGB] = {
3391    .format = ISL_FORMAT_BC2_UNORM_SRGB,
3392    .name = "ISL_FORMAT_BC2_UNORM_SRGB",
3393    .bpb = 128,
3394    .bw = 4,
3395    .bh = 4,
3396    .bd = 1,
3397    .channels = {
3398              .r = { ISL_UNORM, -1, 4 },
3399              .g = { ISL_UNORM, -1, 4 },
3400              .b = { ISL_UNORM, -1, 4 },
3401              .a = { ISL_UNORM, -1, 4 },
3402              .l = {},
3403              .i = {},
3404              .p = {},
3405    },
3406    .colorspace = ISL_COLORSPACE_SRGB,
3407    .txc = ISL_TXC_DXT3,
3408  },
3409
3410  [ISL_FORMAT_BC3_UNORM_SRGB] = {
3411    .format = ISL_FORMAT_BC3_UNORM_SRGB,
3412    .name = "ISL_FORMAT_BC3_UNORM_SRGB",
3413    .bpb = 128,
3414    .bw = 4,
3415    .bh = 4,
3416    .bd = 1,
3417    .channels = {
3418              .r = { ISL_UNORM, -1, 4 },
3419              .g = { ISL_UNORM, -1, 4 },
3420              .b = { ISL_UNORM, -1, 4 },
3421              .a = { ISL_UNORM, -1, 4 },
3422              .l = {},
3423              .i = {},
3424              .p = {},
3425    },
3426    .colorspace = ISL_COLORSPACE_SRGB,
3427    .txc = ISL_TXC_DXT5,
3428  },
3429
3430  [ISL_FORMAT_MONO8] = {
3431    .format = ISL_FORMAT_MONO8,
3432    .name = "ISL_FORMAT_MONO8",
3433    .bpb = 1,
3434    .bw = 1,
3435    .bh = 1,
3436    .bd = 1,
3437    .channels = {
3438              .r = {},
3439              .g = {},
3440              .b = {},
3441              .a = {},
3442              .l = {},
3443              .i = {},
3444              .p = {},
3445    },
3446    .colorspace = ISL_COLORSPACE_NONE,
3447    .txc = ISL_TXC_NONE,
3448  },
3449
3450  [ISL_FORMAT_YCRCB_SWAPUV] = {
3451    .format = ISL_FORMAT_YCRCB_SWAPUV,
3452    .name = "ISL_FORMAT_YCRCB_SWAPUV",
3453    .bpb = 16,
3454    .bw = 1,
3455    .bh = 1,
3456    .bd = 1,
3457    .channels = {
3458              .r = { ISL_UNORM, -1, 8 },
3459              .g = { ISL_UNORM, -1, 8 },
3460              .b = { ISL_UNORM, -1, 8 },
3461              .a = {},
3462              .l = {},
3463              .i = {},
3464              .p = {},
3465    },
3466    .colorspace = ISL_COLORSPACE_YUV,
3467    .txc = ISL_TXC_NONE,
3468  },
3469
3470  [ISL_FORMAT_YCRCB_SWAPY] = {
3471    .format = ISL_FORMAT_YCRCB_SWAPY,
3472    .name = "ISL_FORMAT_YCRCB_SWAPY",
3473    .bpb = 16,
3474    .bw = 1,
3475    .bh = 1,
3476    .bd = 1,
3477    .channels = {
3478              .r = { ISL_UNORM, -1, 8 },
3479              .g = { ISL_UNORM, -1, 8 },
3480              .b = { ISL_UNORM, -1, 8 },
3481              .a = {},
3482              .l = {},
3483              .i = {},
3484              .p = {},
3485    },
3486    .colorspace = ISL_COLORSPACE_YUV,
3487    .txc = ISL_TXC_NONE,
3488  },
3489
3490  [ISL_FORMAT_DXT1_RGB] = {
3491    .format = ISL_FORMAT_DXT1_RGB,
3492    .name = "ISL_FORMAT_DXT1_RGB",
3493    .bpb = 64,
3494    .bw = 4,
3495    .bh = 4,
3496    .bd = 1,
3497    .channels = {
3498              .r = { ISL_UNORM, -1, 4 },
3499              .g = { ISL_UNORM, -1, 4 },
3500              .b = { ISL_UNORM, -1, 4 },
3501              .a = {},
3502              .l = {},
3503              .i = {},
3504              .p = {},
3505    },
3506    .colorspace = ISL_COLORSPACE_LINEAR,
3507    .txc = ISL_TXC_DXT1,
3508  },
3509
3510  [ISL_FORMAT_FXT1] = {
3511    .format = ISL_FORMAT_FXT1,
3512    .name = "ISL_FORMAT_FXT1",
3513    .bpb = 128,
3514    .bw = 8,
3515    .bh = 4,
3516    .bd = 1,
3517    .channels = {
3518              .r = { ISL_UNORM, -1, 4 },
3519              .g = { ISL_UNORM, -1, 4 },
3520              .b = { ISL_UNORM, -1, 4 },
3521              .a = {},
3522              .l = {},
3523              .i = {},
3524              .p = {},
3525    },
3526    .colorspace = ISL_COLORSPACE_LINEAR,
3527    .txc = ISL_TXC_FXT1,
3528  },
3529
3530  [ISL_FORMAT_R8G8B8_UNORM] = {
3531    .format = ISL_FORMAT_R8G8B8_UNORM,
3532    .name = "ISL_FORMAT_R8G8B8_UNORM",
3533    .bpb = 24,
3534    .bw = 1,
3535    .bh = 1,
3536    .bd = 1,
3537    .channels = {
3538              .r = { ISL_UNORM, 0, 8 },
3539              .g = { ISL_UNORM, 8, 8 },
3540              .b = { ISL_UNORM, 16, 8 },
3541              .a = {},
3542              .l = {},
3543              .i = {},
3544              .p = {},
3545    },
3546    .colorspace = ISL_COLORSPACE_LINEAR,
3547    .txc = ISL_TXC_NONE,
3548  },
3549
3550  [ISL_FORMAT_R8G8B8_SNORM] = {
3551    .format = ISL_FORMAT_R8G8B8_SNORM,
3552    .name = "ISL_FORMAT_R8G8B8_SNORM",
3553    .bpb = 24,
3554    .bw = 1,
3555    .bh = 1,
3556    .bd = 1,
3557    .channels = {
3558              .r = { ISL_SNORM, 0, 8 },
3559              .g = { ISL_SNORM, 8, 8 },
3560              .b = { ISL_SNORM, 16, 8 },
3561              .a = {},
3562              .l = {},
3563              .i = {},
3564              .p = {},
3565    },
3566    .colorspace = ISL_COLORSPACE_LINEAR,
3567    .txc = ISL_TXC_NONE,
3568  },
3569
3570  [ISL_FORMAT_R8G8B8_SSCALED] = {
3571    .format = ISL_FORMAT_R8G8B8_SSCALED,
3572    .name = "ISL_FORMAT_R8G8B8_SSCALED",
3573    .bpb = 24,
3574    .bw = 1,
3575    .bh = 1,
3576    .bd = 1,
3577    .channels = {
3578              .r = { ISL_SSCALED, 0, 8 },
3579              .g = { ISL_SSCALED, 8, 8 },
3580              .b = { ISL_SSCALED, 16, 8 },
3581              .a = {},
3582              .l = {},
3583              .i = {},
3584              .p = {},
3585    },
3586    .colorspace = ISL_COLORSPACE_LINEAR,
3587    .txc = ISL_TXC_NONE,
3588  },
3589
3590  [ISL_FORMAT_R8G8B8_USCALED] = {
3591    .format = ISL_FORMAT_R8G8B8_USCALED,
3592    .name = "ISL_FORMAT_R8G8B8_USCALED",
3593    .bpb = 24,
3594    .bw = 1,
3595    .bh = 1,
3596    .bd = 1,
3597    .channels = {
3598              .r = { ISL_USCALED, 0, 8 },
3599              .g = { ISL_USCALED, 8, 8 },
3600              .b = { ISL_USCALED, 16, 8 },
3601              .a = {},
3602              .l = {},
3603              .i = {},
3604              .p = {},
3605    },
3606    .colorspace = ISL_COLORSPACE_LINEAR,
3607    .txc = ISL_TXC_NONE,
3608  },
3609
3610  [ISL_FORMAT_R64G64B64A64_FLOAT] = {
3611    .format = ISL_FORMAT_R64G64B64A64_FLOAT,
3612    .name = "ISL_FORMAT_R64G64B64A64_FLOAT",
3613    .bpb = 256,
3614    .bw = 1,
3615    .bh = 1,
3616    .bd = 1,
3617    .channels = {
3618              .r = { ISL_SFLOAT, 0, 64 },
3619              .g = { ISL_SFLOAT, 64, 64 },
3620              .b = { ISL_SFLOAT, 128, 64 },
3621              .a = { ISL_SFLOAT, 192, 64 },
3622              .l = {},
3623              .i = {},
3624              .p = {},
3625    },
3626    .colorspace = ISL_COLORSPACE_LINEAR,
3627    .txc = ISL_TXC_NONE,
3628  },
3629
3630  [ISL_FORMAT_R64G64B64_FLOAT] = {
3631    .format = ISL_FORMAT_R64G64B64_FLOAT,
3632    .name = "ISL_FORMAT_R64G64B64_FLOAT",
3633    .bpb = 196,
3634    .bw = 1,
3635    .bh = 1,
3636    .bd = 1,
3637    .channels = {
3638              .r = { ISL_SFLOAT, 0, 64 },
3639              .g = { ISL_SFLOAT, 64, 64 },
3640              .b = { ISL_SFLOAT, 128, 64 },
3641              .a = {},
3642              .l = {},
3643              .i = {},
3644              .p = {},
3645    },
3646    .colorspace = ISL_COLORSPACE_LINEAR,
3647    .txc = ISL_TXC_NONE,
3648  },
3649
3650  [ISL_FORMAT_BC4_SNORM] = {
3651    .format = ISL_FORMAT_BC4_SNORM,
3652    .name = "ISL_FORMAT_BC4_SNORM",
3653    .bpb = 64,
3654    .bw = 4,
3655    .bh = 4,
3656    .bd = 1,
3657    .channels = {
3658              .r = { ISL_SNORM, -1, 8 },
3659              .g = {},
3660              .b = {},
3661              .a = {},
3662              .l = {},
3663              .i = {},
3664              .p = {},
3665    },
3666    .colorspace = ISL_COLORSPACE_LINEAR,
3667    .txc = ISL_TXC_RGTC1,
3668  },
3669
3670  [ISL_FORMAT_BC5_SNORM] = {
3671    .format = ISL_FORMAT_BC5_SNORM,
3672    .name = "ISL_FORMAT_BC5_SNORM",
3673    .bpb = 128,
3674    .bw = 4,
3675    .bh = 4,
3676    .bd = 1,
3677    .channels = {
3678              .r = { ISL_SNORM, -1, 8 },
3679              .g = { ISL_SNORM, -1, 8 },
3680              .b = {},
3681              .a = {},
3682              .l = {},
3683              .i = {},
3684              .p = {},
3685    },
3686    .colorspace = ISL_COLORSPACE_LINEAR,
3687    .txc = ISL_TXC_RGTC2,
3688  },
3689
3690  [ISL_FORMAT_R16G16B16_FLOAT] = {
3691    .format = ISL_FORMAT_R16G16B16_FLOAT,
3692    .name = "ISL_FORMAT_R16G16B16_FLOAT",
3693    .bpb = 48,
3694    .bw = 1,
3695    .bh = 1,
3696    .bd = 1,
3697    .channels = {
3698              .r = { ISL_SFLOAT, 0, 16 },
3699              .g = { ISL_SFLOAT, 16, 16 },
3700              .b = { ISL_SFLOAT, 32, 16 },
3701              .a = {},
3702              .l = {},
3703              .i = {},
3704              .p = {},
3705    },
3706    .colorspace = ISL_COLORSPACE_LINEAR,
3707    .txc = ISL_TXC_NONE,
3708  },
3709
3710  [ISL_FORMAT_R16G16B16_UNORM] = {
3711    .format = ISL_FORMAT_R16G16B16_UNORM,
3712    .name = "ISL_FORMAT_R16G16B16_UNORM",
3713    .bpb = 48,
3714    .bw = 1,
3715    .bh = 1,
3716    .bd = 1,
3717    .channels = {
3718              .r = { ISL_UNORM, 0, 16 },
3719              .g = { ISL_UNORM, 16, 16 },
3720              .b = { ISL_UNORM, 32, 16 },
3721              .a = {},
3722              .l = {},
3723              .i = {},
3724              .p = {},
3725    },
3726    .colorspace = ISL_COLORSPACE_LINEAR,
3727    .txc = ISL_TXC_NONE,
3728  },
3729
3730  [ISL_FORMAT_R16G16B16_SNORM] = {
3731    .format = ISL_FORMAT_R16G16B16_SNORM,
3732    .name = "ISL_FORMAT_R16G16B16_SNORM",
3733    .bpb = 48,
3734    .bw = 1,
3735    .bh = 1,
3736    .bd = 1,
3737    .channels = {
3738              .r = { ISL_SNORM, 0, 16 },
3739              .g = { ISL_SNORM, 16, 16 },
3740              .b = { ISL_SNORM, 32, 16 },
3741              .a = {},
3742              .l = {},
3743              .i = {},
3744              .p = {},
3745    },
3746    .colorspace = ISL_COLORSPACE_LINEAR,
3747    .txc = ISL_TXC_NONE,
3748  },
3749
3750  [ISL_FORMAT_R16G16B16_SSCALED] = {
3751    .format = ISL_FORMAT_R16G16B16_SSCALED,
3752    .name = "ISL_FORMAT_R16G16B16_SSCALED",
3753    .bpb = 48,
3754    .bw = 1,
3755    .bh = 1,
3756    .bd = 1,
3757    .channels = {
3758              .r = { ISL_SSCALED, 0, 16 },
3759              .g = { ISL_SSCALED, 16, 16 },
3760              .b = { ISL_SSCALED, 32, 16 },
3761              .a = {},
3762              .l = {},
3763              .i = {},
3764              .p = {},
3765    },
3766    .colorspace = ISL_COLORSPACE_LINEAR,
3767    .txc = ISL_TXC_NONE,
3768  },
3769
3770  [ISL_FORMAT_R16G16B16_USCALED] = {
3771    .format = ISL_FORMAT_R16G16B16_USCALED,
3772    .name = "ISL_FORMAT_R16G16B16_USCALED",
3773    .bpb = 48,
3774    .bw = 1,
3775    .bh = 1,
3776    .bd = 1,
3777    .channels = {
3778              .r = { ISL_USCALED, 0, 16 },
3779              .g = { ISL_USCALED, 16, 16 },
3780              .b = { ISL_USCALED, 32, 16 },
3781              .a = {},
3782              .l = {},
3783              .i = {},
3784              .p = {},
3785    },
3786    .colorspace = ISL_COLORSPACE_LINEAR,
3787    .txc = ISL_TXC_NONE,
3788  },
3789
3790  [ISL_FORMAT_BC6H_SF16] = {
3791    .format = ISL_FORMAT_BC6H_SF16,
3792    .name = "ISL_FORMAT_BC6H_SF16",
3793    .bpb = 128,
3794    .bw = 4,
3795    .bh = 4,
3796    .bd = 1,
3797    .channels = {
3798              .r = { ISL_SFLOAT, -1, 16 },
3799              .g = { ISL_SFLOAT, -1, 16 },
3800              .b = { ISL_SFLOAT, -1, 16 },
3801              .a = {},
3802              .l = {},
3803              .i = {},
3804              .p = {},
3805    },
3806    .colorspace = ISL_COLORSPACE_LINEAR,
3807    .txc = ISL_TXC_BPTC,
3808  },
3809
3810  [ISL_FORMAT_BC7_UNORM] = {
3811    .format = ISL_FORMAT_BC7_UNORM,
3812    .name = "ISL_FORMAT_BC7_UNORM",
3813    .bpb = 128,
3814    .bw = 4,
3815    .bh = 4,
3816    .bd = 1,
3817    .channels = {
3818              .r = { ISL_UNORM, -1, 8 },
3819              .g = { ISL_UNORM, -1, 8 },
3820              .b = { ISL_UNORM, -1, 8 },
3821              .a = { ISL_UNORM, -1, 8 },
3822              .l = {},
3823              .i = {},
3824              .p = {},
3825    },
3826    .colorspace = ISL_COLORSPACE_LINEAR,
3827    .txc = ISL_TXC_BPTC,
3828  },
3829
3830  [ISL_FORMAT_BC7_UNORM_SRGB] = {
3831    .format = ISL_FORMAT_BC7_UNORM_SRGB,
3832    .name = "ISL_FORMAT_BC7_UNORM_SRGB",
3833    .bpb = 128,
3834    .bw = 4,
3835    .bh = 4,
3836    .bd = 1,
3837    .channels = {
3838              .r = { ISL_UNORM, -1, 8 },
3839              .g = { ISL_UNORM, -1, 8 },
3840              .b = { ISL_UNORM, -1, 8 },
3841              .a = { ISL_UNORM, -1, 8 },
3842              .l = {},
3843              .i = {},
3844              .p = {},
3845    },
3846    .colorspace = ISL_COLORSPACE_SRGB,
3847    .txc = ISL_TXC_BPTC,
3848  },
3849
3850  [ISL_FORMAT_BC6H_UF16] = {
3851    .format = ISL_FORMAT_BC6H_UF16,
3852    .name = "ISL_FORMAT_BC6H_UF16",
3853    .bpb = 128,
3854    .bw = 4,
3855    .bh = 4,
3856    .bd = 1,
3857    .channels = {
3858              .r = { ISL_UFLOAT, -1, 16 },
3859              .g = { ISL_UFLOAT, -1, 16 },
3860              .b = { ISL_UFLOAT, -1, 16 },
3861              .a = {},
3862              .l = {},
3863              .i = {},
3864              .p = {},
3865    },
3866    .colorspace = ISL_COLORSPACE_LINEAR,
3867    .txc = ISL_TXC_BPTC,
3868  },
3869
3870  [ISL_FORMAT_PLANAR_420_8] = {
3871    .format = ISL_FORMAT_PLANAR_420_8,
3872    .name = "ISL_FORMAT_PLANAR_420_8",
3873    .bpb = 0,
3874    .bw = 0,
3875    .bh = 0,
3876    .bd = 0,
3877    .channels = {
3878              .r = {},
3879              .g = {},
3880              .b = {},
3881              .a = {},
3882              .l = {},
3883              .i = {},
3884              .p = {},
3885    },
3886    .colorspace = ISL_COLORSPACE_YUV,
3887    .txc = ISL_TXC_NONE,
3888  },
3889
3890  [ISL_FORMAT_R8G8B8_UNORM_SRGB] = {
3891    .format = ISL_FORMAT_R8G8B8_UNORM_SRGB,
3892    .name = "ISL_FORMAT_R8G8B8_UNORM_SRGB",
3893    .bpb = 24,
3894    .bw = 1,
3895    .bh = 1,
3896    .bd = 1,
3897    .channels = {
3898              .r = { ISL_UNORM, 0, 8 },
3899              .g = { ISL_UNORM, 8, 8 },
3900              .b = { ISL_UNORM, 16, 8 },
3901              .a = {},
3902              .l = {},
3903              .i = {},
3904              .p = {},
3905    },
3906    .colorspace = ISL_COLORSPACE_SRGB,
3907    .txc = ISL_TXC_NONE,
3908  },
3909
3910  [ISL_FORMAT_ETC1_RGB8] = {
3911    .format = ISL_FORMAT_ETC1_RGB8,
3912    .name = "ISL_FORMAT_ETC1_RGB8",
3913    .bpb = 64,
3914    .bw = 4,
3915    .bh = 4,
3916    .bd = 1,
3917    .channels = {
3918              .r = { ISL_UNORM, -1, 8 },
3919              .g = { ISL_UNORM, -1, 8 },
3920              .b = { ISL_UNORM, -1, 8 },
3921              .a = {},
3922              .l = {},
3923              .i = {},
3924              .p = {},
3925    },
3926    .colorspace = ISL_COLORSPACE_LINEAR,
3927    .txc = ISL_TXC_ETC1,
3928  },
3929
3930  [ISL_FORMAT_ETC2_RGB8] = {
3931    .format = ISL_FORMAT_ETC2_RGB8,
3932    .name = "ISL_FORMAT_ETC2_RGB8",
3933    .bpb = 64,
3934    .bw = 4,
3935    .bh = 4,
3936    .bd = 1,
3937    .channels = {
3938              .r = { ISL_UNORM, -1, 8 },
3939              .g = { ISL_UNORM, -1, 8 },
3940              .b = { ISL_UNORM, -1, 8 },
3941              .a = {},
3942              .l = {},
3943              .i = {},
3944              .p = {},
3945    },
3946    .colorspace = ISL_COLORSPACE_LINEAR,
3947    .txc = ISL_TXC_ETC2,
3948  },
3949
3950  [ISL_FORMAT_EAC_R11] = {
3951    .format = ISL_FORMAT_EAC_R11,
3952    .name = "ISL_FORMAT_EAC_R11",
3953    .bpb = 64,
3954    .bw = 4,
3955    .bh = 4,
3956    .bd = 1,
3957    .channels = {
3958              .r = { ISL_UNORM, -1, 11 },
3959              .g = {},
3960              .b = {},
3961              .a = {},
3962              .l = {},
3963              .i = {},
3964              .p = {},
3965    },
3966    .colorspace = ISL_COLORSPACE_LINEAR,
3967    .txc = ISL_TXC_ETC2,
3968  },
3969
3970  [ISL_FORMAT_EAC_RG11] = {
3971    .format = ISL_FORMAT_EAC_RG11,
3972    .name = "ISL_FORMAT_EAC_RG11",
3973    .bpb = 128,
3974    .bw = 4,
3975    .bh = 4,
3976    .bd = 1,
3977    .channels = {
3978              .r = { ISL_UNORM, -1, 11 },
3979              .g = { ISL_UNORM, -1, 11 },
3980              .b = {},
3981              .a = {},
3982              .l = {},
3983              .i = {},
3984              .p = {},
3985    },
3986    .colorspace = ISL_COLORSPACE_LINEAR,
3987    .txc = ISL_TXC_ETC2,
3988  },
3989
3990  [ISL_FORMAT_EAC_SIGNED_R11] = {
3991    .format = ISL_FORMAT_EAC_SIGNED_R11,
3992    .name = "ISL_FORMAT_EAC_SIGNED_R11",
3993    .bpb = 64,
3994    .bw = 4,
3995    .bh = 4,
3996    .bd = 1,
3997    .channels = {
3998              .r = { ISL_SNORM, -1, 11 },
3999              .g = {},
4000              .b = {},
4001              .a = {},
4002              .l = {},
4003              .i = {},
4004              .p = {},
4005    },
4006    .colorspace = ISL_COLORSPACE_LINEAR,
4007    .txc = ISL_TXC_ETC2,
4008  },
4009
4010  [ISL_FORMAT_EAC_SIGNED_RG11] = {
4011    .format = ISL_FORMAT_EAC_SIGNED_RG11,
4012    .name = "ISL_FORMAT_EAC_SIGNED_RG11",
4013    .bpb = 128,
4014    .bw = 4,
4015    .bh = 4,
4016    .bd = 1,
4017    .channels = {
4018              .r = { ISL_SNORM, -1, 11 },
4019              .g = { ISL_SNORM, -1, 11 },
4020              .b = {},
4021              .a = {},
4022              .l = {},
4023              .i = {},
4024              .p = {},
4025    },
4026    .colorspace = ISL_COLORSPACE_LINEAR,
4027    .txc = ISL_TXC_ETC2,
4028  },
4029
4030  [ISL_FORMAT_ETC2_SRGB8] = {
4031    .format = ISL_FORMAT_ETC2_SRGB8,
4032    .name = "ISL_FORMAT_ETC2_SRGB8",
4033    .bpb = 64,
4034    .bw = 4,
4035    .bh = 4,
4036    .bd = 1,
4037    .channels = {
4038              .r = { ISL_UNORM, -1, 8 },
4039              .g = { ISL_UNORM, -1, 8 },
4040              .b = { ISL_UNORM, -1, 8 },
4041              .a = {},
4042              .l = {},
4043              .i = {},
4044              .p = {},
4045    },
4046    .colorspace = ISL_COLORSPACE_SRGB,
4047    .txc = ISL_TXC_ETC2,
4048  },
4049
4050  [ISL_FORMAT_R16G16B16_UINT] = {
4051    .format = ISL_FORMAT_R16G16B16_UINT,
4052    .name = "ISL_FORMAT_R16G16B16_UINT",
4053    .bpb = 48,
4054    .bw = 1,
4055    .bh = 1,
4056    .bd = 1,
4057    .channels = {
4058              .r = { ISL_UINT, 0, 16 },
4059              .g = { ISL_UINT, 16, 16 },
4060              .b = { ISL_UINT, 32, 16 },
4061              .a = {},
4062              .l = {},
4063              .i = {},
4064              .p = {},
4065    },
4066    .colorspace = ISL_COLORSPACE_LINEAR,
4067    .txc = ISL_TXC_NONE,
4068  },
4069
4070  [ISL_FORMAT_R16G16B16_SINT] = {
4071    .format = ISL_FORMAT_R16G16B16_SINT,
4072    .name = "ISL_FORMAT_R16G16B16_SINT",
4073    .bpb = 48,
4074    .bw = 1,
4075    .bh = 1,
4076    .bd = 1,
4077    .channels = {
4078              .r = { ISL_SINT, 0, 16 },
4079              .g = { ISL_SINT, 16, 16 },
4080              .b = { ISL_SINT, 32, 16 },
4081              .a = {},
4082              .l = {},
4083              .i = {},
4084              .p = {},
4085    },
4086    .colorspace = ISL_COLORSPACE_LINEAR,
4087    .txc = ISL_TXC_NONE,
4088  },
4089
4090  [ISL_FORMAT_R32_SFIXED] = {
4091    .format = ISL_FORMAT_R32_SFIXED,
4092    .name = "ISL_FORMAT_R32_SFIXED",
4093    .bpb = 32,
4094    .bw = 1,
4095    .bh = 1,
4096    .bd = 1,
4097    .channels = {
4098              .r = { ISL_SFIXED, 0, 16 },
4099              .g = {},
4100              .b = {},
4101              .a = {},
4102              .l = {},
4103              .i = {},
4104              .p = {},
4105    },
4106    .colorspace = ISL_COLORSPACE_LINEAR,
4107    .txc = ISL_TXC_NONE,
4108  },
4109
4110  [ISL_FORMAT_R10G10B10A2_SNORM] = {
4111    .format = ISL_FORMAT_R10G10B10A2_SNORM,
4112    .name = "ISL_FORMAT_R10G10B10A2_SNORM",
4113    .bpb = 32,
4114    .bw = 1,
4115    .bh = 1,
4116    .bd = 1,
4117    .channels = {
4118              .r = { ISL_SNORM, 0, 10 },
4119              .g = { ISL_SNORM, 10, 10 },
4120              .b = { ISL_SNORM, 20, 10 },
4121              .a = { ISL_SNORM, 30, 2 },
4122              .l = {},
4123              .i = {},
4124              .p = {},
4125    },
4126    .colorspace = ISL_COLORSPACE_LINEAR,
4127    .txc = ISL_TXC_NONE,
4128  },
4129
4130  [ISL_FORMAT_R10G10B10A2_USCALED] = {
4131    .format = ISL_FORMAT_R10G10B10A2_USCALED,
4132    .name = "ISL_FORMAT_R10G10B10A2_USCALED",
4133    .bpb = 32,
4134    .bw = 1,
4135    .bh = 1,
4136    .bd = 1,
4137    .channels = {
4138              .r = { ISL_USCALED, 0, 10 },
4139              .g = { ISL_USCALED, 10, 10 },
4140              .b = { ISL_USCALED, 20, 10 },
4141              .a = { ISL_USCALED, 30, 2 },
4142              .l = {},
4143              .i = {},
4144              .p = {},
4145    },
4146    .colorspace = ISL_COLORSPACE_LINEAR,
4147    .txc = ISL_TXC_NONE,
4148  },
4149
4150  [ISL_FORMAT_R10G10B10A2_SSCALED] = {
4151    .format = ISL_FORMAT_R10G10B10A2_SSCALED,
4152    .name = "ISL_FORMAT_R10G10B10A2_SSCALED",
4153    .bpb = 32,
4154    .bw = 1,
4155    .bh = 1,
4156    .bd = 1,
4157    .channels = {
4158              .r = { ISL_SSCALED, 0, 10 },
4159              .g = { ISL_SSCALED, 10, 10 },
4160              .b = { ISL_SSCALED, 20, 10 },
4161              .a = { ISL_SSCALED, 30, 2 },
4162              .l = {},
4163              .i = {},
4164              .p = {},
4165    },
4166    .colorspace = ISL_COLORSPACE_LINEAR,
4167    .txc = ISL_TXC_NONE,
4168  },
4169
4170  [ISL_FORMAT_R10G10B10A2_SINT] = {
4171    .format = ISL_FORMAT_R10G10B10A2_SINT,
4172    .name = "ISL_FORMAT_R10G10B10A2_SINT",
4173    .bpb = 32,
4174    .bw = 1,
4175    .bh = 1,
4176    .bd = 1,
4177    .channels = {
4178              .r = { ISL_SINT, 0, 10 },
4179              .g = { ISL_SINT, 10, 10 },
4180              .b = { ISL_SINT, 20, 10 },
4181              .a = { ISL_SINT, 30, 2 },
4182              .l = {},
4183              .i = {},
4184              .p = {},
4185    },
4186    .colorspace = ISL_COLORSPACE_LINEAR,
4187    .txc = ISL_TXC_NONE,
4188  },
4189
4190  [ISL_FORMAT_B10G10R10A2_SNORM] = {
4191    .format = ISL_FORMAT_B10G10R10A2_SNORM,
4192    .name = "ISL_FORMAT_B10G10R10A2_SNORM",
4193    .bpb = 32,
4194    .bw = 1,
4195    .bh = 1,
4196    .bd = 1,
4197    .channels = {
4198              .r = { ISL_SNORM, 0, 10 },
4199              .g = { ISL_SNORM, 10, 10 },
4200              .b = { ISL_SNORM, 20, 10 },
4201              .a = { ISL_SNORM, 30, 2 },
4202              .l = {},
4203              .i = {},
4204              .p = {},
4205    },
4206    .colorspace = ISL_COLORSPACE_LINEAR,
4207    .txc = ISL_TXC_NONE,
4208  },
4209
4210  [ISL_FORMAT_B10G10R10A2_USCALED] = {
4211    .format = ISL_FORMAT_B10G10R10A2_USCALED,
4212    .name = "ISL_FORMAT_B10G10R10A2_USCALED",
4213    .bpb = 32,
4214    .bw = 1,
4215    .bh = 1,
4216    .bd = 1,
4217    .channels = {
4218              .r = { ISL_USCALED, 0, 10 },
4219              .g = { ISL_USCALED, 10, 10 },
4220              .b = { ISL_USCALED, 20, 10 },
4221              .a = { ISL_USCALED, 30, 2 },
4222              .l = {},
4223              .i = {},
4224              .p = {},
4225    },
4226    .colorspace = ISL_COLORSPACE_LINEAR,
4227    .txc = ISL_TXC_NONE,
4228  },
4229
4230  [ISL_FORMAT_B10G10R10A2_SSCALED] = {
4231    .format = ISL_FORMAT_B10G10R10A2_SSCALED,
4232    .name = "ISL_FORMAT_B10G10R10A2_SSCALED",
4233    .bpb = 32,
4234    .bw = 1,
4235    .bh = 1,
4236    .bd = 1,
4237    .channels = {
4238              .r = { ISL_SSCALED, 0, 10 },
4239              .g = { ISL_SSCALED, 10, 10 },
4240              .b = { ISL_SSCALED, 20, 10 },
4241              .a = { ISL_SSCALED, 30, 2 },
4242              .l = {},
4243              .i = {},
4244              .p = {},
4245    },
4246    .colorspace = ISL_COLORSPACE_LINEAR,
4247    .txc = ISL_TXC_NONE,
4248  },
4249
4250  [ISL_FORMAT_B10G10R10A2_UINT] = {
4251    .format = ISL_FORMAT_B10G10R10A2_UINT,
4252    .name = "ISL_FORMAT_B10G10R10A2_UINT",
4253    .bpb = 32,
4254    .bw = 1,
4255    .bh = 1,
4256    .bd = 1,
4257    .channels = {
4258              .r = { ISL_UINT, 0, 10 },
4259              .g = { ISL_UINT, 10, 10 },
4260              .b = { ISL_UINT, 20, 10 },
4261              .a = { ISL_UINT, 30, 2 },
4262              .l = {},
4263              .i = {},
4264              .p = {},
4265    },
4266    .colorspace = ISL_COLORSPACE_LINEAR,
4267    .txc = ISL_TXC_NONE,
4268  },
4269
4270  [ISL_FORMAT_B10G10R10A2_SINT] = {
4271    .format = ISL_FORMAT_B10G10R10A2_SINT,
4272    .name = "ISL_FORMAT_B10G10R10A2_SINT",
4273    .bpb = 32,
4274    .bw = 1,
4275    .bh = 1,
4276    .bd = 1,
4277    .channels = {
4278              .r = { ISL_SINT, 0, 10 },
4279              .g = { ISL_SINT, 10, 10 },
4280              .b = { ISL_SINT, 20, 10 },
4281              .a = { ISL_SINT, 30, 2 },
4282              .l = {},
4283              .i = {},
4284              .p = {},
4285    },
4286    .colorspace = ISL_COLORSPACE_LINEAR,
4287    .txc = ISL_TXC_NONE,
4288  },
4289
4290  [ISL_FORMAT_R64G64B64A64_PASSTHRU] = {
4291    .format = ISL_FORMAT_R64G64B64A64_PASSTHRU,
4292    .name = "ISL_FORMAT_R64G64B64A64_PASSTHRU",
4293    .bpb = 256,
4294    .bw = 1,
4295    .bh = 1,
4296    .bd = 1,
4297    .channels = {
4298              .r = { ISL_RAW, 0, 64 },
4299              .g = { ISL_RAW, 64, 64 },
4300              .b = { ISL_RAW, 128, 64 },
4301              .a = { ISL_RAW, 192, 64 },
4302              .l = {},
4303              .i = {},
4304              .p = {},
4305    },
4306    .colorspace = ISL_COLORSPACE_NONE,
4307    .txc = ISL_TXC_NONE,
4308  },
4309
4310  [ISL_FORMAT_R64G64B64_PASSTHRU] = {
4311    .format = ISL_FORMAT_R64G64B64_PASSTHRU,
4312    .name = "ISL_FORMAT_R64G64B64_PASSTHRU",
4313    .bpb = 192,
4314    .bw = 1,
4315    .bh = 1,
4316    .bd = 1,
4317    .channels = {
4318              .r = { ISL_RAW, 0, 64 },
4319              .g = { ISL_RAW, 64, 64 },
4320              .b = { ISL_RAW, 128, 64 },
4321              .a = {},
4322              .l = {},
4323              .i = {},
4324              .p = {},
4325    },
4326    .colorspace = ISL_COLORSPACE_NONE,
4327    .txc = ISL_TXC_NONE,
4328  },
4329
4330  [ISL_FORMAT_ETC2_RGB8_PTA] = {
4331    .format = ISL_FORMAT_ETC2_RGB8_PTA,
4332    .name = "ISL_FORMAT_ETC2_RGB8_PTA",
4333    .bpb = 64,
4334    .bw = 4,
4335    .bh = 4,
4336    .bd = 1,
4337    .channels = {
4338              .r = { ISL_UNORM, -1, 8 },
4339              .g = { ISL_UNORM, -1, 8 },
4340              .b = { ISL_UNORM, -1, 8 },
4341              .a = { ISL_UNORM, -1, 1 },
4342              .l = {},
4343              .i = {},
4344              .p = {},
4345    },
4346    .colorspace = ISL_COLORSPACE_LINEAR,
4347    .txc = ISL_TXC_ETC2,
4348  },
4349
4350  [ISL_FORMAT_ETC2_SRGB8_PTA] = {
4351    .format = ISL_FORMAT_ETC2_SRGB8_PTA,
4352    .name = "ISL_FORMAT_ETC2_SRGB8_PTA",
4353    .bpb = 64,
4354    .bw = 4,
4355    .bh = 4,
4356    .bd = 1,
4357    .channels = {
4358              .r = { ISL_UNORM, -1, 8 },
4359              .g = { ISL_UNORM, -1, 8 },
4360              .b = { ISL_UNORM, -1, 8 },
4361              .a = { ISL_UNORM, -1, 1 },
4362              .l = {},
4363              .i = {},
4364              .p = {},
4365    },
4366    .colorspace = ISL_COLORSPACE_SRGB,
4367    .txc = ISL_TXC_ETC2,
4368  },
4369
4370  [ISL_FORMAT_ETC2_EAC_RGBA8] = {
4371    .format = ISL_FORMAT_ETC2_EAC_RGBA8,
4372    .name = "ISL_FORMAT_ETC2_EAC_RGBA8",
4373    .bpb = 128,
4374    .bw = 4,
4375    .bh = 4,
4376    .bd = 1,
4377    .channels = {
4378              .r = { ISL_UNORM, -1, 8 },
4379              .g = { ISL_UNORM, -1, 8 },
4380              .b = { ISL_UNORM, -1, 8 },
4381              .a = { ISL_UNORM, -1, 8 },
4382              .l = {},
4383              .i = {},
4384              .p = {},
4385    },
4386    .colorspace = ISL_COLORSPACE_LINEAR,
4387    .txc = ISL_TXC_ETC2,
4388  },
4389
4390  [ISL_FORMAT_ETC2_EAC_SRGB8_A8] = {
4391    .format = ISL_FORMAT_ETC2_EAC_SRGB8_A8,
4392    .name = "ISL_FORMAT_ETC2_EAC_SRGB8_A8",
4393    .bpb = 128,
4394    .bw = 4,
4395    .bh = 4,
4396    .bd = 1,
4397    .channels = {
4398              .r = { ISL_UNORM, -1, 8 },
4399              .g = { ISL_UNORM, -1, 8 },
4400              .b = { ISL_UNORM, -1, 8 },
4401              .a = { ISL_UNORM, -1, 8 },
4402              .l = {},
4403              .i = {},
4404              .p = {},
4405    },
4406    .colorspace = ISL_COLORSPACE_SRGB,
4407    .txc = ISL_TXC_ETC2,
4408  },
4409
4410  [ISL_FORMAT_R8G8B8_UINT] = {
4411    .format = ISL_FORMAT_R8G8B8_UINT,
4412    .name = "ISL_FORMAT_R8G8B8_UINT",
4413    .bpb = 24,
4414    .bw = 1,
4415    .bh = 1,
4416    .bd = 1,
4417    .channels = {
4418              .r = { ISL_UINT, 0, 8 },
4419              .g = { ISL_UINT, 8, 8 },
4420              .b = { ISL_UINT, 16, 8 },
4421              .a = {},
4422              .l = {},
4423              .i = {},
4424              .p = {},
4425    },
4426    .colorspace = ISL_COLORSPACE_LINEAR,
4427    .txc = ISL_TXC_NONE,
4428  },
4429
4430  [ISL_FORMAT_R8G8B8_SINT] = {
4431    .format = ISL_FORMAT_R8G8B8_SINT,
4432    .name = "ISL_FORMAT_R8G8B8_SINT",
4433    .bpb = 24,
4434    .bw = 1,
4435    .bh = 1,
4436    .bd = 1,
4437    .channels = {
4438              .r = { ISL_SINT, 0, 8 },
4439              .g = { ISL_SINT, 8, 8 },
4440              .b = { ISL_SINT, 16, 8 },
4441              .a = {},
4442              .l = {},
4443              .i = {},
4444              .p = {},
4445    },
4446    .colorspace = ISL_COLORSPACE_LINEAR,
4447    .txc = ISL_TXC_NONE,
4448  },
4449
4450  [ISL_FORMAT_RAW] = {
4451    .format = ISL_FORMAT_RAW,
4452    .name = "ISL_FORMAT_RAW",
4453    .bpb = 0,
4454    .bw = 0,
4455    .bh = 0,
4456    .bd = 0,
4457    .channels = {
4458              .r = {},
4459              .g = {},
4460              .b = {},
4461              .a = {},
4462              .l = {},
4463              .i = {},
4464              .p = {},
4465    },
4466    .colorspace = ISL_COLORSPACE_NONE,
4467    .txc = ISL_TXC_NONE,
4468  },
4469
4470  [ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB] = {
4471    .format = ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB,
4472    .name = "ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB",
4473    .bpb = 128,
4474    .bw = 4,
4475    .bh = 4,
4476    .bd = 1,
4477    .channels = {
4478              .r = { ISL_UNORM, -1, 8 },
4479              .g = { ISL_UNORM, -1, 8 },
4480              .b = { ISL_UNORM, -1, 8 },
4481              .a = { ISL_UNORM, -1, 8 },
4482              .l = {},
4483              .i = {},
4484              .p = {},
4485    },
4486    .colorspace = ISL_COLORSPACE_SRGB,
4487    .txc = ISL_TXC_ASTC,
4488  },
4489
4490  [ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB] = {
4491    .format = ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB,
4492    .name = "ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB",
4493    .bpb = 128,
4494    .bw = 5,
4495    .bh = 4,
4496    .bd = 1,
4497    .channels = {
4498              .r = { ISL_UNORM, -1, 8 },
4499              .g = { ISL_UNORM, -1, 8 },
4500              .b = { ISL_UNORM, -1, 8 },
4501              .a = { ISL_UNORM, -1, 8 },
4502              .l = {},
4503              .i = {},
4504              .p = {},
4505    },
4506    .colorspace = ISL_COLORSPACE_SRGB,
4507    .txc = ISL_TXC_ASTC,
4508  },
4509
4510  [ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB] = {
4511    .format = ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB,
4512    .name = "ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB",
4513    .bpb = 128,
4514    .bw = 5,
4515    .bh = 5,
4516    .bd = 1,
4517    .channels = {
4518              .r = { ISL_UNORM, -1, 8 },
4519              .g = { ISL_UNORM, -1, 8 },
4520              .b = { ISL_UNORM, -1, 8 },
4521              .a = { ISL_UNORM, -1, 8 },
4522              .l = {},
4523              .i = {},
4524              .p = {},
4525    },
4526    .colorspace = ISL_COLORSPACE_SRGB,
4527    .txc = ISL_TXC_ASTC,
4528  },
4529
4530  [ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB] = {
4531    .format = ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB,
4532    .name = "ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB",
4533    .bpb = 128,
4534    .bw = 6,
4535    .bh = 5,
4536    .bd = 1,
4537    .channels = {
4538              .r = { ISL_UNORM, -1, 8 },
4539              .g = { ISL_UNORM, -1, 8 },
4540              .b = { ISL_UNORM, -1, 8 },
4541              .a = { ISL_UNORM, -1, 8 },
4542              .l = {},
4543              .i = {},
4544              .p = {},
4545    },
4546    .colorspace = ISL_COLORSPACE_SRGB,
4547    .txc = ISL_TXC_ASTC,
4548  },
4549
4550  [ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB] = {
4551    .format = ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB,
4552    .name = "ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB",
4553    .bpb = 128,
4554    .bw = 6,
4555    .bh = 6,
4556    .bd = 1,
4557    .channels = {
4558              .r = { ISL_UNORM, -1, 8 },
4559              .g = { ISL_UNORM, -1, 8 },
4560              .b = { ISL_UNORM, -1, 8 },
4561              .a = { ISL_UNORM, -1, 8 },
4562              .l = {},
4563              .i = {},
4564              .p = {},
4565    },
4566    .colorspace = ISL_COLORSPACE_SRGB,
4567    .txc = ISL_TXC_ASTC,
4568  },
4569
4570  [ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB] = {
4571    .format = ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB,
4572    .name = "ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB",
4573    .bpb = 128,
4574    .bw = 8,
4575    .bh = 5,
4576    .bd = 1,
4577    .channels = {
4578              .r = { ISL_UNORM, -1, 8 },
4579              .g = { ISL_UNORM, -1, 8 },
4580              .b = { ISL_UNORM, -1, 8 },
4581              .a = { ISL_UNORM, -1, 8 },
4582              .l = {},
4583              .i = {},
4584              .p = {},
4585    },
4586    .colorspace = ISL_COLORSPACE_SRGB,
4587    .txc = ISL_TXC_ASTC,
4588  },
4589
4590  [ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB] = {
4591    .format = ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB,
4592    .name = "ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB",
4593    .bpb = 128,
4594    .bw = 8,
4595    .bh = 6,
4596    .bd = 1,
4597    .channels = {
4598              .r = { ISL_UNORM, -1, 8 },
4599              .g = { ISL_UNORM, -1, 8 },
4600              .b = { ISL_UNORM, -1, 8 },
4601              .a = { ISL_UNORM, -1, 8 },
4602              .l = {},
4603              .i = {},
4604              .p = {},
4605    },
4606    .colorspace = ISL_COLORSPACE_SRGB,
4607    .txc = ISL_TXC_ASTC,
4608  },
4609
4610  [ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB] = {
4611    .format = ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB,
4612    .name = "ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB",
4613    .bpb = 128,
4614    .bw = 8,
4615    .bh = 8,
4616    .bd = 1,
4617    .channels = {
4618              .r = { ISL_UNORM, -1, 8 },
4619              .g = { ISL_UNORM, -1, 8 },
4620              .b = { ISL_UNORM, -1, 8 },
4621              .a = { ISL_UNORM, -1, 8 },
4622              .l = {},
4623              .i = {},
4624              .p = {},
4625    },
4626    .colorspace = ISL_COLORSPACE_SRGB,
4627    .txc = ISL_TXC_ASTC,
4628  },
4629
4630  [ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB] = {
4631    .format = ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB,
4632    .name = "ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB",
4633    .bpb = 128,
4634    .bw = 10,
4635    .bh = 5,
4636    .bd = 1,
4637    .channels = {
4638              .r = { ISL_UNORM, -1, 8 },
4639              .g = { ISL_UNORM, -1, 8 },
4640              .b = { ISL_UNORM, -1, 8 },
4641              .a = { ISL_UNORM, -1, 8 },
4642              .l = {},
4643              .i = {},
4644              .p = {},
4645    },
4646    .colorspace = ISL_COLORSPACE_SRGB,
4647    .txc = ISL_TXC_ASTC,
4648  },
4649
4650  [ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB] = {
4651    .format = ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB,
4652    .name = "ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB",
4653    .bpb = 128,
4654    .bw = 10,
4655    .bh = 6,
4656    .bd = 1,
4657    .channels = {
4658              .r = { ISL_UNORM, -1, 8 },
4659              .g = { ISL_UNORM, -1, 8 },
4660              .b = { ISL_UNORM, -1, 8 },
4661              .a = { ISL_UNORM, -1, 8 },
4662              .l = {},
4663              .i = {},
4664              .p = {},
4665    },
4666    .colorspace = ISL_COLORSPACE_SRGB,
4667    .txc = ISL_TXC_ASTC,
4668  },
4669
4670  [ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB] = {
4671    .format = ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB,
4672    .name = "ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB",
4673    .bpb = 128,
4674    .bw = 10,
4675    .bh = 8,
4676    .bd = 1,
4677    .channels = {
4678              .r = { ISL_UNORM, -1, 8 },
4679              .g = { ISL_UNORM, -1, 8 },
4680              .b = { ISL_UNORM, -1, 8 },
4681              .a = { ISL_UNORM, -1, 8 },
4682              .l = {},
4683              .i = {},
4684              .p = {},
4685    },
4686    .colorspace = ISL_COLORSPACE_SRGB,
4687    .txc = ISL_TXC_ASTC,
4688  },
4689
4690  [ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB] = {
4691    .format = ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB,
4692    .name = "ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB",
4693    .bpb = 128,
4694    .bw = 10,
4695    .bh = 10,
4696    .bd = 1,
4697    .channels = {
4698              .r = { ISL_UNORM, -1, 8 },
4699              .g = { ISL_UNORM, -1, 8 },
4700              .b = { ISL_UNORM, -1, 8 },
4701              .a = { ISL_UNORM, -1, 8 },
4702              .l = {},
4703              .i = {},
4704              .p = {},
4705    },
4706    .colorspace = ISL_COLORSPACE_SRGB,
4707    .txc = ISL_TXC_ASTC,
4708  },
4709
4710  [ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB] = {
4711    .format = ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB,
4712    .name = "ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB",
4713    .bpb = 128,
4714    .bw = 12,
4715    .bh = 10,
4716    .bd = 1,
4717    .channels = {
4718              .r = { ISL_UNORM, -1, 8 },
4719              .g = { ISL_UNORM, -1, 8 },
4720              .b = { ISL_UNORM, -1, 8 },
4721              .a = { ISL_UNORM, -1, 8 },
4722              .l = {},
4723              .i = {},
4724              .p = {},
4725    },
4726    .colorspace = ISL_COLORSPACE_SRGB,
4727    .txc = ISL_TXC_ASTC,
4728  },
4729
4730  [ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB] = {
4731    .format = ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB,
4732    .name = "ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB",
4733    .bpb = 128,
4734    .bw = 12,
4735    .bh = 12,
4736    .bd = 1,
4737    .channels = {
4738              .r = { ISL_UNORM, -1, 8 },
4739              .g = { ISL_UNORM, -1, 8 },
4740              .b = { ISL_UNORM, -1, 8 },
4741              .a = { ISL_UNORM, -1, 8 },
4742              .l = {},
4743              .i = {},
4744              .p = {},
4745    },
4746    .colorspace = ISL_COLORSPACE_SRGB,
4747    .txc = ISL_TXC_ASTC,
4748  },
4749
4750  [ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16] = {
4751    .format = ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16,
4752    .name = "ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16",
4753    .bpb = 128,
4754    .bw = 4,
4755    .bh = 4,
4756    .bd = 1,
4757    .channels = {
4758              .r = { ISL_SFLOAT, -1, 16 },
4759              .g = { ISL_SFLOAT, -1, 16 },
4760              .b = { ISL_SFLOAT, -1, 16 },
4761              .a = { ISL_SFLOAT, -1, 16 },
4762              .l = {},
4763              .i = {},
4764              .p = {},
4765    },
4766    .colorspace = ISL_COLORSPACE_LINEAR,
4767    .txc = ISL_TXC_ASTC,
4768  },
4769
4770  [ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16] = {
4771    .format = ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16,
4772    .name = "ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16",
4773    .bpb = 128,
4774    .bw = 5,
4775    .bh = 4,
4776    .bd = 1,
4777    .channels = {
4778              .r = { ISL_SFLOAT, -1, 16 },
4779              .g = { ISL_SFLOAT, -1, 16 },
4780              .b = { ISL_SFLOAT, -1, 16 },
4781              .a = { ISL_SFLOAT, -1, 16 },
4782              .l = {},
4783              .i = {},
4784              .p = {},
4785    },
4786    .colorspace = ISL_COLORSPACE_LINEAR,
4787    .txc = ISL_TXC_ASTC,
4788  },
4789
4790  [ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16] = {
4791    .format = ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16,
4792    .name = "ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16",
4793    .bpb = 128,
4794    .bw = 5,
4795    .bh = 5,
4796    .bd = 1,
4797    .channels = {
4798              .r = { ISL_SFLOAT, -1, 16 },
4799              .g = { ISL_SFLOAT, -1, 16 },
4800              .b = { ISL_SFLOAT, -1, 16 },
4801              .a = { ISL_SFLOAT, -1, 16 },
4802              .l = {},
4803              .i = {},
4804              .p = {},
4805    },
4806    .colorspace = ISL_COLORSPACE_LINEAR,
4807    .txc = ISL_TXC_ASTC,
4808  },
4809
4810  [ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16] = {
4811    .format = ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16,
4812    .name = "ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16",
4813    .bpb = 128,
4814    .bw = 6,
4815    .bh = 5,
4816    .bd = 1,
4817    .channels = {
4818              .r = { ISL_SFLOAT, -1, 16 },
4819              .g = { ISL_SFLOAT, -1, 16 },
4820              .b = { ISL_SFLOAT, -1, 16 },
4821              .a = { ISL_SFLOAT, -1, 16 },
4822              .l = {},
4823              .i = {},
4824              .p = {},
4825    },
4826    .colorspace = ISL_COLORSPACE_LINEAR,
4827    .txc = ISL_TXC_ASTC,
4828  },
4829
4830  [ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16] = {
4831    .format = ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16,
4832    .name = "ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16",
4833    .bpb = 128,
4834    .bw = 6,
4835    .bh = 6,
4836    .bd = 1,
4837    .channels = {
4838              .r = { ISL_SFLOAT, -1, 16 },
4839              .g = { ISL_SFLOAT, -1, 16 },
4840              .b = { ISL_SFLOAT, -1, 16 },
4841              .a = { ISL_SFLOAT, -1, 16 },
4842              .l = {},
4843              .i = {},
4844              .p = {},
4845    },
4846    .colorspace = ISL_COLORSPACE_LINEAR,
4847    .txc = ISL_TXC_ASTC,
4848  },
4849
4850  [ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16] = {
4851    .format = ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16,
4852    .name = "ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16",
4853    .bpb = 128,
4854    .bw = 8,
4855    .bh = 5,
4856    .bd = 1,
4857    .channels = {
4858              .r = { ISL_SFLOAT, -1, 16 },
4859              .g = { ISL_SFLOAT, -1, 16 },
4860              .b = { ISL_SFLOAT, -1, 16 },
4861              .a = { ISL_SFLOAT, -1, 16 },
4862              .l = {},
4863              .i = {},
4864              .p = {},
4865    },
4866    .colorspace = ISL_COLORSPACE_LINEAR,
4867    .txc = ISL_TXC_ASTC,
4868  },
4869
4870  [ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16] = {
4871    .format = ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16,
4872    .name = "ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16",
4873    .bpb = 128,
4874    .bw = 8,
4875    .bh = 6,
4876    .bd = 1,
4877    .channels = {
4878              .r = { ISL_SFLOAT, -1, 16 },
4879              .g = { ISL_SFLOAT, -1, 16 },
4880              .b = { ISL_SFLOAT, -1, 16 },
4881              .a = { ISL_SFLOAT, -1, 16 },
4882              .l = {},
4883              .i = {},
4884              .p = {},
4885    },
4886    .colorspace = ISL_COLORSPACE_LINEAR,
4887    .txc = ISL_TXC_ASTC,
4888  },
4889
4890  [ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16] = {
4891    .format = ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16,
4892    .name = "ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16",
4893    .bpb = 128,
4894    .bw = 8,
4895    .bh = 8,
4896    .bd = 1,
4897    .channels = {
4898              .r = { ISL_SFLOAT, -1, 16 },
4899              .g = { ISL_SFLOAT, -1, 16 },
4900              .b = { ISL_SFLOAT, -1, 16 },
4901              .a = { ISL_SFLOAT, -1, 16 },
4902              .l = {},
4903              .i = {},
4904              .p = {},
4905    },
4906    .colorspace = ISL_COLORSPACE_LINEAR,
4907    .txc = ISL_TXC_ASTC,
4908  },
4909
4910  [ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16] = {
4911    .format = ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16,
4912    .name = "ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16",
4913    .bpb = 128,
4914    .bw = 10,
4915    .bh = 5,
4916    .bd = 1,
4917    .channels = {
4918              .r = { ISL_SFLOAT, -1, 16 },
4919              .g = { ISL_SFLOAT, -1, 16 },
4920              .b = { ISL_SFLOAT, -1, 16 },
4921              .a = { ISL_SFLOAT, -1, 16 },
4922              .l = {},
4923              .i = {},
4924              .p = {},
4925    },
4926    .colorspace = ISL_COLORSPACE_LINEAR,
4927    .txc = ISL_TXC_ASTC,
4928  },
4929
4930  [ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16] = {
4931    .format = ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16,
4932    .name = "ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16",
4933    .bpb = 128,
4934    .bw = 10,
4935    .bh = 6,
4936    .bd = 1,
4937    .channels = {
4938              .r = { ISL_SFLOAT, -1, 16 },
4939              .g = { ISL_SFLOAT, -1, 16 },
4940              .b = { ISL_SFLOAT, -1, 16 },
4941              .a = { ISL_SFLOAT, -1, 16 },
4942              .l = {},
4943              .i = {},
4944              .p = {},
4945    },
4946    .colorspace = ISL_COLORSPACE_LINEAR,
4947    .txc = ISL_TXC_ASTC,
4948  },
4949
4950  [ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16] = {
4951    .format = ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16,
4952    .name = "ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16",
4953    .bpb = 128,
4954    .bw = 10,
4955    .bh = 8,
4956    .bd = 1,
4957    .channels = {
4958              .r = { ISL_SFLOAT, -1, 16 },
4959              .g = { ISL_SFLOAT, -1, 16 },
4960              .b = { ISL_SFLOAT, -1, 16 },
4961              .a = { ISL_SFLOAT, -1, 16 },
4962              .l = {},
4963              .i = {},
4964              .p = {},
4965    },
4966    .colorspace = ISL_COLORSPACE_LINEAR,
4967    .txc = ISL_TXC_ASTC,
4968  },
4969
4970  [ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16] = {
4971    .format = ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16,
4972    .name = "ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16",
4973    .bpb = 128,
4974    .bw = 10,
4975    .bh = 10,
4976    .bd = 1,
4977    .channels = {
4978              .r = { ISL_SFLOAT, -1, 16 },
4979              .g = { ISL_SFLOAT, -1, 16 },
4980              .b = { ISL_SFLOAT, -1, 16 },
4981              .a = { ISL_SFLOAT, -1, 16 },
4982              .l = {},
4983              .i = {},
4984              .p = {},
4985    },
4986    .colorspace = ISL_COLORSPACE_LINEAR,
4987    .txc = ISL_TXC_ASTC,
4988  },
4989
4990  [ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16] = {
4991    .format = ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16,
4992    .name = "ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16",
4993    .bpb = 128,
4994    .bw = 12,
4995    .bh = 10,
4996    .bd = 1,
4997    .channels = {
4998              .r = { ISL_SFLOAT, -1, 16 },
4999              .g = { ISL_SFLOAT, -1, 16 },
5000              .b = { ISL_SFLOAT, -1, 16 },
5001              .a = { ISL_SFLOAT, -1, 16 },
5002              .l = {},
5003              .i = {},
5004              .p = {},
5005    },
5006    .colorspace = ISL_COLORSPACE_LINEAR,
5007    .txc = ISL_TXC_ASTC,
5008  },
5009
5010  [ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16] = {
5011    .format = ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16,
5012    .name = "ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16",
5013    .bpb = 128,
5014    .bw = 12,
5015    .bh = 12,
5016    .bd = 1,
5017    .channels = {
5018              .r = { ISL_SFLOAT, -1, 16 },
5019              .g = { ISL_SFLOAT, -1, 16 },
5020              .b = { ISL_SFLOAT, -1, 16 },
5021              .a = { ISL_SFLOAT, -1, 16 },
5022              .l = {},
5023              .i = {},
5024              .p = {},
5025    },
5026    .colorspace = ISL_COLORSPACE_LINEAR,
5027    .txc = ISL_TXC_ASTC,
5028  },
5029
5030  [ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16] = {
5031    .format = ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16,
5032    .name = "ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16",
5033    .bpb = 128,
5034    .bw = 4,
5035    .bh = 4,
5036    .bd = 1,
5037    .channels = {
5038              .r = { ISL_SFLOAT, -1, 16 },
5039              .g = { ISL_SFLOAT, -1, 16 },
5040              .b = { ISL_SFLOAT, -1, 16 },
5041              .a = { ISL_SFLOAT, -1, 16 },
5042              .l = {},
5043              .i = {},
5044              .p = {},
5045    },
5046    .colorspace = ISL_COLORSPACE_LINEAR,
5047    .txc = ISL_TXC_ASTC,
5048  },
5049
5050  [ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16] = {
5051    .format = ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16,
5052    .name = "ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16",
5053    .bpb = 128,
5054    .bw = 5,
5055    .bh = 4,
5056    .bd = 1,
5057    .channels = {
5058              .r = { ISL_SFLOAT, -1, 16 },
5059              .g = { ISL_SFLOAT, -1, 16 },
5060              .b = { ISL_SFLOAT, -1, 16 },
5061              .a = { ISL_SFLOAT, -1, 16 },
5062              .l = {},
5063              .i = {},
5064              .p = {},
5065    },
5066    .colorspace = ISL_COLORSPACE_LINEAR,
5067    .txc = ISL_TXC_ASTC,
5068  },
5069
5070  [ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16] = {
5071    .format = ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16,
5072    .name = "ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16",
5073    .bpb = 128,
5074    .bw = 5,
5075    .bh = 5,
5076    .bd = 1,
5077    .channels = {
5078              .r = { ISL_SFLOAT, -1, 16 },
5079              .g = { ISL_SFLOAT, -1, 16 },
5080              .b = { ISL_SFLOAT, -1, 16 },
5081              .a = { ISL_SFLOAT, -1, 16 },
5082              .l = {},
5083              .i = {},
5084              .p = {},
5085    },
5086    .colorspace = ISL_COLORSPACE_LINEAR,
5087    .txc = ISL_TXC_ASTC,
5088  },
5089
5090  [ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16] = {
5091    .format = ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16,
5092    .name = "ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16",
5093    .bpb = 128,
5094    .bw = 6,
5095    .bh = 5,
5096    .bd = 1,
5097    .channels = {
5098              .r = { ISL_SFLOAT, -1, 16 },
5099              .g = { ISL_SFLOAT, -1, 16 },
5100              .b = { ISL_SFLOAT, -1, 16 },
5101              .a = { ISL_SFLOAT, -1, 16 },
5102              .l = {},
5103              .i = {},
5104              .p = {},
5105    },
5106    .colorspace = ISL_COLORSPACE_LINEAR,
5107    .txc = ISL_TXC_ASTC,
5108  },
5109
5110  [ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16] = {
5111    .format = ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16,
5112    .name = "ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16",
5113    .bpb = 128,
5114    .bw = 6,
5115    .bh = 6,
5116    .bd = 1,
5117    .channels = {
5118              .r = { ISL_SFLOAT, -1, 16 },
5119              .g = { ISL_SFLOAT, -1, 16 },
5120              .b = { ISL_SFLOAT, -1, 16 },
5121              .a = { ISL_SFLOAT, -1, 16 },
5122              .l = {},
5123              .i = {},
5124              .p = {},
5125    },
5126    .colorspace = ISL_COLORSPACE_LINEAR,
5127    .txc = ISL_TXC_ASTC,
5128  },
5129
5130  [ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16] = {
5131    .format = ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16,
5132    .name = "ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16",
5133    .bpb = 128,
5134    .bw = 8,
5135    .bh = 5,
5136    .bd = 1,
5137    .channels = {
5138              .r = { ISL_SFLOAT, -1, 16 },
5139              .g = { ISL_SFLOAT, -1, 16 },
5140              .b = { ISL_SFLOAT, -1, 16 },
5141              .a = { ISL_SFLOAT, -1, 16 },
5142              .l = {},
5143              .i = {},
5144              .p = {},
5145    },
5146    .colorspace = ISL_COLORSPACE_LINEAR,
5147    .txc = ISL_TXC_ASTC,
5148  },
5149
5150  [ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16] = {
5151    .format = ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16,
5152    .name = "ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16",
5153    .bpb = 128,
5154    .bw = 8,
5155    .bh = 6,
5156    .bd = 1,
5157    .channels = {
5158              .r = { ISL_SFLOAT, -1, 16 },
5159              .g = { ISL_SFLOAT, -1, 16 },
5160              .b = { ISL_SFLOAT, -1, 16 },
5161              .a = { ISL_SFLOAT, -1, 16 },
5162              .l = {},
5163              .i = {},
5164              .p = {},
5165    },
5166    .colorspace = ISL_COLORSPACE_LINEAR,
5167    .txc = ISL_TXC_ASTC,
5168  },
5169
5170  [ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16] = {
5171    .format = ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16,
5172    .name = "ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16",
5173    .bpb = 128,
5174    .bw = 8,
5175    .bh = 8,
5176    .bd = 1,
5177    .channels = {
5178              .r = { ISL_SFLOAT, -1, 16 },
5179              .g = { ISL_SFLOAT, -1, 16 },
5180              .b = { ISL_SFLOAT, -1, 16 },
5181              .a = { ISL_SFLOAT, -1, 16 },
5182              .l = {},
5183              .i = {},
5184              .p = {},
5185    },
5186    .colorspace = ISL_COLORSPACE_LINEAR,
5187    .txc = ISL_TXC_ASTC,
5188  },
5189
5190  [ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16] = {
5191    .format = ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16,
5192    .name = "ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16",
5193    .bpb = 128,
5194    .bw = 10,
5195    .bh = 5,
5196    .bd = 1,
5197    .channels = {
5198              .r = { ISL_SFLOAT, -1, 16 },
5199              .g = { ISL_SFLOAT, -1, 16 },
5200              .b = { ISL_SFLOAT, -1, 16 },
5201              .a = { ISL_SFLOAT, -1, 16 },
5202              .l = {},
5203              .i = {},
5204              .p = {},
5205    },
5206    .colorspace = ISL_COLORSPACE_LINEAR,
5207    .txc = ISL_TXC_ASTC,
5208  },
5209
5210  [ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16] = {
5211    .format = ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16,
5212    .name = "ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16",
5213    .bpb = 128,
5214    .bw = 10,
5215    .bh = 6,
5216    .bd = 1,
5217    .channels = {
5218              .r = { ISL_SFLOAT, -1, 16 },
5219              .g = { ISL_SFLOAT, -1, 16 },
5220              .b = { ISL_SFLOAT, -1, 16 },
5221              .a = { ISL_SFLOAT, -1, 16 },
5222              .l = {},
5223              .i = {},
5224              .p = {},
5225    },
5226    .colorspace = ISL_COLORSPACE_LINEAR,
5227    .txc = ISL_TXC_ASTC,
5228  },
5229
5230  [ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16] = {
5231    .format = ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16,
5232    .name = "ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16",
5233    .bpb = 128,
5234    .bw = 10,
5235    .bh = 8,
5236    .bd = 1,
5237    .channels = {
5238              .r = { ISL_SFLOAT, -1, 16 },
5239              .g = { ISL_SFLOAT, -1, 16 },
5240              .b = { ISL_SFLOAT, -1, 16 },
5241              .a = { ISL_SFLOAT, -1, 16 },
5242              .l = {},
5243              .i = {},
5244              .p = {},
5245    },
5246    .colorspace = ISL_COLORSPACE_LINEAR,
5247    .txc = ISL_TXC_ASTC,
5248  },
5249
5250  [ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16] = {
5251    .format = ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16,
5252    .name = "ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16",
5253    .bpb = 128,
5254    .bw = 10,
5255    .bh = 10,
5256    .bd = 1,
5257    .channels = {
5258              .r = { ISL_SFLOAT, -1, 16 },
5259              .g = { ISL_SFLOAT, -1, 16 },
5260              .b = { ISL_SFLOAT, -1, 16 },
5261              .a = { ISL_SFLOAT, -1, 16 },
5262              .l = {},
5263              .i = {},
5264              .p = {},
5265    },
5266    .colorspace = ISL_COLORSPACE_LINEAR,
5267    .txc = ISL_TXC_ASTC,
5268  },
5269
5270  [ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16] = {
5271    .format = ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16,
5272    .name = "ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16",
5273    .bpb = 128,
5274    .bw = 12,
5275    .bh = 10,
5276    .bd = 1,
5277    .channels = {
5278              .r = { ISL_SFLOAT, -1, 16 },
5279              .g = { ISL_SFLOAT, -1, 16 },
5280              .b = { ISL_SFLOAT, -1, 16 },
5281              .a = { ISL_SFLOAT, -1, 16 },
5282              .l = {},
5283              .i = {},
5284              .p = {},
5285    },
5286    .colorspace = ISL_COLORSPACE_LINEAR,
5287    .txc = ISL_TXC_ASTC,
5288  },
5289
5290  [ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16] = {
5291    .format = ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16,
5292    .name = "ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16",
5293    .bpb = 128,
5294    .bw = 12,
5295    .bh = 12,
5296    .bd = 1,
5297    .channels = {
5298              .r = { ISL_SFLOAT, -1, 16 },
5299              .g = { ISL_SFLOAT, -1, 16 },
5300              .b = { ISL_SFLOAT, -1, 16 },
5301              .a = { ISL_SFLOAT, -1, 16 },
5302              .l = {},
5303              .i = {},
5304              .p = {},
5305    },
5306    .colorspace = ISL_COLORSPACE_LINEAR,
5307    .txc = ISL_TXC_ASTC,
5308  },
5309
5310  [ISL_FORMAT_HIZ] = {
5311    .format = ISL_FORMAT_HIZ,
5312    .name = "ISL_FORMAT_HIZ",
5313    .bpb = 128,
5314    .bw = 8,
5315    .bh = 4,
5316    .bd = 1,
5317    .channels = {
5318              .r = {},
5319              .g = {},
5320              .b = {},
5321              .a = {},
5322              .l = {},
5323              .i = {},
5324              .p = {},
5325    },
5326    .colorspace = ISL_COLORSPACE_NONE,
5327    .txc = ISL_TXC_HIZ,
5328  },
5329
5330  [ISL_FORMAT_MCS_2X] = {
5331    .format = ISL_FORMAT_MCS_2X,
5332    .name = "ISL_FORMAT_MCS_2X",
5333    .bpb = 8,
5334    .bw = 1,
5335    .bh = 1,
5336    .bd = 1,
5337    .channels = {
5338              .r = {},
5339              .g = {},
5340              .b = {},
5341              .a = {},
5342              .l = {},
5343              .i = {},
5344              .p = {},
5345    },
5346    .colorspace = ISL_COLORSPACE_NONE,
5347    .txc = ISL_TXC_MCS,
5348  },
5349
5350  [ISL_FORMAT_MCS_4X] = {
5351    .format = ISL_FORMAT_MCS_4X,
5352    .name = "ISL_FORMAT_MCS_4X",
5353    .bpb = 8,
5354    .bw = 1,
5355    .bh = 1,
5356    .bd = 1,
5357    .channels = {
5358              .r = {},
5359              .g = {},
5360              .b = {},
5361              .a = {},
5362              .l = {},
5363              .i = {},
5364              .p = {},
5365    },
5366    .colorspace = ISL_COLORSPACE_NONE,
5367    .txc = ISL_TXC_MCS,
5368  },
5369
5370  [ISL_FORMAT_MCS_8X] = {
5371    .format = ISL_FORMAT_MCS_8X,
5372    .name = "ISL_FORMAT_MCS_8X",
5373    .bpb = 32,
5374    .bw = 1,
5375    .bh = 1,
5376    .bd = 1,
5377    .channels = {
5378              .r = {},
5379              .g = {},
5380              .b = {},
5381              .a = {},
5382              .l = {},
5383              .i = {},
5384              .p = {},
5385    },
5386    .colorspace = ISL_COLORSPACE_NONE,
5387    .txc = ISL_TXC_MCS,
5388  },
5389
5390  [ISL_FORMAT_MCS_16X] = {
5391    .format = ISL_FORMAT_MCS_16X,
5392    .name = "ISL_FORMAT_MCS_16X",
5393    .bpb = 64,
5394    .bw = 1,
5395    .bh = 1,
5396    .bd = 1,
5397    .channels = {
5398              .r = {},
5399              .g = {},
5400              .b = {},
5401              .a = {},
5402              .l = {},
5403              .i = {},
5404              .p = {},
5405    },
5406    .colorspace = ISL_COLORSPACE_NONE,
5407    .txc = ISL_TXC_MCS,
5408  },
5409
5410  [ISL_FORMAT_GEN7_CCS_32BPP_X] = {
5411    .format = ISL_FORMAT_GEN7_CCS_32BPP_X,
5412    .name = "ISL_FORMAT_GEN7_CCS_32BPP_X",
5413    .bpb = 1,
5414    .bw = 16,
5415    .bh = 2,
5416    .bd = 1,
5417    .channels = {
5418              .r = {},
5419              .g = {},
5420              .b = {},
5421              .a = {},
5422              .l = {},
5423              .i = {},
5424              .p = {},
5425    },
5426    .colorspace = ISL_COLORSPACE_NONE,
5427    .txc = ISL_TXC_CCS,
5428  },
5429
5430  [ISL_FORMAT_GEN7_CCS_64BPP_X] = {
5431    .format = ISL_FORMAT_GEN7_CCS_64BPP_X,
5432    .name = "ISL_FORMAT_GEN7_CCS_64BPP_X",
5433    .bpb = 1,
5434    .bw = 8,
5435    .bh = 2,
5436    .bd = 1,
5437    .channels = {
5438              .r = {},
5439              .g = {},
5440              .b = {},
5441              .a = {},
5442              .l = {},
5443              .i = {},
5444              .p = {},
5445    },
5446    .colorspace = ISL_COLORSPACE_NONE,
5447    .txc = ISL_TXC_CCS,
5448  },
5449
5450  [ISL_FORMAT_GEN7_CCS_128BPP_X] = {
5451    .format = ISL_FORMAT_GEN7_CCS_128BPP_X,
5452    .name = "ISL_FORMAT_GEN7_CCS_128BPP_X",
5453    .bpb = 1,
5454    .bw = 4,
5455    .bh = 2,
5456    .bd = 1,
5457    .channels = {
5458              .r = {},
5459              .g = {},
5460              .b = {},
5461              .a = {},
5462              .l = {},
5463              .i = {},
5464              .p = {},
5465    },
5466    .colorspace = ISL_COLORSPACE_NONE,
5467    .txc = ISL_TXC_CCS,
5468  },
5469
5470  [ISL_FORMAT_GEN7_CCS_32BPP_Y] = {
5471    .format = ISL_FORMAT_GEN7_CCS_32BPP_Y,
5472    .name = "ISL_FORMAT_GEN7_CCS_32BPP_Y",
5473    .bpb = 1,
5474    .bw = 8,
5475    .bh = 4,
5476    .bd = 1,
5477    .channels = {
5478              .r = {},
5479              .g = {},
5480              .b = {},
5481              .a = {},
5482              .l = {},
5483              .i = {},
5484              .p = {},
5485    },
5486    .colorspace = ISL_COLORSPACE_NONE,
5487    .txc = ISL_TXC_CCS,
5488  },
5489
5490  [ISL_FORMAT_GEN7_CCS_64BPP_Y] = {
5491    .format = ISL_FORMAT_GEN7_CCS_64BPP_Y,
5492    .name = "ISL_FORMAT_GEN7_CCS_64BPP_Y",
5493    .bpb = 1,
5494    .bw = 4,
5495    .bh = 4,
5496    .bd = 1,
5497    .channels = {
5498              .r = {},
5499              .g = {},
5500              .b = {},
5501              .a = {},
5502              .l = {},
5503              .i = {},
5504              .p = {},
5505    },
5506    .colorspace = ISL_COLORSPACE_NONE,
5507    .txc = ISL_TXC_CCS,
5508  },
5509
5510  [ISL_FORMAT_GEN7_CCS_128BPP_Y] = {
5511    .format = ISL_FORMAT_GEN7_CCS_128BPP_Y,
5512    .name = "ISL_FORMAT_GEN7_CCS_128BPP_Y",
5513    .bpb = 1,
5514    .bw = 2,
5515    .bh = 4,
5516    .bd = 1,
5517    .channels = {
5518              .r = {},
5519              .g = {},
5520              .b = {},
5521              .a = {},
5522              .l = {},
5523              .i = {},
5524              .p = {},
5525    },
5526    .colorspace = ISL_COLORSPACE_NONE,
5527    .txc = ISL_TXC_CCS,
5528  },
5529
5530  [ISL_FORMAT_GEN9_CCS_32BPP] = {
5531    .format = ISL_FORMAT_GEN9_CCS_32BPP,
5532    .name = "ISL_FORMAT_GEN9_CCS_32BPP",
5533    .bpb = 2,
5534    .bw = 8,
5535    .bh = 4,
5536    .bd = 1,
5537    .channels = {
5538              .r = {},
5539              .g = {},
5540              .b = {},
5541              .a = {},
5542              .l = {},
5543              .i = {},
5544              .p = {},
5545    },
5546    .colorspace = ISL_COLORSPACE_NONE,
5547    .txc = ISL_TXC_CCS,
5548  },
5549
5550  [ISL_FORMAT_GEN9_CCS_64BPP] = {
5551    .format = ISL_FORMAT_GEN9_CCS_64BPP,
5552    .name = "ISL_FORMAT_GEN9_CCS_64BPP",
5553    .bpb = 2,
5554    .bw = 4,
5555    .bh = 4,
5556    .bd = 1,
5557    .channels = {
5558              .r = {},
5559              .g = {},
5560              .b = {},
5561              .a = {},
5562              .l = {},
5563              .i = {},
5564              .p = {},
5565    },
5566    .colorspace = ISL_COLORSPACE_NONE,
5567    .txc = ISL_TXC_CCS,
5568  },
5569
5570  [ISL_FORMAT_GEN9_CCS_128BPP] = {
5571    .format = ISL_FORMAT_GEN9_CCS_128BPP,
5572    .name = "ISL_FORMAT_GEN9_CCS_128BPP",
5573    .bpb = 2,
5574    .bw = 2,
5575    .bh = 4,
5576    .bd = 1,
5577    .channels = {
5578              .r = {},
5579              .g = {},
5580              .b = {},
5581              .a = {},
5582              .l = {},
5583              .i = {},
5584              .p = {},
5585    },
5586    .colorspace = ISL_COLORSPACE_NONE,
5587    .txc = ISL_TXC_CCS,
5588  },
5589
5590};
5591
5592bool
5593isl_format_is_valid(enum isl_format format)
5594{
5595    if (format >= sizeof(isl_format_layouts) / sizeof(isl_format_layouts[0]))
5596        return false;
5597    return isl_format_layouts[format].name;
5598}
5599
5600enum isl_format
5601isl_format_srgb_to_linear(enum isl_format format)
5602{
5603    switch (format) {
5604    case ISL_FORMAT_B8G8R8A8_UNORM_SRGB:
5605        return ISL_FORMAT_B8G8R8A8_UNORM;
5606    case ISL_FORMAT_R10G10B10A2_UNORM_SRGB:
5607        return ISL_FORMAT_R10G10B10A2_UNORM;
5608    case ISL_FORMAT_R8G8B8A8_UNORM_SRGB:
5609        return ISL_FORMAT_R8G8B8A8_UNORM;
5610    case ISL_FORMAT_B10G10R10A2_UNORM_SRGB:
5611        return ISL_FORMAT_B10G10R10A2_UNORM;
5612    case ISL_FORMAT_B8G8R8X8_UNORM_SRGB:
5613        return ISL_FORMAT_B8G8R8X8_UNORM;
5614    case ISL_FORMAT_R8G8B8X8_UNORM_SRGB:
5615        return ISL_FORMAT_R8G8B8X8_UNORM;
5616    case ISL_FORMAT_B5G6R5_UNORM_SRGB:
5617        return ISL_FORMAT_B5G6R5_UNORM;
5618    case ISL_FORMAT_B5G5R5A1_UNORM_SRGB:
5619        return ISL_FORMAT_B5G5R5A1_UNORM;
5620    case ISL_FORMAT_B4G4R4A4_UNORM_SRGB:
5621        return ISL_FORMAT_B4G4R4A4_UNORM;
5622    case ISL_FORMAT_L8A8_UNORM_SRGB:
5623        return ISL_FORMAT_L8A8_UNORM;
5624    case ISL_FORMAT_B5G5R5X1_UNORM_SRGB:
5625        return ISL_FORMAT_B5G5R5X1_UNORM;
5626    case ISL_FORMAT_L8_UNORM_SRGB:
5627        return ISL_FORMAT_L8_UNORM;
5628    case ISL_FORMAT_DXT1_RGB_SRGB:
5629        return ISL_FORMAT_DXT1_RGB;
5630    case ISL_FORMAT_BC1_UNORM_SRGB:
5631        return ISL_FORMAT_BC1_UNORM;
5632    case ISL_FORMAT_BC2_UNORM_SRGB:
5633        return ISL_FORMAT_BC2_UNORM;
5634    case ISL_FORMAT_BC3_UNORM_SRGB:
5635        return ISL_FORMAT_BC3_UNORM;
5636    case ISL_FORMAT_BC7_UNORM_SRGB:
5637        return ISL_FORMAT_BC7_UNORM;
5638    case ISL_FORMAT_R8G8B8_UNORM_SRGB:
5639        return ISL_FORMAT_R8G8B8_UNORM;
5640    case ISL_FORMAT_ETC2_SRGB8:
5641        return ISL_FORMAT_ETC2_RGB8;
5642    case ISL_FORMAT_ETC2_SRGB8_PTA:
5643        return ISL_FORMAT_ETC2_RGB8_PTA;
5644    case ISL_FORMAT_ETC2_EAC_SRGB8_A8:
5645        return ISL_FORMAT_ETC2_EAC_SRGB8_A8;
5646    case ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB:
5647        return ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB;
5648    case ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB:
5649        return ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB;
5650    case ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB:
5651        return ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB;
5652    case ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB:
5653        return ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB;
5654    case ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB:
5655        return ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB;
5656    case ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB:
5657        return ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB;
5658    case ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB:
5659        return ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB;
5660    case ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB:
5661        return ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB;
5662    case ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB:
5663        return ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB;
5664    case ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB:
5665        return ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB;
5666    case ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB:
5667        return ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB;
5668    case ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB:
5669        return ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB;
5670    case ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB:
5671        return ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB;
5672    case ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB:
5673        return ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB;
5674    default:
5675        return format;
5676    }
5677}
5678