vulkanite 0.0.11

Vulkan bindings for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
use super::Format;
impl Format {
    #[doc = r" Return the number of components of this format."]
    pub const fn component_count(self) -> u8 {
        match self {
            Format::Undefined => {
                panic!("Trying to get the component count of vk::Format::Undefined")
            }
            Format::R4G4UnormPack8 => 2u8,
            Format::R4G4B4A4UnormPack16 => 4u8,
            Format::B4G4R4A4UnormPack16 => 4u8,
            Format::R5G6B5UnormPack16 => 3u8,
            Format::B5G6R5UnormPack16 => 3u8,
            Format::R5G5B5A1UnormPack16 => 4u8,
            Format::B5G5R5A1UnormPack16 => 4u8,
            Format::A1R5G5B5UnormPack16 => 4u8,
            Format::A1B5G5R5UnormPack16 => 4u8,
            Format::A8Unorm => 1u8,
            Format::R8Unorm => 1u8,
            Format::R8Snorm => 1u8,
            Format::R8Uscaled => 1u8,
            Format::R8Sscaled => 1u8,
            Format::R8Uint => 1u8,
            Format::R8Sint => 1u8,
            Format::R8Srgb => 1u8,
            Format::R8G8Unorm => 2u8,
            Format::R8G8Snorm => 2u8,
            Format::R8G8Uscaled => 2u8,
            Format::R8G8Sscaled => 2u8,
            Format::R8G8Uint => 2u8,
            Format::R8G8Sint => 2u8,
            Format::R8G8Srgb => 2u8,
            Format::R8G8B8Unorm => 3u8,
            Format::R8G8B8Snorm => 3u8,
            Format::R8G8B8Uscaled => 3u8,
            Format::R8G8B8Sscaled => 3u8,
            Format::R8G8B8Uint => 3u8,
            Format::R8G8B8Sint => 3u8,
            Format::R8G8B8Srgb => 3u8,
            Format::B8G8R8Unorm => 3u8,
            Format::B8G8R8Snorm => 3u8,
            Format::B8G8R8Uscaled => 3u8,
            Format::B8G8R8Sscaled => 3u8,
            Format::B8G8R8Uint => 3u8,
            Format::B8G8R8Sint => 3u8,
            Format::B8G8R8Srgb => 3u8,
            Format::R8G8B8A8Unorm => 4u8,
            Format::R8G8B8A8Snorm => 4u8,
            Format::R8G8B8A8Uscaled => 4u8,
            Format::R8G8B8A8Sscaled => 4u8,
            Format::R8G8B8A8Uint => 4u8,
            Format::R8G8B8A8Sint => 4u8,
            Format::R8G8B8A8Srgb => 4u8,
            Format::B8G8R8A8Unorm => 4u8,
            Format::B8G8R8A8Snorm => 4u8,
            Format::B8G8R8A8Uscaled => 4u8,
            Format::B8G8R8A8Sscaled => 4u8,
            Format::B8G8R8A8Uint => 4u8,
            Format::B8G8R8A8Sint => 4u8,
            Format::B8G8R8A8Srgb => 4u8,
            Format::A8B8G8R8UnormPack32 => 4u8,
            Format::A8B8G8R8SnormPack32 => 4u8,
            Format::A8B8G8R8UscaledPack32 => 4u8,
            Format::A8B8G8R8SscaledPack32 => 4u8,
            Format::A8B8G8R8UintPack32 => 4u8,
            Format::A8B8G8R8SintPack32 => 4u8,
            Format::A8B8G8R8SrgbPack32 => 4u8,
            Format::A2R10G10B10UnormPack32 => 4u8,
            Format::A2R10G10B10SnormPack32 => 4u8,
            Format::A2R10G10B10UscaledPack32 => 4u8,
            Format::A2R10G10B10SscaledPack32 => 4u8,
            Format::A2R10G10B10UintPack32 => 4u8,
            Format::A2R10G10B10SintPack32 => 4u8,
            Format::A2B10G10R10UnormPack32 => 4u8,
            Format::A2B10G10R10SnormPack32 => 4u8,
            Format::A2B10G10R10UscaledPack32 => 4u8,
            Format::A2B10G10R10SscaledPack32 => 4u8,
            Format::A2B10G10R10UintPack32 => 4u8,
            Format::A2B10G10R10SintPack32 => 4u8,
            Format::R16Unorm => 1u8,
            Format::R16Snorm => 1u8,
            Format::R16Uscaled => 1u8,
            Format::R16Sscaled => 1u8,
            Format::R16Uint => 1u8,
            Format::R16Sint => 1u8,
            Format::R16Sfloat => 1u8,
            Format::R16G16Unorm => 2u8,
            Format::R16G16Snorm => 2u8,
            Format::R16G16Uscaled => 2u8,
            Format::R16G16Sscaled => 2u8,
            Format::R16G16Uint => 2u8,
            Format::R16G16Sint => 2u8,
            Format::R16G16Sfloat => 2u8,
            Format::R16G16B16Unorm => 3u8,
            Format::R16G16B16Snorm => 3u8,
            Format::R16G16B16Uscaled => 3u8,
            Format::R16G16B16Sscaled => 3u8,
            Format::R16G16B16Uint => 3u8,
            Format::R16G16B16Sint => 3u8,
            Format::R16G16B16Sfloat => 3u8,
            Format::R16G16B16A16Unorm => 4u8,
            Format::R16G16B16A16Snorm => 4u8,
            Format::R16G16B16A16Uscaled => 4u8,
            Format::R16G16B16A16Sscaled => 4u8,
            Format::R16G16B16A16Uint => 4u8,
            Format::R16G16B16A16Sint => 4u8,
            Format::R16G16B16A16Sfloat => 4u8,
            Format::R32Uint => 1u8,
            Format::R32Sint => 1u8,
            Format::R32Sfloat => 1u8,
            Format::R32G32Uint => 2u8,
            Format::R32G32Sint => 2u8,
            Format::R32G32Sfloat => 2u8,
            Format::R32G32B32Uint => 3u8,
            Format::R32G32B32Sint => 3u8,
            Format::R32G32B32Sfloat => 3u8,
            Format::R32G32B32A32Uint => 4u8,
            Format::R32G32B32A32Sint => 4u8,
            Format::R32G32B32A32Sfloat => 4u8,
            Format::R64Uint => 1u8,
            Format::R64Sint => 1u8,
            Format::R64Sfloat => 1u8,
            Format::R64G64Uint => 2u8,
            Format::R64G64Sint => 2u8,
            Format::R64G64Sfloat => 2u8,
            Format::R64G64B64Uint => 3u8,
            Format::R64G64B64Sint => 3u8,
            Format::R64G64B64Sfloat => 3u8,
            Format::R64G64B64A64Uint => 4u8,
            Format::R64G64B64A64Sint => 4u8,
            Format::R64G64B64A64Sfloat => 4u8,
            Format::B10G11R11UfloatPack32 => 3u8,
            Format::E5B9G9R9UfloatPack32 => 3u8,
            Format::D16Unorm => 1u8,
            Format::X8D24UnormPack32 => 1u8,
            Format::D32Sfloat => 1u8,
            Format::S8Uint => 1u8,
            Format::D16UnormS8Uint => 2u8,
            Format::D24UnormS8Uint => 2u8,
            Format::D32SfloatS8Uint => 2u8,
            Format::Bc1RgbUnormBlock => 3u8,
            Format::Bc1RgbSrgbBlock => 3u8,
            Format::Bc1RgbaUnormBlock => 4u8,
            Format::Bc1RgbaSrgbBlock => 4u8,
            Format::Bc2UnormBlock => 4u8,
            Format::Bc2SrgbBlock => 4u8,
            Format::Bc3UnormBlock => 4u8,
            Format::Bc3SrgbBlock => 4u8,
            Format::Bc4UnormBlock => 1u8,
            Format::Bc4SnormBlock => 1u8,
            Format::Bc5UnormBlock => 2u8,
            Format::Bc5SnormBlock => 2u8,
            Format::Bc6HUfloatBlock => 3u8,
            Format::Bc6HSfloatBlock => 3u8,
            Format::Bc7UnormBlock => 4u8,
            Format::Bc7SrgbBlock => 4u8,
            Format::Etc2R8G8B8UnormBlock => 3u8,
            Format::Etc2R8G8B8SrgbBlock => 3u8,
            Format::Etc2R8G8B8A1UnormBlock => 4u8,
            Format::Etc2R8G8B8A1SrgbBlock => 4u8,
            Format::Etc2R8G8B8A8UnormBlock => 4u8,
            Format::Etc2R8G8B8A8SrgbBlock => 4u8,
            Format::EacR11UnormBlock => 1u8,
            Format::EacR11SnormBlock => 1u8,
            Format::EacR11G11UnormBlock => 2u8,
            Format::EacR11G11SnormBlock => 2u8,
            Format::Astc4x4UnormBlock => 4u8,
            Format::Astc4x4SrgbBlock => 4u8,
            Format::Astc5x4UnormBlock => 4u8,
            Format::Astc5x4SrgbBlock => 4u8,
            Format::Astc5x5UnormBlock => 4u8,
            Format::Astc5x5SrgbBlock => 4u8,
            Format::Astc6x5UnormBlock => 4u8,
            Format::Astc6x5SrgbBlock => 4u8,
            Format::Astc6x6UnormBlock => 4u8,
            Format::Astc6x6SrgbBlock => 4u8,
            Format::Astc8x5UnormBlock => 4u8,
            Format::Astc8x5SrgbBlock => 4u8,
            Format::Astc8x6UnormBlock => 4u8,
            Format::Astc8x6SrgbBlock => 4u8,
            Format::Astc8x8UnormBlock => 4u8,
            Format::Astc8x8SrgbBlock => 4u8,
            Format::Astc10x5UnormBlock => 4u8,
            Format::Astc10x5SrgbBlock => 4u8,
            Format::Astc10x6UnormBlock => 4u8,
            Format::Astc10x6SrgbBlock => 4u8,
            Format::Astc10x8UnormBlock => 4u8,
            Format::Astc10x8SrgbBlock => 4u8,
            Format::Astc10x10UnormBlock => 4u8,
            Format::Astc10x10SrgbBlock => 4u8,
            Format::Astc12x10UnormBlock => 4u8,
            Format::Astc12x10SrgbBlock => 4u8,
            Format::Astc12x12UnormBlock => 4u8,
            Format::Astc12x12SrgbBlock => 4u8,
            Format::G8B8G8R8422Unorm => 4u8,
            Format::B8G8R8G8422Unorm => 4u8,
            Format::G8B8R83Plane420Unorm => 3u8,
            Format::G8B8R82Plane420Unorm => 3u8,
            Format::G8B8R83Plane422Unorm => 3u8,
            Format::G8B8R82Plane422Unorm => 3u8,
            Format::G8B8R83Plane444Unorm => 3u8,
            Format::R10X6UnormPack16 => 1u8,
            Format::R10X6G10X6Unorm2Pack16 => 2u8,
            Format::R10X6G10X6B10X6A10X6Unorm4Pack16 => 4u8,
            Format::G10X6B10X6G10X6R10X6422Unorm4Pack16 => 4u8,
            Format::B10X6G10X6R10X6G10X6422Unorm4Pack16 => 4u8,
            Format::G10X6B10X6R10X63Plane420Unorm3Pack16 => 3u8,
            Format::G10X6B10X6R10X62Plane420Unorm3Pack16 => 3u8,
            Format::G10X6B10X6R10X63Plane422Unorm3Pack16 => 3u8,
            Format::G10X6B10X6R10X62Plane422Unorm3Pack16 => 3u8,
            Format::G10X6B10X6R10X63Plane444Unorm3Pack16 => 3u8,
            Format::R12X4UnormPack16 => 1u8,
            Format::R12X4G12X4Unorm2Pack16 => 2u8,
            Format::R12X4G12X4B12X4A12X4Unorm4Pack16 => 4u8,
            Format::G12X4B12X4G12X4R12X4422Unorm4Pack16 => 4u8,
            Format::B12X4G12X4R12X4G12X4422Unorm4Pack16 => 4u8,
            Format::G12X4B12X4R12X43Plane420Unorm3Pack16 => 3u8,
            Format::G12X4B12X4R12X42Plane420Unorm3Pack16 => 3u8,
            Format::G12X4B12X4R12X43Plane422Unorm3Pack16 => 3u8,
            Format::G12X4B12X4R12X42Plane422Unorm3Pack16 => 3u8,
            Format::G12X4B12X4R12X43Plane444Unorm3Pack16 => 3u8,
            Format::G16B16G16R16422Unorm => 4u8,
            Format::B16G16R16G16422Unorm => 4u8,
            Format::G16B16R163Plane420Unorm => 3u8,
            Format::G16B16R162Plane420Unorm => 3u8,
            Format::G16B16R163Plane422Unorm => 3u8,
            Format::G16B16R162Plane422Unorm => 3u8,
            Format::G16B16R163Plane444Unorm => 3u8,
            Format::Pvrtc12BppUnormBlockIMG => 4u8,
            Format::Pvrtc14BppUnormBlockIMG => 4u8,
            Format::Pvrtc22BppUnormBlockIMG => 4u8,
            Format::Pvrtc24BppUnormBlockIMG => 4u8,
            Format::Pvrtc12BppSrgbBlockIMG => 4u8,
            Format::Pvrtc14BppSrgbBlockIMG => 4u8,
            Format::Pvrtc22BppSrgbBlockIMG => 4u8,
            Format::Pvrtc24BppSrgbBlockIMG => 4u8,
            Format::Astc4x4SfloatBlock => 4u8,
            Format::Astc5x4SfloatBlock => 4u8,
            Format::Astc5x5SfloatBlock => 4u8,
            Format::Astc6x5SfloatBlock => 4u8,
            Format::Astc6x6SfloatBlock => 4u8,
            Format::Astc8x5SfloatBlock => 4u8,
            Format::Astc8x6SfloatBlock => 4u8,
            Format::Astc8x8SfloatBlock => 4u8,
            Format::Astc10x5SfloatBlock => 4u8,
            Format::Astc10x6SfloatBlock => 4u8,
            Format::Astc10x8SfloatBlock => 4u8,
            Format::Astc10x10SfloatBlock => 4u8,
            Format::Astc12x10SfloatBlock => 4u8,
            Format::Astc12x12SfloatBlock => 4u8,
            Format::G8B8R82Plane444Unorm => 3u8,
            Format::G10X6B10X6R10X62Plane444Unorm3Pack16 => 3u8,
            Format::G12X4B12X4R12X42Plane444Unorm3Pack16 => 3u8,
            Format::G16B16R162Plane444Unorm => 3u8,
            Format::A4R4G4B4UnormPack16 => 4u8,
            Format::A4B4G4R4UnormPack16 => 4u8,
            Format::R16G16Sfixed5NV => 2u8,
            Format::R10X6UintPack16ARM => 1u8,
            Format::R10X6G10X6Uint2Pack16ARM => 2u8,
            Format::R10X6G10X6B10X6A10X6Uint4Pack16ARM => 4u8,
            Format::R12X4UintPack16ARM => 1u8,
            Format::R12X4G12X4Uint2Pack16ARM => 2u8,
            Format::R12X4G12X4B12X4A12X4Uint4Pack16ARM => 4u8,
            Format::R14X2UintPack16ARM => 1u8,
            Format::R14X2G14X2Uint2Pack16ARM => 2u8,
            Format::R14X2G14X2B14X2A14X2Uint4Pack16ARM => 4u8,
            Format::R14X2UnormPack16ARM => 1u8,
            Format::R14X2G14X2Unorm2Pack16ARM => 2u8,
            Format::R14X2G14X2B14X2A14X2Unorm4Pack16ARM => 4u8,
            Format::G14X2B14X2R14X22Plane420Unorm3Pack16ARM => 3u8,
            Format::G14X2B14X2R14X22Plane422Unorm3Pack16ARM => 3u8,
            Format::R8BoolARM => 1u8,
        }
    }
    #[doc = r" Return the texel block size of this format in bytes"]
    pub const fn block_size(self) -> u8 {
        match self {
            Format::Undefined => panic!("Trying to get the block size of vk::Format::Undefined"),
            Format::R4G4UnormPack8 => 1u8,
            Format::R4G4B4A4UnormPack16 => 2u8,
            Format::B4G4R4A4UnormPack16 => 2u8,
            Format::R5G6B5UnormPack16 => 2u8,
            Format::B5G6R5UnormPack16 => 2u8,
            Format::R5G5B5A1UnormPack16 => 2u8,
            Format::B5G5R5A1UnormPack16 => 2u8,
            Format::A1R5G5B5UnormPack16 => 2u8,
            Format::A1B5G5R5UnormPack16 => 2u8,
            Format::A8Unorm => 1u8,
            Format::R8Unorm => 1u8,
            Format::R8Snorm => 1u8,
            Format::R8Uscaled => 1u8,
            Format::R8Sscaled => 1u8,
            Format::R8Uint => 1u8,
            Format::R8Sint => 1u8,
            Format::R8Srgb => 1u8,
            Format::R8G8Unorm => 2u8,
            Format::R8G8Snorm => 2u8,
            Format::R8G8Uscaled => 2u8,
            Format::R8G8Sscaled => 2u8,
            Format::R8G8Uint => 2u8,
            Format::R8G8Sint => 2u8,
            Format::R8G8Srgb => 2u8,
            Format::R8G8B8Unorm => 3u8,
            Format::R8G8B8Snorm => 3u8,
            Format::R8G8B8Uscaled => 3u8,
            Format::R8G8B8Sscaled => 3u8,
            Format::R8G8B8Uint => 3u8,
            Format::R8G8B8Sint => 3u8,
            Format::R8G8B8Srgb => 3u8,
            Format::B8G8R8Unorm => 3u8,
            Format::B8G8R8Snorm => 3u8,
            Format::B8G8R8Uscaled => 3u8,
            Format::B8G8R8Sscaled => 3u8,
            Format::B8G8R8Uint => 3u8,
            Format::B8G8R8Sint => 3u8,
            Format::B8G8R8Srgb => 3u8,
            Format::R8G8B8A8Unorm => 4u8,
            Format::R8G8B8A8Snorm => 4u8,
            Format::R8G8B8A8Uscaled => 4u8,
            Format::R8G8B8A8Sscaled => 4u8,
            Format::R8G8B8A8Uint => 4u8,
            Format::R8G8B8A8Sint => 4u8,
            Format::R8G8B8A8Srgb => 4u8,
            Format::B8G8R8A8Unorm => 4u8,
            Format::B8G8R8A8Snorm => 4u8,
            Format::B8G8R8A8Uscaled => 4u8,
            Format::B8G8R8A8Sscaled => 4u8,
            Format::B8G8R8A8Uint => 4u8,
            Format::B8G8R8A8Sint => 4u8,
            Format::B8G8R8A8Srgb => 4u8,
            Format::A8B8G8R8UnormPack32 => 4u8,
            Format::A8B8G8R8SnormPack32 => 4u8,
            Format::A8B8G8R8UscaledPack32 => 4u8,
            Format::A8B8G8R8SscaledPack32 => 4u8,
            Format::A8B8G8R8UintPack32 => 4u8,
            Format::A8B8G8R8SintPack32 => 4u8,
            Format::A8B8G8R8SrgbPack32 => 4u8,
            Format::A2R10G10B10UnormPack32 => 4u8,
            Format::A2R10G10B10SnormPack32 => 4u8,
            Format::A2R10G10B10UscaledPack32 => 4u8,
            Format::A2R10G10B10SscaledPack32 => 4u8,
            Format::A2R10G10B10UintPack32 => 4u8,
            Format::A2R10G10B10SintPack32 => 4u8,
            Format::A2B10G10R10UnormPack32 => 4u8,
            Format::A2B10G10R10SnormPack32 => 4u8,
            Format::A2B10G10R10UscaledPack32 => 4u8,
            Format::A2B10G10R10SscaledPack32 => 4u8,
            Format::A2B10G10R10UintPack32 => 4u8,
            Format::A2B10G10R10SintPack32 => 4u8,
            Format::R16Unorm => 2u8,
            Format::R16Snorm => 2u8,
            Format::R16Uscaled => 2u8,
            Format::R16Sscaled => 2u8,
            Format::R16Uint => 2u8,
            Format::R16Sint => 2u8,
            Format::R16Sfloat => 2u8,
            Format::R16G16Unorm => 4u8,
            Format::R16G16Snorm => 4u8,
            Format::R16G16Uscaled => 4u8,
            Format::R16G16Sscaled => 4u8,
            Format::R16G16Uint => 4u8,
            Format::R16G16Sint => 4u8,
            Format::R16G16Sfloat => 4u8,
            Format::R16G16B16Unorm => 6u8,
            Format::R16G16B16Snorm => 6u8,
            Format::R16G16B16Uscaled => 6u8,
            Format::R16G16B16Sscaled => 6u8,
            Format::R16G16B16Uint => 6u8,
            Format::R16G16B16Sint => 6u8,
            Format::R16G16B16Sfloat => 6u8,
            Format::R16G16B16A16Unorm => 8u8,
            Format::R16G16B16A16Snorm => 8u8,
            Format::R16G16B16A16Uscaled => 8u8,
            Format::R16G16B16A16Sscaled => 8u8,
            Format::R16G16B16A16Uint => 8u8,
            Format::R16G16B16A16Sint => 8u8,
            Format::R16G16B16A16Sfloat => 8u8,
            Format::R32Uint => 4u8,
            Format::R32Sint => 4u8,
            Format::R32Sfloat => 4u8,
            Format::R32G32Uint => 8u8,
            Format::R32G32Sint => 8u8,
            Format::R32G32Sfloat => 8u8,
            Format::R32G32B32Uint => 12u8,
            Format::R32G32B32Sint => 12u8,
            Format::R32G32B32Sfloat => 12u8,
            Format::R32G32B32A32Uint => 16u8,
            Format::R32G32B32A32Sint => 16u8,
            Format::R32G32B32A32Sfloat => 16u8,
            Format::R64Uint => 8u8,
            Format::R64Sint => 8u8,
            Format::R64Sfloat => 8u8,
            Format::R64G64Uint => 16u8,
            Format::R64G64Sint => 16u8,
            Format::R64G64Sfloat => 16u8,
            Format::R64G64B64Uint => 24u8,
            Format::R64G64B64Sint => 24u8,
            Format::R64G64B64Sfloat => 24u8,
            Format::R64G64B64A64Uint => 32u8,
            Format::R64G64B64A64Sint => 32u8,
            Format::R64G64B64A64Sfloat => 32u8,
            Format::B10G11R11UfloatPack32 => 4u8,
            Format::E5B9G9R9UfloatPack32 => 4u8,
            Format::D16Unorm => 2u8,
            Format::X8D24UnormPack32 => 4u8,
            Format::D32Sfloat => 4u8,
            Format::S8Uint => 1u8,
            Format::D16UnormS8Uint => 3u8,
            Format::D24UnormS8Uint => 4u8,
            Format::D32SfloatS8Uint => 5u8,
            Format::Bc1RgbUnormBlock => 8u8,
            Format::Bc1RgbSrgbBlock => 8u8,
            Format::Bc1RgbaUnormBlock => 8u8,
            Format::Bc1RgbaSrgbBlock => 8u8,
            Format::Bc2UnormBlock => 16u8,
            Format::Bc2SrgbBlock => 16u8,
            Format::Bc3UnormBlock => 16u8,
            Format::Bc3SrgbBlock => 16u8,
            Format::Bc4UnormBlock => 8u8,
            Format::Bc4SnormBlock => 8u8,
            Format::Bc5UnormBlock => 16u8,
            Format::Bc5SnormBlock => 16u8,
            Format::Bc6HUfloatBlock => 16u8,
            Format::Bc6HSfloatBlock => 16u8,
            Format::Bc7UnormBlock => 16u8,
            Format::Bc7SrgbBlock => 16u8,
            Format::Etc2R8G8B8UnormBlock => 8u8,
            Format::Etc2R8G8B8SrgbBlock => 8u8,
            Format::Etc2R8G8B8A1UnormBlock => 8u8,
            Format::Etc2R8G8B8A1SrgbBlock => 8u8,
            Format::Etc2R8G8B8A8UnormBlock => 16u8,
            Format::Etc2R8G8B8A8SrgbBlock => 16u8,
            Format::EacR11UnormBlock => 8u8,
            Format::EacR11SnormBlock => 8u8,
            Format::EacR11G11UnormBlock => 16u8,
            Format::EacR11G11SnormBlock => 16u8,
            Format::Astc4x4UnormBlock => 16u8,
            Format::Astc4x4SrgbBlock => 16u8,
            Format::Astc5x4UnormBlock => 16u8,
            Format::Astc5x4SrgbBlock => 16u8,
            Format::Astc5x5UnormBlock => 16u8,
            Format::Astc5x5SrgbBlock => 16u8,
            Format::Astc6x5UnormBlock => 16u8,
            Format::Astc6x5SrgbBlock => 16u8,
            Format::Astc6x6UnormBlock => 16u8,
            Format::Astc6x6SrgbBlock => 16u8,
            Format::Astc8x5UnormBlock => 16u8,
            Format::Astc8x5SrgbBlock => 16u8,
            Format::Astc8x6UnormBlock => 16u8,
            Format::Astc8x6SrgbBlock => 16u8,
            Format::Astc8x8UnormBlock => 16u8,
            Format::Astc8x8SrgbBlock => 16u8,
            Format::Astc10x5UnormBlock => 16u8,
            Format::Astc10x5SrgbBlock => 16u8,
            Format::Astc10x6UnormBlock => 16u8,
            Format::Astc10x6SrgbBlock => 16u8,
            Format::Astc10x8UnormBlock => 16u8,
            Format::Astc10x8SrgbBlock => 16u8,
            Format::Astc10x10UnormBlock => 16u8,
            Format::Astc10x10SrgbBlock => 16u8,
            Format::Astc12x10UnormBlock => 16u8,
            Format::Astc12x10SrgbBlock => 16u8,
            Format::Astc12x12UnormBlock => 16u8,
            Format::Astc12x12SrgbBlock => 16u8,
            Format::G8B8G8R8422Unorm => 4u8,
            Format::B8G8R8G8422Unorm => 4u8,
            Format::G8B8R83Plane420Unorm => 3u8,
            Format::G8B8R82Plane420Unorm => 3u8,
            Format::G8B8R83Plane422Unorm => 3u8,
            Format::G8B8R82Plane422Unorm => 3u8,
            Format::G8B8R83Plane444Unorm => 3u8,
            Format::R10X6UnormPack16 => 2u8,
            Format::R10X6G10X6Unorm2Pack16 => 4u8,
            Format::R10X6G10X6B10X6A10X6Unorm4Pack16 => 8u8,
            Format::G10X6B10X6G10X6R10X6422Unorm4Pack16 => 8u8,
            Format::B10X6G10X6R10X6G10X6422Unorm4Pack16 => 8u8,
            Format::G10X6B10X6R10X63Plane420Unorm3Pack16 => 6u8,
            Format::G10X6B10X6R10X62Plane420Unorm3Pack16 => 6u8,
            Format::G10X6B10X6R10X63Plane422Unorm3Pack16 => 6u8,
            Format::G10X6B10X6R10X62Plane422Unorm3Pack16 => 6u8,
            Format::G10X6B10X6R10X63Plane444Unorm3Pack16 => 6u8,
            Format::R12X4UnormPack16 => 2u8,
            Format::R12X4G12X4Unorm2Pack16 => 4u8,
            Format::R12X4G12X4B12X4A12X4Unorm4Pack16 => 8u8,
            Format::G12X4B12X4G12X4R12X4422Unorm4Pack16 => 8u8,
            Format::B12X4G12X4R12X4G12X4422Unorm4Pack16 => 8u8,
            Format::G12X4B12X4R12X43Plane420Unorm3Pack16 => 6u8,
            Format::G12X4B12X4R12X42Plane420Unorm3Pack16 => 6u8,
            Format::G12X4B12X4R12X43Plane422Unorm3Pack16 => 6u8,
            Format::G12X4B12X4R12X42Plane422Unorm3Pack16 => 6u8,
            Format::G12X4B12X4R12X43Plane444Unorm3Pack16 => 6u8,
            Format::G16B16G16R16422Unorm => 8u8,
            Format::B16G16R16G16422Unorm => 8u8,
            Format::G16B16R163Plane420Unorm => 6u8,
            Format::G16B16R162Plane420Unorm => 6u8,
            Format::G16B16R163Plane422Unorm => 6u8,
            Format::G16B16R162Plane422Unorm => 6u8,
            Format::G16B16R163Plane444Unorm => 6u8,
            Format::Pvrtc12BppUnormBlockIMG => 8u8,
            Format::Pvrtc14BppUnormBlockIMG => 8u8,
            Format::Pvrtc22BppUnormBlockIMG => 8u8,
            Format::Pvrtc24BppUnormBlockIMG => 8u8,
            Format::Pvrtc12BppSrgbBlockIMG => 8u8,
            Format::Pvrtc14BppSrgbBlockIMG => 8u8,
            Format::Pvrtc22BppSrgbBlockIMG => 8u8,
            Format::Pvrtc24BppSrgbBlockIMG => 8u8,
            Format::Astc4x4SfloatBlock => 16u8,
            Format::Astc5x4SfloatBlock => 16u8,
            Format::Astc5x5SfloatBlock => 16u8,
            Format::Astc6x5SfloatBlock => 16u8,
            Format::Astc6x6SfloatBlock => 16u8,
            Format::Astc8x5SfloatBlock => 16u8,
            Format::Astc8x6SfloatBlock => 16u8,
            Format::Astc8x8SfloatBlock => 16u8,
            Format::Astc10x5SfloatBlock => 16u8,
            Format::Astc10x6SfloatBlock => 16u8,
            Format::Astc10x8SfloatBlock => 16u8,
            Format::Astc10x10SfloatBlock => 16u8,
            Format::Astc12x10SfloatBlock => 16u8,
            Format::Astc12x12SfloatBlock => 16u8,
            Format::G8B8R82Plane444Unorm => 3u8,
            Format::G10X6B10X6R10X62Plane444Unorm3Pack16 => 6u8,
            Format::G12X4B12X4R12X42Plane444Unorm3Pack16 => 6u8,
            Format::G16B16R162Plane444Unorm => 6u8,
            Format::A4R4G4B4UnormPack16 => 2u8,
            Format::A4B4G4R4UnormPack16 => 2u8,
            Format::R16G16Sfixed5NV => 4u8,
            Format::R10X6UintPack16ARM => 2u8,
            Format::R10X6G10X6Uint2Pack16ARM => 4u8,
            Format::R10X6G10X6B10X6A10X6Uint4Pack16ARM => 8u8,
            Format::R12X4UintPack16ARM => 2u8,
            Format::R12X4G12X4Uint2Pack16ARM => 4u8,
            Format::R12X4G12X4B12X4A12X4Uint4Pack16ARM => 8u8,
            Format::R14X2UintPack16ARM => 2u8,
            Format::R14X2G14X2Uint2Pack16ARM => 4u8,
            Format::R14X2G14X2B14X2A14X2Uint4Pack16ARM => 8u8,
            Format::R14X2UnormPack16ARM => 2u8,
            Format::R14X2G14X2Unorm2Pack16ARM => 4u8,
            Format::R14X2G14X2B14X2A14X2Unorm4Pack16ARM => 8u8,
            Format::G14X2B14X2R14X22Plane420Unorm3Pack16ARM => 6u8,
            Format::G14X2B14X2R14X22Plane422Unorm3Pack16ARM => 6u8,
            Format::R8BoolARM => 1u8,
        }
    }
    #[doc = r" Return the number of texels in a texel block"]
    pub const fn texels_per_block(self) -> u8 {
        match self {
            Format::Undefined => {
                panic!("Trying to get the number of texels per block of vk::Format::Undefined")
            }
            Format::Bc1RgbUnormBlock => 16u8,
            Format::Bc1RgbSrgbBlock => 16u8,
            Format::Bc1RgbaUnormBlock => 16u8,
            Format::Bc1RgbaSrgbBlock => 16u8,
            Format::Bc2UnormBlock => 16u8,
            Format::Bc2SrgbBlock => 16u8,
            Format::Bc3UnormBlock => 16u8,
            Format::Bc3SrgbBlock => 16u8,
            Format::Bc4UnormBlock => 16u8,
            Format::Bc4SnormBlock => 16u8,
            Format::Bc5UnormBlock => 16u8,
            Format::Bc5SnormBlock => 16u8,
            Format::Bc6HUfloatBlock => 16u8,
            Format::Bc6HSfloatBlock => 16u8,
            Format::Bc7UnormBlock => 16u8,
            Format::Bc7SrgbBlock => 16u8,
            Format::Etc2R8G8B8UnormBlock => 16u8,
            Format::Etc2R8G8B8SrgbBlock => 16u8,
            Format::Etc2R8G8B8A1UnormBlock => 16u8,
            Format::Etc2R8G8B8A1SrgbBlock => 16u8,
            Format::Etc2R8G8B8A8UnormBlock => 16u8,
            Format::Etc2R8G8B8A8SrgbBlock => 16u8,
            Format::EacR11UnormBlock => 16u8,
            Format::EacR11SnormBlock => 16u8,
            Format::EacR11G11UnormBlock => 16u8,
            Format::EacR11G11SnormBlock => 16u8,
            Format::Astc4x4UnormBlock => 16u8,
            Format::Astc4x4SrgbBlock => 16u8,
            Format::Astc5x4UnormBlock => 20u8,
            Format::Astc5x4SrgbBlock => 20u8,
            Format::Astc5x5UnormBlock => 25u8,
            Format::Astc5x5SrgbBlock => 25u8,
            Format::Astc6x5UnormBlock => 30u8,
            Format::Astc6x5SrgbBlock => 30u8,
            Format::Astc6x6UnormBlock => 36u8,
            Format::Astc6x6SrgbBlock => 36u8,
            Format::Astc8x5UnormBlock => 40u8,
            Format::Astc8x5SrgbBlock => 40u8,
            Format::Astc8x6UnormBlock => 48u8,
            Format::Astc8x6SrgbBlock => 48u8,
            Format::Astc8x8UnormBlock => 64u8,
            Format::Astc8x8SrgbBlock => 64u8,
            Format::Astc10x5UnormBlock => 50u8,
            Format::Astc10x5SrgbBlock => 50u8,
            Format::Astc10x6UnormBlock => 60u8,
            Format::Astc10x6SrgbBlock => 60u8,
            Format::Astc10x8UnormBlock => 80u8,
            Format::Astc10x8SrgbBlock => 80u8,
            Format::Astc10x10UnormBlock => 100u8,
            Format::Astc10x10SrgbBlock => 100u8,
            Format::Astc12x10UnormBlock => 120u8,
            Format::Astc12x10SrgbBlock => 120u8,
            Format::Astc12x12UnormBlock => 144u8,
            Format::Astc12x12SrgbBlock => 144u8,
            Format::Astc4x4SfloatBlock => 16u8,
            Format::Astc5x4SfloatBlock => 20u8,
            Format::Astc5x5SfloatBlock => 25u8,
            Format::Astc6x5SfloatBlock => 30u8,
            Format::Astc6x6SfloatBlock => 36u8,
            Format::Astc8x5SfloatBlock => 40u8,
            Format::Astc8x6SfloatBlock => 48u8,
            Format::Astc8x8SfloatBlock => 64u8,
            Format::Astc10x5SfloatBlock => 50u8,
            Format::Astc10x6SfloatBlock => 60u8,
            Format::Astc10x8SfloatBlock => 80u8,
            Format::Astc10x10SfloatBlock => 100u8,
            Format::Astc12x10SfloatBlock => 120u8,
            Format::Astc12x12SfloatBlock => 144u8,
            _ => 1,
        }
    }
    #[doc = r" Return the three-dimensional extent of texel blocks"]
    pub const fn block_extent(self) -> [u8; 3] {
        match self {
            Format::Undefined => panic!("Trying to get the block extent of vk::Format::Undefined"),
            Format::Bc1RgbUnormBlock => [4u8, 4u8, 1u8],
            Format::Bc1RgbSrgbBlock => [4u8, 4u8, 1u8],
            Format::Bc1RgbaUnormBlock => [4u8, 4u8, 1u8],
            Format::Bc1RgbaSrgbBlock => [4u8, 4u8, 1u8],
            Format::Bc2UnormBlock => [4u8, 4u8, 1u8],
            Format::Bc2SrgbBlock => [4u8, 4u8, 1u8],
            Format::Bc3UnormBlock => [4u8, 4u8, 1u8],
            Format::Bc3SrgbBlock => [4u8, 4u8, 1u8],
            Format::Bc4UnormBlock => [4u8, 4u8, 1u8],
            Format::Bc4SnormBlock => [4u8, 4u8, 1u8],
            Format::Bc5UnormBlock => [4u8, 4u8, 1u8],
            Format::Bc5SnormBlock => [4u8, 4u8, 1u8],
            Format::Bc6HUfloatBlock => [4u8, 4u8, 1u8],
            Format::Bc6HSfloatBlock => [4u8, 4u8, 1u8],
            Format::Bc7UnormBlock => [4u8, 4u8, 1u8],
            Format::Bc7SrgbBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8UnormBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8SrgbBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8A1UnormBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8A1SrgbBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8A8UnormBlock => [4u8, 4u8, 1u8],
            Format::Etc2R8G8B8A8SrgbBlock => [4u8, 4u8, 1u8],
            Format::EacR11UnormBlock => [4u8, 4u8, 1u8],
            Format::EacR11SnormBlock => [4u8, 4u8, 1u8],
            Format::EacR11G11UnormBlock => [4u8, 4u8, 1u8],
            Format::EacR11G11SnormBlock => [4u8, 4u8, 1u8],
            Format::Astc4x4UnormBlock => [4u8, 4u8, 1u8],
            Format::Astc4x4SrgbBlock => [4u8, 4u8, 1u8],
            Format::Astc5x4UnormBlock => [5u8, 4u8, 1u8],
            Format::Astc5x4SrgbBlock => [5u8, 4u8, 1u8],
            Format::Astc5x5UnormBlock => [5u8, 5u8, 1u8],
            Format::Astc5x5SrgbBlock => [5u8, 5u8, 1u8],
            Format::Astc6x5UnormBlock => [6u8, 5u8, 1u8],
            Format::Astc6x5SrgbBlock => [6u8, 5u8, 1u8],
            Format::Astc6x6UnormBlock => [6u8, 6u8, 1u8],
            Format::Astc6x6SrgbBlock => [6u8, 6u8, 1u8],
            Format::Astc8x5UnormBlock => [8u8, 5u8, 1u8],
            Format::Astc8x5SrgbBlock => [8u8, 5u8, 1u8],
            Format::Astc8x6UnormBlock => [8u8, 6u8, 1u8],
            Format::Astc8x6SrgbBlock => [8u8, 6u8, 1u8],
            Format::Astc8x8UnormBlock => [8u8, 8u8, 1u8],
            Format::Astc8x8SrgbBlock => [8u8, 8u8, 1u8],
            Format::Astc10x5UnormBlock => [10u8, 5u8, 1u8],
            Format::Astc10x5SrgbBlock => [10u8, 5u8, 1u8],
            Format::Astc10x6UnormBlock => [10u8, 6u8, 1u8],
            Format::Astc10x6SrgbBlock => [10u8, 6u8, 1u8],
            Format::Astc10x8UnormBlock => [10u8, 8u8, 1u8],
            Format::Astc10x8SrgbBlock => [10u8, 8u8, 1u8],
            Format::Astc10x10UnormBlock => [10u8, 10u8, 1u8],
            Format::Astc10x10SrgbBlock => [10u8, 10u8, 1u8],
            Format::Astc12x10UnormBlock => [12u8, 10u8, 1u8],
            Format::Astc12x10SrgbBlock => [12u8, 10u8, 1u8],
            Format::Astc12x12UnormBlock => [12u8, 12u8, 1u8],
            Format::Astc12x12SrgbBlock => [12u8, 12u8, 1u8],
            Format::G8B8G8R8422Unorm => [2u8, 1u8, 1u8],
            Format::B8G8R8G8422Unorm => [2u8, 1u8, 1u8],
            Format::G10X6B10X6G10X6R10X6422Unorm4Pack16 => [2u8, 1u8, 1u8],
            Format::B10X6G10X6R10X6G10X6422Unorm4Pack16 => [2u8, 1u8, 1u8],
            Format::G12X4B12X4G12X4R12X4422Unorm4Pack16 => [2u8, 1u8, 1u8],
            Format::B12X4G12X4R12X4G12X4422Unorm4Pack16 => [2u8, 1u8, 1u8],
            Format::G16B16G16R16422Unorm => [2u8, 1u8, 1u8],
            Format::B16G16R16G16422Unorm => [2u8, 1u8, 1u8],
            Format::Pvrtc12BppUnormBlockIMG => [8u8, 4u8, 1u8],
            Format::Pvrtc14BppUnormBlockIMG => [4u8, 4u8, 1u8],
            Format::Pvrtc22BppUnormBlockIMG => [8u8, 4u8, 1u8],
            Format::Pvrtc24BppUnormBlockIMG => [4u8, 4u8, 1u8],
            Format::Pvrtc12BppSrgbBlockIMG => [8u8, 4u8, 1u8],
            Format::Pvrtc14BppSrgbBlockIMG => [4u8, 4u8, 1u8],
            Format::Pvrtc22BppSrgbBlockIMG => [8u8, 4u8, 1u8],
            Format::Pvrtc24BppSrgbBlockIMG => [4u8, 4u8, 1u8],
            Format::Astc4x4SfloatBlock => [4u8, 4u8, 1u8],
            Format::Astc5x4SfloatBlock => [5u8, 4u8, 1u8],
            Format::Astc5x5SfloatBlock => [5u8, 5u8, 1u8],
            Format::Astc6x5SfloatBlock => [6u8, 5u8, 1u8],
            Format::Astc6x6SfloatBlock => [6u8, 6u8, 1u8],
            Format::Astc8x5SfloatBlock => [8u8, 5u8, 1u8],
            Format::Astc8x6SfloatBlock => [8u8, 6u8, 1u8],
            Format::Astc8x8SfloatBlock => [8u8, 8u8, 1u8],
            Format::Astc10x5SfloatBlock => [10u8, 5u8, 1u8],
            Format::Astc10x6SfloatBlock => [10u8, 6u8, 1u8],
            Format::Astc10x8SfloatBlock => [10u8, 8u8, 1u8],
            Format::Astc10x10SfloatBlock => [10u8, 10u8, 1u8],
            Format::Astc12x10SfloatBlock => [12u8, 10u8, 1u8],
            Format::Astc12x12SfloatBlock => [12u8, 12u8, 1u8],
            _ => [1, 1, 1],
        }
    }
    #[doc = r" Return true if this format is a compressed format"]
    pub const fn is_compressed(self) -> bool {
        match self {
            Format::Bc1RgbUnormBlock
            | Format::Bc1RgbSrgbBlock
            | Format::Bc1RgbaUnormBlock
            | Format::Bc1RgbaSrgbBlock
            | Format::Bc2UnormBlock
            | Format::Bc2SrgbBlock
            | Format::Bc3UnormBlock
            | Format::Bc3SrgbBlock
            | Format::Bc4UnormBlock
            | Format::Bc4SnormBlock
            | Format::Bc5UnormBlock
            | Format::Bc5SnormBlock
            | Format::Bc6HUfloatBlock
            | Format::Bc6HSfloatBlock
            | Format::Bc7UnormBlock
            | Format::Bc7SrgbBlock
            | Format::Etc2R8G8B8UnormBlock
            | Format::Etc2R8G8B8SrgbBlock
            | Format::Etc2R8G8B8A1UnormBlock
            | Format::Etc2R8G8B8A1SrgbBlock
            | Format::Etc2R8G8B8A8UnormBlock
            | Format::Etc2R8G8B8A8SrgbBlock
            | Format::EacR11UnormBlock
            | Format::EacR11SnormBlock
            | Format::EacR11G11UnormBlock
            | Format::EacR11G11SnormBlock
            | Format::Astc4x4UnormBlock
            | Format::Astc4x4SrgbBlock
            | Format::Astc5x4UnormBlock
            | Format::Astc5x4SrgbBlock
            | Format::Astc5x5UnormBlock
            | Format::Astc5x5SrgbBlock
            | Format::Astc6x5UnormBlock
            | Format::Astc6x5SrgbBlock
            | Format::Astc6x6UnormBlock
            | Format::Astc6x6SrgbBlock
            | Format::Astc8x5UnormBlock
            | Format::Astc8x5SrgbBlock
            | Format::Astc8x6UnormBlock
            | Format::Astc8x6SrgbBlock
            | Format::Astc8x8UnormBlock
            | Format::Astc8x8SrgbBlock
            | Format::Astc10x5UnormBlock
            | Format::Astc10x5SrgbBlock
            | Format::Astc10x6UnormBlock
            | Format::Astc10x6SrgbBlock
            | Format::Astc10x8UnormBlock
            | Format::Astc10x8SrgbBlock
            | Format::Astc10x10UnormBlock
            | Format::Astc10x10SrgbBlock
            | Format::Astc12x10UnormBlock
            | Format::Astc12x10SrgbBlock
            | Format::Astc12x12UnormBlock
            | Format::Astc12x12SrgbBlock
            | Format::Pvrtc12BppUnormBlockIMG
            | Format::Pvrtc14BppUnormBlockIMG
            | Format::Pvrtc22BppUnormBlockIMG
            | Format::Pvrtc24BppUnormBlockIMG
            | Format::Pvrtc12BppSrgbBlockIMG
            | Format::Pvrtc14BppSrgbBlockIMG
            | Format::Pvrtc22BppSrgbBlockIMG
            | Format::Pvrtc24BppSrgbBlockIMG
            | Format::Astc4x4SfloatBlock
            | Format::Astc5x4SfloatBlock
            | Format::Astc5x5SfloatBlock
            | Format::Astc6x5SfloatBlock
            | Format::Astc6x6SfloatBlock
            | Format::Astc8x5SfloatBlock
            | Format::Astc8x6SfloatBlock
            | Format::Astc8x8SfloatBlock
            | Format::Astc10x5SfloatBlock
            | Format::Astc10x6SfloatBlock
            | Format::Astc10x8SfloatBlock
            | Format::Astc10x10SfloatBlock
            | Format::Astc12x10SfloatBlock
            | Format::Astc12x12SfloatBlock => true,
            _ => false,
        }
    }
}