{{ message }}
Repository navigation
Expand file tree
/
Copy pathvk_value_serialization.h
More file actions
11402 lines (10541 loc) · 470 KB
/
Copy pathvk_value_serialization.h
File metadata and controls
11402 lines (10541 loc) · 470 KB
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
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
Copyright (C) 2021-2026 George Cave - gcave@stablecoder.ca
SPDX-License-Identifier: Apache-2.0
This file was auto-generated by the Vulkan Mini Libs 2 utility:
https://github.com/stablecoder/vulkan-mini-libs-2.git
or
https://git.stabletec.com/utilities/vulkan-mini-libs-2.git
Check for an updated version anytime, or state concerns/bugs.
*/
#ifndef VK_VALUE_SERIALIZATION_H
#define VK_VALUE_SERIALIZATION_H
/* USAGE:
To use, include this header where the declarations for the boolean checks are required.
On *ONE* compilation unit, include the definition of:
#define VK_VALUE_SERIALIZATION_CONFIG_MAIN
so that the definitions are compiled somewhere following the one definition rule, either from
this header *OR* the vk_value_serialization.hpp header.
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <vulkan/vulkan.h>
#ifdef __cplusplus
static_assert(VK_HEADER_VERSION >= 72,
"VK_HEADER_VERSION is lower than the minimum supported version (v72)");
#else
_Static_assert(VK_HEADER_VERSION >= 72,
"VK_HEADER_VERSION is lower than the minimum supported version (v72)");
#endif
#if VK_HEADER_VERSION > 366
#if _MSC_VER
#pragma message( \
__FILE__ ": warning: VK_HEADER_VERSION is higher than what the header fully supports (v366)")
#else
#warning "VK_HEADER_VERSION is higher than what the header fully supports (v366)"
#endif
#endif
typedef enum STecVkSerializationResult {
STEC_VK_SERIALIZATION_RESULT_SUCCESS = 0,
STEC_VK_SERIALIZATION_RESULT_ERROR_INCOMPLETE,
STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_NOT_FOUND,
STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_HAS_NO_EMPTY_VALUE,
STEC_VK_SERIALIZATION_RESULT_ERROR_VALUE_NOT_FOUND,
STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_MISMATCH,
} STecVkSerializationResult;
/**
* @brief Serializes a Vulkan enumerator/flag type (32-bit)
* @param pVkType is a pointer to the string name of the Vulkan enumerator/flag type
* @param vkValue is the numeric value being serialized
* @param pSerializedLength is a pointer to an integer related to the size of pSerialized, as
* described below.
* @param pSerialized is either NULL or a pointer to an character array.
* @note pSerialized is only written to if STEC_VK_SERIALIZATION_RESULT_SUCCESS or
* STEC_VK_SERIALIZATION_RESULT_ERROR_INCOMPLETE is returned.
*
* If pSerialized is NULL, then the size required to return all layer names is returned in
* pSerializedLength. Otherwise, pSerializedLength must point to a variable set by the user to the
* size of the pSerialized array, and on return the variable is overwritten with the characters
* actually written to pSerialized. If pSerializedLength is less than the total size required to
* return all, at most pSerializedLength is written, and
* STEC_VK_SERIALIZATION_RESULT_ERROR_INCOMPLETE will be returned instead of
* STEC_VK_SERIALIZATION_RESULT_SUCCESS, to indicate that not all names were returned.
*
* If the Vulkan type could not be determined or found, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_NOT_FOUND is returned.
*
* If the value given in vkValue is 0 and the corresponding Vulkan type doesn't have an equivalent
* 0-value that can be serialized, then STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_HAS_NO_EMPTY_VALUE
* is returned. If Any other given vkValue or bitmask cannot be translated fully, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_VALUE_NOT_FOUND is returned.
*
* If this function is used and the Vulkan type is 64-bit, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_MISMATCH is returned.
*/
STecVkSerializationResult vk_serialize32(char const *pVkType,
uint32_t vkValue,
uint32_t *pSerializedLength,
char *pSerialized);
/**
* @brief Serializes a Vulkan enumerator/flag type (64-bit)
* @param pVkType is a pointer to the string name of the Vulkan enumerator/flag type
* @param vkValue is the numeric value being serialized
* @param pSerializedLength is a pointer to an integer related to the size of pSerialized, as
* described below.
* @param pSerialized is either NULL or a pointer to an character array.
* @note pSerialized is only written to if STEC_VK_SERIALIZATION_RESULT_SUCCESS or
* STEC_VK_SERIALIZATION_RESULT_ERROR_INCOMPLETE is returned.
*
* If pSerialized is NULL, then the size required to return all layer names is returned in
* pSerializedLength. Otherwise, pSerializedLength must point to a variable set by the user to the
* size of the pSerialized array, and on return the variable is overwritten with the characters
* actually written to pSerialized. If pSerializedLength is less than the total size required to
* return all, at most pSerializedLength is written, and
* STEC_VK_SERIALIZATION_RESULT_ERROR_INCOMPLETE will be returned instead of
* STEC_VK_SERIALIZATION_RESULT_SUCCESS, to indicate that not all names were returned.
*
* If the Vulkan type could not be determined or found, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_NOT_FOUND is returned.
*
* If the value given in vkValue is 0 and the corresponding Vulkan type doesn't have an equivalent
* 0-value that can be serialized, then STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_HAS_NO_EMPTY_VALUE
* is returned. If Any other given vkValue or bitmask cannot be translated fully, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_VALUE_NOT_FOUND is returned.
*
* If this function is used and the Vulkan type is 32-bit, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_MISMATCH is returned.
*/
STecVkSerializationResult vk_serialize64(char const *pVkType,
uint64_t vkValue,
uint32_t *pSerializedLength,
char *pSerialized);
/**
* @brief Parses a Vulkan enumerator/flag serialized string (32-bit)
* @param pVkType is a pointer to the string name of the Vulkan enumerator/flag type
* @param pVkString is a pointer to the string being parsed
* @param pParsedValue is a pointer to a value that will be modified with the parsed value. Only
* modified if STEC_VK_SERIALIZATION_RESULT_SUCCESS is returned.
*
* This attempts to parse the given Vulkan string, according to the values available for the Vulkan
* type, and updates the return parsed value upon STEC_VK_SERIALIZATION_RESULT_SUCCESS.
*
* If the type cannot be determined or found, STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_NOT_FOUND is
* returned.
*
* If a particular token in the parsing string cannot be determined or found, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_VALUE_NOT_FOUND is returned.
*
* If this function is used and the Vulkan type is 64-bit, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_MISMATCH is returned.
*/
STecVkSerializationResult vk_parse32(char const *pVkType,
char const *pVkString,
void *pParsedValue);
/**
* @brief Parses a Vulkan enumerator/flag serialized string (64-bit)
* @param pVkType is a pointer to the string name of the Vulkan enumerator/flag type
* @param pVkString is a pointer to the string being parsed
* @param pParsedValue is a pointer to a value that will be modified with the parsed value. Only
* modified if STEC_VK_SERIALIZATION_RESULT_SUCCESS is returned.
*
* This attempts to parse the given Vulkan string, according to the values available for the Vulkan
* type, and updates the return parsed value upon STEC_VK_SERIALIZATION_RESULT_SUCCESS.
*
* If the type cannot be determined or found, STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_NOT_FOUND is
* returned.
*
* If a particular token in the parsing string cannot be determined or found, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_VALUE_NOT_FOUND is returned.
*
* If this function is used and the Vulkan type is 32-bit, then
* STEC_VK_SERIALIZATION_RESULT_ERROR_TYPE_MISMATCH is returned.
*/
STecVkSerializationResult vk_parse64(char const *pVkType,
char const *pVkString,
void *pParsedValue);
#ifdef VK_VALUE_SERIALIZATION_CONFIG_MAIN
#include <assert.h>
#include <ctype.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#define cVendorCount sizeof(cVendorList) / sizeof(char const *)
char const *cVendorList[45] = {
"IMG", "AMD", "AMDX", "ARM", "FSL", "BRCM", "NXP", "NV",
"NVX", "VIV", "VSI", "KDAB", "ANDROID", "CHROMIUM", "FUCHSIA", "GGP",
"GOOGLE", "QCOM", "LUNARG", "NZXT", "SAMSUNG", "SEC", "TIZEN", "RENDERDOC",
"NN", "MVK", "KHR", "KHX", "EXT", "MESA", "INTEL", "HUAWEI",
"OHOS", "VALVE", "QNX", "JUICE", "FB", "RASTERGRID", "MSFT", "SHADY",
"FREDEMMOTT", "MTK", "OPENXR", "MWS", "APEX",
};
static char const *const VkFramebufferCreateFlagsStrings[2] = {
"IMAGELESS_BIT_KHR", // 0x00000001
"IMAGELESS", // 0x00000001
};
static uint32_t const VkFramebufferCreateFlagsValues[2] = {
0x00000001, // IMAGELESS_BIT_KHR
0x00000001, // IMAGELESS
};
static char const *const VkQueryPoolCreateFlagsStrings[1] = {
"RESET_BIT_KHR", // 0x00000001
};
static uint32_t const VkQueryPoolCreateFlagsValues[1] = {
0x00000001, // RESET_BIT_KHR
};
static char const *const VkRenderPassCreateFlagsStrings[6] = {
"RESERVED_0_BIT_KHR", // 0x00000001
"VK_RENDER_PASS_RESERVED_BIT_1_QCOM", // 0x00000002
"TRANSFORM_BIT_QCOM", // 0x00000002
"RESERVED_2_BIT_VALVE", // 0x00000004
"PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE", // 0x00000004
"RESERVED_3_BIT_IMG", // 0x00000008
};
static uint32_t const VkRenderPassCreateFlagsValues[6] = {
0x00000001, // RESERVED_0_BIT_KHR
0x00000002, // VK_RENDER_PASS_RESERVED_BIT_1_QCOM
0x00000002, // TRANSFORM_BIT_QCOM
0x00000004, // RESERVED_2_BIT_VALVE
0x00000004, // PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE
0x00000008, // RESERVED_3_BIT_IMG
};
static char const *const VkSamplerCreateFlagsStrings[7] = {
"SUBSAMPLED_BIT_EXT", // 0x00000001
"SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT", // 0x00000002
"RESERVED_2_BIT_EXT", // 0x00000004
"RESERVED_3_BIT_AMD", // 0x00000008
"IMAGE_PROCESSING_BIT_QCOM", // 0x00000010
"NON_SEAMLESS_CUBE_MAP_BIT_EXT", // 0x00000004
"DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT", // 0x00000008
};
static uint32_t const VkSamplerCreateFlagsValues[7] = {
0x00000001, // SUBSAMPLED_BIT_EXT
0x00000002, // SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT
0x00000004, // RESERVED_2_BIT_EXT
0x00000008, // RESERVED_3_BIT_AMD
0x00000010, // IMAGE_PROCESSING_BIT_QCOM
0x00000004, // NON_SEAMLESS_CUBE_MAP_BIT_EXT
0x00000008, // DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT
};
static char const *const VkPipelineLayoutCreateFlagsStrings[4] = {
"RESERVED_0_BIT_AMD", // 0x00000001
"RESERVED_1_BIT_AMD", // 0x00000002
"INDEPENDENT_SETS_BIT_EXT", // 0x00000002
"NO_TASK_SHADER_BIT_KHR", // 0x00000004
};
static uint32_t const VkPipelineLayoutCreateFlagsValues[4] = {
0x00000001, // RESERVED_0_BIT_AMD
0x00000002, // RESERVED_1_BIT_AMD
0x00000002, // INDEPENDENT_SETS_BIT_EXT
0x00000004, // NO_TASK_SHADER_BIT_KHR
};
static char const *const VkPipelineCacheCreateFlagsStrings[8] = {
"EXTERNALLY_SYNCHRONIZED_BIT_EXT", // 0x00000001
"RESERVED_1_BIT_KHR", // 0x00000002
"RESERVED_1_BIT_EXT", // 0x00000002
"RESERVED_2_BIT_EXT", // 0x00000004
"RESERVED_2_BIT_KHR", // 0x00000004
"EXTERNALLY_SYNCHRONIZED", // 0x00000001
"INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR", // 0x00000008
};
static uint32_t const VkPipelineCacheCreateFlagsValues[8] = {
0x00000001, // EXTERNALLY_SYNCHRONIZED_BIT_EXT
0x00000002, // RESERVED_1_BIT_KHR
0x00000002, // RESERVED_1_BIT_EXT
0x00000004, // RESERVED_2_BIT_EXT
0x00000004, // RESERVED_2_BIT_KHR
0x00000001, // EXTERNALLY_SYNCHRONIZED
0x00000008, // INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR
};
static char const *const VkPipelineDepthStencilStateCreateFlagsStrings[4] = {
"RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM", // 0x00000001
"RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM", // 0x00000002
"RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT", // 0x00000001
"RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT", // 0x00000002
};
static uint32_t const VkPipelineDepthStencilStateCreateFlagsValues[4] = {
0x00000001, // RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
0x00000002, // RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
0x00000001, // RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
0x00000002, // RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
};
static char const *const VkPipelineColorBlendStateCreateFlagsStrings[2] = {
"RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM", // 0x00000001
"RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT", // 0x00000001
};
static uint32_t const VkPipelineColorBlendStateCreateFlagsValues[2] = {
0x00000001, // RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
0x00000001, // RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
};
static char const *const VkPipelineShaderStageCreateFlagsStrings[6] = {
"ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT", // 0x00000001
"REQUIRE_FULL_SUBGROUPS_BIT_EXT", // 0x00000002
"RESERVED_2_BIT_NV", // 0x00000004
"RESERVED_3_BIT_KHR", // 0x00000008
"ALLOW_VARYING_SUBGROUP_SIZE", // 0x00000001
"REQUIRE_FULL_SUBGROUPS", // 0x00000002
};
static uint32_t const VkPipelineShaderStageCreateFlagsValues[6] = {
0x00000001, // ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
0x00000002, // REQUIRE_FULL_SUBGROUPS_BIT_EXT
0x00000004, // RESERVED_2_BIT_NV
0x00000008, // RESERVED_3_BIT_KHR
0x00000001, // ALLOW_VARYING_SUBGROUP_SIZE
0x00000002, // REQUIRE_FULL_SUBGROUPS
};
static char const *const VkDescriptorSetLayoutCreateFlagsStrings[15] = {
"PUSH_DESCRIPTOR_BIT_KHR", // 0x00000001
"UPDATE_AFTER_BIND_POOL_BIT_EXT", // 0x00000002
"HOST_ONLY_POOL_BIT_VALVE", // 0x00000004
"UPDATE_AFTER_BIND_POOL", // 0x00000002
"VK_DESCRIPTOR_SET_LAYOUT_RESERVED_2_BIT_VALVE", // 0x00000004
"RESERVED_3_BIT_AMD", // 0x00000008
"RESERVED_4_BIT_AMD", // 0x00000010
"RESERVED_5_BIT_AMD", // 0x00000020
"HOST_ONLY_POOL_BIT_EXT", // 0x00000004
"DESCRIPTOR_BUFFER_BIT_EXT", // 0x00000010
"EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT", // 0x00000020
"RESERVED_6_BIT_EXT", // 0x00000040
"INDIRECT_BINDABLE_BIT_NV", // 0x00000080
"PER_STAGE_BIT_NV", // 0x00000040
"PUSH_DESCRIPTOR", // 0x00000001
};
static uint32_t const VkDescriptorSetLayoutCreateFlagsValues[15] = {
0x00000001, // PUSH_DESCRIPTOR_BIT_KHR
0x00000002, // UPDATE_AFTER_BIND_POOL_BIT_EXT
0x00000004, // HOST_ONLY_POOL_BIT_VALVE
0x00000002, // UPDATE_AFTER_BIND_POOL
0x00000004, // VK_DESCRIPTOR_SET_LAYOUT_RESERVED_2_BIT_VALVE
0x00000008, // RESERVED_3_BIT_AMD
0x00000010, // RESERVED_4_BIT_AMD
0x00000020, // RESERVED_5_BIT_AMD
0x00000004, // HOST_ONLY_POOL_BIT_EXT
0x00000010, // DESCRIPTOR_BUFFER_BIT_EXT
0x00000020, // EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT
0x00000040, // RESERVED_6_BIT_EXT
0x00000080, // INDIRECT_BINDABLE_BIT_NV
0x00000040, // PER_STAGE_BIT_NV
0x00000001, // PUSH_DESCRIPTOR
};
static char const *const VkInstanceCreateFlagsStrings[2] = {
"ENUMERATE_PORTABILITY_BIT_KHR", // 0x00000001
"RESERVED_616_BIT_EXT", // 0x00000002
};
static uint32_t const VkInstanceCreateFlagsValues[2] = {
0x00000001, // ENUMERATE_PORTABILITY_BIT_KHR
0x00000002, // RESERVED_616_BIT_EXT
};
static char const *const VkDeviceQueueCreateFlagsStrings[4] = {
"PROTECTED", // 0x00000001
"RESERVED_1_BIT_QCOM", // 0x00000002
"RESERVED_2_BIT_EXT", // 0x00000004
"INTERNALLY_SYNCHRONIZED_BIT_KHR", // 0x00000004
};
static uint32_t const VkDeviceQueueCreateFlagsValues[4] = {
0x00000001, // PROTECTED
0x00000002, // RESERVED_1_BIT_QCOM
0x00000004, // RESERVED_2_BIT_EXT
0x00000004, // INTERNALLY_SYNCHRONIZED_BIT_KHR
};
static char const *const VkQueueFlagsStrings[19] = {
"GRAPHICS", // 0x00000001
"COMPUTE", // 0x00000002
"TRANSFER", // 0x00000004
"SPARSE_BINDING", // 0x00000008
"PROTECTED", // 0x00000010
"RESERVED_6_BIT_KHR", // 0x00000040
"RESERVED_5_BIT_KHR", // 0x00000020
"VIDEO_DECODE_BIT_KHR", // 0x00000020
"VIDEO_ENCODE_BIT_KHR", // 0x00000040
"RESERVED_7_BIT_QCOM", // 0x00000080
"RESERVED_8_BIT_NV", // 0x00000100
"RESERVED_9_BIT_EXT", // 0x00000200
"OPTICAL_FLOW_BIT_NV", // 0x00000100
"RESERVED_11_BIT_ARM", // 0x00000800
"RESERVED_10_BIT_EXT", // 0x00000400
"DATA_GRAPH_BIT_ARM", // 0x00000400
"RESERVED_12_BIT_EXT", // 0x00001000
"RESERVED_13_BIT_EXT", // 0x00002000
"RESERVED_14_BIT_EXT", // 0x00004000
};
static uint32_t const VkQueueFlagsValues[19] = {
0x00000001, // GRAPHICS
0x00000002, // COMPUTE
0x00000004, // TRANSFER
0x00000008, // SPARSE_BINDING
0x00000010, // PROTECTED
0x00000040, // RESERVED_6_BIT_KHR
0x00000020, // RESERVED_5_BIT_KHR
0x00000020, // VIDEO_DECODE_BIT_KHR
0x00000040, // VIDEO_ENCODE_BIT_KHR
0x00000080, // RESERVED_7_BIT_QCOM
0x00000100, // RESERVED_8_BIT_NV
0x00000200, // RESERVED_9_BIT_EXT
0x00000100, // OPTICAL_FLOW_BIT_NV
0x00000800, // RESERVED_11_BIT_ARM
0x00000400, // RESERVED_10_BIT_EXT
0x00000400, // DATA_GRAPH_BIT_ARM
0x00001000, // RESERVED_12_BIT_EXT
0x00002000, // RESERVED_13_BIT_EXT
0x00004000, // RESERVED_14_BIT_EXT
};
static char const *const VkMemoryPropertyFlagsStrings[11] = {
"DEVICE_LOCAL", // 0x00000001
"HOST_VISIBLE", // 0x00000002
"HOST_COHERENT", // 0x00000004
"HOST_CACHED", // 0x00000008
"LAZILY_ALLOCATED", // 0x00000010
"PROTECTED", // 0x00000020
"DEVICE_COHERENT_BIT_AMD", // 0x00000040
"DEVICE_UNCACHED_BIT_AMD", // 0x00000080
"RESERVED_8_BIT_NV", // 0x00000100
"RDMA_CAPABLE_BIT_NV", // 0x00000100
"RESERVED_9_QCOM", // 0x00000200
};
static uint32_t const VkMemoryPropertyFlagsValues[11] = {
0x00000001, // DEVICE_LOCAL
0x00000002, // HOST_VISIBLE
0x00000004, // HOST_COHERENT
0x00000008, // HOST_CACHED
0x00000010, // LAZILY_ALLOCATED
0x00000020, // PROTECTED
0x00000040, // DEVICE_COHERENT_BIT_AMD
0x00000080, // DEVICE_UNCACHED_BIT_AMD
0x00000100, // RESERVED_8_BIT_NV
0x00000100, // RDMA_CAPABLE_BIT_NV
0x00000200, // RESERVED_9_QCOM
};
static char const *const VkMemoryHeapFlagsStrings[6] = {
"MULTI_INSTANCE_BIT_KHR", // 0x00000002
"DEVICE_LOCAL", // 0x00000001
"MULTI_INSTANCE", // 0x00000002
"RESERVED_2_BIT_KHR", // 0x00000004
"RESERVED_3_QCOM", // 0x00000008
"TILE_MEMORY_BIT_QCOM", // 0x00000008
};
static uint32_t const VkMemoryHeapFlagsValues[6] = {
0x00000002, // MULTI_INSTANCE_BIT_KHR
0x00000001, // DEVICE_LOCAL
0x00000002, // MULTI_INSTANCE
0x00000004, // RESERVED_2_BIT_KHR
0x00000008, // RESERVED_3_QCOM
0x00000008, // TILE_MEMORY_BIT_QCOM
};
static char const *const VkAccessFlagsStrings[47] = {
"SHADING_RATE_IMAGE_READ_BIT_NV", // 0x00800000
"ACCELERATION_STRUCTURE_READ_BIT_NV", // 0x00200000
"ACCELERATION_STRUCTURE_WRITE_BIT_NV", // 0x00400000
"COMMAND_PREPROCESS_READ_BIT_NV", // 0x00020000
"COMMAND_PREPROCESS_WRITE_BIT_NV", // 0x00040000
"NONE_KHR", // 0
"INDIRECT_COMMAND_READ", // 0x00000001
"INDEX_READ", // 0x00000002
"VERTEX_ATTRIBUTE_READ", // 0x00000004
"UNIFORM_READ", // 0x00000008
"INPUT_ATTACHMENT_READ", // 0x00000010
"SHADER_READ", // 0x00000020
"SHADER_WRITE", // 0x00000040
"COLOR_ATTACHMENT_READ", // 0x00000080
"COLOR_ATTACHMENT_WRITE", // 0x00000100
"DEPTH_STENCIL_ATTACHMENT_READ", // 0x00000200
"DEPTH_STENCIL_ATTACHMENT_WRITE", // 0x00000400
"TRANSFER_READ", // 0x00000800
"TRANSFER_WRITE", // 0x00001000
"HOST_READ", // 0x00002000
"HOST_WRITE", // 0x00004000
"MEMORY_READ", // 0x00008000
"MEMORY_WRITE", // 0x00010000
"COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT", // 0x00080000
"COMMAND_PROCESS_READ_BIT_NVX", // 0x00020000
"COMMAND_PROCESS_WRITE_BIT_NVX", // 0x00040000
"CONDITIONAL_RENDERING_READ_BIT_EXT", // 0x00100000
"RESERVED_23_BIT_NV", // 0x00800000
"RESERVED_21_BIT_NV", // 0x00200000
"RESERVED_22_BIT_NV", // 0x00400000
"RESERVED_24_BIT_EXT", // 0x01000000
"ACCELERATION_STRUCTURE_READ_BIT_NVX", // 0x00200000
"ACCELERATION_STRUCTURE_WRITE_BIT_NVX", // 0x00400000
"TRANSFORM_FEEDBACK_WRITE_BIT_EXT", // 0x02000000
"TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT", // 0x04000000
"TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT", // 0x08000000
"RESERVED_30_BIT_KHR", // 0x40000000
"RESERVED_28_BIT_KHR", // 0x10000000
"RESERVED_29_BIT_KHR", // 0x20000000
"RESERVED_31_BIT_KHR", // 0x80000000
"FRAGMENT_DENSITY_MAP_READ_BIT_EXT", // 0x01000000
"ACCELERATION_STRUCTURE_READ_BIT_KHR", // 0x00200000
"ACCELERATION_STRUCTURE_WRITE_BIT_KHR", // 0x00400000
"FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR", // 0x00800000
"NONE", // 0
"COMMAND_PREPROCESS_READ_BIT_EXT", // 0x00020000
"COMMAND_PREPROCESS_WRITE_BIT_EXT", // 0x00040000
};
static uint32_t const VkAccessFlagsValues[47] = {
0x00800000, // SHADING_RATE_IMAGE_READ_BIT_NV
0x00200000, // ACCELERATION_STRUCTURE_READ_BIT_NV
0x00400000, // ACCELERATION_STRUCTURE_WRITE_BIT_NV
0x00020000, // COMMAND_PREPROCESS_READ_BIT_NV
0x00040000, // COMMAND_PREPROCESS_WRITE_BIT_NV
0, // NONE_KHR
0x00000001, // INDIRECT_COMMAND_READ
0x00000002, // INDEX_READ
0x00000004, // VERTEX_ATTRIBUTE_READ
0x00000008, // UNIFORM_READ
0x00000010, // INPUT_ATTACHMENT_READ
0x00000020, // SHADER_READ
0x00000040, // SHADER_WRITE
0x00000080, // COLOR_ATTACHMENT_READ
0x00000100, // COLOR_ATTACHMENT_WRITE
0x00000200, // DEPTH_STENCIL_ATTACHMENT_READ
0x00000400, // DEPTH_STENCIL_ATTACHMENT_WRITE
0x00000800, // TRANSFER_READ
0x00001000, // TRANSFER_WRITE
0x00002000, // HOST_READ
0x00004000, // HOST_WRITE
0x00008000, // MEMORY_READ
0x00010000, // MEMORY_WRITE
0x00080000, // COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
0x00020000, // COMMAND_PROCESS_READ_BIT_NVX
0x00040000, // COMMAND_PROCESS_WRITE_BIT_NVX
0x00100000, // CONDITIONAL_RENDERING_READ_BIT_EXT
0x00800000, // RESERVED_23_BIT_NV
0x00200000, // RESERVED_21_BIT_NV
0x00400000, // RESERVED_22_BIT_NV
0x01000000, // RESERVED_24_BIT_EXT
0x00200000, // ACCELERATION_STRUCTURE_READ_BIT_NVX
0x00400000, // ACCELERATION_STRUCTURE_WRITE_BIT_NVX
0x02000000, // TRANSFORM_FEEDBACK_WRITE_BIT_EXT
0x04000000, // TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
0x08000000, // TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT
0x40000000, // RESERVED_30_BIT_KHR
0x10000000, // RESERVED_28_BIT_KHR
0x20000000, // RESERVED_29_BIT_KHR
0x80000000, // RESERVED_31_BIT_KHR
0x01000000, // FRAGMENT_DENSITY_MAP_READ_BIT_EXT
0x00200000, // ACCELERATION_STRUCTURE_READ_BIT_KHR
0x00400000, // ACCELERATION_STRUCTURE_WRITE_BIT_KHR
0x00800000, // FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
0, // NONE
0x00020000, // COMMAND_PREPROCESS_READ_BIT_EXT
0x00040000, // COMMAND_PREPROCESS_WRITE_BIT_EXT
};
static char const *const VkBufferUsageFlagsStrings[51] = {
"RAY_TRACING_BIT_NV", // 0x00000400
"SHADER_DEVICE_ADDRESS_BIT_EXT", // 0x00020000
"SHADER_DEVICE_ADDRESS_BIT_KHR", // 0x00020000
"TRANSFER_SRC", // 0x00000001
"TRANSFER_DST", // 0x00000002
"UNIFORM_TEXEL_BUFFER", // 0x00000004
"STORAGE_TEXEL_BUFFER", // 0x00000008
"UNIFORM_BUFFER", // 0x00000010
"STORAGE_BUFFER", // 0x00000020
"INDEX_BUFFER", // 0x00000040
"VERTEX_BUFFER", // 0x00000080
"INDIRECT_BUFFER", // 0x00000100
"CONDITIONAL_RENDERING_BIT_EXT", // 0x00000200
"RESERVED_10_BIT_NV", // 0x00000400
"RAYTRACING_BIT_NVX", // 0x00000400
"TRANSFORM_FEEDBACK_BUFFER_BIT_EXT", // 0x00000800
"TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT", // 0x00001000
"RESERVED_13_BIT_KHR", // 0x00002000
"RESERVED_14_BIT_KHR", // 0x00004000
"RESERVED_15_BIT_KHR", // 0x00008000
"RESERVED_16_BIT_KHR", // 0x00010000
"SHADER_DEVICE_ADDRESS", // 0x00020000
"RESERVED_18_BIT_QCOM", // 0x00040000
"RAY_TRACING_BIT_KHR", // 0x00000400
"RESERVED_19_BIT_KHR", // 0x00080000
"RESERVED_20_BIT_KHR", // 0x00100000
"ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR", // 0x00080000
"ACCELERATION_STRUCTURE_STORAGE_BIT_KHR", // 0x00100000
"SHADER_BINDING_TABLE_BIT_KHR", // 0x00000400
"VIDEO_DECODE_SRC_BIT_KHR", // 0x00002000
"VIDEO_DECODE_DST_BIT_KHR", // 0x00004000
"VIDEO_ENCODE_DST_BIT_KHR", // 0x00008000
"VIDEO_ENCODE_SRC_BIT_KHR", // 0x00010000
"RESERVED_21_BIT_AMD", // 0x00200000
"RESERVED_22_BIT_AMD", // 0x00400000
"RESERVED_23_BIT_NV", // 0x00800000
"RESERVED_24_BIT_NV", // 0x01000000
"RESERVED_25_BIT_AMD", // 0x02000000
"MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT", // 0x00800000
"MICROMAP_STORAGE_BIT_EXT", // 0x01000000
"SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT", // 0x00200000
"RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT", // 0x00400000
"PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT", // 0x04000000
"EXECUTION_GRAPH_SCRATCH_BIT_AMDX", // 0x02000000
"RESERVED_27_BIT_QCOM", // 0x08000000
"RESERVED_28_BIT_KHR", // 0x10000000
"RESERVED_29_BIT_KHR", // 0x20000000
"RESERVED_30_BIT_KHR", // 0x40000000
"TILE_MEMORY_QCOM", // 0x08000000
"TILE_MEMORY_BIT_QCOM", // 0x08000000
"DESCRIPTOR_HEAP_BIT_EXT", // 0x10000000
};
static uint32_t const VkBufferUsageFlagsValues[51] = {
0x00000400, // RAY_TRACING_BIT_NV
0x00020000, // SHADER_DEVICE_ADDRESS_BIT_EXT
0x00020000, // SHADER_DEVICE_ADDRESS_BIT_KHR
0x00000001, // TRANSFER_SRC
0x00000002, // TRANSFER_DST
0x00000004, // UNIFORM_TEXEL_BUFFER
0x00000008, // STORAGE_TEXEL_BUFFER
0x00000010, // UNIFORM_BUFFER
0x00000020, // STORAGE_BUFFER
0x00000040, // INDEX_BUFFER
0x00000080, // VERTEX_BUFFER
0x00000100, // INDIRECT_BUFFER
0x00000200, // CONDITIONAL_RENDERING_BIT_EXT
0x00000400, // RESERVED_10_BIT_NV
0x00000400, // RAYTRACING_BIT_NVX
0x00000800, // TRANSFORM_FEEDBACK_BUFFER_BIT_EXT
0x00001000, // TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT
0x00002000, // RESERVED_13_BIT_KHR
0x00004000, // RESERVED_14_BIT_KHR
0x00008000, // RESERVED_15_BIT_KHR
0x00010000, // RESERVED_16_BIT_KHR
0x00020000, // SHADER_DEVICE_ADDRESS
0x00040000, // RESERVED_18_BIT_QCOM
0x00000400, // RAY_TRACING_BIT_KHR
0x00080000, // RESERVED_19_BIT_KHR
0x00100000, // RESERVED_20_BIT_KHR
0x00080000, // ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR
0x00100000, // ACCELERATION_STRUCTURE_STORAGE_BIT_KHR
0x00000400, // SHADER_BINDING_TABLE_BIT_KHR
0x00002000, // VIDEO_DECODE_SRC_BIT_KHR
0x00004000, // VIDEO_DECODE_DST_BIT_KHR
0x00008000, // VIDEO_ENCODE_DST_BIT_KHR
0x00010000, // VIDEO_ENCODE_SRC_BIT_KHR
0x00200000, // RESERVED_21_BIT_AMD
0x00400000, // RESERVED_22_BIT_AMD
0x00800000, // RESERVED_23_BIT_NV
0x01000000, // RESERVED_24_BIT_NV
0x02000000, // RESERVED_25_BIT_AMD
0x00800000, // MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT
0x01000000, // MICROMAP_STORAGE_BIT_EXT
0x00200000, // SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT
0x00400000, // RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT
0x04000000, // PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT
0x02000000, // EXECUTION_GRAPH_SCRATCH_BIT_AMDX
0x08000000, // RESERVED_27_BIT_QCOM
0x10000000, // RESERVED_28_BIT_KHR
0x20000000, // RESERVED_29_BIT_KHR
0x40000000, // RESERVED_30_BIT_KHR
0x08000000, // TILE_MEMORY_QCOM
0x08000000, // TILE_MEMORY_BIT_QCOM
0x10000000, // DESCRIPTOR_HEAP_BIT_EXT
};
static char const *const VkBufferCreateFlagsStrings[13] = {
"DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT", // 0x00000010
"DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR", // 0x00000010
"SPARSE_BINDING", // 0x00000001
"SPARSE_RESIDENCY", // 0x00000002
"SPARSE_ALIASED", // 0x00000004
"PROTECTED", // 0x00000008
"DEVICE_ADDRESS_CAPTURE_REPLAY", // 0x00000010
"RESERVED_5_BIT_NV", // 0x00000020
"RESERVED_5_BIT_AMD", // 0x00000020
"DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT", // 0x00000020
"RESERVED_6_BIT_KHR", // 0x00000040
"VIDEO_PROFILE_INDEPENDENT_BIT_KHR", // 0x00000040
"RESERVED_7_BIT_IMG", // 0x00000080
};
static uint32_t const VkBufferCreateFlagsValues[13] = {
0x00000010, // DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
0x00000010, // DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
0x00000001, // SPARSE_BINDING
0x00000002, // SPARSE_RESIDENCY
0x00000004, // SPARSE_ALIASED
0x00000008, // PROTECTED
0x00000010, // DEVICE_ADDRESS_CAPTURE_REPLAY
0x00000020, // RESERVED_5_BIT_NV
0x00000020, // RESERVED_5_BIT_AMD
0x00000020, // DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT
0x00000040, // RESERVED_6_BIT_KHR
0x00000040, // VIDEO_PROFILE_INDEPENDENT_BIT_KHR
0x00000080, // RESERVED_7_BIT_IMG
};
static char const *const VkShaderStageFlagsStrings[46] = {
"TASK_BIT_NV", // 0x00000040
"MESH_BIT_NV", // 0x00000080
"RAYGEN_BIT_NV", // 0x00000100
"ANY_HIT_BIT_NV", // 0x00000200
"CLOSEST_HIT_BIT_NV", // 0x00000400
"MISS_BIT_NV", // 0x00000800
"INTERSECTION_BIT_NV", // 0x00001000
"CALLABLE_BIT_NV", // 0x00002000
"VERTEX", // 0x00000001
"TESSELLATION_CONTROL", // 0x00000002
"TESSELLATION_EVALUATION", // 0x00000004
"GEOMETRY", // 0x00000008
"FRAGMENT", // 0x00000010
"COMPUTE", // 0x00000020
"ALL_GRAPHICS", // 0x0000001F
"ALL", // 0x7FFFFFFF
"RESERVED_8_BIT_NV", // 0x00000100
"RESERVED_9_BIT_NV", // 0x00000200
"RESERVED_10_BIT_NV", // 0x00000400
"RESERVED_11_BIT_NV", // 0x00000800
"RESERVED_12_BIT_NV", // 0x00001000
"RESERVED_13_BIT_NV", // 0x00002000
"RESERVED_6_BIT_NV", // 0x00000040
"RESERVED_7_BIT_NV", // 0x00000080
"RAYGEN_BIT_NVX", // 0x00000100
"ANY_HIT_BIT_NVX", // 0x00000200
"CLOSEST_HIT_BIT_NVX", // 0x00000400
"MISS_BIT_NVX", // 0x00000800
"INTERSECTION_BIT_NVX", // 0x00001000
"CALLABLE_BIT_NVX", // 0x00002000
"RAYGEN_BIT_KHR", // 0x00000100
"ANY_HIT_BIT_KHR", // 0x00000200
"CLOSEST_HIT_BIT_KHR", // 0x00000400
"MISS_BIT_KHR", // 0x00000800
"INTERSECTION_BIT_KHR", // 0x00001000
"CALLABLE_BIT_KHR", // 0x00002000
"SUBPASS_SHADING_BIT_HUAWEI", // 0x00004000
"EXT_483_RESERVE_15", // 0x00008000
"EXT_483_RESERVE_16", // 0x00010000
"EXT_483_RESERVE_17", // 0x00020000
"TASK_BIT_EXT", // 0x00000040
"MESH_BIT_EXT", // 0x00000080
"RESERVED_19_BIT_HUAWEI", // 0x00080000
"CLUSTER_CULLING_BIT_HUAWEI", // 0x00080000
"RESERVED_15_BIT_NV", // 0x00008000
"RESERVED_16_BIT_HUAWEI", // 0x00010000
};
static uint32_t const VkShaderStageFlagsValues[46] = {
0x00000040, // TASK_BIT_NV
0x00000080, // MESH_BIT_NV
0x00000100, // RAYGEN_BIT_NV
0x00000200, // ANY_HIT_BIT_NV
0x00000400, // CLOSEST_HIT_BIT_NV
0x00000800, // MISS_BIT_NV
0x00001000, // INTERSECTION_BIT_NV
0x00002000, // CALLABLE_BIT_NV
0x00000001, // VERTEX
0x00000002, // TESSELLATION_CONTROL
0x00000004, // TESSELLATION_EVALUATION
0x00000008, // GEOMETRY
0x00000010, // FRAGMENT
0x00000020, // COMPUTE
0x0000001F, // ALL_GRAPHICS
0x7FFFFFFF, // ALL
0x00000100, // RESERVED_8_BIT_NV
0x00000200, // RESERVED_9_BIT_NV
0x00000400, // RESERVED_10_BIT_NV
0x00000800, // RESERVED_11_BIT_NV
0x00001000, // RESERVED_12_BIT_NV
0x00002000, // RESERVED_13_BIT_NV
0x00000040, // RESERVED_6_BIT_NV
0x00000080, // RESERVED_7_BIT_NV
0x00000100, // RAYGEN_BIT_NVX
0x00000200, // ANY_HIT_BIT_NVX
0x00000400, // CLOSEST_HIT_BIT_NVX
0x00000800, // MISS_BIT_NVX
0x00001000, // INTERSECTION_BIT_NVX
0x00002000, // CALLABLE_BIT_NVX
0x00000100, // RAYGEN_BIT_KHR
0x00000200, // ANY_HIT_BIT_KHR
0x00000400, // CLOSEST_HIT_BIT_KHR
0x00000800, // MISS_BIT_KHR
0x00001000, // INTERSECTION_BIT_KHR
0x00002000, // CALLABLE_BIT_KHR
0x00004000, // SUBPASS_SHADING_BIT_HUAWEI
0x00008000, // EXT_483_RESERVE_15
0x00010000, // EXT_483_RESERVE_16
0x00020000, // EXT_483_RESERVE_17
0x00000040, // TASK_BIT_EXT
0x00000080, // MESH_BIT_EXT
0x00080000, // RESERVED_19_BIT_HUAWEI
0x00080000, // CLUSTER_CULLING_BIT_HUAWEI
0x00008000, // RESERVED_15_BIT_NV
0x00010000, // RESERVED_16_BIT_HUAWEI
};
static char const *const VkImageUsageFlagsStrings[54] = {
"SHADING_RATE_IMAGE_BIT_NV", // 0x00000100
"HOST_TRANSFER_BIT_EXT", // 0x00400000
"TRANSFER_SRC", // 0x00000001
"TRANSFER_DST", // 0x00000002
"SAMPLED", // 0x00000004
"STORAGE", // 0x00000008
"COLOR_ATTACHMENT", // 0x00000010
"DEPTH_STENCIL_ATTACHMENT", // 0x00000020
"TRANSIENT_ATTACHMENT", // 0x00000040
"INPUT_ATTACHMENT", // 0x00000080
"RESERVED_8_BIT_NV", // 0x00000100
"RESERVED_9_BIT_EXT", // 0x00000200
"RESERVED_13_BIT_KHR", // 0x00002000
"RESERVED_14_BIT_KHR", // 0x00004000
"RESERVED_15_BIT_KHR", // 0x00008000
"RESERVED_10_BIT_KHR", // 0x00000400
"RESERVED_11_BIT_KHR", // 0x00000800
"RESERVED_12_BIT_KHR", // 0x00001000
"FRAGMENT_DENSITY_MAP_BIT_EXT", // 0x00000200
"RESERVED_16_BIT_QCOM", // 0x00010000
"RESERVED_17_BIT_QCOM", // 0x00020000
"FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR", // 0x00000100
"VIDEO_DECODE_DST_BIT_KHR", // 0x00000400
"VIDEO_DECODE_SRC_BIT_KHR", // 0x00000800
"VIDEO_DECODE_DPB_BIT_KHR", // 0x00001000
"VIDEO_ENCODE_DST_BIT_KHR", // 0x00002000
"VIDEO_ENCODE_SRC_BIT_KHR", // 0x00004000
"VIDEO_ENCODE_DPB_BIT_KHR", // 0x00008000
"RESERVED_18_BIT_HUAWEI", // 0x00040000
"INVOCATION_MASK_BIT_HUAWEI", // 0x00040000
"RESERVED_19_BIT_EXT", // 0x00080000
"RESERVED_20_BIT_QCOM", // 0x00100000
"RESERVED_21_BIT_QCOM", // 0x00200000
"RESERVED_22_BIT_EXT", // 0x00400000
"SAMPLE_WEIGHT_BIT_QCOM", // 0x00100000
"SAMPLE_BLOCK_MATCH_BIT_QCOM", // 0x00200000
"ATTACHMENT_FEEDBACK_LOOP_BIT_EXT", // 0x00080000
"RESERVED_23_BIT_EXT", // 0x00800000
"RESERVED_24_BIT_COREAVI", // 0x01000000
"RESERVED_25_BIT_KHR", // 0x02000000
"RESERVED_26_BIT_KHR", // 0x04000000
"VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR", // 0x02000000
"VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR", // 0x04000000
"HOST_TRANSFER", // 0x00400000
"RESERVED_27_QCOM", // 0x08000000
"TILE_MEMORY_QCOM", // 0x08000000
"TILE_MEMORY_BIT_QCOM", // 0x08000000
"TENSOR_ALIASING_BIT_ARM", // 0x00800000
"RESERVED_28_BIT_EXT", // 0x10000000
"RESERVED_29_BIT_KHR", // 0x20000000
"RESERVED_30_BIT_KHR", // 0x40000000
"RESERVED_16_BIT_HUAWEI", // 0x00010000
"RESERVED_27_BIT_HUAWEI", // 0x00020000
"RESERVED_17_BIT_HUAWEI", // 0x00020000
};
static uint32_t const VkImageUsageFlagsValues[54] = {
0x00000100, // SHADING_RATE_IMAGE_BIT_NV
0x00400000, // HOST_TRANSFER_BIT_EXT
0x00000001, // TRANSFER_SRC
0x00000002, // TRANSFER_DST
0x00000004, // SAMPLED
0x00000008, // STORAGE
0x00000010, // COLOR_ATTACHMENT
0x00000020, // DEPTH_STENCIL_ATTACHMENT
0x00000040, // TRANSIENT_ATTACHMENT
0x00000080, // INPUT_ATTACHMENT
0x00000100, // RESERVED_8_BIT_NV
0x00000200, // RESERVED_9_BIT_EXT
0x00002000, // RESERVED_13_BIT_KHR
0x00004000, // RESERVED_14_BIT_KHR
0x00008000, // RESERVED_15_BIT_KHR
0x00000400, // RESERVED_10_BIT_KHR
0x00000800, // RESERVED_11_BIT_KHR
0x00001000, // RESERVED_12_BIT_KHR
0x00000200, // FRAGMENT_DENSITY_MAP_BIT_EXT
0x00010000, // RESERVED_16_BIT_QCOM
0x00020000, // RESERVED_17_BIT_QCOM
0x00000100, // FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
0x00000400, // VIDEO_DECODE_DST_BIT_KHR
0x00000800, // VIDEO_DECODE_SRC_BIT_KHR
0x00001000, // VIDEO_DECODE_DPB_BIT_KHR
0x00002000, // VIDEO_ENCODE_DST_BIT_KHR
0x00004000, // VIDEO_ENCODE_SRC_BIT_KHR
0x00008000, // VIDEO_ENCODE_DPB_BIT_KHR
0x00040000, // RESERVED_18_BIT_HUAWEI
0x00040000, // INVOCATION_MASK_BIT_HUAWEI
0x00080000, // RESERVED_19_BIT_EXT
0x00100000, // RESERVED_20_BIT_QCOM
0x00200000, // RESERVED_21_BIT_QCOM
0x00400000, // RESERVED_22_BIT_EXT
0x00100000, // SAMPLE_WEIGHT_BIT_QCOM
0x00200000, // SAMPLE_BLOCK_MATCH_BIT_QCOM
0x00080000, // ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
0x00800000, // RESERVED_23_BIT_EXT
0x01000000, // RESERVED_24_BIT_COREAVI
0x02000000, // RESERVED_25_BIT_KHR
0x04000000, // RESERVED_26_BIT_KHR
0x02000000, // VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR
0x04000000, // VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR
0x00400000, // HOST_TRANSFER
0x08000000, // RESERVED_27_QCOM
0x08000000, // TILE_MEMORY_QCOM
0x08000000, // TILE_MEMORY_BIT_QCOM
0x00800000, // TENSOR_ALIASING_BIT_ARM
0x10000000, // RESERVED_28_BIT_EXT
0x20000000, // RESERVED_29_BIT_KHR
0x40000000, // RESERVED_30_BIT_KHR
0x00010000, // RESERVED_16_BIT_HUAWEI
0x00020000, // RESERVED_27_BIT_HUAWEI
0x00020000, // RESERVED_17_BIT_HUAWEI
};
static char const *const VkImageCreateFlagsStrings[41] = {
"SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR", // 0x00000040
"2D_ARRAY_COMPATIBLE_BIT_KHR", // 0x00000020
"BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR", // 0x00000080
"EXTENDED_USAGE_BIT_KHR", // 0x00000100
"DISJOINT_BIT_KHR", // 0x00000200
"ALIAS_BIT_KHR", // 0x00000400
"FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM", // 0x00008000
"DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT", // 0x00010000
"SPARSE_BINDING", // 0x00000001
"SPARSE_RESIDENCY", // 0x00000002
"SPARSE_ALIASED", // 0x00000004
"MUTABLE_FORMAT", // 0x00000008
"CUBE_COMPATIBLE", // 0x00000010
"ALIAS", // 0x00000400
"SPLIT_INSTANCE_BIND_REGIONS", // 0x00000040
"2D_ARRAY_COMPATIBLE", // 0x00000020
"BLOCK_TEXEL_VIEW_COMPATIBLE", // 0x00000080
"EXTENDED_USAGE", // 0x00000100
"PROTECTED", // 0x00000800
"DISJOINT", // 0x00000200
"SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT", // 0x00001000
"RESERVED_13_BIT_NV", // 0x00002000
"RESERVED_14_BIT_EXT", // 0x00004000
"CORNER_SAMPLED_BIT_NV", // 0x00002000
"SUBSAMPLED_BIT_EXT", // 0x00004000
"RESERVED_15_BIT_NV", // 0x00008000
"RESERVED_426_BIT_QCOM", // 0x00008000
"RESERVED_16_BIT_AMD", // 0x00010000
"RESERVED_394_BIT_EXT", // 0x00020000
"RESERVED_18_BIT_EXT", // 0x00040000
"2D_VIEW_COMPATIBLE_BIT_EXT", // 0x00020000
"MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT", // 0x00040000
"RESERVED_19_BIT_EXT", // 0x00080000
"RESERVED_20_BIT_KHR", // 0x00100000
"VIDEO_PROFILE_INDEPENDENT_BIT_KHR", // 0x00100000
"FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT", // 0x00008000
"RESERVED_21_BIT_IMG", // 0x00200000
"RESERVED_22_BIT_KHR", // 0x00400000
"DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT", // 0x00010000
"ALIAS_SINGLE_LAYER_DESCRIPTOR_BIT_KHR", // 0x00400000
"RESERVED_19_BIT_NV", // 0x00080000
};
static uint32_t const VkImageCreateFlagsValues[41] = {
0x00000040, // SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
0x00000020, // 2D_ARRAY_COMPATIBLE_BIT_KHR
0x00000080, // BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR
0x00000100, // EXTENDED_USAGE_BIT_KHR
0x00000200, // DISJOINT_BIT_KHR
0x00000400, // ALIAS_BIT_KHR
0x00008000, // FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM
0x00010000, // DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT
0x00000001, // SPARSE_BINDING
0x00000002, // SPARSE_RESIDENCY
0x00000004, // SPARSE_ALIASED
0x00000008, // MUTABLE_FORMAT
0x00000010, // CUBE_COMPATIBLE
0x00000400, // ALIAS
0x00000040, // SPLIT_INSTANCE_BIND_REGIONS
0x00000020, // 2D_ARRAY_COMPATIBLE
0x00000080, // BLOCK_TEXEL_VIEW_COMPATIBLE
0x00000100, // EXTENDED_USAGE
0x00000800, // PROTECTED
0x00000200, // DISJOINT
0x00001000, // SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT
0x00002000, // RESERVED_13_BIT_NV
0x00004000, // RESERVED_14_BIT_EXT
0x00002000, // CORNER_SAMPLED_BIT_NV
0x00004000, // SUBSAMPLED_BIT_EXT
0x00008000, // RESERVED_15_BIT_NV
0x00008000, // RESERVED_426_BIT_QCOM
0x00010000, // RESERVED_16_BIT_AMD
0x00020000, // RESERVED_394_BIT_EXT
0x00040000, // RESERVED_18_BIT_EXT
0x00020000, // 2D_VIEW_COMPATIBLE_BIT_EXT
0x00040000, // MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT
You can’t perform that action at this time.
