-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvulkan-type-info.lisp
2327 lines (2317 loc) · 99.2 KB
/
vulkan-type-info.lisp
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
;;;; vulkan-type-info.lisp
(in-package #:cl-vulkan)
(declaim (optimize (debug 3) (speed 0) (space 0)))
(proclaim '(optimize debug))
(defparameter *total-unions* '(%vk:clear-value
%vk:clear-color-value))
(defparameter *total-structs* '(%vk:xlib-surface-create-info-khr
%vk:xcb-surface-create-info-khr
%vk:x-y-color-ext
%vk:write-descriptor-set
%vk:descriptor-buffer-info
%vk:descriptor-image-info
%vk:win32-surface-create-info-khr
%vk:win32-keyed-mutex-acquire-release-info-nv
%vk:win32-keyed-mutex-acquire-release-info-khx
%vk:wayland-surface-create-info-khr
%vk:viewport-w-scaling-nv
%vk:viewport-swizzle-nv
%vk:viewport
%vk:vi-surface-create-info-nn
%vk:vertex-input-binding-description
%vk:vertex-input-attribute-description
%vk:validation-flags-ext
%vk:texture-l-o-d-gather-format-properties-amd
%vk:swapchain-create-info-khr
%vk:swapchain-counter-create-info-ext
%vk:surface-format-2-khr
%vk:surface-format-khr
%vk:surface-capabilities-2-khr
%vk:surface-capabilities-khr
%vk:surface-capabilities-2-ext
%vk:subresource-layout
%vk:subpass-description
%vk:subpass-dependency
%vk:submit-info
%vk:stencil-op-state
%vk:specialization-map-entry
%vk:specialization-info
%vk:sparse-memory-bind
%vk:sparse-image-opaque-memory-bind-info
%vk:sparse-image-memory-requirements
%vk:sparse-image-memory-bind-info
%vk:sparse-image-memory-bind
%vk:sparse-image-format-properties-2-khr
%vk:sparse-image-format-properties
%vk:sparse-buffer-memory-bind-info
%vk:shared-present-surface-capabilities-khr
%vk:shader-module-create-info
%vk:semaphore-create-info
%vk:sampler-create-info
%vk:render-pass-multiview-create-info-khx
%vk:render-pass-create-info
%vk:subpass-dependency
%vk:subpass-description
%vk:attachment-reference
%vk:attachment-description
%vk:render-pass-begin-info
%vk:refresh-cycle-duration-google
%vk:rect-layer-khr
%vk:rect-3d
%vk:queue-family-properties-2-khr
%vk:queue-family-properties
%vk:query-pool-create-info
%vk:push-constant-range
%vk:present-times-info-google
%vk:present-time-google
%vk:present-regions-khr
%vk:present-region-khr
%vk:rect-layer-khr
%vk:present-info-khr
%vk:pipeline-viewport-w-scaling-state-create-info-nv
%vk:viewport-w-scaling-nv
%vk:pipeline-viewport-swizzle-state-create-info-nv
%vk:viewport-swizzle-nv
%vk:pipeline-viewport-state-create-info
%vk:pipeline-vertex-input-state-create-info
%vk:pipeline-tessellation-state-create-info
%vk:pipeline-shader-stage-create-info
%vk:pipeline-rasterization-state-rasterization-order-amd
%vk:pipeline-rasterization-state-create-info
%vk:pipeline-multisample-state-create-info
%vk:pipeline-layout-create-info
%vk:push-constant-range
%vk:pipeline-input-assembly-state-create-info
%vk:pipeline-dynamic-state-create-info
%vk:pipeline-discard-rectangle-state-create-info-ext
%vk:pipeline-depth-stencil-state-create-info
%vk:pipeline-color-blend-state-create-info
%vk:pipeline-color-blend-attachment-state
%vk:pipeline-cache-create-info
%vk:physical-device-surface-info-2-khr
%vk:physical-device-sparse-properties
%vk:physical-device-sparse-image-format-info-2-khr
%vk:physical-device-push-descriptor-properties-khr
%vk:physical-device-properties-2-khr
%vk:physical-device-properties
%vk:physical-device-properties
%vk:physical-device-sparse-properties
%vk:physical-device-limits
%vk:physical-device-multiview-properties-khx
%vk:physical-device-multiview-per-view-attributes-properties-nvx
%vk:physical-device-multiview-features-khx
%vk:physical-device-memory-properties-2-khr
%vk:physical-device-memory-properties
%vk:physical-device-memory-properties
%vk:memory-heap
%vk:memory-type
%vk:physical-device-limits
%vk:physical-device-image-format-info-2-khr
%vk:physical-device-id-properties-khx
%vk:physical-device-group-properties-khx
%vk:physical-device-features-2-khr
%vk:physical-device-features
%vk:physical-device-external-semaphore-info-khx
%vk:physical-device-external-image-format-info-khx
%vk:physical-device-external-buffer-info-khx
%vk:physical-device-discard-rectangle-properties-ext
%vk:past-presentation-timing-google
%vk:offset-3d
%vk:offset-2d
%vk:object-table-vertex-buffer-entry-nvx
%vk:object-table-push-constant-entry-nvx
%vk:object-table-pipeline-entry-nvx
%vk:object-table-index-buffer-entry-nvx
%vk:object-table-entry-nvx
%vk:object-table-descriptor-set-entry-nvx
%vk:object-table-create-info-nvx
%vk:mir-surface-create-info-khr
%vk:memory-win32-handle-properties-khx
%vk:memory-type %vk:memory-requirements
%vk:memory-heap
%vk:memory-fd-properties-khx
%vk:memory-barrier
%vk:memory-allocate-info
%vk:memory-allocate-flags-info-khx
%vk:mapped-memory-range
%vk:mac-o-s-surface-create-info-mvk
%vk:layer-properties
%vk:instance-create-info
%vk:application-info
%vk:indirect-commands-token-nvx
%vk:indirect-commands-layout-token-nvx
%vk:indirect-commands-layout-create-info-nvx
%vk:indirect-commands-layout-token-nvx
%vk:import-semaphore-win32-handle-info-khx
%vk:import-semaphore-fd-info-khx
%vk:import-memory-win32-handle-info-nv
%vk:import-memory-win32-handle-info-khx
%vk:import-memory-fd-info-khx
%vk:image-view-create-info
%vk:component-mapping
%vk:image-swapchain-create-info-khx
%vk:image-subresource-range
%vk:image-subresource-layers
%vk:image-subresource
%vk:image-resolve
%vk:image-memory-barrier
%vk:image-subresource-range
%vk:image-format-properties-2-khr
%vk:image-format-properties
%vk:image-create-info
%vk:image-copy
%vk:image-blit
%vk:i-o-s-surface-create-info-mvk
%vk:hdr-metadata-ext
%vk:x-y-color-ext
%vk:graphics-pipeline-create-info
%vk:pipeline-dynamic-state-create-info
%vk:pipeline-color-blend-state-create-info
%vk:pipeline-color-blend-attachment-state
%vk:pipeline-depth-stencil-state-create-info
%vk:stencil-op-state
%vk:pipeline-multisample-state-create-info
%vk:pipeline-rasterization-state-create-info
%vk:pipeline-viewport-state-create-info
%vk:viewport
%vk:pipeline-tessellation-state-create-info
%vk:pipeline-input-assembly-state-create-info
%vk:pipeline-vertex-input-state-create-info
%vk:vertex-input-attribute-description
%vk:vertex-input-binding-description
%vk:framebuffer-create-info
%vk:format-properties-2-khr
%vk:format-properties
%vk:format-properties
%vk:fence-create-info
%vk:external-semaphore-properties-khx
%vk:external-memory-properties-khx
%vk:external-memory-image-create-info-nv
%vk:external-memory-image-create-info-khx
%vk:external-memory-buffer-create-info-khx
%vk:external-image-format-properties-nv
%vk:image-format-properties
%vk:external-image-format-properties-khx
%vk:external-buffer-properties-khx
%vk:external-memory-properties-khx
%vk:extent-3d
%vk:extent-2d
%vk:extension-properties
%vk:export-semaphore-win32-handle-info-khx
%vk:export-semaphore-create-info-khx
%vk:export-memory-win32-handle-info-nv
%vk:export-memory-win32-handle-info-khx
%vk:export-memory-allocate-info-nv
%vk:export-memory-allocate-info-khx
%vk:event-create-info
%vk:draw-indirect-command
%vk:draw-indexed-indirect-command
%vk:display-surface-create-info-khr
%vk:display-properties-khr
%vk:display-present-info-khr
%vk:display-power-info-ext
%vk:display-plane-properties-khr
%vk:display-plane-capabilities-khr
%vk:display-mode-properties-khr
%vk:display-mode-parameters-khr
%vk:display-mode-create-info-khr
%vk:display-mode-parameters-khr
%vk:display-event-info-ext
%vk:dispatch-indirect-command
%vk:device-queue-create-info
%vk:device-group-swapchain-create-info-khx
%vk:device-group-submit-info-khx
%vk:device-group-render-pass-begin-info-khx
%vk:device-group-present-info-khx
%vk:device-group-present-capabilities-khx
%vk:device-group-device-create-info-khx
%vk:device-group-command-buffer-begin-info-khx
%vk:device-group-bind-sparse-info-khx
%vk:device-generated-commands-limits-nvx
%vk:device-generated-commands-features-nvx
%vk:device-event-info-ext
%vk:device-create-info
%vk:physical-device-features
%vk:device-queue-create-info
%vk:descriptor-update-template-entry-khr
%vk:descriptor-update-template-create-info-khr
%vk:descriptor-update-template-entry-khr
%vk:descriptor-set-layout-create-info
%vk:descriptor-set-layout-binding
%vk:descriptor-set-layout-binding
%vk:descriptor-set-allocate-info
%vk:descriptor-pool-size
%vk:descriptor-pool-create-info
%vk:descriptor-pool-size
%vk:descriptor-image-info
%vk:descriptor-buffer-info
%vk:dedicated-allocation-memory-allocate-info-nv
%vk:dedicated-allocation-image-create-info-nv
%vk:dedicated-allocation-buffer-create-info-nv
%vk:debug-report-callback-create-info-ext
%vk:debug-marker-object-tag-info-ext
%vk:debug-marker-object-name-info-ext
%vk:debug-marker-marker-info-ext
%vk:d-3d-1-2-fence-submit-info-khx
%vk:copy-descriptor-set
%vk:compute-pipeline-create-info
%vk:pipeline-shader-stage-create-info
%vk:specialization-info
%vk:specialization-map-entry
%vk:component-mapping
%vk:command-pool-create-info
%vk:command-buffer-inheritance-info
%vk:command-buffer-begin-info
%vk:command-buffer-inheritance-info
%vk:command-buffer-allocate-info
%vk:cmd-reserve-space-for-commands-info-nvx
%vk:cmd-process-commands-info-nvx
%vk:indirect-commands-token-nvx
%vk:clear-rect
%vk:clear-depth-stencil-value
%vk:clear-attachment
%vk:clear-depth-stencil-value
%vk:buffer-view-create-info
%vk:buffer-memory-barrier
%vk:buffer-image-copy
%vk:image-subresource-layers
%vk:buffer-create-info
%vk:buffer-copy
%vk:bind-sparse-info
%vk:sparse-image-memory-bind-info
%vk:sparse-image-memory-bind
%vk:extent-3d
%vk:offset-3d
%vk:image-subresource
%vk:sparse-image-opaque-memory-bind-info
%vk:sparse-buffer-memory-bind-info
%vk:sparse-memory-bind
%vk:bind-image-memory-swapchain-info-khx
%vk:bind-image-memory-info-khx
%vk:rect-2d
%vk:extent-2d
%vk:offset-2d
%vk:bind-buffer-memory-info-khx
%vk:attachment-reference
%vk:attachment-description
%vk:application-info
%vk:android-surface-create-info-khr
%vk:allocation-callbacks
%vk:acquire-next-image-info-khx
%vk::security_attributes
%vk::wl_surface
%vk::wl_display))
(defparameter *total-bitfields* '(%vk:xlib-surface-create-flags-khr
%vk:xcb-surface-create-flags-khr
%vk:win32-surface-create-flags-khr
%vk:wayland-surface-create-flags-khr
%vk:vi-surface-create-flags-nn
%vk:swapchain-create-flags-khr
%vk:swapchain-create-flag-bits-khr
%vk:surface-transform-flags-khr
%vk:surface-transform-flag-bits-khr
%vk:surface-counter-flags-ext
%vk:surface-counter-flag-bits-ext
%vk:subpass-description-flags
%vk:subpass-description-flag-bits
%vk:stencil-face-flags
%vk:stencil-face-flag-bits
%vk:sparse-memory-bind-flags
%vk:sparse-memory-bind-flag-bits
%vk:sparse-image-format-flags
%vk:sparse-image-format-flag-bits
%vk:shader-stage-flags
%vk:shader-stage-flag-bits
%vk:shader-module-create-flags
%vk:semaphore-create-flags
%vk:sampler-create-flags
%vk:sample-count-flags
%vk:sample-count-flag-bits
%vk:render-pass-create-flags
%vk:queue-flags
%vk:queue-flag-bits
%vk:query-result-flags
%vk:query-result-flag-bits
%vk:query-pool-create-flags
%vk:query-pipeline-statistic-flags
%vk:query-pipeline-statistic-flag-bits
%vk:query-control-flags
%vk:query-control-flag-bits
%vk:pipeline-viewport-swizzle-state-create-flags-nv
%vk:pipeline-viewport-state-create-flags
%vk:pipeline-vertex-input-state-create-flags
%vk:pipeline-tessellation-state-create-flags
%vk:pipeline-stage-flags
%vk:pipeline-stage-flag-bits
%vk:pipeline-shader-stage-create-flags
%vk:pipeline-rasterization-state-create-flags
%vk:pipeline-multisample-state-create-flags
%vk:pipeline-layout-create-flags
%vk:pipeline-input-assembly-state-create-flags
%vk:pipeline-dynamic-state-create-flags
%vk:pipeline-discard-rectangle-state-create-flags-ext
%vk:pipeline-depth-stencil-state-create-flags
%vk:pipeline-create-flags
%vk:pipeline-create-flag-bits
%vk:pipeline-color-blend-state-create-flags
%vk:pipeline-cache-create-flags
%vk:peer-memory-feature-flags-khx
%vk:peer-memory-feature-flag-bits-khx
%vk:object-entry-usage-flags-nvx
%vk:object-entry-usage-flag-bits-nvx
%vk:mir-surface-create-flags-khr
%vk:memory-property-flags
%vk:memory-property-flag-bits
%vk:memory-map-flags
%vk:memory-heap-flags
%vk:memory-heap-flag-bits
%vk:memory-allocate-flags-khx
%vk:memory-allocate-flag-bits-khx
%vk:mac-o-s-surface-create-flags-mvk
%vk:instance-create-flags
%vk:indirect-commands-layout-usage-flags-nvx
%vk:indirect-commands-layout-usage-flag-bits-nvx
%vk:image-view-create-flags
%vk:image-usage-flags
%vk:image-usage-flag-bits
%vk:image-create-flags
%vk:image-create-flag-bits
%vk:image-aspect-flags
%vk:image-aspect-flag-bits
%vk:i-o-s-surface-create-flags-mvk
%vk:framebuffer-create-flags
%vk:format-feature-flags
%vk:format-feature-flag-bits
%vk:fence-create-flags
%vk:fence-create-flag-bits
%vk:external-semaphore-handle-type-flags-khx
%vk:external-semaphore-handle-type-flag-bits-khx
%vk:external-semaphore-feature-flags-khx
%vk:external-semaphore-feature-flag-bits-khx
%vk:external-memory-handle-type-flags-nv
%vk:external-memory-handle-type-flags-khx
%vk:external-memory-handle-type-flag-bits-nv
%vk:external-memory-handle-type-flag-bits-khx
%vk:external-memory-feature-flags-nv
%vk:external-memory-feature-flags-khx
%vk:external-memory-feature-flag-bits-nv
%vk:external-memory-feature-flag-bits-khx
%vk:event-create-flags
%vk:display-surface-create-flags-khr
%vk:display-plane-alpha-flags-khr
%vk:display-plane-alpha-flag-bits-khr
%vk:display-mode-create-flags-khr
%vk:device-queue-create-flags
%vk:device-group-present-mode-flags-khx
%vk:device-group-present-mode-flag-bits-khx
%vk:device-create-flags
%vk:descriptor-update-template-create-flags-khr
%vk:descriptor-set-layout-create-flags
%vk:descriptor-set-layout-create-flag-bits
%vk:descriptor-pool-reset-flags
%vk:descriptor-pool-create-flags
%vk:descriptor-pool-create-flag-bits
%vk:dependency-flags
%vk:dependency-flag-bits
%vk:debug-report-flags-ext
%vk:debug-report-flag-bits-ext
%vk:cull-mode-flags
%vk:cull-mode-flag-bits
%vk:composite-alpha-flags-khr
%vk:composite-alpha-flag-bits-khr
%vk:command-pool-trim-flags-khr
%vk:command-pool-reset-flags
%vk:command-pool-reset-flag-bits
%vk:command-pool-create-flags
%vk:command-pool-create-flag-bits
%vk:command-buffer-usage-flags
%vk:command-buffer-usage-flag-bits
%vk:command-buffer-reset-flags
%vk:command-buffer-reset-flag-bits
%vk:color-component-flags
%vk:color-component-flag-bits
%vk:buffer-view-create-flags
%vk:buffer-usage-flags
%vk:buffer-usage-flag-bits
%vk:buffer-create-flags
%vk:buffer-create-flag-bits
%vk:attachment-description-flags
%vk:attachment-description-flag-bits
%vk:android-surface-create-flags-khr
%vk:access-flags
%vk:access-flag-bits))
(defparameter *total-enums* '(%vk:viewport-coordinate-swizzle-nv
%vk:vertex-input-rate
%vk:validation-check-ext
%vk:system-allocation-scope
%vk:subpass-contents
%vk:structure-type
%vk:stencil-op
%vk:sharing-mode
%vk:sampler-mipmap-mode
%vk:sampler-address-mode
%vk:result
%vk:rasterization-order-amd
%vk:query-type
%vk:primitive-topology
%vk:present-mode-khr
%vk:polygon-mode
%vk:pipeline-cache-header-version
%vk:pipeline-bind-point
%vk:physical-device-type
%vk:object-type
%vk:object-entry-type-nvx
%vk:logic-op
%vk:internal-allocation-type
%vk:indirect-commands-token-type-nvx
%vk:index-type
%vk:image-view-type
%vk:image-type
%vk:image-tiling
%vk:image-layout
%vk:front-face
%vk:format
%vk:filter
%vk:dynamic-state
%vk:display-power-state-ext
%vk:display-event-type-ext
%vk:discard-rectangle-mode-ext
%vk:device-event-type-ext
%vk:descriptor-update-template-type-khr
%vk:descriptor-type
%vk:debug-report-object-type-ext
%vk:component-swizzle
%vk:compare-op
%vk:command-buffer-level
%vk:color-space-khr
%vk:border-color
%vk:blend-op
%vk:blend-factor
%vk:attachment-store-op
%vk:attachment-load-op))
(defparameter *structs-plist-hash* (make-hash-table))
(defun prepare-structs-plist()
(setf (gethash '%vk:acquire-next-image-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:swapchain :type %vk::swapchain-khr :opaque t)
(:timeout :type :uint64)
(:semaphore :type %vk::semaphore :opaque t :optional t)
(:fence :type %vk::fence :opaque t :optional t)
(:device-mask :type :uint32)
))
(setf (gethash '%vk:allocation-callbacks *structs-plist-hash*) '(
(:p-user-data :type (:pointer :void) :opaque t :optional t)
(:pfn-allocation :type %vk::pfn-allocation-function)
(:pfn-reallocation :type %vk::pfn-reallocation-function)
(:pfn-free :type %vk::pfn-free-function)
(:pfn-internal-allocation :type %vk::pfn-internal-allocation-notification :optional t)
(:pfn-internal-free :type %vk::pfn-internal-free-notification :optional t)
))
(setf (gethash '%vk:android-surface-create-info-khr *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::android-surface-create-flags-khr :optional t)
(:window :type (:pointer %vk::a-native-window) :opaque t)
))
(setf (gethash '%vk:application-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:p-application-name :type (:pointer :char) :optional t)
(:application-version :type :uint32)
(:p-engine-name :type (:pointer :char) :optional t)
(:engine-version :type :uint32)
(:api-version :type :uint32)
))
(setf (gethash '%vk:attachment-description *structs-plist-hash*) '(
(:flags :type %vk::attachment-description-flags :optional t)
(:format :type %vk::format)
(:samples :type %vk::sample-count-flag-bits)
(:load-op :type %vk::attachment-load-op)
(:store-op :type %vk::attachment-store-op)
(:stencil-load-op :type %vk::attachment-load-op)
(:stencil-store-op :type %vk::attachment-store-op)
(:initial-layout :type %vk::image-layout)
(:final-layout :type %vk::image-layout)
))
(setf (gethash '%vk:attachment-reference *structs-plist-hash*) '(
(:attachment :type :uint32)
(:layout :type %vk::image-layout)
))
(setf (gethash '%vk:bind-buffer-memory-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:buffer :type %vk::buffer :opaque t)
(:memory :type %vk::device-memory :opaque t)
(:memory-offset :type %vk::device-size)
(:device-index-count :type :uint32 :optional t)
(:p-device-indices :type (:pointer :uint32) )
))
(setf (gethash '%vk:bind-image-memory-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:image :type %vk::image :opaque t)
(:memory :type %vk::device-memory :opaque t)
(:memory-offset :type %vk::device-size)
(:device-index-count :type :uint32 :optional t)
(:p-device-indices :type (:pointer :uint32) )
(:s-f-r-rect-count :type :uint32 :optional t)
(:p-s-f-r-rects :type (:pointer (:struct %vk::rect-2d)) )
))
(setf (gethash '%vk:bind-image-memory-swapchain-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:swapchain :type %vk::swapchain-khr :opaque t)
(:image-index :type :uint32)
))
(setf (gethash '%vk:bind-sparse-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:wait-semaphore-count :type :uint32 :optional t)
(:p-wait-semaphores :type (:pointer %vk::semaphore) :opaque t)
(:buffer-bind-count :type :uint32 :optional t)
(:p-buffer-binds :type (:pointer (:struct %vk::sparse-buffer-memory-bind-info)) )
(:image-opaque-bind-count :type :uint32 :optional t)
(:p-image-opaque-binds :type (:pointer (:struct %vk::sparse-image-opaque-memory-bind-info)) )
(:image-bind-count :type :uint32 :optional t)
(:p-image-binds :type (:pointer (:struct %vk::sparse-image-memory-bind-info)) )
(:signal-semaphore-count :type :uint32 :optional t)
(:p-signal-semaphores :type (:pointer %vk::semaphore) :opaque t)
))
(setf (gethash '%vk:buffer-copy *structs-plist-hash*) '(
(:src-offset :type %vk::device-size)
(:dst-offset :type %vk::device-size)
(:size :type %vk::device-size)
))
(setf (gethash '%vk:buffer-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::buffer-create-flags :optional t)
(:size :type %vk::device-size)
(:usage :type %vk::buffer-usage-flags)
(:sharing-mode :type %vk::sharing-mode)
(:queue-family-index-count :type :uint32 :optional t)
(:p-queue-family-indices :type (:pointer :uint32) )
))
(setf (gethash '%vk:buffer-image-copy *structs-plist-hash*) '(
(:buffer-offset :type %vk::device-size)
(:buffer-row-length :type :uint32)
(:buffer-image-height :type :uint32)
(:image-subresource :type (:struct %vk::image-subresource-layers) )
(:image-offset :type (:struct %vk::offset-3d) )
(:image-extent :type (:struct %vk::extent-3d) )
))
(setf (gethash '%vk:buffer-memory-barrier *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:src-access-mask :type %vk::access-flags :optional t)
(:dst-access-mask :type %vk::access-flags :optional t)
(:src-queue-family-index :type :uint32)
(:dst-queue-family-index :type :uint32)
(:buffer :type %vk::buffer :opaque t)
(:offset :type %vk::device-size)
(:size :type %vk::device-size)
))
(setf (gethash '%vk:buffer-view-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::buffer-view-create-flags :optional t)
(:buffer :type %vk::buffer :opaque t)
(:format :type %vk::format)
(:offset :type %vk::device-size)
(:range :type %vk::device-size)
))
(setf (gethash '%vk:clear-attachment *structs-plist-hash*) '(
(:aspect-mask :type %vk::image-aspect-flags)
(:color-attachment :type :uint32)
(:clear-value :type (:union %vk::clear-value) )
))
(setf (gethash '%vk:clear-color-value *structs-plist-hash*) '(
(:float-32 :type :float)
(:int-32 :type :int32)
(:uint-32 :type :uint32)
))
(setf (gethash '%vk:clear-depth-stencil-value *structs-plist-hash*) '(
(:depth :type :float)
(:stencil :type :uint32)
))
(setf (gethash '%vk:clear-rect *structs-plist-hash*) '(
(:rect :type (:struct %vk::rect-2d) )
(:base-array-layer :type :uint32)
(:layer-count :type :uint32)
))
(setf (gethash '%vk:clear-value *structs-plist-hash*) '(
(:color :type (:union %vk::clear-color-value) )
(:depth-stencil :type (:struct %vk::clear-depth-stencil-value) )
))
(setf (gethash '%vk:cmd-process-commands-info-nvx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:object-table :type %vk::object-table-nvx :opaque t)
(:indirect-commands-layout :type %vk::indirect-commands-layout-nvx :opaque t)
(:indirect-commands-token-count :type :uint32)
(:p-indirect-commands-tokens :type (:pointer (:struct %vk::indirect-commands-token-nvx)) )
(:max-sequences-count :type :uint32)
(:target-command-buffer :type %vk::command-buffer :opaque t :optional t)
(:sequences-count-buffer :type %vk::buffer :opaque t :optional t)
(:sequences-count-offset :type %vk::device-size :optional t)
(:sequences-index-buffer :type %vk::buffer :opaque t :optional t)
(:sequences-index-offset :type %vk::device-size :optional t)
))
(setf (gethash '%vk:cmd-reserve-space-for-commands-info-nvx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:object-table :type %vk::object-table-nvx :opaque t)
(:indirect-commands-layout :type %vk::indirect-commands-layout-nvx :opaque t)
(:max-sequences-count :type :uint32)
))
(setf (gethash '%vk:command-buffer-allocate-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:command-pool :type %vk::command-pool :opaque t)
(:level :type %vk::command-buffer-level)
(:command-buffer-count :type :uint32)
))
(setf (gethash '%vk:command-buffer-begin-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::command-buffer-usage-flags :optional t)
(:p-inheritance-info :type (:pointer (:struct %vk::command-buffer-inheritance-info)) :optional t)
))
(setf (gethash '%vk:command-buffer-inheritance-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:render-pass :type %vk::render-pass :opaque t :optional t)
(:subpass :type :uint32)
(:framebuffer :type %vk::framebuffer :opaque t :optional t)
(:occlusion-query-enable :type %vk::bool32)
(:query-flags :type %vk::query-control-flags :optional t)
(:pipeline-statistics :type %vk::query-pipeline-statistic-flags :optional t)
))
(setf (gethash '%vk:command-pool-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::command-pool-create-flags :optional t)
(:queue-family-index :type :uint32)
))
(setf (gethash '%vk:component-mapping *structs-plist-hash*) '(
(:r :type %vk::component-swizzle)
(:g :type %vk::component-swizzle)
(:b :type %vk::component-swizzle)
(:a :type %vk::component-swizzle)
))
(setf (gethash '%vk:compute-pipeline-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::pipeline-create-flags :optional t)
(:stage :type (:struct %vk::pipeline-shader-stage-create-info) )
(:layout :type %vk::pipeline-layout :opaque t)
(:base-pipeline-handle :type %vk::pipeline :opaque t :optional t)
(:base-pipeline-index :type :int32)
))
(setf (gethash '%vk:copy-descriptor-set *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:src-set :type %vk::descriptor-set :opaque t)
(:src-binding :type :uint32)
(:src-array-element :type :uint32)
(:dst-set :type %vk::descriptor-set :opaque t)
(:dst-binding :type :uint32)
(:dst-array-element :type :uint32)
(:descriptor-count :type :uint32)
))
(setf (gethash '%vk:d-3d-1-2-fence-submit-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:wait-semaphore-values-count :type :uint32 :optional t)
(:p-wait-semaphore-values :type (:pointer :uint64) :optional t)
(:signal-semaphore-values-count :type :uint32 :optional t)
(:p-signal-semaphore-values :type (:pointer :uint64) :optional t)
))
(setf (gethash '%vk:debug-marker-marker-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:p-marker-name :type (:pointer :char) )
(:color :type :float :optional t)
))
(setf (gethash '%vk:debug-marker-object-name-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:object-type :type %vk::debug-report-object-type-ext)
(:object :type :uint64)
(:p-object-name :type (:pointer :char) )
))
(setf (gethash '%vk:debug-marker-object-tag-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:object-type :type %vk::debug-report-object-type-ext)
(:object :type :uint64)
(:tag-name :type :uint64)
(:tag-size :type %vk::size-t)
(:p-tag :type (:pointer :void) :opaque t)
))
(setf (gethash '%vk:debug-report-callback-create-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::debug-report-flags-ext :optional t)
(:pfn-callback :type %vk::pfn-debug-report-callback-ext)
(:p-user-data :type (:pointer :void) :opaque t :optional t)
))
(setf (gethash '%vk:dedicated-allocation-buffer-create-info-nv *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:dedicated-allocation :type %vk::bool32)
))
(setf (gethash '%vk:dedicated-allocation-image-create-info-nv *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:dedicated-allocation :type %vk::bool32)
))
(setf (gethash '%vk:dedicated-allocation-memory-allocate-info-nv *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:image :type %vk::image :opaque t :optional t)
(:buffer :type %vk::buffer :opaque t :optional t)
))
(setf (gethash '%vk:descriptor-buffer-info *structs-plist-hash*) '(
(:buffer :type %vk::buffer :opaque t)
(:offset :type %vk::device-size)
(:range :type %vk::device-size)
))
(setf (gethash '%vk:descriptor-image-info *structs-plist-hash*) '(
(:sampler :type %vk::sampler :opaque t)
(:image-view :type %vk::image-view :opaque t)
(:image-layout :type %vk::image-layout)
))
(setf (gethash '%vk:descriptor-pool-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::descriptor-pool-create-flags :optional t)
(:max-sets :type :uint32)
(:pool-size-count :type :uint32)
(:p-pool-sizes :type (:pointer (:struct %vk::descriptor-pool-size)) )
))
(setf (gethash '%vk:descriptor-pool-size *structs-plist-hash*) '(
(:type :type %vk::descriptor-type)
(:descriptor-count :type :uint32)
))
(setf (gethash '%vk:descriptor-set-allocate-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:descriptor-pool :type %vk::descriptor-pool :opaque t)
(:descriptor-set-count :type :uint32)
(:p-set-layouts :type (:pointer %vk::descriptor-set-layout) :opaque t)
))
(setf (gethash '%vk:descriptor-set-layout-binding *structs-plist-hash*) '(
(:binding :type :uint32)
(:descriptor-type :type %vk::descriptor-type)
(:descriptor-count :type :uint32 :optional t)
(:stage-flags :type %vk::shader-stage-flags)
(:p-immutable-samplers :type (:pointer %vk::sampler) :opaque t :optional t)
))
(setf (gethash '%vk:descriptor-set-layout-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::descriptor-set-layout-create-flags :optional t)
(:binding-count :type :uint32 :optional t)
(:p-bindings :type (:pointer (:struct %vk::descriptor-set-layout-binding)) )
))
(setf (gethash '%vk:descriptor-update-template-create-info-khr *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::descriptor-update-template-create-flags-khr :optional t)
(:descriptor-update-entry-count :type :uint32)
(:p-descriptor-update-entries :type (:pointer (:struct %vk::descriptor-update-template-entry-khr)) )
(:template-type :type %vk::descriptor-update-template-type-khr)
(:descriptor-set-layout :type %vk::descriptor-set-layout :opaque t :optional t)
(:pipeline-bind-point :type %vk::pipeline-bind-point :optional t)
(:pipeline-layout :type %vk::pipeline-layout :opaque t :optional t)
(:set :type :uint32 :optional t)
))
(setf (gethash '%vk:descriptor-update-template-entry-khr *structs-plist-hash*) '(
(:dst-binding :type :uint32)
(:dst-array-element :type :uint32)
(:descriptor-count :type :uint32)
(:descriptor-type :type %vk::descriptor-type)
(:offset :type %vk::size-t)
(:stride :type %vk::size-t)
))
(setf (gethash '%vk:device-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::device-create-flags :optional t)
(:queue-create-info-count :type :uint32)
(:p-queue-create-infos :type (:pointer (:struct %vk::device-queue-create-info)) )
(:enabled-layer-count :type :uint32 :optional t)
(:pp-enabled-layer-names :type (:pointer (:pointer :char)) )
(:enabled-extension-count :type :uint32 :optional t)
(:pp-enabled-extension-names :type (:pointer (:pointer :char)) )
(:p-enabled-features :type (:pointer (:struct %vk::physical-device-features)) :optional t)
))
(setf (gethash '%vk:device-event-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:device-event :type %vk::device-event-type-ext)
))
(setf (gethash '%vk:device-generated-commands-features-nvx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:compute-binding-point-support :type %vk::bool32)
))
(setf (gethash '%vk:device-generated-commands-limits-nvx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:max-indirect-commands-layout-token-count :type :uint32)
(:max-object-entry-counts :type :uint32)
(:min-sequence-count-buffer-offset-alignment :type :uint32)
(:min-sequence-index-buffer-offset-alignment :type :uint32)
(:min-commands-token-buffer-offset-alignment :type :uint32)
))
(setf (gethash '%vk:device-group-bind-sparse-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:resource-device-index :type :uint32)
(:memory-device-index :type :uint32)
))
(setf (gethash '%vk:device-group-command-buffer-begin-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:device-mask :type :uint32)
))
(setf (gethash '%vk:device-group-device-create-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:physical-device-count :type :uint32 :optional t)
(:p-physical-devices :type (:pointer %vk::physical-device) :opaque t)
))
(setf (gethash '%vk:device-group-present-capabilities-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:present-mask :type :uint32)
(:modes :type %vk::device-group-present-mode-flags-khx)
))
(setf (gethash '%vk:device-group-present-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:swapchain-count :type :uint32 :optional t)
(:p-device-masks :type (:pointer :uint32) )
(:mode :type %vk::device-group-present-mode-flag-bits-khx)
))
(setf (gethash '%vk:device-group-render-pass-begin-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:device-mask :type :uint32)
(:device-render-area-count :type :uint32 :optional t)
(:p-device-render-areas :type (:pointer (:struct %vk::rect-2d)) )
))
(setf (gethash '%vk:device-group-submit-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:wait-semaphore-count :type :uint32 :optional t)
(:p-wait-semaphore-device-indices :type (:pointer :uint32) )
(:command-buffer-count :type :uint32 :optional t)
(:p-command-buffer-device-masks :type (:pointer :uint32) )
(:signal-semaphore-count :type :uint32 :optional t)
(:p-signal-semaphore-device-indices :type (:pointer :uint32) )
))
(setf (gethash '%vk:device-group-swapchain-create-info-khx *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:modes :type %vk::device-group-present-mode-flags-khx)
))
(setf (gethash '%vk:device-queue-create-info *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::device-queue-create-flags :optional t)
(:queue-family-index :type :uint32)
(:queue-count :type :uint32)
(:p-queue-priorities :type (:pointer :float) )
))
(setf (gethash '%vk:dispatch-indirect-command *structs-plist-hash*) '(
(:x :type :uint32)
(:y :type :uint32)
(:z :type :uint32)
))
(setf (gethash '%vk:display-event-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:display-event :type %vk::display-event-type-ext)
))
(setf (gethash '%vk:display-mode-create-info-khr *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:flags :type %vk::display-mode-create-flags-khr :optional t)
(:parameters :type (:struct %vk::display-mode-parameters-khr) )
))
(setf (gethash '%vk:display-mode-parameters-khr *structs-plist-hash*) '(
(:visible-region :type (:struct %vk::extent-2d) )
(:refresh-rate :type :uint32)
))
(setf (gethash '%vk:display-mode-properties-khr *structs-plist-hash*) '(
(:display-mode :type %vk::display-mode-khr :opaque t)
(:parameters :type (:struct %vk::display-mode-parameters-khr) )
))
(setf (gethash '%vk:display-plane-capabilities-khr *structs-plist-hash*) '(
(:supported-alpha :type %vk::display-plane-alpha-flags-khr :optional t)
(:min-src-position :type (:struct %vk::offset-2d) )
(:max-src-position :type (:struct %vk::offset-2d) )
(:min-src-extent :type (:struct %vk::extent-2d) )
(:max-src-extent :type (:struct %vk::extent-2d) )
(:min-dst-position :type (:struct %vk::offset-2d) )
(:max-dst-position :type (:struct %vk::offset-2d) )
(:min-dst-extent :type (:struct %vk::extent-2d) )
(:max-dst-extent :type (:struct %vk::extent-2d) )
))
(setf (gethash '%vk:display-plane-properties-khr *structs-plist-hash*) '(
(:current-display :type %vk::display-khr :opaque t)
(:current-stack-index :type :uint32)
))
(setf (gethash '%vk:display-power-info-ext *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:power-state :type %vk::display-power-state-ext)
))
(setf (gethash '%vk:display-present-info-khr *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)
(:p-next :type (:pointer :void) :opaque t)
(:src-rect :type (:struct %vk::rect-2d) )
(:dst-rect :type (:struct %vk::rect-2d) )
(:persistent :type %vk::bool32)
))
(setf (gethash '%vk:display-properties-khr *structs-plist-hash*) '(
(:display :type %vk::display-khr :opaque t)
(:display-name :type %vk::string)
(:physical-dimensions :type (:struct %vk::extent-2d) )
(:physical-resolution :type (:struct %vk::extent-2d) )
(:supported-transforms :type %vk::surface-transform-flags-khr :optional t)
(:plane-reorder-possible :type %vk::bool32)
(:persistent-content :type %vk::bool32)
))
(setf (gethash '%vk:display-surface-create-info-khr *structs-plist-hash*) '(
(:s-type :type %vk::structure-type)