1#![allow(
9 non_camel_case_types,
10 non_snake_case,
11 clippy::bad_bit_mask,
12 clippy::let_unit_value,
13 clippy::missing_safety_doc,
14 clippy::missing_transmute_annotations,
15 clippy::needless_lifetimes,
16 clippy::too_many_arguments,
17 clippy::type_complexity,
18 clippy::unnecessary_cast,
19 clippy::upper_case_acronyms,
20 clippy::useless_transmute
21)]
22
23use core::ffi::c_void;
24
25use super::*;
26
27pub unsafe trait InputChainStruct {
29 const TYPE: StructureType;
31
32 fn s_type(&self) -> StructureType;
34
35 fn next(&self) -> *const c_void;
37}
38
39pub unsafe trait OutputChainStruct: InputChainStruct {
41 fn next_mut(&self) -> *mut c_void;
43}
44
45unsafe impl InputChainStruct for AccelerationStructureBuildGeometryInfoKHR {
46 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
47
48 #[inline]
49 fn s_type(&self) -> StructureType {
50 self.s_type
51 }
52
53 #[inline]
54 fn next(&self) -> *const c_void {
55 self.next
56 }
57}
58
59unsafe impl InputChainStruct for AccelerationStructureBuildSizesInfoKHR {
60 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR;
61
62 #[inline]
63 fn s_type(&self) -> StructureType {
64 self.s_type
65 }
66
67 #[inline]
68 fn next(&self) -> *const c_void {
69 self.next
70 }
71}
72
73unsafe impl InputChainStruct for AccelerationStructureCaptureDescriptorDataInfoEXT {
74 const TYPE: StructureType =
75 StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
76
77 #[inline]
78 fn s_type(&self) -> StructureType {
79 self.s_type
80 }
81
82 #[inline]
83 fn next(&self) -> *const c_void {
84 self.next
85 }
86}
87
88unsafe impl InputChainStruct for AccelerationStructureCreateInfoKHR {
89 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR;
90
91 #[inline]
92 fn s_type(&self) -> StructureType {
93 self.s_type
94 }
95
96 #[inline]
97 fn next(&self) -> *const c_void {
98 self.next
99 }
100}
101
102unsafe impl InputChainStruct for AccelerationStructureCreateInfoNV {
103 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV;
104
105 #[inline]
106 fn s_type(&self) -> StructureType {
107 self.s_type
108 }
109
110 #[inline]
111 fn next(&self) -> *const c_void {
112 self.next
113 }
114}
115
116unsafe impl InputChainStruct for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
117 const TYPE: StructureType =
118 StructureType::ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX;
119
120 #[inline]
121 fn s_type(&self) -> StructureType {
122 self.s_type
123 }
124
125 #[inline]
126 fn next(&self) -> *const c_void {
127 self.next
128 }
129}
130
131unsafe impl InputChainStruct for AccelerationStructureDeviceAddressInfoKHR {
132 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
133
134 #[inline]
135 fn s_type(&self) -> StructureType {
136 self.s_type
137 }
138
139 #[inline]
140 fn next(&self) -> *const c_void {
141 self.next
142 }
143}
144
145unsafe impl InputChainStruct for AccelerationStructureGeometryAabbsDataKHR {
146 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR;
147
148 #[inline]
149 fn s_type(&self) -> StructureType {
150 self.s_type
151 }
152
153 #[inline]
154 fn next(&self) -> *const c_void {
155 self.next
156 }
157}
158
159unsafe impl InputChainStruct for AccelerationStructureGeometryInstancesDataKHR {
160 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR;
161
162 #[inline]
163 fn s_type(&self) -> StructureType {
164 self.s_type
165 }
166
167 #[inline]
168 fn next(&self) -> *const c_void {
169 self.next
170 }
171}
172
173unsafe impl InputChainStruct for AccelerationStructureGeometryKHR {
174 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR;
175
176 #[inline]
177 fn s_type(&self) -> StructureType {
178 self.s_type
179 }
180
181 #[inline]
182 fn next(&self) -> *const c_void {
183 self.next
184 }
185}
186
187unsafe impl InputChainStruct for AccelerationStructureGeometryLinearSweptSpheresDataNV {
188 const TYPE: StructureType =
189 StructureType::ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV;
190
191 #[inline]
192 fn s_type(&self) -> StructureType {
193 self.s_type
194 }
195
196 #[inline]
197 fn next(&self) -> *const c_void {
198 self.next
199 }
200}
201
202unsafe impl InputChainStruct for AccelerationStructureGeometryMotionTrianglesDataNV {
203 const TYPE: StructureType =
204 StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV;
205
206 #[inline]
207 fn s_type(&self) -> StructureType {
208 self.s_type
209 }
210
211 #[inline]
212 fn next(&self) -> *const c_void {
213 self.next
214 }
215}
216
217unsafe impl InputChainStruct for AccelerationStructureGeometrySpheresDataNV {
218 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV;
219
220 #[inline]
221 fn s_type(&self) -> StructureType {
222 self.s_type
223 }
224
225 #[inline]
226 fn next(&self) -> *const c_void {
227 self.next
228 }
229}
230
231unsafe impl InputChainStruct for AccelerationStructureGeometryTrianglesDataKHR {
232 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
233
234 #[inline]
235 fn s_type(&self) -> StructureType {
236 self.s_type
237 }
238
239 #[inline]
240 fn next(&self) -> *const c_void {
241 self.next
242 }
243}
244
245unsafe impl InputChainStruct for AccelerationStructureInfoNV {
246 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_INFO_NV;
247
248 #[inline]
249 fn s_type(&self) -> StructureType {
250 self.s_type
251 }
252
253 #[inline]
254 fn next(&self) -> *const c_void {
255 self.next
256 }
257}
258
259unsafe impl InputChainStruct for AccelerationStructureMemoryRequirementsInfoNV {
260 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
261
262 #[inline]
263 fn s_type(&self) -> StructureType {
264 self.s_type
265 }
266
267 #[inline]
268 fn next(&self) -> *const c_void {
269 self.next
270 }
271}
272
273unsafe impl InputChainStruct for AccelerationStructureMotionInfoNV {
274 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV;
275
276 #[inline]
277 fn s_type(&self) -> StructureType {
278 self.s_type
279 }
280
281 #[inline]
282 fn next(&self) -> *const c_void {
283 self.next
284 }
285}
286
287unsafe impl InputChainStruct for AccelerationStructureTrianglesDisplacementMicromapNV {
288 const TYPE: StructureType =
289 StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV;
290
291 #[inline]
292 fn s_type(&self) -> StructureType {
293 self.s_type
294 }
295
296 #[inline]
297 fn next(&self) -> *const c_void {
298 self.next
299 }
300}
301
302unsafe impl OutputChainStruct for AccelerationStructureTrianglesDisplacementMicromapNV {
303 #[inline]
304 fn next_mut(&self) -> *mut c_void {
305 self.next
306 }
307}
308
309unsafe impl InputChainStruct for AccelerationStructureTrianglesOpacityMicromapEXT {
310 const TYPE: StructureType =
311 StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT;
312
313 #[inline]
314 fn s_type(&self) -> StructureType {
315 self.s_type
316 }
317
318 #[inline]
319 fn next(&self) -> *const c_void {
320 self.next
321 }
322}
323
324unsafe impl OutputChainStruct for AccelerationStructureTrianglesOpacityMicromapEXT {
325 #[inline]
326 fn next_mut(&self) -> *mut c_void {
327 self.next
328 }
329}
330
331unsafe impl InputChainStruct for AccelerationStructureVersionInfoKHR {
332 const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR;
333
334 #[inline]
335 fn s_type(&self) -> StructureType {
336 self.s_type
337 }
338
339 #[inline]
340 fn next(&self) -> *const c_void {
341 self.next
342 }
343}
344
345unsafe impl InputChainStruct for AcquireNextImageInfoKHR {
346 const TYPE: StructureType = StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR;
347
348 #[inline]
349 fn s_type(&self) -> StructureType {
350 self.s_type
351 }
352
353 #[inline]
354 fn next(&self) -> *const c_void {
355 self.next
356 }
357}
358
359unsafe impl InputChainStruct for AcquireProfilingLockInfoKHR {
360 const TYPE: StructureType = StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR;
361
362 #[inline]
363 fn s_type(&self) -> StructureType {
364 self.s_type
365 }
366
367 #[inline]
368 fn next(&self) -> *const c_void {
369 self.next
370 }
371}
372
373unsafe impl InputChainStruct for AmigoProfilingSubmitInfoSEC {
374 const TYPE: StructureType = StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC;
375
376 #[inline]
377 fn s_type(&self) -> StructureType {
378 self.s_type
379 }
380
381 #[inline]
382 fn next(&self) -> *const c_void {
383 self.next
384 }
385}
386
387unsafe impl InputChainStruct for AndroidHardwareBufferFormatProperties2ANDROID {
388 const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID;
389
390 #[inline]
391 fn s_type(&self) -> StructureType {
392 self.s_type
393 }
394
395 #[inline]
396 fn next(&self) -> *const c_void {
397 self.next
398 }
399}
400
401unsafe impl OutputChainStruct for AndroidHardwareBufferFormatProperties2ANDROID {
402 #[inline]
403 fn next_mut(&self) -> *mut c_void {
404 self.next
405 }
406}
407
408unsafe impl InputChainStruct for AndroidHardwareBufferFormatPropertiesANDROID {
409 const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
410
411 #[inline]
412 fn s_type(&self) -> StructureType {
413 self.s_type
414 }
415
416 #[inline]
417 fn next(&self) -> *const c_void {
418 self.next
419 }
420}
421
422unsafe impl OutputChainStruct for AndroidHardwareBufferFormatPropertiesANDROID {
423 #[inline]
424 fn next_mut(&self) -> *mut c_void {
425 self.next
426 }
427}
428
429unsafe impl InputChainStruct for AndroidHardwareBufferFormatResolvePropertiesANDROID {
430 const TYPE: StructureType =
431 StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID;
432
433 #[inline]
434 fn s_type(&self) -> StructureType {
435 self.s_type
436 }
437
438 #[inline]
439 fn next(&self) -> *const c_void {
440 self.next
441 }
442}
443
444unsafe impl OutputChainStruct for AndroidHardwareBufferFormatResolvePropertiesANDROID {
445 #[inline]
446 fn next_mut(&self) -> *mut c_void {
447 self.next
448 }
449}
450
451unsafe impl InputChainStruct for AndroidHardwareBufferPropertiesANDROID {
452 const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
453
454 #[inline]
455 fn s_type(&self) -> StructureType {
456 self.s_type
457 }
458
459 #[inline]
460 fn next(&self) -> *const c_void {
461 self.next
462 }
463}
464
465unsafe impl OutputChainStruct for AndroidHardwareBufferPropertiesANDROID {
466 #[inline]
467 fn next_mut(&self) -> *mut c_void {
468 self.next
469 }
470}
471
472unsafe impl InputChainStruct for AndroidHardwareBufferUsageANDROID {
473 const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
474
475 #[inline]
476 fn s_type(&self) -> StructureType {
477 self.s_type
478 }
479
480 #[inline]
481 fn next(&self) -> *const c_void {
482 self.next
483 }
484}
485
486unsafe impl OutputChainStruct for AndroidHardwareBufferUsageANDROID {
487 #[inline]
488 fn next_mut(&self) -> *mut c_void {
489 self.next
490 }
491}
492
493unsafe impl InputChainStruct for AndroidSurfaceCreateInfoKHR {
494 const TYPE: StructureType = StructureType::ANDROID_SURFACE_CREATE_INFO_KHR;
495
496 #[inline]
497 fn s_type(&self) -> StructureType {
498 self.s_type
499 }
500
501 #[inline]
502 fn next(&self) -> *const c_void {
503 self.next
504 }
505}
506
507unsafe impl InputChainStruct for AntiLagDataAMD {
508 const TYPE: StructureType = StructureType::ANTI_LAG_DATA_AMD;
509
510 #[inline]
511 fn s_type(&self) -> StructureType {
512 self.s_type
513 }
514
515 #[inline]
516 fn next(&self) -> *const c_void {
517 self.next
518 }
519}
520
521unsafe impl InputChainStruct for AntiLagPresentationInfoAMD {
522 const TYPE: StructureType = StructureType::ANTI_LAG_PRESENTATION_INFO_AMD;
523
524 #[inline]
525 fn s_type(&self) -> StructureType {
526 self.s_type
527 }
528
529 #[inline]
530 fn next(&self) -> *const c_void {
531 self.next
532 }
533}
534
535unsafe impl OutputChainStruct for AntiLagPresentationInfoAMD {
536 #[inline]
537 fn next_mut(&self) -> *mut c_void {
538 self.next
539 }
540}
541
542unsafe impl InputChainStruct for ApplicationInfo {
543 const TYPE: StructureType = StructureType::APPLICATION_INFO;
544
545 #[inline]
546 fn s_type(&self) -> StructureType {
547 self.s_type
548 }
549
550 #[inline]
551 fn next(&self) -> *const c_void {
552 self.next
553 }
554}
555
556unsafe impl InputChainStruct for ApplicationParametersEXT {
557 const TYPE: StructureType = StructureType::APPLICATION_PARAMETERS_EXT;
558
559 #[inline]
560 fn s_type(&self) -> StructureType {
561 self.s_type
562 }
563
564 #[inline]
565 fn next(&self) -> *const c_void {
566 self.next
567 }
568}
569
570unsafe impl InputChainStruct for AttachmentDescription2 {
571 const TYPE: StructureType = StructureType::ATTACHMENT_DESCRIPTION_2;
572
573 #[inline]
574 fn s_type(&self) -> StructureType {
575 self.s_type
576 }
577
578 #[inline]
579 fn next(&self) -> *const c_void {
580 self.next
581 }
582}
583
584unsafe impl InputChainStruct for AttachmentDescriptionStencilLayout {
585 const TYPE: StructureType = StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
586
587 #[inline]
588 fn s_type(&self) -> StructureType {
589 self.s_type
590 }
591
592 #[inline]
593 fn next(&self) -> *const c_void {
594 self.next
595 }
596}
597
598unsafe impl OutputChainStruct for AttachmentDescriptionStencilLayout {
599 #[inline]
600 fn next_mut(&self) -> *mut c_void {
601 self.next
602 }
603}
604
605unsafe impl InputChainStruct for AttachmentFeedbackLoopInfoEXT {
606 const TYPE: StructureType = StructureType::ATTACHMENT_FEEDBACK_LOOP_INFO_EXT;
607
608 #[inline]
609 fn s_type(&self) -> StructureType {
610 self.s_type
611 }
612
613 #[inline]
614 fn next(&self) -> *const c_void {
615 self.next
616 }
617}
618
619unsafe impl InputChainStruct for AttachmentReference2 {
620 const TYPE: StructureType = StructureType::ATTACHMENT_REFERENCE_2;
621
622 #[inline]
623 fn s_type(&self) -> StructureType {
624 self.s_type
625 }
626
627 #[inline]
628 fn next(&self) -> *const c_void {
629 self.next
630 }
631}
632
633unsafe impl InputChainStruct for AttachmentReferenceStencilLayout {
634 const TYPE: StructureType = StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
635
636 #[inline]
637 fn s_type(&self) -> StructureType {
638 self.s_type
639 }
640
641 #[inline]
642 fn next(&self) -> *const c_void {
643 self.next
644 }
645}
646
647unsafe impl OutputChainStruct for AttachmentReferenceStencilLayout {
648 #[inline]
649 fn next_mut(&self) -> *mut c_void {
650 self.next
651 }
652}
653
654unsafe impl InputChainStruct for AttachmentSampleCountInfoAMD {
655 const TYPE: StructureType = StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD;
656
657 #[inline]
658 fn s_type(&self) -> StructureType {
659 self.s_type
660 }
661
662 #[inline]
663 fn next(&self) -> *const c_void {
664 self.next
665 }
666}
667
668unsafe impl InputChainStruct for BindAccelerationStructureMemoryInfoNV {
669 const TYPE: StructureType = StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
670
671 #[inline]
672 fn s_type(&self) -> StructureType {
673 self.s_type
674 }
675
676 #[inline]
677 fn next(&self) -> *const c_void {
678 self.next
679 }
680}
681
682unsafe impl InputChainStruct for BindBufferMemoryDeviceGroupInfo {
683 const TYPE: StructureType = StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
684
685 #[inline]
686 fn s_type(&self) -> StructureType {
687 self.s_type
688 }
689
690 #[inline]
691 fn next(&self) -> *const c_void {
692 self.next
693 }
694}
695
696unsafe impl InputChainStruct for BindBufferMemoryInfo {
697 const TYPE: StructureType = StructureType::BIND_BUFFER_MEMORY_INFO;
698
699 #[inline]
700 fn s_type(&self) -> StructureType {
701 self.s_type
702 }
703
704 #[inline]
705 fn next(&self) -> *const c_void {
706 self.next
707 }
708}
709
710unsafe impl InputChainStruct for BindDataGraphPipelineSessionMemoryInfoARM {
711 const TYPE: StructureType = StructureType::BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM;
712
713 #[inline]
714 fn s_type(&self) -> StructureType {
715 self.s_type
716 }
717
718 #[inline]
719 fn next(&self) -> *const c_void {
720 self.next
721 }
722}
723
724unsafe impl InputChainStruct for BindDescriptorBufferEmbeddedSamplersInfoEXT {
725 const TYPE: StructureType = StructureType::BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT;
726
727 #[inline]
728 fn s_type(&self) -> StructureType {
729 self.s_type
730 }
731
732 #[inline]
733 fn next(&self) -> *const c_void {
734 self.next
735 }
736}
737
738unsafe impl InputChainStruct for BindDescriptorSetsInfo {
739 const TYPE: StructureType = StructureType::BIND_DESCRIPTOR_SETS_INFO;
740
741 #[inline]
742 fn s_type(&self) -> StructureType {
743 self.s_type
744 }
745
746 #[inline]
747 fn next(&self) -> *const c_void {
748 self.next
749 }
750}
751
752unsafe impl InputChainStruct for BindImageMemoryDeviceGroupInfo {
753 const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
754
755 #[inline]
756 fn s_type(&self) -> StructureType {
757 self.s_type
758 }
759
760 #[inline]
761 fn next(&self) -> *const c_void {
762 self.next
763 }
764}
765
766unsafe impl InputChainStruct for BindImageMemoryInfo {
767 const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_INFO;
768
769 #[inline]
770 fn s_type(&self) -> StructureType {
771 self.s_type
772 }
773
774 #[inline]
775 fn next(&self) -> *const c_void {
776 self.next
777 }
778}
779
780unsafe impl InputChainStruct for BindImageMemorySwapchainInfoKHR {
781 const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
782
783 #[inline]
784 fn s_type(&self) -> StructureType {
785 self.s_type
786 }
787
788 #[inline]
789 fn next(&self) -> *const c_void {
790 self.next
791 }
792}
793
794unsafe impl InputChainStruct for BindImagePlaneMemoryInfo {
795 const TYPE: StructureType = StructureType::BIND_IMAGE_PLANE_MEMORY_INFO;
796
797 #[inline]
798 fn s_type(&self) -> StructureType {
799 self.s_type
800 }
801
802 #[inline]
803 fn next(&self) -> *const c_void {
804 self.next
805 }
806}
807
808unsafe impl InputChainStruct for BindMemoryStatus {
809 const TYPE: StructureType = StructureType::BIND_MEMORY_STATUS;
810
811 #[inline]
812 fn s_type(&self) -> StructureType {
813 self.s_type
814 }
815
816 #[inline]
817 fn next(&self) -> *const c_void {
818 self.next
819 }
820}
821
822unsafe impl InputChainStruct for BindSparseInfo {
823 const TYPE: StructureType = StructureType::BIND_SPARSE_INFO;
824
825 #[inline]
826 fn s_type(&self) -> StructureType {
827 self.s_type
828 }
829
830 #[inline]
831 fn next(&self) -> *const c_void {
832 self.next
833 }
834}
835
836unsafe impl InputChainStruct for BindTensorMemoryInfoARM {
837 const TYPE: StructureType = StructureType::BIND_TENSOR_MEMORY_INFO_ARM;
838
839 #[inline]
840 fn s_type(&self) -> StructureType {
841 self.s_type
842 }
843
844 #[inline]
845 fn next(&self) -> *const c_void {
846 self.next
847 }
848}
849
850unsafe impl InputChainStruct for BindVideoSessionMemoryInfoKHR {
851 const TYPE: StructureType = StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR;
852
853 #[inline]
854 fn s_type(&self) -> StructureType {
855 self.s_type
856 }
857
858 #[inline]
859 fn next(&self) -> *const c_void {
860 self.next
861 }
862}
863
864unsafe impl InputChainStruct for BlitImageCubicWeightsInfoQCOM {
865 const TYPE: StructureType = StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM;
866
867 #[inline]
868 fn s_type(&self) -> StructureType {
869 self.s_type
870 }
871
872 #[inline]
873 fn next(&self) -> *const c_void {
874 self.next
875 }
876}
877
878unsafe impl InputChainStruct for BlitImageInfo2 {
879 const TYPE: StructureType = StructureType::BLIT_IMAGE_INFO_2;
880
881 #[inline]
882 fn s_type(&self) -> StructureType {
883 self.s_type
884 }
885
886 #[inline]
887 fn next(&self) -> *const c_void {
888 self.next
889 }
890}
891
892unsafe impl InputChainStruct for BufferCaptureDescriptorDataInfoEXT {
893 const TYPE: StructureType = StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
894
895 #[inline]
896 fn s_type(&self) -> StructureType {
897 self.s_type
898 }
899
900 #[inline]
901 fn next(&self) -> *const c_void {
902 self.next
903 }
904}
905
906unsafe impl InputChainStruct for BufferCollectionBufferCreateInfoFUCHSIA {
907 const TYPE: StructureType = StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA;
908
909 #[inline]
910 fn s_type(&self) -> StructureType {
911 self.s_type
912 }
913
914 #[inline]
915 fn next(&self) -> *const c_void {
916 self.next
917 }
918}
919
920unsafe impl InputChainStruct for BufferCollectionConstraintsInfoFUCHSIA {
921 const TYPE: StructureType = StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA;
922
923 #[inline]
924 fn s_type(&self) -> StructureType {
925 self.s_type
926 }
927
928 #[inline]
929 fn next(&self) -> *const c_void {
930 self.next
931 }
932}
933
934unsafe impl InputChainStruct for BufferCollectionCreateInfoFUCHSIA {
935 const TYPE: StructureType = StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA;
936
937 #[inline]
938 fn s_type(&self) -> StructureType {
939 self.s_type
940 }
941
942 #[inline]
943 fn next(&self) -> *const c_void {
944 self.next
945 }
946}
947
948unsafe impl InputChainStruct for BufferCollectionImageCreateInfoFUCHSIA {
949 const TYPE: StructureType = StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA;
950
951 #[inline]
952 fn s_type(&self) -> StructureType {
953 self.s_type
954 }
955
956 #[inline]
957 fn next(&self) -> *const c_void {
958 self.next
959 }
960}
961
962unsafe impl InputChainStruct for BufferCollectionPropertiesFUCHSIA {
963 const TYPE: StructureType = StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA;
964
965 #[inline]
966 fn s_type(&self) -> StructureType {
967 self.s_type
968 }
969
970 #[inline]
971 fn next(&self) -> *const c_void {
972 self.next
973 }
974}
975
976unsafe impl OutputChainStruct for BufferCollectionPropertiesFUCHSIA {
977 #[inline]
978 fn next_mut(&self) -> *mut c_void {
979 self.next
980 }
981}
982
983unsafe impl InputChainStruct for BufferConstraintsInfoFUCHSIA {
984 const TYPE: StructureType = StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA;
985
986 #[inline]
987 fn s_type(&self) -> StructureType {
988 self.s_type
989 }
990
991 #[inline]
992 fn next(&self) -> *const c_void {
993 self.next
994 }
995}
996
997unsafe impl InputChainStruct for BufferCopy2 {
998 const TYPE: StructureType = StructureType::BUFFER_COPY_2;
999
1000 #[inline]
1001 fn s_type(&self) -> StructureType {
1002 self.s_type
1003 }
1004
1005 #[inline]
1006 fn next(&self) -> *const c_void {
1007 self.next
1008 }
1009}
1010
1011unsafe impl InputChainStruct for BufferCreateInfo {
1012 const TYPE: StructureType = StructureType::BUFFER_CREATE_INFO;
1013
1014 #[inline]
1015 fn s_type(&self) -> StructureType {
1016 self.s_type
1017 }
1018
1019 #[inline]
1020 fn next(&self) -> *const c_void {
1021 self.next
1022 }
1023}
1024
1025unsafe impl InputChainStruct for BufferDeviceAddressCreateInfoEXT {
1026 const TYPE: StructureType = StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
1027
1028 #[inline]
1029 fn s_type(&self) -> StructureType {
1030 self.s_type
1031 }
1032
1033 #[inline]
1034 fn next(&self) -> *const c_void {
1035 self.next
1036 }
1037}
1038
1039unsafe impl InputChainStruct for BufferDeviceAddressInfo {
1040 const TYPE: StructureType = StructureType::BUFFER_DEVICE_ADDRESS_INFO;
1041
1042 #[inline]
1043 fn s_type(&self) -> StructureType {
1044 self.s_type
1045 }
1046
1047 #[inline]
1048 fn next(&self) -> *const c_void {
1049 self.next
1050 }
1051}
1052
1053unsafe impl InputChainStruct for BufferImageCopy2 {
1054 const TYPE: StructureType = StructureType::BUFFER_IMAGE_COPY_2;
1055
1056 #[inline]
1057 fn s_type(&self) -> StructureType {
1058 self.s_type
1059 }
1060
1061 #[inline]
1062 fn next(&self) -> *const c_void {
1063 self.next
1064 }
1065}
1066
1067unsafe impl InputChainStruct for BufferMemoryBarrier {
1068 const TYPE: StructureType = StructureType::BUFFER_MEMORY_BARRIER;
1069
1070 #[inline]
1071 fn s_type(&self) -> StructureType {
1072 self.s_type
1073 }
1074
1075 #[inline]
1076 fn next(&self) -> *const c_void {
1077 self.next
1078 }
1079}
1080
1081unsafe impl InputChainStruct for BufferMemoryBarrier2 {
1082 const TYPE: StructureType = StructureType::BUFFER_MEMORY_BARRIER_2;
1083
1084 #[inline]
1085 fn s_type(&self) -> StructureType {
1086 self.s_type
1087 }
1088
1089 #[inline]
1090 fn next(&self) -> *const c_void {
1091 self.next
1092 }
1093}
1094
1095unsafe impl InputChainStruct for BufferMemoryRequirementsInfo2 {
1096 const TYPE: StructureType = StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2;
1097
1098 #[inline]
1099 fn s_type(&self) -> StructureType {
1100 self.s_type
1101 }
1102
1103 #[inline]
1104 fn next(&self) -> *const c_void {
1105 self.next
1106 }
1107}
1108
1109unsafe impl InputChainStruct for BufferOpaqueCaptureAddressCreateInfo {
1110 const TYPE: StructureType = StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
1111
1112 #[inline]
1113 fn s_type(&self) -> StructureType {
1114 self.s_type
1115 }
1116
1117 #[inline]
1118 fn next(&self) -> *const c_void {
1119 self.next
1120 }
1121}
1122
1123unsafe impl InputChainStruct for BufferUsageFlags2CreateInfo {
1124 const TYPE: StructureType = StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO;
1125
1126 #[inline]
1127 fn s_type(&self) -> StructureType {
1128 self.s_type
1129 }
1130
1131 #[inline]
1132 fn next(&self) -> *const c_void {
1133 self.next
1134 }
1135}
1136
1137unsafe impl InputChainStruct for BufferViewCreateInfo {
1138 const TYPE: StructureType = StructureType::BUFFER_VIEW_CREATE_INFO;
1139
1140 #[inline]
1141 fn s_type(&self) -> StructureType {
1142 self.s_type
1143 }
1144
1145 #[inline]
1146 fn next(&self) -> *const c_void {
1147 self.next
1148 }
1149}
1150
1151unsafe impl InputChainStruct for BuildPartitionedAccelerationStructureInfoNV {
1152 const TYPE: StructureType = StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV;
1153
1154 #[inline]
1155 fn s_type(&self) -> StructureType {
1156 self.s_type
1157 }
1158
1159 #[inline]
1160 fn next(&self) -> *const c_void {
1161 self.next
1162 }
1163}
1164
1165unsafe impl OutputChainStruct for BuildPartitionedAccelerationStructureInfoNV {
1166 #[inline]
1167 fn next_mut(&self) -> *mut c_void {
1168 self.next
1169 }
1170}
1171
1172unsafe impl InputChainStruct for CalibratedTimestampInfoKHR {
1173 const TYPE: StructureType = StructureType::CALIBRATED_TIMESTAMP_INFO_KHR;
1174
1175 #[inline]
1176 fn s_type(&self) -> StructureType {
1177 self.s_type
1178 }
1179
1180 #[inline]
1181 fn next(&self) -> *const c_void {
1182 self.next
1183 }
1184}
1185
1186unsafe impl InputChainStruct for CheckpointData2NV {
1187 const TYPE: StructureType = StructureType::CHECKPOINT_DATA_2_NV;
1188
1189 #[inline]
1190 fn s_type(&self) -> StructureType {
1191 self.s_type
1192 }
1193
1194 #[inline]
1195 fn next(&self) -> *const c_void {
1196 self.next
1197 }
1198}
1199
1200unsafe impl OutputChainStruct for CheckpointData2NV {
1201 #[inline]
1202 fn next_mut(&self) -> *mut c_void {
1203 self.next
1204 }
1205}
1206
1207unsafe impl InputChainStruct for CheckpointDataNV {
1208 const TYPE: StructureType = StructureType::CHECKPOINT_DATA_NV;
1209
1210 #[inline]
1211 fn s_type(&self) -> StructureType {
1212 self.s_type
1213 }
1214
1215 #[inline]
1216 fn next(&self) -> *const c_void {
1217 self.next
1218 }
1219}
1220
1221unsafe impl OutputChainStruct for CheckpointDataNV {
1222 #[inline]
1223 fn next_mut(&self) -> *mut c_void {
1224 self.next
1225 }
1226}
1227
1228unsafe impl InputChainStruct for ClusterAccelerationStructureClustersBottomLevelInputNV {
1229 const TYPE: StructureType =
1230 StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV;
1231
1232 #[inline]
1233 fn s_type(&self) -> StructureType {
1234 self.s_type
1235 }
1236
1237 #[inline]
1238 fn next(&self) -> *const c_void {
1239 self.next
1240 }
1241}
1242
1243unsafe impl OutputChainStruct for ClusterAccelerationStructureClustersBottomLevelInputNV {
1244 #[inline]
1245 fn next_mut(&self) -> *mut c_void {
1246 self.next
1247 }
1248}
1249
1250unsafe impl InputChainStruct for ClusterAccelerationStructureCommandsInfoNV {
1251 const TYPE: StructureType = StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV;
1252
1253 #[inline]
1254 fn s_type(&self) -> StructureType {
1255 self.s_type
1256 }
1257
1258 #[inline]
1259 fn next(&self) -> *const c_void {
1260 self.next
1261 }
1262}
1263
1264unsafe impl OutputChainStruct for ClusterAccelerationStructureCommandsInfoNV {
1265 #[inline]
1266 fn next_mut(&self) -> *mut c_void {
1267 self.next
1268 }
1269}
1270
1271unsafe impl InputChainStruct for ClusterAccelerationStructureInputInfoNV {
1272 const TYPE: StructureType = StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV;
1273
1274 #[inline]
1275 fn s_type(&self) -> StructureType {
1276 self.s_type
1277 }
1278
1279 #[inline]
1280 fn next(&self) -> *const c_void {
1281 self.next
1282 }
1283}
1284
1285unsafe impl OutputChainStruct for ClusterAccelerationStructureInputInfoNV {
1286 #[inline]
1287 fn next_mut(&self) -> *mut c_void {
1288 self.next
1289 }
1290}
1291
1292unsafe impl InputChainStruct for ClusterAccelerationStructureMoveObjectsInputNV {
1293 const TYPE: StructureType = StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV;
1294
1295 #[inline]
1296 fn s_type(&self) -> StructureType {
1297 self.s_type
1298 }
1299
1300 #[inline]
1301 fn next(&self) -> *const c_void {
1302 self.next
1303 }
1304}
1305
1306unsafe impl OutputChainStruct for ClusterAccelerationStructureMoveObjectsInputNV {
1307 #[inline]
1308 fn next_mut(&self) -> *mut c_void {
1309 self.next
1310 }
1311}
1312
1313unsafe impl InputChainStruct for ClusterAccelerationStructureTriangleClusterInputNV {
1314 const TYPE: StructureType =
1315 StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV;
1316
1317 #[inline]
1318 fn s_type(&self) -> StructureType {
1319 self.s_type
1320 }
1321
1322 #[inline]
1323 fn next(&self) -> *const c_void {
1324 self.next
1325 }
1326}
1327
1328unsafe impl OutputChainStruct for ClusterAccelerationStructureTriangleClusterInputNV {
1329 #[inline]
1330 fn next_mut(&self) -> *mut c_void {
1331 self.next
1332 }
1333}
1334
1335unsafe impl InputChainStruct for CommandBufferAllocateInfo {
1336 const TYPE: StructureType = StructureType::COMMAND_BUFFER_ALLOCATE_INFO;
1337
1338 #[inline]
1339 fn s_type(&self) -> StructureType {
1340 self.s_type
1341 }
1342
1343 #[inline]
1344 fn next(&self) -> *const c_void {
1345 self.next
1346 }
1347}
1348
1349unsafe impl InputChainStruct for CommandBufferBeginInfo {
1350 const TYPE: StructureType = StructureType::COMMAND_BUFFER_BEGIN_INFO;
1351
1352 #[inline]
1353 fn s_type(&self) -> StructureType {
1354 self.s_type
1355 }
1356
1357 #[inline]
1358 fn next(&self) -> *const c_void {
1359 self.next
1360 }
1361}
1362
1363unsafe impl InputChainStruct for CommandBufferInheritanceConditionalRenderingInfoEXT {
1364 const TYPE: StructureType =
1365 StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
1366
1367 #[inline]
1368 fn s_type(&self) -> StructureType {
1369 self.s_type
1370 }
1371
1372 #[inline]
1373 fn next(&self) -> *const c_void {
1374 self.next
1375 }
1376}
1377
1378unsafe impl InputChainStruct for CommandBufferInheritanceInfo {
1379 const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_INFO;
1380
1381 #[inline]
1382 fn s_type(&self) -> StructureType {
1383 self.s_type
1384 }
1385
1386 #[inline]
1387 fn next(&self) -> *const c_void {
1388 self.next
1389 }
1390}
1391
1392unsafe impl InputChainStruct for CommandBufferInheritanceRenderPassTransformInfoQCOM {
1393 const TYPE: StructureType =
1394 StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM;
1395
1396 #[inline]
1397 fn s_type(&self) -> StructureType {
1398 self.s_type
1399 }
1400
1401 #[inline]
1402 fn next(&self) -> *const c_void {
1403 self.next
1404 }
1405}
1406
1407unsafe impl InputChainStruct for CommandBufferInheritanceRenderingInfo {
1408 const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO;
1409
1410 #[inline]
1411 fn s_type(&self) -> StructureType {
1412 self.s_type
1413 }
1414
1415 #[inline]
1416 fn next(&self) -> *const c_void {
1417 self.next
1418 }
1419}
1420
1421unsafe impl InputChainStruct for CommandBufferInheritanceViewportScissorInfoNV {
1422 const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV;
1423
1424 #[inline]
1425 fn s_type(&self) -> StructureType {
1426 self.s_type
1427 }
1428
1429 #[inline]
1430 fn next(&self) -> *const c_void {
1431 self.next
1432 }
1433}
1434
1435unsafe impl InputChainStruct for CommandBufferSubmitInfo {
1436 const TYPE: StructureType = StructureType::COMMAND_BUFFER_SUBMIT_INFO;
1437
1438 #[inline]
1439 fn s_type(&self) -> StructureType {
1440 self.s_type
1441 }
1442
1443 #[inline]
1444 fn next(&self) -> *const c_void {
1445 self.next
1446 }
1447}
1448
1449unsafe impl InputChainStruct for CommandPoolCreateInfo {
1450 const TYPE: StructureType = StructureType::COMMAND_POOL_CREATE_INFO;
1451
1452 #[inline]
1453 fn s_type(&self) -> StructureType {
1454 self.s_type
1455 }
1456
1457 #[inline]
1458 fn next(&self) -> *const c_void {
1459 self.next
1460 }
1461}
1462
1463unsafe impl InputChainStruct for ComputePipelineCreateInfo {
1464 const TYPE: StructureType = StructureType::COMPUTE_PIPELINE_CREATE_INFO;
1465
1466 #[inline]
1467 fn s_type(&self) -> StructureType {
1468 self.s_type
1469 }
1470
1471 #[inline]
1472 fn next(&self) -> *const c_void {
1473 self.next
1474 }
1475}
1476
1477unsafe impl InputChainStruct for ComputePipelineIndirectBufferInfoNV {
1478 const TYPE: StructureType = StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV;
1479
1480 #[inline]
1481 fn s_type(&self) -> StructureType {
1482 self.s_type
1483 }
1484
1485 #[inline]
1486 fn next(&self) -> *const c_void {
1487 self.next
1488 }
1489}
1490
1491unsafe impl InputChainStruct for ConditionalRenderingBeginInfoEXT {
1492 const TYPE: StructureType = StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
1493
1494 #[inline]
1495 fn s_type(&self) -> StructureType {
1496 self.s_type
1497 }
1498
1499 #[inline]
1500 fn next(&self) -> *const c_void {
1501 self.next
1502 }
1503}
1504
1505unsafe impl InputChainStruct for ConvertCooperativeVectorMatrixInfoNV {
1506 const TYPE: StructureType = StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV;
1507
1508 #[inline]
1509 fn s_type(&self) -> StructureType {
1510 self.s_type
1511 }
1512
1513 #[inline]
1514 fn next(&self) -> *const c_void {
1515 self.next
1516 }
1517}
1518
1519unsafe impl InputChainStruct for CooperativeMatrixFlexibleDimensionsPropertiesNV {
1520 const TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV;
1521
1522 #[inline]
1523 fn s_type(&self) -> StructureType {
1524 self.s_type
1525 }
1526
1527 #[inline]
1528 fn next(&self) -> *const c_void {
1529 self.next
1530 }
1531}
1532
1533unsafe impl OutputChainStruct for CooperativeMatrixFlexibleDimensionsPropertiesNV {
1534 #[inline]
1535 fn next_mut(&self) -> *mut c_void {
1536 self.next
1537 }
1538}
1539
1540unsafe impl InputChainStruct for CooperativeMatrixPropertiesKHR {
1541 const TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR;
1542
1543 #[inline]
1544 fn s_type(&self) -> StructureType {
1545 self.s_type
1546 }
1547
1548 #[inline]
1549 fn next(&self) -> *const c_void {
1550 self.next
1551 }
1552}
1553
1554unsafe impl OutputChainStruct for CooperativeMatrixPropertiesKHR {
1555 #[inline]
1556 fn next_mut(&self) -> *mut c_void {
1557 self.next
1558 }
1559}
1560
1561unsafe impl InputChainStruct for CooperativeMatrixPropertiesNV {
1562 const TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV;
1563
1564 #[inline]
1565 fn s_type(&self) -> StructureType {
1566 self.s_type
1567 }
1568
1569 #[inline]
1570 fn next(&self) -> *const c_void {
1571 self.next
1572 }
1573}
1574
1575unsafe impl OutputChainStruct for CooperativeMatrixPropertiesNV {
1576 #[inline]
1577 fn next_mut(&self) -> *mut c_void {
1578 self.next
1579 }
1580}
1581
1582unsafe impl InputChainStruct for CooperativeVectorPropertiesNV {
1583 const TYPE: StructureType = StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV;
1584
1585 #[inline]
1586 fn s_type(&self) -> StructureType {
1587 self.s_type
1588 }
1589
1590 #[inline]
1591 fn next(&self) -> *const c_void {
1592 self.next
1593 }
1594}
1595
1596unsafe impl OutputChainStruct for CooperativeVectorPropertiesNV {
1597 #[inline]
1598 fn next_mut(&self) -> *mut c_void {
1599 self.next
1600 }
1601}
1602
1603unsafe impl InputChainStruct for CopyAccelerationStructureInfoKHR {
1604 const TYPE: StructureType = StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR;
1605
1606 #[inline]
1607 fn s_type(&self) -> StructureType {
1608 self.s_type
1609 }
1610
1611 #[inline]
1612 fn next(&self) -> *const c_void {
1613 self.next
1614 }
1615}
1616
1617unsafe impl InputChainStruct for CopyAccelerationStructureToMemoryInfoKHR {
1618 const TYPE: StructureType = StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR;
1619
1620 #[inline]
1621 fn s_type(&self) -> StructureType {
1622 self.s_type
1623 }
1624
1625 #[inline]
1626 fn next(&self) -> *const c_void {
1627 self.next
1628 }
1629}
1630
1631unsafe impl InputChainStruct for CopyBufferInfo2 {
1632 const TYPE: StructureType = StructureType::COPY_BUFFER_INFO_2;
1633
1634 #[inline]
1635 fn s_type(&self) -> StructureType {
1636 self.s_type
1637 }
1638
1639 #[inline]
1640 fn next(&self) -> *const c_void {
1641 self.next
1642 }
1643}
1644
1645unsafe impl InputChainStruct for CopyBufferToImageInfo2 {
1646 const TYPE: StructureType = StructureType::COPY_BUFFER_TO_IMAGE_INFO_2;
1647
1648 #[inline]
1649 fn s_type(&self) -> StructureType {
1650 self.s_type
1651 }
1652
1653 #[inline]
1654 fn next(&self) -> *const c_void {
1655 self.next
1656 }
1657}
1658
1659unsafe impl InputChainStruct for CopyCommandTransformInfoQCOM {
1660 const TYPE: StructureType = StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM;
1661
1662 #[inline]
1663 fn s_type(&self) -> StructureType {
1664 self.s_type
1665 }
1666
1667 #[inline]
1668 fn next(&self) -> *const c_void {
1669 self.next
1670 }
1671}
1672
1673unsafe impl InputChainStruct for CopyDescriptorSet {
1674 const TYPE: StructureType = StructureType::COPY_DESCRIPTOR_SET;
1675
1676 #[inline]
1677 fn s_type(&self) -> StructureType {
1678 self.s_type
1679 }
1680
1681 #[inline]
1682 fn next(&self) -> *const c_void {
1683 self.next
1684 }
1685}
1686
1687unsafe impl InputChainStruct for CopyImageInfo2 {
1688 const TYPE: StructureType = StructureType::COPY_IMAGE_INFO_2;
1689
1690 #[inline]
1691 fn s_type(&self) -> StructureType {
1692 self.s_type
1693 }
1694
1695 #[inline]
1696 fn next(&self) -> *const c_void {
1697 self.next
1698 }
1699}
1700
1701unsafe impl InputChainStruct for CopyImageToBufferInfo2 {
1702 const TYPE: StructureType = StructureType::COPY_IMAGE_TO_BUFFER_INFO_2;
1703
1704 #[inline]
1705 fn s_type(&self) -> StructureType {
1706 self.s_type
1707 }
1708
1709 #[inline]
1710 fn next(&self) -> *const c_void {
1711 self.next
1712 }
1713}
1714
1715unsafe impl InputChainStruct for CopyImageToImageInfo {
1716 const TYPE: StructureType = StructureType::COPY_IMAGE_TO_IMAGE_INFO;
1717
1718 #[inline]
1719 fn s_type(&self) -> StructureType {
1720 self.s_type
1721 }
1722
1723 #[inline]
1724 fn next(&self) -> *const c_void {
1725 self.next
1726 }
1727}
1728
1729unsafe impl InputChainStruct for CopyImageToMemoryInfo {
1730 const TYPE: StructureType = StructureType::COPY_IMAGE_TO_MEMORY_INFO;
1731
1732 #[inline]
1733 fn s_type(&self) -> StructureType {
1734 self.s_type
1735 }
1736
1737 #[inline]
1738 fn next(&self) -> *const c_void {
1739 self.next
1740 }
1741}
1742
1743unsafe impl InputChainStruct for CopyMemoryIndirectInfoKHR {
1744 const TYPE: StructureType = StructureType::COPY_MEMORY_INDIRECT_INFO_KHR;
1745
1746 #[inline]
1747 fn s_type(&self) -> StructureType {
1748 self.s_type
1749 }
1750
1751 #[inline]
1752 fn next(&self) -> *const c_void {
1753 self.next
1754 }
1755}
1756
1757unsafe impl InputChainStruct for CopyMemoryToAccelerationStructureInfoKHR {
1758 const TYPE: StructureType = StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR;
1759
1760 #[inline]
1761 fn s_type(&self) -> StructureType {
1762 self.s_type
1763 }
1764
1765 #[inline]
1766 fn next(&self) -> *const c_void {
1767 self.next
1768 }
1769}
1770
1771unsafe impl InputChainStruct for CopyMemoryToImageIndirectInfoKHR {
1772 const TYPE: StructureType = StructureType::COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR;
1773
1774 #[inline]
1775 fn s_type(&self) -> StructureType {
1776 self.s_type
1777 }
1778
1779 #[inline]
1780 fn next(&self) -> *const c_void {
1781 self.next
1782 }
1783}
1784
1785unsafe impl InputChainStruct for CopyMemoryToImageInfo {
1786 const TYPE: StructureType = StructureType::COPY_MEMORY_TO_IMAGE_INFO;
1787
1788 #[inline]
1789 fn s_type(&self) -> StructureType {
1790 self.s_type
1791 }
1792
1793 #[inline]
1794 fn next(&self) -> *const c_void {
1795 self.next
1796 }
1797}
1798
1799unsafe impl InputChainStruct for CopyMemoryToMicromapInfoEXT {
1800 const TYPE: StructureType = StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT;
1801
1802 #[inline]
1803 fn s_type(&self) -> StructureType {
1804 self.s_type
1805 }
1806
1807 #[inline]
1808 fn next(&self) -> *const c_void {
1809 self.next
1810 }
1811}
1812
1813unsafe impl InputChainStruct for CopyMicromapInfoEXT {
1814 const TYPE: StructureType = StructureType::COPY_MICROMAP_INFO_EXT;
1815
1816 #[inline]
1817 fn s_type(&self) -> StructureType {
1818 self.s_type
1819 }
1820
1821 #[inline]
1822 fn next(&self) -> *const c_void {
1823 self.next
1824 }
1825}
1826
1827unsafe impl InputChainStruct for CopyMicromapToMemoryInfoEXT {
1828 const TYPE: StructureType = StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT;
1829
1830 #[inline]
1831 fn s_type(&self) -> StructureType {
1832 self.s_type
1833 }
1834
1835 #[inline]
1836 fn next(&self) -> *const c_void {
1837 self.next
1838 }
1839}
1840
1841unsafe impl InputChainStruct for CopyTensorInfoARM {
1842 const TYPE: StructureType = StructureType::COPY_TENSOR_INFO_ARM;
1843
1844 #[inline]
1845 fn s_type(&self) -> StructureType {
1846 self.s_type
1847 }
1848
1849 #[inline]
1850 fn next(&self) -> *const c_void {
1851 self.next
1852 }
1853}
1854
1855unsafe impl InputChainStruct for CuFunctionCreateInfoNVX {
1856 const TYPE: StructureType = StructureType::CU_FUNCTION_CREATE_INFO_NVX;
1857
1858 #[inline]
1859 fn s_type(&self) -> StructureType {
1860 self.s_type
1861 }
1862
1863 #[inline]
1864 fn next(&self) -> *const c_void {
1865 self.next
1866 }
1867}
1868
1869unsafe impl InputChainStruct for CuLaunchInfoNVX {
1870 const TYPE: StructureType = StructureType::CU_LAUNCH_INFO_NVX;
1871
1872 #[inline]
1873 fn s_type(&self) -> StructureType {
1874 self.s_type
1875 }
1876
1877 #[inline]
1878 fn next(&self) -> *const c_void {
1879 self.next
1880 }
1881}
1882
1883unsafe impl InputChainStruct for CuModuleCreateInfoNVX {
1884 const TYPE: StructureType = StructureType::CU_MODULE_CREATE_INFO_NVX;
1885
1886 #[inline]
1887 fn s_type(&self) -> StructureType {
1888 self.s_type
1889 }
1890
1891 #[inline]
1892 fn next(&self) -> *const c_void {
1893 self.next
1894 }
1895}
1896
1897unsafe impl InputChainStruct for CuModuleTexturingModeCreateInfoNVX {
1898 const TYPE: StructureType = StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX;
1899
1900 #[inline]
1901 fn s_type(&self) -> StructureType {
1902 self.s_type
1903 }
1904
1905 #[inline]
1906 fn next(&self) -> *const c_void {
1907 self.next
1908 }
1909}
1910
1911unsafe impl InputChainStruct for CudaFunctionCreateInfoNV {
1912 const TYPE: StructureType = StructureType::CUDA_FUNCTION_CREATE_INFO_NV;
1913
1914 #[inline]
1915 fn s_type(&self) -> StructureType {
1916 self.s_type
1917 }
1918
1919 #[inline]
1920 fn next(&self) -> *const c_void {
1921 self.next
1922 }
1923}
1924
1925unsafe impl InputChainStruct for CudaLaunchInfoNV {
1926 const TYPE: StructureType = StructureType::CUDA_LAUNCH_INFO_NV;
1927
1928 #[inline]
1929 fn s_type(&self) -> StructureType {
1930 self.s_type
1931 }
1932
1933 #[inline]
1934 fn next(&self) -> *const c_void {
1935 self.next
1936 }
1937}
1938
1939unsafe impl InputChainStruct for CudaModuleCreateInfoNV {
1940 const TYPE: StructureType = StructureType::CUDA_MODULE_CREATE_INFO_NV;
1941
1942 #[inline]
1943 fn s_type(&self) -> StructureType {
1944 self.s_type
1945 }
1946
1947 #[inline]
1948 fn next(&self) -> *const c_void {
1949 self.next
1950 }
1951}
1952
1953unsafe impl InputChainStruct for D3D12FenceSubmitInfoKHR {
1954 const TYPE: StructureType = StructureType::D3D12_FENCE_SUBMIT_INFO_KHR;
1955
1956 #[inline]
1957 fn s_type(&self) -> StructureType {
1958 self.s_type
1959 }
1960
1961 #[inline]
1962 fn next(&self) -> *const c_void {
1963 self.next
1964 }
1965}
1966
1967unsafe impl InputChainStruct for DataGraphPipelineCompilerControlCreateInfoARM {
1968 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM;
1969
1970 #[inline]
1971 fn s_type(&self) -> StructureType {
1972 self.s_type
1973 }
1974
1975 #[inline]
1976 fn next(&self) -> *const c_void {
1977 self.next
1978 }
1979}
1980
1981unsafe impl InputChainStruct for DataGraphPipelineConstantARM {
1982 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM;
1983
1984 #[inline]
1985 fn s_type(&self) -> StructureType {
1986 self.s_type
1987 }
1988
1989 #[inline]
1990 fn next(&self) -> *const c_void {
1991 self.next
1992 }
1993}
1994
1995unsafe impl InputChainStruct for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
1996 const TYPE: StructureType =
1997 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM;
1998
1999 #[inline]
2000 fn s_type(&self) -> StructureType {
2001 self.s_type
2002 }
2003
2004 #[inline]
2005 fn next(&self) -> *const c_void {
2006 self.next
2007 }
2008}
2009
2010unsafe impl InputChainStruct for DataGraphPipelineCreateInfoARM {
2011 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM;
2012
2013 #[inline]
2014 fn s_type(&self) -> StructureType {
2015 self.s_type
2016 }
2017
2018 #[inline]
2019 fn next(&self) -> *const c_void {
2020 self.next
2021 }
2022}
2023
2024unsafe impl InputChainStruct for DataGraphPipelineDispatchInfoARM {
2025 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM;
2026
2027 #[inline]
2028 fn s_type(&self) -> StructureType {
2029 self.s_type
2030 }
2031
2032 #[inline]
2033 fn next(&self) -> *const c_void {
2034 self.next
2035 }
2036}
2037
2038unsafe impl OutputChainStruct for DataGraphPipelineDispatchInfoARM {
2039 #[inline]
2040 fn next_mut(&self) -> *mut c_void {
2041 self.next
2042 }
2043}
2044
2045unsafe impl InputChainStruct for DataGraphPipelineIdentifierCreateInfoARM {
2046 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM;
2047
2048 #[inline]
2049 fn s_type(&self) -> StructureType {
2050 self.s_type
2051 }
2052
2053 #[inline]
2054 fn next(&self) -> *const c_void {
2055 self.next
2056 }
2057}
2058
2059unsafe impl InputChainStruct for DataGraphPipelineInfoARM {
2060 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_INFO_ARM;
2061
2062 #[inline]
2063 fn s_type(&self) -> StructureType {
2064 self.s_type
2065 }
2066
2067 #[inline]
2068 fn next(&self) -> *const c_void {
2069 self.next
2070 }
2071}
2072
2073unsafe impl InputChainStruct for DataGraphPipelinePropertyQueryResultARM {
2074 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM;
2075
2076 #[inline]
2077 fn s_type(&self) -> StructureType {
2078 self.s_type
2079 }
2080
2081 #[inline]
2082 fn next(&self) -> *const c_void {
2083 self.next
2084 }
2085}
2086
2087unsafe impl InputChainStruct for DataGraphPipelineResourceInfoARM {
2088 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM;
2089
2090 #[inline]
2091 fn s_type(&self) -> StructureType {
2092 self.s_type
2093 }
2094
2095 #[inline]
2096 fn next(&self) -> *const c_void {
2097 self.next
2098 }
2099}
2100
2101unsafe impl InputChainStruct for DataGraphPipelineSessionBindPointRequirementARM {
2102 const TYPE: StructureType =
2103 StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM;
2104
2105 #[inline]
2106 fn s_type(&self) -> StructureType {
2107 self.s_type
2108 }
2109
2110 #[inline]
2111 fn next(&self) -> *const c_void {
2112 self.next
2113 }
2114}
2115
2116unsafe impl InputChainStruct for DataGraphPipelineSessionBindPointRequirementsInfoARM {
2117 const TYPE: StructureType =
2118 StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM;
2119
2120 #[inline]
2121 fn s_type(&self) -> StructureType {
2122 self.s_type
2123 }
2124
2125 #[inline]
2126 fn next(&self) -> *const c_void {
2127 self.next
2128 }
2129}
2130
2131unsafe impl InputChainStruct for DataGraphPipelineSessionCreateInfoARM {
2132 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM;
2133
2134 #[inline]
2135 fn s_type(&self) -> StructureType {
2136 self.s_type
2137 }
2138
2139 #[inline]
2140 fn next(&self) -> *const c_void {
2141 self.next
2142 }
2143}
2144
2145unsafe impl InputChainStruct for DataGraphPipelineSessionMemoryRequirementsInfoARM {
2146 const TYPE: StructureType =
2147 StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM;
2148
2149 #[inline]
2150 fn s_type(&self) -> StructureType {
2151 self.s_type
2152 }
2153
2154 #[inline]
2155 fn next(&self) -> *const c_void {
2156 self.next
2157 }
2158}
2159
2160unsafe impl InputChainStruct for DataGraphPipelineShaderModuleCreateInfoARM {
2161 const TYPE: StructureType = StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM;
2162
2163 #[inline]
2164 fn s_type(&self) -> StructureType {
2165 self.s_type
2166 }
2167
2168 #[inline]
2169 fn next(&self) -> *const c_void {
2170 self.next
2171 }
2172}
2173
2174unsafe impl InputChainStruct for DataGraphProcessingEngineCreateInfoARM {
2175 const TYPE: StructureType = StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM;
2176
2177 #[inline]
2178 fn s_type(&self) -> StructureType {
2179 self.s_type
2180 }
2181
2182 #[inline]
2183 fn next(&self) -> *const c_void {
2184 self.next
2185 }
2186}
2187
2188unsafe impl InputChainStruct for DebugMarkerMarkerInfoEXT {
2189 const TYPE: StructureType = StructureType::DEBUG_MARKER_MARKER_INFO_EXT;
2190
2191 #[inline]
2192 fn s_type(&self) -> StructureType {
2193 self.s_type
2194 }
2195
2196 #[inline]
2197 fn next(&self) -> *const c_void {
2198 self.next
2199 }
2200}
2201
2202unsafe impl InputChainStruct for DebugMarkerObjectNameInfoEXT {
2203 const TYPE: StructureType = StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
2204
2205 #[inline]
2206 fn s_type(&self) -> StructureType {
2207 self.s_type
2208 }
2209
2210 #[inline]
2211 fn next(&self) -> *const c_void {
2212 self.next
2213 }
2214}
2215
2216unsafe impl InputChainStruct for DebugMarkerObjectTagInfoEXT {
2217 const TYPE: StructureType = StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
2218
2219 #[inline]
2220 fn s_type(&self) -> StructureType {
2221 self.s_type
2222 }
2223
2224 #[inline]
2225 fn next(&self) -> *const c_void {
2226 self.next
2227 }
2228}
2229
2230unsafe impl InputChainStruct for DebugReportCallbackCreateInfoEXT {
2231 const TYPE: StructureType = StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
2232
2233 #[inline]
2234 fn s_type(&self) -> StructureType {
2235 self.s_type
2236 }
2237
2238 #[inline]
2239 fn next(&self) -> *const c_void {
2240 self.next
2241 }
2242}
2243
2244unsafe impl InputChainStruct for DebugUtilsLabelEXT {
2245 const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
2246
2247 #[inline]
2248 fn s_type(&self) -> StructureType {
2249 self.s_type
2250 }
2251
2252 #[inline]
2253 fn next(&self) -> *const c_void {
2254 self.next
2255 }
2256}
2257
2258unsafe impl InputChainStruct for DebugUtilsMessengerCallbackDataEXT {
2259 const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
2260
2261 #[inline]
2262 fn s_type(&self) -> StructureType {
2263 self.s_type
2264 }
2265
2266 #[inline]
2267 fn next(&self) -> *const c_void {
2268 self.next
2269 }
2270}
2271
2272unsafe impl InputChainStruct for DebugUtilsMessengerCreateInfoEXT {
2273 const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
2274
2275 #[inline]
2276 fn s_type(&self) -> StructureType {
2277 self.s_type
2278 }
2279
2280 #[inline]
2281 fn next(&self) -> *const c_void {
2282 self.next
2283 }
2284}
2285
2286unsafe impl InputChainStruct for DebugUtilsObjectNameInfoEXT {
2287 const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
2288
2289 #[inline]
2290 fn s_type(&self) -> StructureType {
2291 self.s_type
2292 }
2293
2294 #[inline]
2295 fn next(&self) -> *const c_void {
2296 self.next
2297 }
2298}
2299
2300unsafe impl InputChainStruct for DebugUtilsObjectTagInfoEXT {
2301 const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
2302
2303 #[inline]
2304 fn s_type(&self) -> StructureType {
2305 self.s_type
2306 }
2307
2308 #[inline]
2309 fn next(&self) -> *const c_void {
2310 self.next
2311 }
2312}
2313
2314unsafe impl InputChainStruct for DedicatedAllocationBufferCreateInfoNV {
2315 const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
2316
2317 #[inline]
2318 fn s_type(&self) -> StructureType {
2319 self.s_type
2320 }
2321
2322 #[inline]
2323 fn next(&self) -> *const c_void {
2324 self.next
2325 }
2326}
2327
2328unsafe impl InputChainStruct for DedicatedAllocationImageCreateInfoNV {
2329 const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
2330
2331 #[inline]
2332 fn s_type(&self) -> StructureType {
2333 self.s_type
2334 }
2335
2336 #[inline]
2337 fn next(&self) -> *const c_void {
2338 self.next
2339 }
2340}
2341
2342unsafe impl InputChainStruct for DedicatedAllocationMemoryAllocateInfoNV {
2343 const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
2344
2345 #[inline]
2346 fn s_type(&self) -> StructureType {
2347 self.s_type
2348 }
2349
2350 #[inline]
2351 fn next(&self) -> *const c_void {
2352 self.next
2353 }
2354}
2355
2356unsafe impl InputChainStruct for DependencyInfo {
2357 const TYPE: StructureType = StructureType::DEPENDENCY_INFO;
2358
2359 #[inline]
2360 fn s_type(&self) -> StructureType {
2361 self.s_type
2362 }
2363
2364 #[inline]
2365 fn next(&self) -> *const c_void {
2366 self.next
2367 }
2368}
2369
2370unsafe impl InputChainStruct for DepthBiasInfoEXT {
2371 const TYPE: StructureType = StructureType::DEPTH_BIAS_INFO_EXT;
2372
2373 #[inline]
2374 fn s_type(&self) -> StructureType {
2375 self.s_type
2376 }
2377
2378 #[inline]
2379 fn next(&self) -> *const c_void {
2380 self.next
2381 }
2382}
2383
2384unsafe impl InputChainStruct for DepthBiasRepresentationInfoEXT {
2385 const TYPE: StructureType = StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT;
2386
2387 #[inline]
2388 fn s_type(&self) -> StructureType {
2389 self.s_type
2390 }
2391
2392 #[inline]
2393 fn next(&self) -> *const c_void {
2394 self.next
2395 }
2396}
2397
2398unsafe impl InputChainStruct for DescriptorAddressInfoEXT {
2399 const TYPE: StructureType = StructureType::DESCRIPTOR_ADDRESS_INFO_EXT;
2400
2401 #[inline]
2402 fn s_type(&self) -> StructureType {
2403 self.s_type
2404 }
2405
2406 #[inline]
2407 fn next(&self) -> *const c_void {
2408 self.next
2409 }
2410}
2411
2412unsafe impl OutputChainStruct for DescriptorAddressInfoEXT {
2413 #[inline]
2414 fn next_mut(&self) -> *mut c_void {
2415 self.next
2416 }
2417}
2418
2419unsafe impl InputChainStruct for DescriptorBufferBindingInfoEXT {
2420 const TYPE: StructureType = StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT;
2421
2422 #[inline]
2423 fn s_type(&self) -> StructureType {
2424 self.s_type
2425 }
2426
2427 #[inline]
2428 fn next(&self) -> *const c_void {
2429 self.next
2430 }
2431}
2432
2433unsafe impl InputChainStruct for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
2434 const TYPE: StructureType =
2435 StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT;
2436
2437 #[inline]
2438 fn s_type(&self) -> StructureType {
2439 self.s_type
2440 }
2441
2442 #[inline]
2443 fn next(&self) -> *const c_void {
2444 self.next
2445 }
2446}
2447
2448unsafe impl InputChainStruct for DescriptorGetInfoEXT {
2449 const TYPE: StructureType = StructureType::DESCRIPTOR_GET_INFO_EXT;
2450
2451 #[inline]
2452 fn s_type(&self) -> StructureType {
2453 self.s_type
2454 }
2455
2456 #[inline]
2457 fn next(&self) -> *const c_void {
2458 self.next
2459 }
2460}
2461
2462unsafe impl InputChainStruct for DescriptorGetTensorInfoARM {
2463 const TYPE: StructureType = StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM;
2464
2465 #[inline]
2466 fn s_type(&self) -> StructureType {
2467 self.s_type
2468 }
2469
2470 #[inline]
2471 fn next(&self) -> *const c_void {
2472 self.next
2473 }
2474}
2475
2476unsafe impl InputChainStruct for DescriptorPoolCreateInfo {
2477 const TYPE: StructureType = StructureType::DESCRIPTOR_POOL_CREATE_INFO;
2478
2479 #[inline]
2480 fn s_type(&self) -> StructureType {
2481 self.s_type
2482 }
2483
2484 #[inline]
2485 fn next(&self) -> *const c_void {
2486 self.next
2487 }
2488}
2489
2490unsafe impl InputChainStruct for DescriptorPoolInlineUniformBlockCreateInfo {
2491 const TYPE: StructureType = StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO;
2492
2493 #[inline]
2494 fn s_type(&self) -> StructureType {
2495 self.s_type
2496 }
2497
2498 #[inline]
2499 fn next(&self) -> *const c_void {
2500 self.next
2501 }
2502}
2503
2504unsafe impl InputChainStruct for DescriptorSetAllocateInfo {
2505 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_ALLOCATE_INFO;
2506
2507 #[inline]
2508 fn s_type(&self) -> StructureType {
2509 self.s_type
2510 }
2511
2512 #[inline]
2513 fn next(&self) -> *const c_void {
2514 self.next
2515 }
2516}
2517
2518unsafe impl InputChainStruct for DescriptorSetBindingReferenceVALVE {
2519 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE;
2520
2521 #[inline]
2522 fn s_type(&self) -> StructureType {
2523 self.s_type
2524 }
2525
2526 #[inline]
2527 fn next(&self) -> *const c_void {
2528 self.next
2529 }
2530}
2531
2532unsafe impl InputChainStruct for DescriptorSetLayoutBindingFlagsCreateInfo {
2533 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
2534
2535 #[inline]
2536 fn s_type(&self) -> StructureType {
2537 self.s_type
2538 }
2539
2540 #[inline]
2541 fn next(&self) -> *const c_void {
2542 self.next
2543 }
2544}
2545
2546unsafe impl InputChainStruct for DescriptorSetLayoutCreateInfo {
2547 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
2548
2549 #[inline]
2550 fn s_type(&self) -> StructureType {
2551 self.s_type
2552 }
2553
2554 #[inline]
2555 fn next(&self) -> *const c_void {
2556 self.next
2557 }
2558}
2559
2560unsafe impl InputChainStruct for DescriptorSetLayoutHostMappingInfoVALVE {
2561 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE;
2562
2563 #[inline]
2564 fn s_type(&self) -> StructureType {
2565 self.s_type
2566 }
2567
2568 #[inline]
2569 fn next(&self) -> *const c_void {
2570 self.next
2571 }
2572}
2573
2574unsafe impl OutputChainStruct for DescriptorSetLayoutHostMappingInfoVALVE {
2575 #[inline]
2576 fn next_mut(&self) -> *mut c_void {
2577 self.next
2578 }
2579}
2580
2581unsafe impl InputChainStruct for DescriptorSetLayoutSupport {
2582 const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT;
2583
2584 #[inline]
2585 fn s_type(&self) -> StructureType {
2586 self.s_type
2587 }
2588
2589 #[inline]
2590 fn next(&self) -> *const c_void {
2591 self.next
2592 }
2593}
2594
2595unsafe impl OutputChainStruct for DescriptorSetLayoutSupport {
2596 #[inline]
2597 fn next_mut(&self) -> *mut c_void {
2598 self.next
2599 }
2600}
2601
2602unsafe impl InputChainStruct for DescriptorSetVariableDescriptorCountAllocateInfo {
2603 const TYPE: StructureType =
2604 StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
2605
2606 #[inline]
2607 fn s_type(&self) -> StructureType {
2608 self.s_type
2609 }
2610
2611 #[inline]
2612 fn next(&self) -> *const c_void {
2613 self.next
2614 }
2615}
2616
2617unsafe impl InputChainStruct for DescriptorSetVariableDescriptorCountLayoutSupport {
2618 const TYPE: StructureType =
2619 StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
2620
2621 #[inline]
2622 fn s_type(&self) -> StructureType {
2623 self.s_type
2624 }
2625
2626 #[inline]
2627 fn next(&self) -> *const c_void {
2628 self.next
2629 }
2630}
2631
2632unsafe impl OutputChainStruct for DescriptorSetVariableDescriptorCountLayoutSupport {
2633 #[inline]
2634 fn next_mut(&self) -> *mut c_void {
2635 self.next
2636 }
2637}
2638
2639unsafe impl InputChainStruct for DescriptorUpdateTemplateCreateInfo {
2640 const TYPE: StructureType = StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
2641
2642 #[inline]
2643 fn s_type(&self) -> StructureType {
2644 self.s_type
2645 }
2646
2647 #[inline]
2648 fn next(&self) -> *const c_void {
2649 self.next
2650 }
2651}
2652
2653unsafe impl InputChainStruct for DeviceAddressBindingCallbackDataEXT {
2654 const TYPE: StructureType = StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT;
2655
2656 #[inline]
2657 fn s_type(&self) -> StructureType {
2658 self.s_type
2659 }
2660
2661 #[inline]
2662 fn next(&self) -> *const c_void {
2663 self.next
2664 }
2665}
2666
2667unsafe impl OutputChainStruct for DeviceAddressBindingCallbackDataEXT {
2668 #[inline]
2669 fn next_mut(&self) -> *mut c_void {
2670 self.next
2671 }
2672}
2673
2674unsafe impl InputChainStruct for DeviceBufferMemoryRequirements {
2675 const TYPE: StructureType = StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS;
2676
2677 #[inline]
2678 fn s_type(&self) -> StructureType {
2679 self.s_type
2680 }
2681
2682 #[inline]
2683 fn next(&self) -> *const c_void {
2684 self.next
2685 }
2686}
2687
2688unsafe impl InputChainStruct for DeviceCreateInfo {
2689 const TYPE: StructureType = StructureType::DEVICE_CREATE_INFO;
2690
2691 #[inline]
2692 fn s_type(&self) -> StructureType {
2693 self.s_type
2694 }
2695
2696 #[inline]
2697 fn next(&self) -> *const c_void {
2698 self.next
2699 }
2700}
2701
2702unsafe impl InputChainStruct for DeviceDeviceMemoryReportCreateInfoEXT {
2703 const TYPE: StructureType = StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT;
2704
2705 #[inline]
2706 fn s_type(&self) -> StructureType {
2707 self.s_type
2708 }
2709
2710 #[inline]
2711 fn next(&self) -> *const c_void {
2712 self.next
2713 }
2714}
2715
2716unsafe impl InputChainStruct for DeviceDiagnosticsConfigCreateInfoNV {
2717 const TYPE: StructureType = StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
2718
2719 #[inline]
2720 fn s_type(&self) -> StructureType {
2721 self.s_type
2722 }
2723
2724 #[inline]
2725 fn next(&self) -> *const c_void {
2726 self.next
2727 }
2728}
2729
2730unsafe impl InputChainStruct for DeviceEventInfoEXT {
2731 const TYPE: StructureType = StructureType::DEVICE_EVENT_INFO_EXT;
2732
2733 #[inline]
2734 fn s_type(&self) -> StructureType {
2735 self.s_type
2736 }
2737
2738 #[inline]
2739 fn next(&self) -> *const c_void {
2740 self.next
2741 }
2742}
2743
2744unsafe impl InputChainStruct for DeviceFaultCountsEXT {
2745 const TYPE: StructureType = StructureType::DEVICE_FAULT_COUNTS_EXT;
2746
2747 #[inline]
2748 fn s_type(&self) -> StructureType {
2749 self.s_type
2750 }
2751
2752 #[inline]
2753 fn next(&self) -> *const c_void {
2754 self.next
2755 }
2756}
2757
2758unsafe impl OutputChainStruct for DeviceFaultCountsEXT {
2759 #[inline]
2760 fn next_mut(&self) -> *mut c_void {
2761 self.next
2762 }
2763}
2764
2765unsafe impl InputChainStruct for DeviceFaultInfoEXT {
2766 const TYPE: StructureType = StructureType::DEVICE_FAULT_INFO_EXT;
2767
2768 #[inline]
2769 fn s_type(&self) -> StructureType {
2770 self.s_type
2771 }
2772
2773 #[inline]
2774 fn next(&self) -> *const c_void {
2775 self.next
2776 }
2777}
2778
2779unsafe impl OutputChainStruct for DeviceFaultInfoEXT {
2780 #[inline]
2781 fn next_mut(&self) -> *mut c_void {
2782 self.next
2783 }
2784}
2785
2786unsafe impl InputChainStruct for DeviceGroupBindSparseInfo {
2787 const TYPE: StructureType = StructureType::DEVICE_GROUP_BIND_SPARSE_INFO;
2788
2789 #[inline]
2790 fn s_type(&self) -> StructureType {
2791 self.s_type
2792 }
2793
2794 #[inline]
2795 fn next(&self) -> *const c_void {
2796 self.next
2797 }
2798}
2799
2800unsafe impl InputChainStruct for DeviceGroupCommandBufferBeginInfo {
2801 const TYPE: StructureType = StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
2802
2803 #[inline]
2804 fn s_type(&self) -> StructureType {
2805 self.s_type
2806 }
2807
2808 #[inline]
2809 fn next(&self) -> *const c_void {
2810 self.next
2811 }
2812}
2813
2814unsafe impl InputChainStruct for DeviceGroupDeviceCreateInfo {
2815 const TYPE: StructureType = StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO;
2816
2817 #[inline]
2818 fn s_type(&self) -> StructureType {
2819 self.s_type
2820 }
2821
2822 #[inline]
2823 fn next(&self) -> *const c_void {
2824 self.next
2825 }
2826}
2827
2828unsafe impl InputChainStruct for DeviceGroupPresentCapabilitiesKHR {
2829 const TYPE: StructureType = StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
2830
2831 #[inline]
2832 fn s_type(&self) -> StructureType {
2833 self.s_type
2834 }
2835
2836 #[inline]
2837 fn next(&self) -> *const c_void {
2838 self.next
2839 }
2840}
2841
2842unsafe impl OutputChainStruct for DeviceGroupPresentCapabilitiesKHR {
2843 #[inline]
2844 fn next_mut(&self) -> *mut c_void {
2845 self.next
2846 }
2847}
2848
2849unsafe impl InputChainStruct for DeviceGroupPresentInfoKHR {
2850 const TYPE: StructureType = StructureType::DEVICE_GROUP_PRESENT_INFO_KHR;
2851
2852 #[inline]
2853 fn s_type(&self) -> StructureType {
2854 self.s_type
2855 }
2856
2857 #[inline]
2858 fn next(&self) -> *const c_void {
2859 self.next
2860 }
2861}
2862
2863unsafe impl InputChainStruct for DeviceGroupRenderPassBeginInfo {
2864 const TYPE: StructureType = StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
2865
2866 #[inline]
2867 fn s_type(&self) -> StructureType {
2868 self.s_type
2869 }
2870
2871 #[inline]
2872 fn next(&self) -> *const c_void {
2873 self.next
2874 }
2875}
2876
2877unsafe impl InputChainStruct for DeviceGroupSubmitInfo {
2878 const TYPE: StructureType = StructureType::DEVICE_GROUP_SUBMIT_INFO;
2879
2880 #[inline]
2881 fn s_type(&self) -> StructureType {
2882 self.s_type
2883 }
2884
2885 #[inline]
2886 fn next(&self) -> *const c_void {
2887 self.next
2888 }
2889}
2890
2891unsafe impl InputChainStruct for DeviceGroupSwapchainCreateInfoKHR {
2892 const TYPE: StructureType = StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
2893
2894 #[inline]
2895 fn s_type(&self) -> StructureType {
2896 self.s_type
2897 }
2898
2899 #[inline]
2900 fn next(&self) -> *const c_void {
2901 self.next
2902 }
2903}
2904
2905unsafe impl InputChainStruct for DeviceImageMemoryRequirements {
2906 const TYPE: StructureType = StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS;
2907
2908 #[inline]
2909 fn s_type(&self) -> StructureType {
2910 self.s_type
2911 }
2912
2913 #[inline]
2914 fn next(&self) -> *const c_void {
2915 self.next
2916 }
2917}
2918
2919unsafe impl InputChainStruct for DeviceImageSubresourceInfo {
2920 const TYPE: StructureType = StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO;
2921
2922 #[inline]
2923 fn s_type(&self) -> StructureType {
2924 self.s_type
2925 }
2926
2927 #[inline]
2928 fn next(&self) -> *const c_void {
2929 self.next
2930 }
2931}
2932
2933unsafe impl InputChainStruct for DeviceMemoryOpaqueCaptureAddressInfo {
2934 const TYPE: StructureType = StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
2935
2936 #[inline]
2937 fn s_type(&self) -> StructureType {
2938 self.s_type
2939 }
2940
2941 #[inline]
2942 fn next(&self) -> *const c_void {
2943 self.next
2944 }
2945}
2946
2947unsafe impl InputChainStruct for DeviceMemoryOverallocationCreateInfoAMD {
2948 const TYPE: StructureType = StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
2949
2950 #[inline]
2951 fn s_type(&self) -> StructureType {
2952 self.s_type
2953 }
2954
2955 #[inline]
2956 fn next(&self) -> *const c_void {
2957 self.next
2958 }
2959}
2960
2961unsafe impl InputChainStruct for DeviceMemoryReportCallbackDataEXT {
2962 const TYPE: StructureType = StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT;
2963
2964 #[inline]
2965 fn s_type(&self) -> StructureType {
2966 self.s_type
2967 }
2968
2969 #[inline]
2970 fn next(&self) -> *const c_void {
2971 self.next
2972 }
2973}
2974
2975unsafe impl OutputChainStruct for DeviceMemoryReportCallbackDataEXT {
2976 #[inline]
2977 fn next_mut(&self) -> *mut c_void {
2978 self.next
2979 }
2980}
2981
2982unsafe impl InputChainStruct for DevicePipelineBinaryInternalCacheControlKHR {
2983 const TYPE: StructureType = StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR;
2984
2985 #[inline]
2986 fn s_type(&self) -> StructureType {
2987 self.s_type
2988 }
2989
2990 #[inline]
2991 fn next(&self) -> *const c_void {
2992 self.next
2993 }
2994}
2995
2996unsafe impl InputChainStruct for DevicePrivateDataCreateInfo {
2997 const TYPE: StructureType = StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO;
2998
2999 #[inline]
3000 fn s_type(&self) -> StructureType {
3001 self.s_type
3002 }
3003
3004 #[inline]
3005 fn next(&self) -> *const c_void {
3006 self.next
3007 }
3008}
3009
3010unsafe impl InputChainStruct for DeviceQueueCreateInfo {
3011 const TYPE: StructureType = StructureType::DEVICE_QUEUE_CREATE_INFO;
3012
3013 #[inline]
3014 fn s_type(&self) -> StructureType {
3015 self.s_type
3016 }
3017
3018 #[inline]
3019 fn next(&self) -> *const c_void {
3020 self.next
3021 }
3022}
3023
3024unsafe impl InputChainStruct for DeviceQueueGlobalPriorityCreateInfo {
3025 const TYPE: StructureType = StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO;
3026
3027 #[inline]
3028 fn s_type(&self) -> StructureType {
3029 self.s_type
3030 }
3031
3032 #[inline]
3033 fn next(&self) -> *const c_void {
3034 self.next
3035 }
3036}
3037
3038unsafe impl InputChainStruct for DeviceQueueInfo2 {
3039 const TYPE: StructureType = StructureType::DEVICE_QUEUE_INFO_2;
3040
3041 #[inline]
3042 fn s_type(&self) -> StructureType {
3043 self.s_type
3044 }
3045
3046 #[inline]
3047 fn next(&self) -> *const c_void {
3048 self.next
3049 }
3050}
3051
3052unsafe impl InputChainStruct for DeviceQueueShaderCoreControlCreateInfoARM {
3053 const TYPE: StructureType = StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM;
3054
3055 #[inline]
3056 fn s_type(&self) -> StructureType {
3057 self.s_type
3058 }
3059
3060 #[inline]
3061 fn next(&self) -> *const c_void {
3062 self.next
3063 }
3064}
3065
3066unsafe impl OutputChainStruct for DeviceQueueShaderCoreControlCreateInfoARM {
3067 #[inline]
3068 fn next_mut(&self) -> *mut c_void {
3069 self.next
3070 }
3071}
3072
3073unsafe impl InputChainStruct for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
3074 const TYPE: StructureType =
3075 StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV;
3076
3077 #[inline]
3078 fn s_type(&self) -> StructureType {
3079 self.s_type
3080 }
3081
3082 #[inline]
3083 fn next(&self) -> *const c_void {
3084 self.next
3085 }
3086}
3087
3088unsafe impl InputChainStruct for DeviceTensorMemoryRequirementsARM {
3089 const TYPE: StructureType = StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM;
3090
3091 #[inline]
3092 fn s_type(&self) -> StructureType {
3093 self.s_type
3094 }
3095
3096 #[inline]
3097 fn next(&self) -> *const c_void {
3098 self.next
3099 }
3100}
3101
3102unsafe impl InputChainStruct for DirectDriverLoadingInfoLUNARG {
3103 const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG;
3104
3105 #[inline]
3106 fn s_type(&self) -> StructureType {
3107 self.s_type
3108 }
3109
3110 #[inline]
3111 fn next(&self) -> *const c_void {
3112 self.next
3113 }
3114}
3115
3116unsafe impl OutputChainStruct for DirectDriverLoadingInfoLUNARG {
3117 #[inline]
3118 fn next_mut(&self) -> *mut c_void {
3119 self.next
3120 }
3121}
3122
3123unsafe impl InputChainStruct for DirectDriverLoadingListLUNARG {
3124 const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG;
3125
3126 #[inline]
3127 fn s_type(&self) -> StructureType {
3128 self.s_type
3129 }
3130
3131 #[inline]
3132 fn next(&self) -> *const c_void {
3133 self.next
3134 }
3135}
3136
3137unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT {
3138 const TYPE: StructureType = StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT;
3139
3140 #[inline]
3141 fn s_type(&self) -> StructureType {
3142 self.s_type
3143 }
3144
3145 #[inline]
3146 fn next(&self) -> *const c_void {
3147 self.next
3148 }
3149}
3150
3151unsafe impl InputChainStruct for DispatchTileInfoQCOM {
3152 const TYPE: StructureType = StructureType::DISPATCH_TILE_INFO_QCOM;
3153
3154 #[inline]
3155 fn s_type(&self) -> StructureType {
3156 self.s_type
3157 }
3158
3159 #[inline]
3160 fn next(&self) -> *const c_void {
3161 self.next
3162 }
3163}
3164
3165unsafe impl InputChainStruct for DisplayEventInfoEXT {
3166 const TYPE: StructureType = StructureType::DISPLAY_EVENT_INFO_EXT;
3167
3168 #[inline]
3169 fn s_type(&self) -> StructureType {
3170 self.s_type
3171 }
3172
3173 #[inline]
3174 fn next(&self) -> *const c_void {
3175 self.next
3176 }
3177}
3178
3179unsafe impl InputChainStruct for DisplayModeCreateInfoKHR {
3180 const TYPE: StructureType = StructureType::DISPLAY_MODE_CREATE_INFO_KHR;
3181
3182 #[inline]
3183 fn s_type(&self) -> StructureType {
3184 self.s_type
3185 }
3186
3187 #[inline]
3188 fn next(&self) -> *const c_void {
3189 self.next
3190 }
3191}
3192
3193unsafe impl InputChainStruct for DisplayModeProperties2KHR {
3194 const TYPE: StructureType = StructureType::DISPLAY_MODE_PROPERTIES_2_KHR;
3195
3196 #[inline]
3197 fn s_type(&self) -> StructureType {
3198 self.s_type
3199 }
3200
3201 #[inline]
3202 fn next(&self) -> *const c_void {
3203 self.next
3204 }
3205}
3206
3207unsafe impl OutputChainStruct for DisplayModeProperties2KHR {
3208 #[inline]
3209 fn next_mut(&self) -> *mut c_void {
3210 self.next
3211 }
3212}
3213
3214unsafe impl InputChainStruct for DisplayModeStereoPropertiesNV {
3215 const TYPE: StructureType = StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV;
3216
3217 #[inline]
3218 fn s_type(&self) -> StructureType {
3219 self.s_type
3220 }
3221
3222 #[inline]
3223 fn next(&self) -> *const c_void {
3224 self.next
3225 }
3226}
3227
3228unsafe impl InputChainStruct for DisplayNativeHdrSurfaceCapabilitiesAMD {
3229 const TYPE: StructureType = StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
3230
3231 #[inline]
3232 fn s_type(&self) -> StructureType {
3233 self.s_type
3234 }
3235
3236 #[inline]
3237 fn next(&self) -> *const c_void {
3238 self.next
3239 }
3240}
3241
3242unsafe impl OutputChainStruct for DisplayNativeHdrSurfaceCapabilitiesAMD {
3243 #[inline]
3244 fn next_mut(&self) -> *mut c_void {
3245 self.next
3246 }
3247}
3248
3249unsafe impl InputChainStruct for DisplayPlaneCapabilities2KHR {
3250 const TYPE: StructureType = StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR;
3251
3252 #[inline]
3253 fn s_type(&self) -> StructureType {
3254 self.s_type
3255 }
3256
3257 #[inline]
3258 fn next(&self) -> *const c_void {
3259 self.next
3260 }
3261}
3262
3263unsafe impl OutputChainStruct for DisplayPlaneCapabilities2KHR {
3264 #[inline]
3265 fn next_mut(&self) -> *mut c_void {
3266 self.next
3267 }
3268}
3269
3270unsafe impl InputChainStruct for DisplayPlaneInfo2KHR {
3271 const TYPE: StructureType = StructureType::DISPLAY_PLANE_INFO_2_KHR;
3272
3273 #[inline]
3274 fn s_type(&self) -> StructureType {
3275 self.s_type
3276 }
3277
3278 #[inline]
3279 fn next(&self) -> *const c_void {
3280 self.next
3281 }
3282}
3283
3284unsafe impl InputChainStruct for DisplayPlaneProperties2KHR {
3285 const TYPE: StructureType = StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR;
3286
3287 #[inline]
3288 fn s_type(&self) -> StructureType {
3289 self.s_type
3290 }
3291
3292 #[inline]
3293 fn next(&self) -> *const c_void {
3294 self.next
3295 }
3296}
3297
3298unsafe impl OutputChainStruct for DisplayPlaneProperties2KHR {
3299 #[inline]
3300 fn next_mut(&self) -> *mut c_void {
3301 self.next
3302 }
3303}
3304
3305unsafe impl InputChainStruct for DisplayPowerInfoEXT {
3306 const TYPE: StructureType = StructureType::DISPLAY_POWER_INFO_EXT;
3307
3308 #[inline]
3309 fn s_type(&self) -> StructureType {
3310 self.s_type
3311 }
3312
3313 #[inline]
3314 fn next(&self) -> *const c_void {
3315 self.next
3316 }
3317}
3318
3319unsafe impl InputChainStruct for DisplayPresentInfoKHR {
3320 const TYPE: StructureType = StructureType::DISPLAY_PRESENT_INFO_KHR;
3321
3322 #[inline]
3323 fn s_type(&self) -> StructureType {
3324 self.s_type
3325 }
3326
3327 #[inline]
3328 fn next(&self) -> *const c_void {
3329 self.next
3330 }
3331}
3332
3333unsafe impl InputChainStruct for DisplayProperties2KHR {
3334 const TYPE: StructureType = StructureType::DISPLAY_PROPERTIES_2_KHR;
3335
3336 #[inline]
3337 fn s_type(&self) -> StructureType {
3338 self.s_type
3339 }
3340
3341 #[inline]
3342 fn next(&self) -> *const c_void {
3343 self.next
3344 }
3345}
3346
3347unsafe impl OutputChainStruct for DisplayProperties2KHR {
3348 #[inline]
3349 fn next_mut(&self) -> *mut c_void {
3350 self.next
3351 }
3352}
3353
3354unsafe impl InputChainStruct for DisplaySurfaceCreateInfoKHR {
3355 const TYPE: StructureType = StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR;
3356
3357 #[inline]
3358 fn s_type(&self) -> StructureType {
3359 self.s_type
3360 }
3361
3362 #[inline]
3363 fn next(&self) -> *const c_void {
3364 self.next
3365 }
3366}
3367
3368unsafe impl InputChainStruct for DisplaySurfaceStereoCreateInfoNV {
3369 const TYPE: StructureType = StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV;
3370
3371 #[inline]
3372 fn s_type(&self) -> StructureType {
3373 self.s_type
3374 }
3375
3376 #[inline]
3377 fn next(&self) -> *const c_void {
3378 self.next
3379 }
3380}
3381
3382unsafe impl InputChainStruct for DrmFormatModifierPropertiesList2EXT {
3383 const TYPE: StructureType = StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT;
3384
3385 #[inline]
3386 fn s_type(&self) -> StructureType {
3387 self.s_type
3388 }
3389
3390 #[inline]
3391 fn next(&self) -> *const c_void {
3392 self.next
3393 }
3394}
3395
3396unsafe impl OutputChainStruct for DrmFormatModifierPropertiesList2EXT {
3397 #[inline]
3398 fn next_mut(&self) -> *mut c_void {
3399 self.next
3400 }
3401}
3402
3403unsafe impl InputChainStruct for DrmFormatModifierPropertiesListEXT {
3404 const TYPE: StructureType = StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
3405
3406 #[inline]
3407 fn s_type(&self) -> StructureType {
3408 self.s_type
3409 }
3410
3411 #[inline]
3412 fn next(&self) -> *const c_void {
3413 self.next
3414 }
3415}
3416
3417unsafe impl OutputChainStruct for DrmFormatModifierPropertiesListEXT {
3418 #[inline]
3419 fn next_mut(&self) -> *mut c_void {
3420 self.next
3421 }
3422}
3423
3424unsafe impl InputChainStruct for EventCreateInfo {
3425 const TYPE: StructureType = StructureType::EVENT_CREATE_INFO;
3426
3427 #[inline]
3428 fn s_type(&self) -> StructureType {
3429 self.s_type
3430 }
3431
3432 #[inline]
3433 fn next(&self) -> *const c_void {
3434 self.next
3435 }
3436}
3437
3438unsafe impl InputChainStruct for ExecutionGraphPipelineCreateInfoAMDX {
3439 const TYPE: StructureType = StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX;
3440
3441 #[inline]
3442 fn s_type(&self) -> StructureType {
3443 self.s_type
3444 }
3445
3446 #[inline]
3447 fn next(&self) -> *const c_void {
3448 self.next
3449 }
3450}
3451
3452unsafe impl InputChainStruct for ExecutionGraphPipelineScratchSizeAMDX {
3453 const TYPE: StructureType = StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX;
3454
3455 #[inline]
3456 fn s_type(&self) -> StructureType {
3457 self.s_type
3458 }
3459
3460 #[inline]
3461 fn next(&self) -> *const c_void {
3462 self.next
3463 }
3464}
3465
3466unsafe impl OutputChainStruct for ExecutionGraphPipelineScratchSizeAMDX {
3467 #[inline]
3468 fn next_mut(&self) -> *mut c_void {
3469 self.next
3470 }
3471}
3472
3473unsafe impl InputChainStruct for ExportFenceCreateInfo {
3474 const TYPE: StructureType = StructureType::EXPORT_FENCE_CREATE_INFO;
3475
3476 #[inline]
3477 fn s_type(&self) -> StructureType {
3478 self.s_type
3479 }
3480
3481 #[inline]
3482 fn next(&self) -> *const c_void {
3483 self.next
3484 }
3485}
3486
3487unsafe impl InputChainStruct for ExportFenceSciSyncInfoNV {
3488 const TYPE: StructureType = StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV;
3489
3490 #[inline]
3491 fn s_type(&self) -> StructureType {
3492 self.s_type
3493 }
3494
3495 #[inline]
3496 fn next(&self) -> *const c_void {
3497 self.next
3498 }
3499}
3500
3501unsafe impl InputChainStruct for ExportFenceWin32HandleInfoKHR {
3502 const TYPE: StructureType = StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
3503
3504 #[inline]
3505 fn s_type(&self) -> StructureType {
3506 self.s_type
3507 }
3508
3509 #[inline]
3510 fn next(&self) -> *const c_void {
3511 self.next
3512 }
3513}
3514
3515unsafe impl InputChainStruct for ExportMemoryAllocateInfo {
3516 const TYPE: StructureType = StructureType::EXPORT_MEMORY_ALLOCATE_INFO;
3517
3518 #[inline]
3519 fn s_type(&self) -> StructureType {
3520 self.s_type
3521 }
3522
3523 #[inline]
3524 fn next(&self) -> *const c_void {
3525 self.next
3526 }
3527}
3528
3529unsafe impl InputChainStruct for ExportMemoryAllocateInfoNV {
3530 const TYPE: StructureType = StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV;
3531
3532 #[inline]
3533 fn s_type(&self) -> StructureType {
3534 self.s_type
3535 }
3536
3537 #[inline]
3538 fn next(&self) -> *const c_void {
3539 self.next
3540 }
3541}
3542
3543unsafe impl InputChainStruct for ExportMemorySciBufInfoNV {
3544 const TYPE: StructureType = StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV;
3545
3546 #[inline]
3547 fn s_type(&self) -> StructureType {
3548 self.s_type
3549 }
3550
3551 #[inline]
3552 fn next(&self) -> *const c_void {
3553 self.next
3554 }
3555}
3556
3557unsafe impl InputChainStruct for ExportMemoryWin32HandleInfoKHR {
3558 const TYPE: StructureType = StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
3559
3560 #[inline]
3561 fn s_type(&self) -> StructureType {
3562 self.s_type
3563 }
3564
3565 #[inline]
3566 fn next(&self) -> *const c_void {
3567 self.next
3568 }
3569}
3570
3571unsafe impl InputChainStruct for ExportMemoryWin32HandleInfoNV {
3572 const TYPE: StructureType = StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
3573
3574 #[inline]
3575 fn s_type(&self) -> StructureType {
3576 self.s_type
3577 }
3578
3579 #[inline]
3580 fn next(&self) -> *const c_void {
3581 self.next
3582 }
3583}
3584
3585unsafe impl InputChainStruct for ExportMetalBufferInfoEXT {
3586 const TYPE: StructureType = StructureType::EXPORT_METAL_BUFFER_INFO_EXT;
3587
3588 #[inline]
3589 fn s_type(&self) -> StructureType {
3590 self.s_type
3591 }
3592
3593 #[inline]
3594 fn next(&self) -> *const c_void {
3595 self.next
3596 }
3597}
3598
3599unsafe impl InputChainStruct for ExportMetalCommandQueueInfoEXT {
3600 const TYPE: StructureType = StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT;
3601
3602 #[inline]
3603 fn s_type(&self) -> StructureType {
3604 self.s_type
3605 }
3606
3607 #[inline]
3608 fn next(&self) -> *const c_void {
3609 self.next
3610 }
3611}
3612
3613unsafe impl InputChainStruct for ExportMetalDeviceInfoEXT {
3614 const TYPE: StructureType = StructureType::EXPORT_METAL_DEVICE_INFO_EXT;
3615
3616 #[inline]
3617 fn s_type(&self) -> StructureType {
3618 self.s_type
3619 }
3620
3621 #[inline]
3622 fn next(&self) -> *const c_void {
3623 self.next
3624 }
3625}
3626
3627unsafe impl InputChainStruct for ExportMetalIOSurfaceInfoEXT {
3628 const TYPE: StructureType = StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT;
3629
3630 #[inline]
3631 fn s_type(&self) -> StructureType {
3632 self.s_type
3633 }
3634
3635 #[inline]
3636 fn next(&self) -> *const c_void {
3637 self.next
3638 }
3639}
3640
3641unsafe impl InputChainStruct for ExportMetalObjectCreateInfoEXT {
3642 const TYPE: StructureType = StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT;
3643
3644 #[inline]
3645 fn s_type(&self) -> StructureType {
3646 self.s_type
3647 }
3648
3649 #[inline]
3650 fn next(&self) -> *const c_void {
3651 self.next
3652 }
3653}
3654
3655unsafe impl InputChainStruct for ExportMetalObjectsInfoEXT {
3656 const TYPE: StructureType = StructureType::EXPORT_METAL_OBJECTS_INFO_EXT;
3657
3658 #[inline]
3659 fn s_type(&self) -> StructureType {
3660 self.s_type
3661 }
3662
3663 #[inline]
3664 fn next(&self) -> *const c_void {
3665 self.next
3666 }
3667}
3668
3669unsafe impl InputChainStruct for ExportMetalSharedEventInfoEXT {
3670 const TYPE: StructureType = StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT;
3671
3672 #[inline]
3673 fn s_type(&self) -> StructureType {
3674 self.s_type
3675 }
3676
3677 #[inline]
3678 fn next(&self) -> *const c_void {
3679 self.next
3680 }
3681}
3682
3683unsafe impl InputChainStruct for ExportMetalTextureInfoEXT {
3684 const TYPE: StructureType = StructureType::EXPORT_METAL_TEXTURE_INFO_EXT;
3685
3686 #[inline]
3687 fn s_type(&self) -> StructureType {
3688 self.s_type
3689 }
3690
3691 #[inline]
3692 fn next(&self) -> *const c_void {
3693 self.next
3694 }
3695}
3696
3697unsafe impl InputChainStruct for ExportSemaphoreCreateInfo {
3698 const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_CREATE_INFO;
3699
3700 #[inline]
3701 fn s_type(&self) -> StructureType {
3702 self.s_type
3703 }
3704
3705 #[inline]
3706 fn next(&self) -> *const c_void {
3707 self.next
3708 }
3709}
3710
3711unsafe impl InputChainStruct for ExportSemaphoreSciSyncInfoNV {
3712 const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV;
3713
3714 #[inline]
3715 fn s_type(&self) -> StructureType {
3716 self.s_type
3717 }
3718
3719 #[inline]
3720 fn next(&self) -> *const c_void {
3721 self.next
3722 }
3723}
3724
3725unsafe impl InputChainStruct for ExportSemaphoreWin32HandleInfoKHR {
3726 const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
3727
3728 #[inline]
3729 fn s_type(&self) -> StructureType {
3730 self.s_type
3731 }
3732
3733 #[inline]
3734 fn next(&self) -> *const c_void {
3735 self.next
3736 }
3737}
3738
3739unsafe impl InputChainStruct for ExternalBufferProperties {
3740 const TYPE: StructureType = StructureType::EXTERNAL_BUFFER_PROPERTIES;
3741
3742 #[inline]
3743 fn s_type(&self) -> StructureType {
3744 self.s_type
3745 }
3746
3747 #[inline]
3748 fn next(&self) -> *const c_void {
3749 self.next
3750 }
3751}
3752
3753unsafe impl OutputChainStruct for ExternalBufferProperties {
3754 #[inline]
3755 fn next_mut(&self) -> *mut c_void {
3756 self.next
3757 }
3758}
3759
3760unsafe impl InputChainStruct for ExternalComputeQueueCreateInfoNV {
3761 const TYPE: StructureType = StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV;
3762
3763 #[inline]
3764 fn s_type(&self) -> StructureType {
3765 self.s_type
3766 }
3767
3768 #[inline]
3769 fn next(&self) -> *const c_void {
3770 self.next
3771 }
3772}
3773
3774unsafe impl InputChainStruct for ExternalComputeQueueDataParamsNV {
3775 const TYPE: StructureType = StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV;
3776
3777 #[inline]
3778 fn s_type(&self) -> StructureType {
3779 self.s_type
3780 }
3781
3782 #[inline]
3783 fn next(&self) -> *const c_void {
3784 self.next
3785 }
3786}
3787
3788unsafe impl InputChainStruct for ExternalComputeQueueDeviceCreateInfoNV {
3789 const TYPE: StructureType = StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV;
3790
3791 #[inline]
3792 fn s_type(&self) -> StructureType {
3793 self.s_type
3794 }
3795
3796 #[inline]
3797 fn next(&self) -> *const c_void {
3798 self.next
3799 }
3800}
3801
3802unsafe impl InputChainStruct for ExternalFenceProperties {
3803 const TYPE: StructureType = StructureType::EXTERNAL_FENCE_PROPERTIES;
3804
3805 #[inline]
3806 fn s_type(&self) -> StructureType {
3807 self.s_type
3808 }
3809
3810 #[inline]
3811 fn next(&self) -> *const c_void {
3812 self.next
3813 }
3814}
3815
3816unsafe impl OutputChainStruct for ExternalFenceProperties {
3817 #[inline]
3818 fn next_mut(&self) -> *mut c_void {
3819 self.next
3820 }
3821}
3822
3823unsafe impl InputChainStruct for ExternalFormatANDROID {
3824 const TYPE: StructureType = StructureType::EXTERNAL_FORMAT_ANDROID;
3825
3826 #[inline]
3827 fn s_type(&self) -> StructureType {
3828 self.s_type
3829 }
3830
3831 #[inline]
3832 fn next(&self) -> *const c_void {
3833 self.next
3834 }
3835}
3836
3837unsafe impl OutputChainStruct for ExternalFormatANDROID {
3838 #[inline]
3839 fn next_mut(&self) -> *mut c_void {
3840 self.next
3841 }
3842}
3843
3844unsafe impl InputChainStruct for ExternalFormatQNX {
3845 const TYPE: StructureType = StructureType::EXTERNAL_FORMAT_QNX;
3846
3847 #[inline]
3848 fn s_type(&self) -> StructureType {
3849 self.s_type
3850 }
3851
3852 #[inline]
3853 fn next(&self) -> *const c_void {
3854 self.next
3855 }
3856}
3857
3858unsafe impl OutputChainStruct for ExternalFormatQNX {
3859 #[inline]
3860 fn next_mut(&self) -> *mut c_void {
3861 self.next
3862 }
3863}
3864
3865unsafe impl InputChainStruct for ExternalImageFormatProperties {
3866 const TYPE: StructureType = StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES;
3867
3868 #[inline]
3869 fn s_type(&self) -> StructureType {
3870 self.s_type
3871 }
3872
3873 #[inline]
3874 fn next(&self) -> *const c_void {
3875 self.next
3876 }
3877}
3878
3879unsafe impl OutputChainStruct for ExternalImageFormatProperties {
3880 #[inline]
3881 fn next_mut(&self) -> *mut c_void {
3882 self.next
3883 }
3884}
3885
3886unsafe impl InputChainStruct for ExternalMemoryAcquireUnmodifiedEXT {
3887 const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT;
3888
3889 #[inline]
3890 fn s_type(&self) -> StructureType {
3891 self.s_type
3892 }
3893
3894 #[inline]
3895 fn next(&self) -> *const c_void {
3896 self.next
3897 }
3898}
3899
3900unsafe impl InputChainStruct for ExternalMemoryBufferCreateInfo {
3901 const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
3902
3903 #[inline]
3904 fn s_type(&self) -> StructureType {
3905 self.s_type
3906 }
3907
3908 #[inline]
3909 fn next(&self) -> *const c_void {
3910 self.next
3911 }
3912}
3913
3914unsafe impl InputChainStruct for ExternalMemoryImageCreateInfo {
3915 const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
3916
3917 #[inline]
3918 fn s_type(&self) -> StructureType {
3919 self.s_type
3920 }
3921
3922 #[inline]
3923 fn next(&self) -> *const c_void {
3924 self.next
3925 }
3926}
3927
3928unsafe impl InputChainStruct for ExternalMemoryImageCreateInfoNV {
3929 const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
3930
3931 #[inline]
3932 fn s_type(&self) -> StructureType {
3933 self.s_type
3934 }
3935
3936 #[inline]
3937 fn next(&self) -> *const c_void {
3938 self.next
3939 }
3940}
3941
3942unsafe impl InputChainStruct for ExternalMemoryTensorCreateInfoARM {
3943 const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM;
3944
3945 #[inline]
3946 fn s_type(&self) -> StructureType {
3947 self.s_type
3948 }
3949
3950 #[inline]
3951 fn next(&self) -> *const c_void {
3952 self.next
3953 }
3954}
3955
3956unsafe impl InputChainStruct for ExternalSemaphoreProperties {
3957 const TYPE: StructureType = StructureType::EXTERNAL_SEMAPHORE_PROPERTIES;
3958
3959 #[inline]
3960 fn s_type(&self) -> StructureType {
3961 self.s_type
3962 }
3963
3964 #[inline]
3965 fn next(&self) -> *const c_void {
3966 self.next
3967 }
3968}
3969
3970unsafe impl OutputChainStruct for ExternalSemaphoreProperties {
3971 #[inline]
3972 fn next_mut(&self) -> *mut c_void {
3973 self.next
3974 }
3975}
3976
3977unsafe impl InputChainStruct for ExternalTensorPropertiesARM {
3978 const TYPE: StructureType = StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM;
3979
3980 #[inline]
3981 fn s_type(&self) -> StructureType {
3982 self.s_type
3983 }
3984
3985 #[inline]
3986 fn next(&self) -> *const c_void {
3987 self.next
3988 }
3989}
3990
3991unsafe impl InputChainStruct for FenceCreateInfo {
3992 const TYPE: StructureType = StructureType::FENCE_CREATE_INFO;
3993
3994 #[inline]
3995 fn s_type(&self) -> StructureType {
3996 self.s_type
3997 }
3998
3999 #[inline]
4000 fn next(&self) -> *const c_void {
4001 self.next
4002 }
4003}
4004
4005unsafe impl InputChainStruct for FenceGetFdInfoKHR {
4006 const TYPE: StructureType = StructureType::FENCE_GET_FD_INFO_KHR;
4007
4008 #[inline]
4009 fn s_type(&self) -> StructureType {
4010 self.s_type
4011 }
4012
4013 #[inline]
4014 fn next(&self) -> *const c_void {
4015 self.next
4016 }
4017}
4018
4019unsafe impl InputChainStruct for FenceGetSciSyncInfoNV {
4020 const TYPE: StructureType = StructureType::FENCE_GET_SCI_SYNC_INFO_NV;
4021
4022 #[inline]
4023 fn s_type(&self) -> StructureType {
4024 self.s_type
4025 }
4026
4027 #[inline]
4028 fn next(&self) -> *const c_void {
4029 self.next
4030 }
4031}
4032
4033unsafe impl InputChainStruct for FenceGetWin32HandleInfoKHR {
4034 const TYPE: StructureType = StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR;
4035
4036 #[inline]
4037 fn s_type(&self) -> StructureType {
4038 self.s_type
4039 }
4040
4041 #[inline]
4042 fn next(&self) -> *const c_void {
4043 self.next
4044 }
4045}
4046
4047unsafe impl InputChainStruct for FilterCubicImageViewImageFormatPropertiesEXT {
4048 const TYPE: StructureType = StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
4049
4050 #[inline]
4051 fn s_type(&self) -> StructureType {
4052 self.s_type
4053 }
4054
4055 #[inline]
4056 fn next(&self) -> *const c_void {
4057 self.next
4058 }
4059}
4060
4061unsafe impl OutputChainStruct for FilterCubicImageViewImageFormatPropertiesEXT {
4062 #[inline]
4063 fn next_mut(&self) -> *mut c_void {
4064 self.next
4065 }
4066}
4067
4068unsafe impl InputChainStruct for FormatProperties2 {
4069 const TYPE: StructureType = StructureType::FORMAT_PROPERTIES_2;
4070
4071 #[inline]
4072 fn s_type(&self) -> StructureType {
4073 self.s_type
4074 }
4075
4076 #[inline]
4077 fn next(&self) -> *const c_void {
4078 self.next
4079 }
4080}
4081
4082unsafe impl OutputChainStruct for FormatProperties2 {
4083 #[inline]
4084 fn next_mut(&self) -> *mut c_void {
4085 self.next
4086 }
4087}
4088
4089unsafe impl InputChainStruct for FormatProperties3 {
4090 const TYPE: StructureType = StructureType::FORMAT_PROPERTIES_3;
4091
4092 #[inline]
4093 fn s_type(&self) -> StructureType {
4094 self.s_type
4095 }
4096
4097 #[inline]
4098 fn next(&self) -> *const c_void {
4099 self.next
4100 }
4101}
4102
4103unsafe impl OutputChainStruct for FormatProperties3 {
4104 #[inline]
4105 fn next_mut(&self) -> *mut c_void {
4106 self.next
4107 }
4108}
4109
4110unsafe impl InputChainStruct for FragmentShadingRateAttachmentInfoKHR {
4111 const TYPE: StructureType = StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
4112
4113 #[inline]
4114 fn s_type(&self) -> StructureType {
4115 self.s_type
4116 }
4117
4118 #[inline]
4119 fn next(&self) -> *const c_void {
4120 self.next
4121 }
4122}
4123
4124unsafe impl InputChainStruct for FrameBoundaryEXT {
4125 const TYPE: StructureType = StructureType::FRAME_BOUNDARY_EXT;
4126
4127 #[inline]
4128 fn s_type(&self) -> StructureType {
4129 self.s_type
4130 }
4131
4132 #[inline]
4133 fn next(&self) -> *const c_void {
4134 self.next
4135 }
4136}
4137
4138unsafe impl InputChainStruct for FrameBoundaryTensorsARM {
4139 const TYPE: StructureType = StructureType::FRAME_BOUNDARY_TENSORS_ARM;
4140
4141 #[inline]
4142 fn s_type(&self) -> StructureType {
4143 self.s_type
4144 }
4145
4146 #[inline]
4147 fn next(&self) -> *const c_void {
4148 self.next
4149 }
4150}
4151
4152unsafe impl InputChainStruct for FramebufferAttachmentImageInfo {
4153 const TYPE: StructureType = StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
4154
4155 #[inline]
4156 fn s_type(&self) -> StructureType {
4157 self.s_type
4158 }
4159
4160 #[inline]
4161 fn next(&self) -> *const c_void {
4162 self.next
4163 }
4164}
4165
4166unsafe impl InputChainStruct for FramebufferAttachmentsCreateInfo {
4167 const TYPE: StructureType = StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
4168
4169 #[inline]
4170 fn s_type(&self) -> StructureType {
4171 self.s_type
4172 }
4173
4174 #[inline]
4175 fn next(&self) -> *const c_void {
4176 self.next
4177 }
4178}
4179
4180unsafe impl InputChainStruct for FramebufferCreateInfo {
4181 const TYPE: StructureType = StructureType::FRAMEBUFFER_CREATE_INFO;
4182
4183 #[inline]
4184 fn s_type(&self) -> StructureType {
4185 self.s_type
4186 }
4187
4188 #[inline]
4189 fn next(&self) -> *const c_void {
4190 self.next
4191 }
4192}
4193
4194unsafe impl InputChainStruct for FramebufferMixedSamplesCombinationNV {
4195 const TYPE: StructureType = StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV;
4196
4197 #[inline]
4198 fn s_type(&self) -> StructureType {
4199 self.s_type
4200 }
4201
4202 #[inline]
4203 fn next(&self) -> *const c_void {
4204 self.next
4205 }
4206}
4207
4208unsafe impl OutputChainStruct for FramebufferMixedSamplesCombinationNV {
4209 #[inline]
4210 fn next_mut(&self) -> *mut c_void {
4211 self.next
4212 }
4213}
4214
4215unsafe impl InputChainStruct for GeneratedCommandsInfoEXT {
4216 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_INFO_EXT;
4217
4218 #[inline]
4219 fn s_type(&self) -> StructureType {
4220 self.s_type
4221 }
4222
4223 #[inline]
4224 fn next(&self) -> *const c_void {
4225 self.next
4226 }
4227}
4228
4229unsafe impl InputChainStruct for GeneratedCommandsInfoNV {
4230 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_INFO_NV;
4231
4232 #[inline]
4233 fn s_type(&self) -> StructureType {
4234 self.s_type
4235 }
4236
4237 #[inline]
4238 fn next(&self) -> *const c_void {
4239 self.next
4240 }
4241}
4242
4243unsafe impl InputChainStruct for GeneratedCommandsMemoryRequirementsInfoEXT {
4244 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT;
4245
4246 #[inline]
4247 fn s_type(&self) -> StructureType {
4248 self.s_type
4249 }
4250
4251 #[inline]
4252 fn next(&self) -> *const c_void {
4253 self.next
4254 }
4255}
4256
4257unsafe impl InputChainStruct for GeneratedCommandsMemoryRequirementsInfoNV {
4258 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
4259
4260 #[inline]
4261 fn s_type(&self) -> StructureType {
4262 self.s_type
4263 }
4264
4265 #[inline]
4266 fn next(&self) -> *const c_void {
4267 self.next
4268 }
4269}
4270
4271unsafe impl InputChainStruct for GeneratedCommandsPipelineInfoEXT {
4272 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT;
4273
4274 #[inline]
4275 fn s_type(&self) -> StructureType {
4276 self.s_type
4277 }
4278
4279 #[inline]
4280 fn next(&self) -> *const c_void {
4281 self.next
4282 }
4283}
4284
4285unsafe impl OutputChainStruct for GeneratedCommandsPipelineInfoEXT {
4286 #[inline]
4287 fn next_mut(&self) -> *mut c_void {
4288 self.next
4289 }
4290}
4291
4292unsafe impl InputChainStruct for GeneratedCommandsShaderInfoEXT {
4293 const TYPE: StructureType = StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT;
4294
4295 #[inline]
4296 fn s_type(&self) -> StructureType {
4297 self.s_type
4298 }
4299
4300 #[inline]
4301 fn next(&self) -> *const c_void {
4302 self.next
4303 }
4304}
4305
4306unsafe impl OutputChainStruct for GeneratedCommandsShaderInfoEXT {
4307 #[inline]
4308 fn next_mut(&self) -> *mut c_void {
4309 self.next
4310 }
4311}
4312
4313unsafe impl InputChainStruct for GeometryAABBNV {
4314 const TYPE: StructureType = StructureType::GEOMETRY_AABB_NV;
4315
4316 #[inline]
4317 fn s_type(&self) -> StructureType {
4318 self.s_type
4319 }
4320
4321 #[inline]
4322 fn next(&self) -> *const c_void {
4323 self.next
4324 }
4325}
4326
4327unsafe impl InputChainStruct for GeometryNV {
4328 const TYPE: StructureType = StructureType::GEOMETRY_NV;
4329
4330 #[inline]
4331 fn s_type(&self) -> StructureType {
4332 self.s_type
4333 }
4334
4335 #[inline]
4336 fn next(&self) -> *const c_void {
4337 self.next
4338 }
4339}
4340
4341unsafe impl InputChainStruct for GeometryTrianglesNV {
4342 const TYPE: StructureType = StructureType::GEOMETRY_TRIANGLES_NV;
4343
4344 #[inline]
4345 fn s_type(&self) -> StructureType {
4346 self.s_type
4347 }
4348
4349 #[inline]
4350 fn next(&self) -> *const c_void {
4351 self.next
4352 }
4353}
4354
4355unsafe impl InputChainStruct for GetLatencyMarkerInfoNV {
4356 const TYPE: StructureType = StructureType::GET_LATENCY_MARKER_INFO_NV;
4357
4358 #[inline]
4359 fn s_type(&self) -> StructureType {
4360 self.s_type
4361 }
4362
4363 #[inline]
4364 fn next(&self) -> *const c_void {
4365 self.next
4366 }
4367}
4368
4369unsafe impl InputChainStruct for GraphicsPipelineCreateInfo {
4370 const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_CREATE_INFO;
4371
4372 #[inline]
4373 fn s_type(&self) -> StructureType {
4374 self.s_type
4375 }
4376
4377 #[inline]
4378 fn next(&self) -> *const c_void {
4379 self.next
4380 }
4381}
4382
4383unsafe impl InputChainStruct for GraphicsPipelineLibraryCreateInfoEXT {
4384 const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT;
4385
4386 #[inline]
4387 fn s_type(&self) -> StructureType {
4388 self.s_type
4389 }
4390
4391 #[inline]
4392 fn next(&self) -> *const c_void {
4393 self.next
4394 }
4395}
4396
4397unsafe impl InputChainStruct for GraphicsPipelineShaderGroupsCreateInfoNV {
4398 const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV;
4399
4400 #[inline]
4401 fn s_type(&self) -> StructureType {
4402 self.s_type
4403 }
4404
4405 #[inline]
4406 fn next(&self) -> *const c_void {
4407 self.next
4408 }
4409}
4410
4411unsafe impl InputChainStruct for GraphicsShaderGroupCreateInfoNV {
4412 const TYPE: StructureType = StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV;
4413
4414 #[inline]
4415 fn s_type(&self) -> StructureType {
4416 self.s_type
4417 }
4418
4419 #[inline]
4420 fn next(&self) -> *const c_void {
4421 self.next
4422 }
4423}
4424
4425unsafe impl InputChainStruct for HdrMetadataEXT {
4426 const TYPE: StructureType = StructureType::HDR_METADATA_EXT;
4427
4428 #[inline]
4429 fn s_type(&self) -> StructureType {
4430 self.s_type
4431 }
4432
4433 #[inline]
4434 fn next(&self) -> *const c_void {
4435 self.next
4436 }
4437}
4438
4439unsafe impl InputChainStruct for HdrVividDynamicMetadataHUAWEI {
4440 const TYPE: StructureType = StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI;
4441
4442 #[inline]
4443 fn s_type(&self) -> StructureType {
4444 self.s_type
4445 }
4446
4447 #[inline]
4448 fn next(&self) -> *const c_void {
4449 self.next
4450 }
4451}
4452
4453unsafe impl InputChainStruct for HeadlessSurfaceCreateInfoEXT {
4454 const TYPE: StructureType = StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT;
4455
4456 #[inline]
4457 fn s_type(&self) -> StructureType {
4458 self.s_type
4459 }
4460
4461 #[inline]
4462 fn next(&self) -> *const c_void {
4463 self.next
4464 }
4465}
4466
4467unsafe impl InputChainStruct for HostImageCopyDevicePerformanceQuery {
4468 const TYPE: StructureType = StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY;
4469
4470 #[inline]
4471 fn s_type(&self) -> StructureType {
4472 self.s_type
4473 }
4474
4475 #[inline]
4476 fn next(&self) -> *const c_void {
4477 self.next
4478 }
4479}
4480
4481unsafe impl OutputChainStruct for HostImageCopyDevicePerformanceQuery {
4482 #[inline]
4483 fn next_mut(&self) -> *mut c_void {
4484 self.next
4485 }
4486}
4487
4488unsafe impl InputChainStruct for HostImageLayoutTransitionInfo {
4489 const TYPE: StructureType = StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO;
4490
4491 #[inline]
4492 fn s_type(&self) -> StructureType {
4493 self.s_type
4494 }
4495
4496 #[inline]
4497 fn next(&self) -> *const c_void {
4498 self.next
4499 }
4500}
4501
4502unsafe impl InputChainStruct for IOSSurfaceCreateInfoMVK {
4503 const TYPE: StructureType = StructureType::IOS_SURFACE_CREATE_INFO_MVK;
4504
4505 #[inline]
4506 fn s_type(&self) -> StructureType {
4507 self.s_type
4508 }
4509
4510 #[inline]
4511 fn next(&self) -> *const c_void {
4512 self.next
4513 }
4514}
4515
4516unsafe impl InputChainStruct for ImageAlignmentControlCreateInfoMESA {
4517 const TYPE: StructureType = StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA;
4518
4519 #[inline]
4520 fn s_type(&self) -> StructureType {
4521 self.s_type
4522 }
4523
4524 #[inline]
4525 fn next(&self) -> *const c_void {
4526 self.next
4527 }
4528}
4529
4530unsafe impl InputChainStruct for ImageBlit2 {
4531 const TYPE: StructureType = StructureType::IMAGE_BLIT_2;
4532
4533 #[inline]
4534 fn s_type(&self) -> StructureType {
4535 self.s_type
4536 }
4537
4538 #[inline]
4539 fn next(&self) -> *const c_void {
4540 self.next
4541 }
4542}
4543
4544unsafe impl InputChainStruct for ImageCaptureDescriptorDataInfoEXT {
4545 const TYPE: StructureType = StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
4546
4547 #[inline]
4548 fn s_type(&self) -> StructureType {
4549 self.s_type
4550 }
4551
4552 #[inline]
4553 fn next(&self) -> *const c_void {
4554 self.next
4555 }
4556}
4557
4558unsafe impl InputChainStruct for ImageCompressionControlEXT {
4559 const TYPE: StructureType = StructureType::IMAGE_COMPRESSION_CONTROL_EXT;
4560
4561 #[inline]
4562 fn s_type(&self) -> StructureType {
4563 self.s_type
4564 }
4565
4566 #[inline]
4567 fn next(&self) -> *const c_void {
4568 self.next
4569 }
4570}
4571
4572unsafe impl InputChainStruct for ImageCompressionPropertiesEXT {
4573 const TYPE: StructureType = StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT;
4574
4575 #[inline]
4576 fn s_type(&self) -> StructureType {
4577 self.s_type
4578 }
4579
4580 #[inline]
4581 fn next(&self) -> *const c_void {
4582 self.next
4583 }
4584}
4585
4586unsafe impl OutputChainStruct for ImageCompressionPropertiesEXT {
4587 #[inline]
4588 fn next_mut(&self) -> *mut c_void {
4589 self.next
4590 }
4591}
4592
4593unsafe impl InputChainStruct for ImageConstraintsInfoFUCHSIA {
4594 const TYPE: StructureType = StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA;
4595
4596 #[inline]
4597 fn s_type(&self) -> StructureType {
4598 self.s_type
4599 }
4600
4601 #[inline]
4602 fn next(&self) -> *const c_void {
4603 self.next
4604 }
4605}
4606
4607unsafe impl InputChainStruct for ImageCopy2 {
4608 const TYPE: StructureType = StructureType::IMAGE_COPY_2;
4609
4610 #[inline]
4611 fn s_type(&self) -> StructureType {
4612 self.s_type
4613 }
4614
4615 #[inline]
4616 fn next(&self) -> *const c_void {
4617 self.next
4618 }
4619}
4620
4621unsafe impl InputChainStruct for ImageCreateInfo {
4622 const TYPE: StructureType = StructureType::IMAGE_CREATE_INFO;
4623
4624 #[inline]
4625 fn s_type(&self) -> StructureType {
4626 self.s_type
4627 }
4628
4629 #[inline]
4630 fn next(&self) -> *const c_void {
4631 self.next
4632 }
4633}
4634
4635unsafe impl InputChainStruct for ImageDrmFormatModifierExplicitCreateInfoEXT {
4636 const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
4637
4638 #[inline]
4639 fn s_type(&self) -> StructureType {
4640 self.s_type
4641 }
4642
4643 #[inline]
4644 fn next(&self) -> *const c_void {
4645 self.next
4646 }
4647}
4648
4649unsafe impl InputChainStruct for ImageDrmFormatModifierListCreateInfoEXT {
4650 const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
4651
4652 #[inline]
4653 fn s_type(&self) -> StructureType {
4654 self.s_type
4655 }
4656
4657 #[inline]
4658 fn next(&self) -> *const c_void {
4659 self.next
4660 }
4661}
4662
4663unsafe impl InputChainStruct for ImageDrmFormatModifierPropertiesEXT {
4664 const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
4665
4666 #[inline]
4667 fn s_type(&self) -> StructureType {
4668 self.s_type
4669 }
4670
4671 #[inline]
4672 fn next(&self) -> *const c_void {
4673 self.next
4674 }
4675}
4676
4677unsafe impl OutputChainStruct for ImageDrmFormatModifierPropertiesEXT {
4678 #[inline]
4679 fn next_mut(&self) -> *mut c_void {
4680 self.next
4681 }
4682}
4683
4684unsafe impl InputChainStruct for ImageFormatConstraintsInfoFUCHSIA {
4685 const TYPE: StructureType = StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA;
4686
4687 #[inline]
4688 fn s_type(&self) -> StructureType {
4689 self.s_type
4690 }
4691
4692 #[inline]
4693 fn next(&self) -> *const c_void {
4694 self.next
4695 }
4696}
4697
4698unsafe impl InputChainStruct for ImageFormatListCreateInfo {
4699 const TYPE: StructureType = StructureType::IMAGE_FORMAT_LIST_CREATE_INFO;
4700
4701 #[inline]
4702 fn s_type(&self) -> StructureType {
4703 self.s_type
4704 }
4705
4706 #[inline]
4707 fn next(&self) -> *const c_void {
4708 self.next
4709 }
4710}
4711
4712unsafe impl InputChainStruct for ImageFormatProperties2 {
4713 const TYPE: StructureType = StructureType::IMAGE_FORMAT_PROPERTIES_2;
4714
4715 #[inline]
4716 fn s_type(&self) -> StructureType {
4717 self.s_type
4718 }
4719
4720 #[inline]
4721 fn next(&self) -> *const c_void {
4722 self.next
4723 }
4724}
4725
4726unsafe impl OutputChainStruct for ImageFormatProperties2 {
4727 #[inline]
4728 fn next_mut(&self) -> *mut c_void {
4729 self.next
4730 }
4731}
4732
4733unsafe impl InputChainStruct for ImageMemoryBarrier {
4734 const TYPE: StructureType = StructureType::IMAGE_MEMORY_BARRIER;
4735
4736 #[inline]
4737 fn s_type(&self) -> StructureType {
4738 self.s_type
4739 }
4740
4741 #[inline]
4742 fn next(&self) -> *const c_void {
4743 self.next
4744 }
4745}
4746
4747unsafe impl InputChainStruct for ImageMemoryBarrier2 {
4748 const TYPE: StructureType = StructureType::IMAGE_MEMORY_BARRIER_2;
4749
4750 #[inline]
4751 fn s_type(&self) -> StructureType {
4752 self.s_type
4753 }
4754
4755 #[inline]
4756 fn next(&self) -> *const c_void {
4757 self.next
4758 }
4759}
4760
4761unsafe impl InputChainStruct for ImageMemoryRequirementsInfo2 {
4762 const TYPE: StructureType = StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2;
4763
4764 #[inline]
4765 fn s_type(&self) -> StructureType {
4766 self.s_type
4767 }
4768
4769 #[inline]
4770 fn next(&self) -> *const c_void {
4771 self.next
4772 }
4773}
4774
4775unsafe impl InputChainStruct for ImagePipeSurfaceCreateInfoFUCHSIA {
4776 const TYPE: StructureType = StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
4777
4778 #[inline]
4779 fn s_type(&self) -> StructureType {
4780 self.s_type
4781 }
4782
4783 #[inline]
4784 fn next(&self) -> *const c_void {
4785 self.next
4786 }
4787}
4788
4789unsafe impl InputChainStruct for ImagePlaneMemoryRequirementsInfo {
4790 const TYPE: StructureType = StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
4791
4792 #[inline]
4793 fn s_type(&self) -> StructureType {
4794 self.s_type
4795 }
4796
4797 #[inline]
4798 fn next(&self) -> *const c_void {
4799 self.next
4800 }
4801}
4802
4803unsafe impl InputChainStruct for ImageResolve2 {
4804 const TYPE: StructureType = StructureType::IMAGE_RESOLVE_2;
4805
4806 #[inline]
4807 fn s_type(&self) -> StructureType {
4808 self.s_type
4809 }
4810
4811 #[inline]
4812 fn next(&self) -> *const c_void {
4813 self.next
4814 }
4815}
4816
4817unsafe impl InputChainStruct for ImageSparseMemoryRequirementsInfo2 {
4818 const TYPE: StructureType = StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
4819
4820 #[inline]
4821 fn s_type(&self) -> StructureType {
4822 self.s_type
4823 }
4824
4825 #[inline]
4826 fn next(&self) -> *const c_void {
4827 self.next
4828 }
4829}
4830
4831unsafe impl InputChainStruct for ImageStencilUsageCreateInfo {
4832 const TYPE: StructureType = StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO;
4833
4834 #[inline]
4835 fn s_type(&self) -> StructureType {
4836 self.s_type
4837 }
4838
4839 #[inline]
4840 fn next(&self) -> *const c_void {
4841 self.next
4842 }
4843}
4844
4845unsafe impl InputChainStruct for ImageSubresource2 {
4846 const TYPE: StructureType = StructureType::IMAGE_SUBRESOURCE_2;
4847
4848 #[inline]
4849 fn s_type(&self) -> StructureType {
4850 self.s_type
4851 }
4852
4853 #[inline]
4854 fn next(&self) -> *const c_void {
4855 self.next
4856 }
4857}
4858
4859unsafe impl OutputChainStruct for ImageSubresource2 {
4860 #[inline]
4861 fn next_mut(&self) -> *mut c_void {
4862 self.next
4863 }
4864}
4865
4866unsafe impl InputChainStruct for ImageSwapchainCreateInfoKHR {
4867 const TYPE: StructureType = StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
4868
4869 #[inline]
4870 fn s_type(&self) -> StructureType {
4871 self.s_type
4872 }
4873
4874 #[inline]
4875 fn next(&self) -> *const c_void {
4876 self.next
4877 }
4878}
4879
4880unsafe impl InputChainStruct for ImageToMemoryCopy {
4881 const TYPE: StructureType = StructureType::IMAGE_TO_MEMORY_COPY;
4882
4883 #[inline]
4884 fn s_type(&self) -> StructureType {
4885 self.s_type
4886 }
4887
4888 #[inline]
4889 fn next(&self) -> *const c_void {
4890 self.next
4891 }
4892}
4893
4894unsafe impl InputChainStruct for ImageViewASTCDecodeModeEXT {
4895 const TYPE: StructureType = StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
4896
4897 #[inline]
4898 fn s_type(&self) -> StructureType {
4899 self.s_type
4900 }
4901
4902 #[inline]
4903 fn next(&self) -> *const c_void {
4904 self.next
4905 }
4906}
4907
4908unsafe impl InputChainStruct for ImageViewAddressPropertiesNVX {
4909 const TYPE: StructureType = StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX;
4910
4911 #[inline]
4912 fn s_type(&self) -> StructureType {
4913 self.s_type
4914 }
4915
4916 #[inline]
4917 fn next(&self) -> *const c_void {
4918 self.next
4919 }
4920}
4921
4922unsafe impl OutputChainStruct for ImageViewAddressPropertiesNVX {
4923 #[inline]
4924 fn next_mut(&self) -> *mut c_void {
4925 self.next
4926 }
4927}
4928
4929unsafe impl InputChainStruct for ImageViewCaptureDescriptorDataInfoEXT {
4930 const TYPE: StructureType = StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
4931
4932 #[inline]
4933 fn s_type(&self) -> StructureType {
4934 self.s_type
4935 }
4936
4937 #[inline]
4938 fn next(&self) -> *const c_void {
4939 self.next
4940 }
4941}
4942
4943unsafe impl InputChainStruct for ImageViewCreateInfo {
4944 const TYPE: StructureType = StructureType::IMAGE_VIEW_CREATE_INFO;
4945
4946 #[inline]
4947 fn s_type(&self) -> StructureType {
4948 self.s_type
4949 }
4950
4951 #[inline]
4952 fn next(&self) -> *const c_void {
4953 self.next
4954 }
4955}
4956
4957unsafe impl InputChainStruct for ImageViewHandleInfoNVX {
4958 const TYPE: StructureType = StructureType::IMAGE_VIEW_HANDLE_INFO_NVX;
4959
4960 #[inline]
4961 fn s_type(&self) -> StructureType {
4962 self.s_type
4963 }
4964
4965 #[inline]
4966 fn next(&self) -> *const c_void {
4967 self.next
4968 }
4969}
4970
4971unsafe impl InputChainStruct for ImageViewMinLodCreateInfoEXT {
4972 const TYPE: StructureType = StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT;
4973
4974 #[inline]
4975 fn s_type(&self) -> StructureType {
4976 self.s_type
4977 }
4978
4979 #[inline]
4980 fn next(&self) -> *const c_void {
4981 self.next
4982 }
4983}
4984
4985unsafe impl InputChainStruct for ImageViewSampleWeightCreateInfoQCOM {
4986 const TYPE: StructureType = StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM;
4987
4988 #[inline]
4989 fn s_type(&self) -> StructureType {
4990 self.s_type
4991 }
4992
4993 #[inline]
4994 fn next(&self) -> *const c_void {
4995 self.next
4996 }
4997}
4998
4999unsafe impl InputChainStruct for ImageViewSlicedCreateInfoEXT {
5000 const TYPE: StructureType = StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT;
5001
5002 #[inline]
5003 fn s_type(&self) -> StructureType {
5004 self.s_type
5005 }
5006
5007 #[inline]
5008 fn next(&self) -> *const c_void {
5009 self.next
5010 }
5011}
5012
5013unsafe impl InputChainStruct for ImageViewUsageCreateInfo {
5014 const TYPE: StructureType = StructureType::IMAGE_VIEW_USAGE_CREATE_INFO;
5015
5016 #[inline]
5017 fn s_type(&self) -> StructureType {
5018 self.s_type
5019 }
5020
5021 #[inline]
5022 fn next(&self) -> *const c_void {
5023 self.next
5024 }
5025}
5026
5027unsafe impl InputChainStruct for ImportAndroidHardwareBufferInfoANDROID {
5028 const TYPE: StructureType = StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
5029
5030 #[inline]
5031 fn s_type(&self) -> StructureType {
5032 self.s_type
5033 }
5034
5035 #[inline]
5036 fn next(&self) -> *const c_void {
5037 self.next
5038 }
5039}
5040
5041unsafe impl InputChainStruct for ImportFenceFdInfoKHR {
5042 const TYPE: StructureType = StructureType::IMPORT_FENCE_FD_INFO_KHR;
5043
5044 #[inline]
5045 fn s_type(&self) -> StructureType {
5046 self.s_type
5047 }
5048
5049 #[inline]
5050 fn next(&self) -> *const c_void {
5051 self.next
5052 }
5053}
5054
5055unsafe impl InputChainStruct for ImportFenceSciSyncInfoNV {
5056 const TYPE: StructureType = StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV;
5057
5058 #[inline]
5059 fn s_type(&self) -> StructureType {
5060 self.s_type
5061 }
5062
5063 #[inline]
5064 fn next(&self) -> *const c_void {
5065 self.next
5066 }
5067}
5068
5069unsafe impl InputChainStruct for ImportFenceWin32HandleInfoKHR {
5070 const TYPE: StructureType = StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
5071
5072 #[inline]
5073 fn s_type(&self) -> StructureType {
5074 self.s_type
5075 }
5076
5077 #[inline]
5078 fn next(&self) -> *const c_void {
5079 self.next
5080 }
5081}
5082
5083unsafe impl InputChainStruct for ImportMemoryBufferCollectionFUCHSIA {
5084 const TYPE: StructureType = StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA;
5085
5086 #[inline]
5087 fn s_type(&self) -> StructureType {
5088 self.s_type
5089 }
5090
5091 #[inline]
5092 fn next(&self) -> *const c_void {
5093 self.next
5094 }
5095}
5096
5097unsafe impl InputChainStruct for ImportMemoryFdInfoKHR {
5098 const TYPE: StructureType = StructureType::IMPORT_MEMORY_FD_INFO_KHR;
5099
5100 #[inline]
5101 fn s_type(&self) -> StructureType {
5102 self.s_type
5103 }
5104
5105 #[inline]
5106 fn next(&self) -> *const c_void {
5107 self.next
5108 }
5109}
5110
5111unsafe impl InputChainStruct for ImportMemoryHostPointerInfoEXT {
5112 const TYPE: StructureType = StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
5113
5114 #[inline]
5115 fn s_type(&self) -> StructureType {
5116 self.s_type
5117 }
5118
5119 #[inline]
5120 fn next(&self) -> *const c_void {
5121 self.next
5122 }
5123}
5124
5125unsafe impl InputChainStruct for ImportMemoryMetalHandleInfoEXT {
5126 const TYPE: StructureType = StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT;
5127
5128 #[inline]
5129 fn s_type(&self) -> StructureType {
5130 self.s_type
5131 }
5132
5133 #[inline]
5134 fn next(&self) -> *const c_void {
5135 self.next
5136 }
5137}
5138
5139unsafe impl InputChainStruct for ImportMemorySciBufInfoNV {
5140 const TYPE: StructureType = StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV;
5141
5142 #[inline]
5143 fn s_type(&self) -> StructureType {
5144 self.s_type
5145 }
5146
5147 #[inline]
5148 fn next(&self) -> *const c_void {
5149 self.next
5150 }
5151}
5152
5153unsafe impl InputChainStruct for ImportMemoryWin32HandleInfoKHR {
5154 const TYPE: StructureType = StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
5155
5156 #[inline]
5157 fn s_type(&self) -> StructureType {
5158 self.s_type
5159 }
5160
5161 #[inline]
5162 fn next(&self) -> *const c_void {
5163 self.next
5164 }
5165}
5166
5167unsafe impl InputChainStruct for ImportMemoryWin32HandleInfoNV {
5168 const TYPE: StructureType = StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
5169
5170 #[inline]
5171 fn s_type(&self) -> StructureType {
5172 self.s_type
5173 }
5174
5175 #[inline]
5176 fn next(&self) -> *const c_void {
5177 self.next
5178 }
5179}
5180
5181unsafe impl InputChainStruct for ImportMemoryZirconHandleInfoFUCHSIA {
5182 const TYPE: StructureType = StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA;
5183
5184 #[inline]
5185 fn s_type(&self) -> StructureType {
5186 self.s_type
5187 }
5188
5189 #[inline]
5190 fn next(&self) -> *const c_void {
5191 self.next
5192 }
5193}
5194
5195unsafe impl InputChainStruct for ImportMetalBufferInfoEXT {
5196 const TYPE: StructureType = StructureType::IMPORT_METAL_BUFFER_INFO_EXT;
5197
5198 #[inline]
5199 fn s_type(&self) -> StructureType {
5200 self.s_type
5201 }
5202
5203 #[inline]
5204 fn next(&self) -> *const c_void {
5205 self.next
5206 }
5207}
5208
5209unsafe impl InputChainStruct for ImportMetalIOSurfaceInfoEXT {
5210 const TYPE: StructureType = StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT;
5211
5212 #[inline]
5213 fn s_type(&self) -> StructureType {
5214 self.s_type
5215 }
5216
5217 #[inline]
5218 fn next(&self) -> *const c_void {
5219 self.next
5220 }
5221}
5222
5223unsafe impl InputChainStruct for ImportMetalSharedEventInfoEXT {
5224 const TYPE: StructureType = StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT;
5225
5226 #[inline]
5227 fn s_type(&self) -> StructureType {
5228 self.s_type
5229 }
5230
5231 #[inline]
5232 fn next(&self) -> *const c_void {
5233 self.next
5234 }
5235}
5236
5237unsafe impl InputChainStruct for ImportMetalTextureInfoEXT {
5238 const TYPE: StructureType = StructureType::IMPORT_METAL_TEXTURE_INFO_EXT;
5239
5240 #[inline]
5241 fn s_type(&self) -> StructureType {
5242 self.s_type
5243 }
5244
5245 #[inline]
5246 fn next(&self) -> *const c_void {
5247 self.next
5248 }
5249}
5250
5251unsafe impl InputChainStruct for ImportScreenBufferInfoQNX {
5252 const TYPE: StructureType = StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX;
5253
5254 #[inline]
5255 fn s_type(&self) -> StructureType {
5256 self.s_type
5257 }
5258
5259 #[inline]
5260 fn next(&self) -> *const c_void {
5261 self.next
5262 }
5263}
5264
5265unsafe impl InputChainStruct for ImportSemaphoreFdInfoKHR {
5266 const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR;
5267
5268 #[inline]
5269 fn s_type(&self) -> StructureType {
5270 self.s_type
5271 }
5272
5273 #[inline]
5274 fn next(&self) -> *const c_void {
5275 self.next
5276 }
5277}
5278
5279unsafe impl InputChainStruct for ImportSemaphoreSciSyncInfoNV {
5280 const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV;
5281
5282 #[inline]
5283 fn s_type(&self) -> StructureType {
5284 self.s_type
5285 }
5286
5287 #[inline]
5288 fn next(&self) -> *const c_void {
5289 self.next
5290 }
5291}
5292
5293unsafe impl InputChainStruct for ImportSemaphoreWin32HandleInfoKHR {
5294 const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
5295
5296 #[inline]
5297 fn s_type(&self) -> StructureType {
5298 self.s_type
5299 }
5300
5301 #[inline]
5302 fn next(&self) -> *const c_void {
5303 self.next
5304 }
5305}
5306
5307unsafe impl InputChainStruct for ImportSemaphoreZirconHandleInfoFUCHSIA {
5308 const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA;
5309
5310 #[inline]
5311 fn s_type(&self) -> StructureType {
5312 self.s_type
5313 }
5314
5315 #[inline]
5316 fn next(&self) -> *const c_void {
5317 self.next
5318 }
5319}
5320
5321unsafe impl InputChainStruct for IndirectCommandsLayoutCreateInfoEXT {
5322 const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT;
5323
5324 #[inline]
5325 fn s_type(&self) -> StructureType {
5326 self.s_type
5327 }
5328
5329 #[inline]
5330 fn next(&self) -> *const c_void {
5331 self.next
5332 }
5333}
5334
5335unsafe impl InputChainStruct for IndirectCommandsLayoutCreateInfoNV {
5336 const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
5337
5338 #[inline]
5339 fn s_type(&self) -> StructureType {
5340 self.s_type
5341 }
5342
5343 #[inline]
5344 fn next(&self) -> *const c_void {
5345 self.next
5346 }
5347}
5348
5349unsafe impl InputChainStruct for IndirectCommandsLayoutTokenEXT {
5350 const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT;
5351
5352 #[inline]
5353 fn s_type(&self) -> StructureType {
5354 self.s_type
5355 }
5356
5357 #[inline]
5358 fn next(&self) -> *const c_void {
5359 self.next
5360 }
5361}
5362
5363unsafe impl InputChainStruct for IndirectCommandsLayoutTokenNV {
5364 const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV;
5365
5366 #[inline]
5367 fn s_type(&self) -> StructureType {
5368 self.s_type
5369 }
5370
5371 #[inline]
5372 fn next(&self) -> *const c_void {
5373 self.next
5374 }
5375}
5376
5377unsafe impl InputChainStruct for IndirectExecutionSetCreateInfoEXT {
5378 const TYPE: StructureType = StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT;
5379
5380 #[inline]
5381 fn s_type(&self) -> StructureType {
5382 self.s_type
5383 }
5384
5385 #[inline]
5386 fn next(&self) -> *const c_void {
5387 self.next
5388 }
5389}
5390
5391unsafe impl InputChainStruct for IndirectExecutionSetPipelineInfoEXT {
5392 const TYPE: StructureType = StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT;
5393
5394 #[inline]
5395 fn s_type(&self) -> StructureType {
5396 self.s_type
5397 }
5398
5399 #[inline]
5400 fn next(&self) -> *const c_void {
5401 self.next
5402 }
5403}
5404
5405unsafe impl InputChainStruct for IndirectExecutionSetShaderInfoEXT {
5406 const TYPE: StructureType = StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT;
5407
5408 #[inline]
5409 fn s_type(&self) -> StructureType {
5410 self.s_type
5411 }
5412
5413 #[inline]
5414 fn next(&self) -> *const c_void {
5415 self.next
5416 }
5417}
5418
5419unsafe impl InputChainStruct for IndirectExecutionSetShaderLayoutInfoEXT {
5420 const TYPE: StructureType = StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT;
5421
5422 #[inline]
5423 fn s_type(&self) -> StructureType {
5424 self.s_type
5425 }
5426
5427 #[inline]
5428 fn next(&self) -> *const c_void {
5429 self.next
5430 }
5431}
5432
5433unsafe impl InputChainStruct for InitializePerformanceApiInfoINTEL {
5434 const TYPE: StructureType = StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL;
5435
5436 #[inline]
5437 fn s_type(&self) -> StructureType {
5438 self.s_type
5439 }
5440
5441 #[inline]
5442 fn next(&self) -> *const c_void {
5443 self.next
5444 }
5445}
5446
5447unsafe impl InputChainStruct for InstanceCreateInfo {
5448 const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
5449
5450 #[inline]
5451 fn s_type(&self) -> StructureType {
5452 self.s_type
5453 }
5454
5455 #[inline]
5456 fn next(&self) -> *const c_void {
5457 self.next
5458 }
5459}
5460
5461unsafe impl InputChainStruct for LatencySleepInfoNV {
5462 const TYPE: StructureType = StructureType::LATENCY_SLEEP_INFO_NV;
5463
5464 #[inline]
5465 fn s_type(&self) -> StructureType {
5466 self.s_type
5467 }
5468
5469 #[inline]
5470 fn next(&self) -> *const c_void {
5471 self.next
5472 }
5473}
5474
5475unsafe impl InputChainStruct for LatencySleepModeInfoNV {
5476 const TYPE: StructureType = StructureType::LATENCY_SLEEP_MODE_INFO_NV;
5477
5478 #[inline]
5479 fn s_type(&self) -> StructureType {
5480 self.s_type
5481 }
5482
5483 #[inline]
5484 fn next(&self) -> *const c_void {
5485 self.next
5486 }
5487}
5488
5489unsafe impl InputChainStruct for LatencySubmissionPresentIdNV {
5490 const TYPE: StructureType = StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV;
5491
5492 #[inline]
5493 fn s_type(&self) -> StructureType {
5494 self.s_type
5495 }
5496
5497 #[inline]
5498 fn next(&self) -> *const c_void {
5499 self.next
5500 }
5501}
5502
5503unsafe impl InputChainStruct for LatencySurfaceCapabilitiesNV {
5504 const TYPE: StructureType = StructureType::LATENCY_SURFACE_CAPABILITIES_NV;
5505
5506 #[inline]
5507 fn s_type(&self) -> StructureType {
5508 self.s_type
5509 }
5510
5511 #[inline]
5512 fn next(&self) -> *const c_void {
5513 self.next
5514 }
5515}
5516
5517unsafe impl InputChainStruct for LatencyTimingsFrameReportNV {
5518 const TYPE: StructureType = StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV;
5519
5520 #[inline]
5521 fn s_type(&self) -> StructureType {
5522 self.s_type
5523 }
5524
5525 #[inline]
5526 fn next(&self) -> *const c_void {
5527 self.next
5528 }
5529}
5530
5531unsafe impl InputChainStruct for LayerSettingsCreateInfoEXT {
5532 const TYPE: StructureType = StructureType::LAYER_SETTINGS_CREATE_INFO_EXT;
5533
5534 #[inline]
5535 fn s_type(&self) -> StructureType {
5536 self.s_type
5537 }
5538
5539 #[inline]
5540 fn next(&self) -> *const c_void {
5541 self.next
5542 }
5543}
5544
5545unsafe impl InputChainStruct for MacOSSurfaceCreateInfoMVK {
5546 const TYPE: StructureType = StructureType::MACOS_SURFACE_CREATE_INFO_MVK;
5547
5548 #[inline]
5549 fn s_type(&self) -> StructureType {
5550 self.s_type
5551 }
5552
5553 #[inline]
5554 fn next(&self) -> *const c_void {
5555 self.next
5556 }
5557}
5558
5559unsafe impl InputChainStruct for MappedMemoryRange {
5560 const TYPE: StructureType = StructureType::MAPPED_MEMORY_RANGE;
5561
5562 #[inline]
5563 fn s_type(&self) -> StructureType {
5564 self.s_type
5565 }
5566
5567 #[inline]
5568 fn next(&self) -> *const c_void {
5569 self.next
5570 }
5571}
5572
5573unsafe impl InputChainStruct for MemoryAllocateFlagsInfo {
5574 const TYPE: StructureType = StructureType::MEMORY_ALLOCATE_FLAGS_INFO;
5575
5576 #[inline]
5577 fn s_type(&self) -> StructureType {
5578 self.s_type
5579 }
5580
5581 #[inline]
5582 fn next(&self) -> *const c_void {
5583 self.next
5584 }
5585}
5586
5587unsafe impl InputChainStruct for MemoryAllocateInfo {
5588 const TYPE: StructureType = StructureType::MEMORY_ALLOCATE_INFO;
5589
5590 #[inline]
5591 fn s_type(&self) -> StructureType {
5592 self.s_type
5593 }
5594
5595 #[inline]
5596 fn next(&self) -> *const c_void {
5597 self.next
5598 }
5599}
5600
5601unsafe impl InputChainStruct for MemoryBarrier {
5602 const TYPE: StructureType = StructureType::MEMORY_BARRIER;
5603
5604 #[inline]
5605 fn s_type(&self) -> StructureType {
5606 self.s_type
5607 }
5608
5609 #[inline]
5610 fn next(&self) -> *const c_void {
5611 self.next
5612 }
5613}
5614
5615unsafe impl InputChainStruct for MemoryBarrier2 {
5616 const TYPE: StructureType = StructureType::MEMORY_BARRIER_2;
5617
5618 #[inline]
5619 fn s_type(&self) -> StructureType {
5620 self.s_type
5621 }
5622
5623 #[inline]
5624 fn next(&self) -> *const c_void {
5625 self.next
5626 }
5627}
5628
5629unsafe impl InputChainStruct for MemoryBarrierAccessFlags3KHR {
5630 const TYPE: StructureType = StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR;
5631
5632 #[inline]
5633 fn s_type(&self) -> StructureType {
5634 self.s_type
5635 }
5636
5637 #[inline]
5638 fn next(&self) -> *const c_void {
5639 self.next
5640 }
5641}
5642
5643unsafe impl InputChainStruct for MemoryDedicatedAllocateInfo {
5644 const TYPE: StructureType = StructureType::MEMORY_DEDICATED_ALLOCATE_INFO;
5645
5646 #[inline]
5647 fn s_type(&self) -> StructureType {
5648 self.s_type
5649 }
5650
5651 #[inline]
5652 fn next(&self) -> *const c_void {
5653 self.next
5654 }
5655}
5656
5657unsafe impl InputChainStruct for MemoryDedicatedAllocateInfoTensorARM {
5658 const TYPE: StructureType = StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM;
5659
5660 #[inline]
5661 fn s_type(&self) -> StructureType {
5662 self.s_type
5663 }
5664
5665 #[inline]
5666 fn next(&self) -> *const c_void {
5667 self.next
5668 }
5669}
5670
5671unsafe impl InputChainStruct for MemoryDedicatedRequirements {
5672 const TYPE: StructureType = StructureType::MEMORY_DEDICATED_REQUIREMENTS;
5673
5674 #[inline]
5675 fn s_type(&self) -> StructureType {
5676 self.s_type
5677 }
5678
5679 #[inline]
5680 fn next(&self) -> *const c_void {
5681 self.next
5682 }
5683}
5684
5685unsafe impl OutputChainStruct for MemoryDedicatedRequirements {
5686 #[inline]
5687 fn next_mut(&self) -> *mut c_void {
5688 self.next
5689 }
5690}
5691
5692unsafe impl InputChainStruct for MemoryFdPropertiesKHR {
5693 const TYPE: StructureType = StructureType::MEMORY_FD_PROPERTIES_KHR;
5694
5695 #[inline]
5696 fn s_type(&self) -> StructureType {
5697 self.s_type
5698 }
5699
5700 #[inline]
5701 fn next(&self) -> *const c_void {
5702 self.next
5703 }
5704}
5705
5706unsafe impl OutputChainStruct for MemoryFdPropertiesKHR {
5707 #[inline]
5708 fn next_mut(&self) -> *mut c_void {
5709 self.next
5710 }
5711}
5712
5713unsafe impl InputChainStruct for MemoryGetAndroidHardwareBufferInfoANDROID {
5714 const TYPE: StructureType = StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
5715
5716 #[inline]
5717 fn s_type(&self) -> StructureType {
5718 self.s_type
5719 }
5720
5721 #[inline]
5722 fn next(&self) -> *const c_void {
5723 self.next
5724 }
5725}
5726
5727unsafe impl InputChainStruct for MemoryGetFdInfoKHR {
5728 const TYPE: StructureType = StructureType::MEMORY_GET_FD_INFO_KHR;
5729
5730 #[inline]
5731 fn s_type(&self) -> StructureType {
5732 self.s_type
5733 }
5734
5735 #[inline]
5736 fn next(&self) -> *const c_void {
5737 self.next
5738 }
5739}
5740
5741unsafe impl InputChainStruct for MemoryGetMetalHandleInfoEXT {
5742 const TYPE: StructureType = StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT;
5743
5744 #[inline]
5745 fn s_type(&self) -> StructureType {
5746 self.s_type
5747 }
5748
5749 #[inline]
5750 fn next(&self) -> *const c_void {
5751 self.next
5752 }
5753}
5754
5755unsafe impl InputChainStruct for MemoryGetRemoteAddressInfoNV {
5756 const TYPE: StructureType = StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV;
5757
5758 #[inline]
5759 fn s_type(&self) -> StructureType {
5760 self.s_type
5761 }
5762
5763 #[inline]
5764 fn next(&self) -> *const c_void {
5765 self.next
5766 }
5767}
5768
5769unsafe impl InputChainStruct for MemoryGetSciBufInfoNV {
5770 const TYPE: StructureType = StructureType::MEMORY_GET_SCI_BUF_INFO_NV;
5771
5772 #[inline]
5773 fn s_type(&self) -> StructureType {
5774 self.s_type
5775 }
5776
5777 #[inline]
5778 fn next(&self) -> *const c_void {
5779 self.next
5780 }
5781}
5782
5783unsafe impl InputChainStruct for MemoryGetWin32HandleInfoKHR {
5784 const TYPE: StructureType = StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR;
5785
5786 #[inline]
5787 fn s_type(&self) -> StructureType {
5788 self.s_type
5789 }
5790
5791 #[inline]
5792 fn next(&self) -> *const c_void {
5793 self.next
5794 }
5795}
5796
5797unsafe impl InputChainStruct for MemoryGetZirconHandleInfoFUCHSIA {
5798 const TYPE: StructureType = StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
5799
5800 #[inline]
5801 fn s_type(&self) -> StructureType {
5802 self.s_type
5803 }
5804
5805 #[inline]
5806 fn next(&self) -> *const c_void {
5807 self.next
5808 }
5809}
5810
5811unsafe impl InputChainStruct for MemoryHostPointerPropertiesEXT {
5812 const TYPE: StructureType = StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT;
5813
5814 #[inline]
5815 fn s_type(&self) -> StructureType {
5816 self.s_type
5817 }
5818
5819 #[inline]
5820 fn next(&self) -> *const c_void {
5821 self.next
5822 }
5823}
5824
5825unsafe impl OutputChainStruct for MemoryHostPointerPropertiesEXT {
5826 #[inline]
5827 fn next_mut(&self) -> *mut c_void {
5828 self.next
5829 }
5830}
5831
5832unsafe impl InputChainStruct for MemoryMapInfo {
5833 const TYPE: StructureType = StructureType::MEMORY_MAP_INFO;
5834
5835 #[inline]
5836 fn s_type(&self) -> StructureType {
5837 self.s_type
5838 }
5839
5840 #[inline]
5841 fn next(&self) -> *const c_void {
5842 self.next
5843 }
5844}
5845
5846unsafe impl InputChainStruct for MemoryMapPlacedInfoEXT {
5847 const TYPE: StructureType = StructureType::MEMORY_MAP_PLACED_INFO_EXT;
5848
5849 #[inline]
5850 fn s_type(&self) -> StructureType {
5851 self.s_type
5852 }
5853
5854 #[inline]
5855 fn next(&self) -> *const c_void {
5856 self.next
5857 }
5858}
5859
5860unsafe impl InputChainStruct for MemoryMetalHandlePropertiesEXT {
5861 const TYPE: StructureType = StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT;
5862
5863 #[inline]
5864 fn s_type(&self) -> StructureType {
5865 self.s_type
5866 }
5867
5868 #[inline]
5869 fn next(&self) -> *const c_void {
5870 self.next
5871 }
5872}
5873
5874unsafe impl OutputChainStruct for MemoryMetalHandlePropertiesEXT {
5875 #[inline]
5876 fn next_mut(&self) -> *mut c_void {
5877 self.next
5878 }
5879}
5880
5881unsafe impl InputChainStruct for MemoryOpaqueCaptureAddressAllocateInfo {
5882 const TYPE: StructureType = StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
5883
5884 #[inline]
5885 fn s_type(&self) -> StructureType {
5886 self.s_type
5887 }
5888
5889 #[inline]
5890 fn next(&self) -> *const c_void {
5891 self.next
5892 }
5893}
5894
5895unsafe impl InputChainStruct for MemoryPriorityAllocateInfoEXT {
5896 const TYPE: StructureType = StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
5897
5898 #[inline]
5899 fn s_type(&self) -> StructureType {
5900 self.s_type
5901 }
5902
5903 #[inline]
5904 fn next(&self) -> *const c_void {
5905 self.next
5906 }
5907}
5908
5909unsafe impl InputChainStruct for MemoryRequirements2 {
5910 const TYPE: StructureType = StructureType::MEMORY_REQUIREMENTS_2;
5911
5912 #[inline]
5913 fn s_type(&self) -> StructureType {
5914 self.s_type
5915 }
5916
5917 #[inline]
5918 fn next(&self) -> *const c_void {
5919 self.next
5920 }
5921}
5922
5923unsafe impl OutputChainStruct for MemoryRequirements2 {
5924 #[inline]
5925 fn next_mut(&self) -> *mut c_void {
5926 self.next
5927 }
5928}
5929
5930unsafe impl InputChainStruct for MemorySciBufPropertiesNV {
5931 const TYPE: StructureType = StructureType::MEMORY_SCI_BUF_PROPERTIES_NV;
5932
5933 #[inline]
5934 fn s_type(&self) -> StructureType {
5935 self.s_type
5936 }
5937
5938 #[inline]
5939 fn next(&self) -> *const c_void {
5940 self.next
5941 }
5942}
5943
5944unsafe impl InputChainStruct for MemoryToImageCopy {
5945 const TYPE: StructureType = StructureType::MEMORY_TO_IMAGE_COPY;
5946
5947 #[inline]
5948 fn s_type(&self) -> StructureType {
5949 self.s_type
5950 }
5951
5952 #[inline]
5953 fn next(&self) -> *const c_void {
5954 self.next
5955 }
5956}
5957
5958unsafe impl InputChainStruct for MemoryUnmapInfo {
5959 const TYPE: StructureType = StructureType::MEMORY_UNMAP_INFO;
5960
5961 #[inline]
5962 fn s_type(&self) -> StructureType {
5963 self.s_type
5964 }
5965
5966 #[inline]
5967 fn next(&self) -> *const c_void {
5968 self.next
5969 }
5970}
5971
5972unsafe impl InputChainStruct for MemoryWin32HandlePropertiesKHR {
5973 const TYPE: StructureType = StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
5974
5975 #[inline]
5976 fn s_type(&self) -> StructureType {
5977 self.s_type
5978 }
5979
5980 #[inline]
5981 fn next(&self) -> *const c_void {
5982 self.next
5983 }
5984}
5985
5986unsafe impl OutputChainStruct for MemoryWin32HandlePropertiesKHR {
5987 #[inline]
5988 fn next_mut(&self) -> *mut c_void {
5989 self.next
5990 }
5991}
5992
5993unsafe impl InputChainStruct for MemoryZirconHandlePropertiesFUCHSIA {
5994 const TYPE: StructureType = StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA;
5995
5996 #[inline]
5997 fn s_type(&self) -> StructureType {
5998 self.s_type
5999 }
6000
6001 #[inline]
6002 fn next(&self) -> *const c_void {
6003 self.next
6004 }
6005}
6006
6007unsafe impl OutputChainStruct for MemoryZirconHandlePropertiesFUCHSIA {
6008 #[inline]
6009 fn next_mut(&self) -> *mut c_void {
6010 self.next
6011 }
6012}
6013
6014unsafe impl InputChainStruct for MetalSurfaceCreateInfoEXT {
6015 const TYPE: StructureType = StructureType::METAL_SURFACE_CREATE_INFO_EXT;
6016
6017 #[inline]
6018 fn s_type(&self) -> StructureType {
6019 self.s_type
6020 }
6021
6022 #[inline]
6023 fn next(&self) -> *const c_void {
6024 self.next
6025 }
6026}
6027
6028unsafe impl InputChainStruct for MicromapBuildInfoEXT {
6029 const TYPE: StructureType = StructureType::MICROMAP_BUILD_INFO_EXT;
6030
6031 #[inline]
6032 fn s_type(&self) -> StructureType {
6033 self.s_type
6034 }
6035
6036 #[inline]
6037 fn next(&self) -> *const c_void {
6038 self.next
6039 }
6040}
6041
6042unsafe impl InputChainStruct for MicromapBuildSizesInfoEXT {
6043 const TYPE: StructureType = StructureType::MICROMAP_BUILD_SIZES_INFO_EXT;
6044
6045 #[inline]
6046 fn s_type(&self) -> StructureType {
6047 self.s_type
6048 }
6049
6050 #[inline]
6051 fn next(&self) -> *const c_void {
6052 self.next
6053 }
6054}
6055
6056unsafe impl InputChainStruct for MicromapCreateInfoEXT {
6057 const TYPE: StructureType = StructureType::MICROMAP_CREATE_INFO_EXT;
6058
6059 #[inline]
6060 fn s_type(&self) -> StructureType {
6061 self.s_type
6062 }
6063
6064 #[inline]
6065 fn next(&self) -> *const c_void {
6066 self.next
6067 }
6068}
6069
6070unsafe impl InputChainStruct for MicromapVersionInfoEXT {
6071 const TYPE: StructureType = StructureType::MICROMAP_VERSION_INFO_EXT;
6072
6073 #[inline]
6074 fn s_type(&self) -> StructureType {
6075 self.s_type
6076 }
6077
6078 #[inline]
6079 fn next(&self) -> *const c_void {
6080 self.next
6081 }
6082}
6083
6084unsafe impl InputChainStruct for MultisamplePropertiesEXT {
6085 const TYPE: StructureType = StructureType::MULTISAMPLE_PROPERTIES_EXT;
6086
6087 #[inline]
6088 fn s_type(&self) -> StructureType {
6089 self.s_type
6090 }
6091
6092 #[inline]
6093 fn next(&self) -> *const c_void {
6094 self.next
6095 }
6096}
6097
6098unsafe impl OutputChainStruct for MultisamplePropertiesEXT {
6099 #[inline]
6100 fn next_mut(&self) -> *mut c_void {
6101 self.next
6102 }
6103}
6104
6105unsafe impl InputChainStruct for MultisampledRenderToSingleSampledInfoEXT {
6106 const TYPE: StructureType = StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT;
6107
6108 #[inline]
6109 fn s_type(&self) -> StructureType {
6110 self.s_type
6111 }
6112
6113 #[inline]
6114 fn next(&self) -> *const c_void {
6115 self.next
6116 }
6117}
6118
6119unsafe impl InputChainStruct for MultiviewPerViewAttributesInfoNVX {
6120 const TYPE: StructureType = StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX;
6121
6122 #[inline]
6123 fn s_type(&self) -> StructureType {
6124 self.s_type
6125 }
6126
6127 #[inline]
6128 fn next(&self) -> *const c_void {
6129 self.next
6130 }
6131}
6132
6133unsafe impl InputChainStruct for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
6134 const TYPE: StructureType =
6135 StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM;
6136
6137 #[inline]
6138 fn s_type(&self) -> StructureType {
6139 self.s_type
6140 }
6141
6142 #[inline]
6143 fn next(&self) -> *const c_void {
6144 self.next
6145 }
6146}
6147
6148unsafe impl InputChainStruct for MutableDescriptorTypeCreateInfoEXT {
6149 const TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT;
6150
6151 #[inline]
6152 fn s_type(&self) -> StructureType {
6153 self.s_type
6154 }
6155
6156 #[inline]
6157 fn next(&self) -> *const c_void {
6158 self.next
6159 }
6160}
6161
6162unsafe impl InputChainStruct for OpaqueCaptureDescriptorDataCreateInfoEXT {
6163 const TYPE: StructureType = StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT;
6164
6165 #[inline]
6166 fn s_type(&self) -> StructureType {
6167 self.s_type
6168 }
6169
6170 #[inline]
6171 fn next(&self) -> *const c_void {
6172 self.next
6173 }
6174}
6175
6176unsafe impl InputChainStruct for OpticalFlowExecuteInfoNV {
6177 const TYPE: StructureType = StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV;
6178
6179 #[inline]
6180 fn s_type(&self) -> StructureType {
6181 self.s_type
6182 }
6183
6184 #[inline]
6185 fn next(&self) -> *const c_void {
6186 self.next
6187 }
6188}
6189
6190unsafe impl OutputChainStruct for OpticalFlowExecuteInfoNV {
6191 #[inline]
6192 fn next_mut(&self) -> *mut c_void {
6193 self.next
6194 }
6195}
6196
6197unsafe impl InputChainStruct for OpticalFlowImageFormatInfoNV {
6198 const TYPE: StructureType = StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV;
6199
6200 #[inline]
6201 fn s_type(&self) -> StructureType {
6202 self.s_type
6203 }
6204
6205 #[inline]
6206 fn next(&self) -> *const c_void {
6207 self.next
6208 }
6209}
6210
6211unsafe impl InputChainStruct for OpticalFlowImageFormatPropertiesNV {
6212 const TYPE: StructureType = StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV;
6213
6214 #[inline]
6215 fn s_type(&self) -> StructureType {
6216 self.s_type
6217 }
6218
6219 #[inline]
6220 fn next(&self) -> *const c_void {
6221 self.next
6222 }
6223}
6224
6225unsafe impl InputChainStruct for OpticalFlowSessionCreateInfoNV {
6226 const TYPE: StructureType = StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV;
6227
6228 #[inline]
6229 fn s_type(&self) -> StructureType {
6230 self.s_type
6231 }
6232
6233 #[inline]
6234 fn next(&self) -> *const c_void {
6235 self.next
6236 }
6237}
6238
6239unsafe impl OutputChainStruct for OpticalFlowSessionCreateInfoNV {
6240 #[inline]
6241 fn next_mut(&self) -> *mut c_void {
6242 self.next
6243 }
6244}
6245
6246unsafe impl InputChainStruct for OpticalFlowSessionCreatePrivateDataInfoNV {
6247 const TYPE: StructureType = StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV;
6248
6249 #[inline]
6250 fn s_type(&self) -> StructureType {
6251 self.s_type
6252 }
6253
6254 #[inline]
6255 fn next(&self) -> *const c_void {
6256 self.next
6257 }
6258}
6259
6260unsafe impl OutputChainStruct for OpticalFlowSessionCreatePrivateDataInfoNV {
6261 #[inline]
6262 fn next_mut(&self) -> *mut c_void {
6263 self.next
6264 }
6265}
6266
6267unsafe impl InputChainStruct for OutOfBandQueueTypeInfoNV {
6268 const TYPE: StructureType = StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV;
6269
6270 #[inline]
6271 fn s_type(&self) -> StructureType {
6272 self.s_type
6273 }
6274
6275 #[inline]
6276 fn next(&self) -> *const c_void {
6277 self.next
6278 }
6279}
6280
6281unsafe impl InputChainStruct for PartitionedAccelerationStructureFlagsNV {
6282 const TYPE: StructureType = StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV;
6283
6284 #[inline]
6285 fn s_type(&self) -> StructureType {
6286 self.s_type
6287 }
6288
6289 #[inline]
6290 fn next(&self) -> *const c_void {
6291 self.next
6292 }
6293}
6294
6295unsafe impl OutputChainStruct for PartitionedAccelerationStructureFlagsNV {
6296 #[inline]
6297 fn next_mut(&self) -> *mut c_void {
6298 self.next
6299 }
6300}
6301
6302unsafe impl InputChainStruct for PartitionedAccelerationStructureInstancesInputNV {
6303 const TYPE: StructureType =
6304 StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV;
6305
6306 #[inline]
6307 fn s_type(&self) -> StructureType {
6308 self.s_type
6309 }
6310
6311 #[inline]
6312 fn next(&self) -> *const c_void {
6313 self.next
6314 }
6315}
6316
6317unsafe impl OutputChainStruct for PartitionedAccelerationStructureInstancesInputNV {
6318 #[inline]
6319 fn next_mut(&self) -> *mut c_void {
6320 self.next
6321 }
6322}
6323
6324unsafe impl InputChainStruct for PerTileBeginInfoQCOM {
6325 const TYPE: StructureType = StructureType::PER_TILE_BEGIN_INFO_QCOM;
6326
6327 #[inline]
6328 fn s_type(&self) -> StructureType {
6329 self.s_type
6330 }
6331
6332 #[inline]
6333 fn next(&self) -> *const c_void {
6334 self.next
6335 }
6336}
6337
6338unsafe impl InputChainStruct for PerTileEndInfoQCOM {
6339 const TYPE: StructureType = StructureType::PER_TILE_END_INFO_QCOM;
6340
6341 #[inline]
6342 fn s_type(&self) -> StructureType {
6343 self.s_type
6344 }
6345
6346 #[inline]
6347 fn next(&self) -> *const c_void {
6348 self.next
6349 }
6350}
6351
6352unsafe impl InputChainStruct for PerformanceConfigurationAcquireInfoINTEL {
6353 const TYPE: StructureType = StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL;
6354
6355 #[inline]
6356 fn s_type(&self) -> StructureType {
6357 self.s_type
6358 }
6359
6360 #[inline]
6361 fn next(&self) -> *const c_void {
6362 self.next
6363 }
6364}
6365
6366unsafe impl InputChainStruct for PerformanceCounterDescriptionKHR {
6367 const TYPE: StructureType = StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR;
6368
6369 #[inline]
6370 fn s_type(&self) -> StructureType {
6371 self.s_type
6372 }
6373
6374 #[inline]
6375 fn next(&self) -> *const c_void {
6376 self.next
6377 }
6378}
6379
6380unsafe impl OutputChainStruct for PerformanceCounterDescriptionKHR {
6381 #[inline]
6382 fn next_mut(&self) -> *mut c_void {
6383 self.next
6384 }
6385}
6386
6387unsafe impl InputChainStruct for PerformanceCounterKHR {
6388 const TYPE: StructureType = StructureType::PERFORMANCE_COUNTER_KHR;
6389
6390 #[inline]
6391 fn s_type(&self) -> StructureType {
6392 self.s_type
6393 }
6394
6395 #[inline]
6396 fn next(&self) -> *const c_void {
6397 self.next
6398 }
6399}
6400
6401unsafe impl OutputChainStruct for PerformanceCounterKHR {
6402 #[inline]
6403 fn next_mut(&self) -> *mut c_void {
6404 self.next
6405 }
6406}
6407
6408unsafe impl InputChainStruct for PerformanceMarkerInfoINTEL {
6409 const TYPE: StructureType = StructureType::PERFORMANCE_MARKER_INFO_INTEL;
6410
6411 #[inline]
6412 fn s_type(&self) -> StructureType {
6413 self.s_type
6414 }
6415
6416 #[inline]
6417 fn next(&self) -> *const c_void {
6418 self.next
6419 }
6420}
6421
6422unsafe impl InputChainStruct for PerformanceOverrideInfoINTEL {
6423 const TYPE: StructureType = StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL;
6424
6425 #[inline]
6426 fn s_type(&self) -> StructureType {
6427 self.s_type
6428 }
6429
6430 #[inline]
6431 fn next(&self) -> *const c_void {
6432 self.next
6433 }
6434}
6435
6436unsafe impl InputChainStruct for PerformanceQueryReservationInfoKHR {
6437 const TYPE: StructureType = StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR;
6438
6439 #[inline]
6440 fn s_type(&self) -> StructureType {
6441 self.s_type
6442 }
6443
6444 #[inline]
6445 fn next(&self) -> *const c_void {
6446 self.next
6447 }
6448}
6449
6450unsafe impl InputChainStruct for PerformanceQuerySubmitInfoKHR {
6451 const TYPE: StructureType = StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR;
6452
6453 #[inline]
6454 fn s_type(&self) -> StructureType {
6455 self.s_type
6456 }
6457
6458 #[inline]
6459 fn next(&self) -> *const c_void {
6460 self.next
6461 }
6462}
6463
6464unsafe impl InputChainStruct for PerformanceStreamMarkerInfoINTEL {
6465 const TYPE: StructureType = StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL;
6466
6467 #[inline]
6468 fn s_type(&self) -> StructureType {
6469 self.s_type
6470 }
6471
6472 #[inline]
6473 fn next(&self) -> *const c_void {
6474 self.next
6475 }
6476}
6477
6478unsafe impl InputChainStruct for PhysicalDevice16BitStorageFeatures {
6479 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
6480
6481 #[inline]
6482 fn s_type(&self) -> StructureType {
6483 self.s_type
6484 }
6485
6486 #[inline]
6487 fn next(&self) -> *const c_void {
6488 self.next
6489 }
6490}
6491
6492unsafe impl OutputChainStruct for PhysicalDevice16BitStorageFeatures {
6493 #[inline]
6494 fn next_mut(&self) -> *mut c_void {
6495 self.next
6496 }
6497}
6498
6499unsafe impl InputChainStruct for PhysicalDevice4444FormatsFeaturesEXT {
6500 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
6501
6502 #[inline]
6503 fn s_type(&self) -> StructureType {
6504 self.s_type
6505 }
6506
6507 #[inline]
6508 fn next(&self) -> *const c_void {
6509 self.next
6510 }
6511}
6512
6513unsafe impl OutputChainStruct for PhysicalDevice4444FormatsFeaturesEXT {
6514 #[inline]
6515 fn next_mut(&self) -> *mut c_void {
6516 self.next
6517 }
6518}
6519
6520unsafe impl InputChainStruct for PhysicalDevice8BitStorageFeatures {
6521 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
6522
6523 #[inline]
6524 fn s_type(&self) -> StructureType {
6525 self.s_type
6526 }
6527
6528 #[inline]
6529 fn next(&self) -> *const c_void {
6530 self.next
6531 }
6532}
6533
6534unsafe impl OutputChainStruct for PhysicalDevice8BitStorageFeatures {
6535 #[inline]
6536 fn next_mut(&self) -> *mut c_void {
6537 self.next
6538 }
6539}
6540
6541unsafe impl InputChainStruct for PhysicalDeviceASTCDecodeFeaturesEXT {
6542 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
6543
6544 #[inline]
6545 fn s_type(&self) -> StructureType {
6546 self.s_type
6547 }
6548
6549 #[inline]
6550 fn next(&self) -> *const c_void {
6551 self.next
6552 }
6553}
6554
6555unsafe impl OutputChainStruct for PhysicalDeviceASTCDecodeFeaturesEXT {
6556 #[inline]
6557 fn next_mut(&self) -> *mut c_void {
6558 self.next
6559 }
6560}
6561
6562unsafe impl InputChainStruct for PhysicalDeviceAccelerationStructureFeaturesKHR {
6563 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
6564
6565 #[inline]
6566 fn s_type(&self) -> StructureType {
6567 self.s_type
6568 }
6569
6570 #[inline]
6571 fn next(&self) -> *const c_void {
6572 self.next
6573 }
6574}
6575
6576unsafe impl OutputChainStruct for PhysicalDeviceAccelerationStructureFeaturesKHR {
6577 #[inline]
6578 fn next_mut(&self) -> *mut c_void {
6579 self.next
6580 }
6581}
6582
6583unsafe impl InputChainStruct for PhysicalDeviceAccelerationStructurePropertiesKHR {
6584 const TYPE: StructureType =
6585 StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR;
6586
6587 #[inline]
6588 fn s_type(&self) -> StructureType {
6589 self.s_type
6590 }
6591
6592 #[inline]
6593 fn next(&self) -> *const c_void {
6594 self.next
6595 }
6596}
6597
6598unsafe impl OutputChainStruct for PhysicalDeviceAccelerationStructurePropertiesKHR {
6599 #[inline]
6600 fn next_mut(&self) -> *mut c_void {
6601 self.next
6602 }
6603}
6604
6605unsafe impl InputChainStruct for PhysicalDeviceAddressBindingReportFeaturesEXT {
6606 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT;
6607
6608 #[inline]
6609 fn s_type(&self) -> StructureType {
6610 self.s_type
6611 }
6612
6613 #[inline]
6614 fn next(&self) -> *const c_void {
6615 self.next
6616 }
6617}
6618
6619unsafe impl OutputChainStruct for PhysicalDeviceAddressBindingReportFeaturesEXT {
6620 #[inline]
6621 fn next_mut(&self) -> *mut c_void {
6622 self.next
6623 }
6624}
6625
6626unsafe impl InputChainStruct for PhysicalDeviceAmigoProfilingFeaturesSEC {
6627 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC;
6628
6629 #[inline]
6630 fn s_type(&self) -> StructureType {
6631 self.s_type
6632 }
6633
6634 #[inline]
6635 fn next(&self) -> *const c_void {
6636 self.next
6637 }
6638}
6639
6640unsafe impl OutputChainStruct for PhysicalDeviceAmigoProfilingFeaturesSEC {
6641 #[inline]
6642 fn next_mut(&self) -> *mut c_void {
6643 self.next
6644 }
6645}
6646
6647unsafe impl InputChainStruct for PhysicalDeviceAntiLagFeaturesAMD {
6648 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD;
6649
6650 #[inline]
6651 fn s_type(&self) -> StructureType {
6652 self.s_type
6653 }
6654
6655 #[inline]
6656 fn next(&self) -> *const c_void {
6657 self.next
6658 }
6659}
6660
6661unsafe impl OutputChainStruct for PhysicalDeviceAntiLagFeaturesAMD {
6662 #[inline]
6663 fn next_mut(&self) -> *mut c_void {
6664 self.next
6665 }
6666}
6667
6668unsafe impl InputChainStruct for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
6669 const TYPE: StructureType =
6670 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT;
6671
6672 #[inline]
6673 fn s_type(&self) -> StructureType {
6674 self.s_type
6675 }
6676
6677 #[inline]
6678 fn next(&self) -> *const c_void {
6679 self.next
6680 }
6681}
6682
6683unsafe impl OutputChainStruct for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
6684 #[inline]
6685 fn next_mut(&self) -> *mut c_void {
6686 self.next
6687 }
6688}
6689
6690unsafe impl InputChainStruct for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
6691 const TYPE: StructureType =
6692 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT;
6693
6694 #[inline]
6695 fn s_type(&self) -> StructureType {
6696 self.s_type
6697 }
6698
6699 #[inline]
6700 fn next(&self) -> *const c_void {
6701 self.next
6702 }
6703}
6704
6705unsafe impl OutputChainStruct for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
6706 #[inline]
6707 fn next_mut(&self) -> *mut c_void {
6708 self.next
6709 }
6710}
6711
6712unsafe impl InputChainStruct for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
6713 const TYPE: StructureType =
6714 StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
6715
6716 #[inline]
6717 fn s_type(&self) -> StructureType {
6718 self.s_type
6719 }
6720
6721 #[inline]
6722 fn next(&self) -> *const c_void {
6723 self.next
6724 }
6725}
6726
6727unsafe impl OutputChainStruct for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
6728 #[inline]
6729 fn next_mut(&self) -> *mut c_void {
6730 self.next
6731 }
6732}
6733
6734unsafe impl InputChainStruct for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
6735 const TYPE: StructureType =
6736 StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
6737
6738 #[inline]
6739 fn s_type(&self) -> StructureType {
6740 self.s_type
6741 }
6742
6743 #[inline]
6744 fn next(&self) -> *const c_void {
6745 self.next
6746 }
6747}
6748
6749unsafe impl OutputChainStruct for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
6750 #[inline]
6751 fn next_mut(&self) -> *mut c_void {
6752 self.next
6753 }
6754}
6755
6756unsafe impl InputChainStruct for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
6757 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT;
6758
6759 #[inline]
6760 fn s_type(&self) -> StructureType {
6761 self.s_type
6762 }
6763
6764 #[inline]
6765 fn next(&self) -> *const c_void {
6766 self.next
6767 }
6768}
6769
6770unsafe impl OutputChainStruct for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
6771 #[inline]
6772 fn next_mut(&self) -> *mut c_void {
6773 self.next
6774 }
6775}
6776
6777unsafe impl InputChainStruct for PhysicalDeviceBufferDeviceAddressFeatures {
6778 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
6779
6780 #[inline]
6781 fn s_type(&self) -> StructureType {
6782 self.s_type
6783 }
6784
6785 #[inline]
6786 fn next(&self) -> *const c_void {
6787 self.next
6788 }
6789}
6790
6791unsafe impl OutputChainStruct for PhysicalDeviceBufferDeviceAddressFeatures {
6792 #[inline]
6793 fn next_mut(&self) -> *mut c_void {
6794 self.next
6795 }
6796}
6797
6798unsafe impl InputChainStruct for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
6799 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
6800
6801 #[inline]
6802 fn s_type(&self) -> StructureType {
6803 self.s_type
6804 }
6805
6806 #[inline]
6807 fn next(&self) -> *const c_void {
6808 self.next
6809 }
6810}
6811
6812unsafe impl OutputChainStruct for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
6813 #[inline]
6814 fn next_mut(&self) -> *mut c_void {
6815 self.next
6816 }
6817}
6818
6819unsafe impl InputChainStruct for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
6820 const TYPE: StructureType =
6821 StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV;
6822
6823 #[inline]
6824 fn s_type(&self) -> StructureType {
6825 self.s_type
6826 }
6827
6828 #[inline]
6829 fn next(&self) -> *const c_void {
6830 self.next
6831 }
6832}
6833
6834unsafe impl OutputChainStruct for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
6835 #[inline]
6836 fn next_mut(&self) -> *mut c_void {
6837 self.next
6838 }
6839}
6840
6841unsafe impl InputChainStruct for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
6842 const TYPE: StructureType =
6843 StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV;
6844
6845 #[inline]
6846 fn s_type(&self) -> StructureType {
6847 self.s_type
6848 }
6849
6850 #[inline]
6851 fn next(&self) -> *const c_void {
6852 self.next
6853 }
6854}
6855
6856unsafe impl OutputChainStruct for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
6857 #[inline]
6858 fn next_mut(&self) -> *mut c_void {
6859 self.next
6860 }
6861}
6862
6863unsafe impl InputChainStruct for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
6864 const TYPE: StructureType =
6865 StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI;
6866
6867 #[inline]
6868 fn s_type(&self) -> StructureType {
6869 self.s_type
6870 }
6871
6872 #[inline]
6873 fn next(&self) -> *const c_void {
6874 self.next
6875 }
6876}
6877
6878unsafe impl OutputChainStruct for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
6879 #[inline]
6880 fn next_mut(&self) -> *mut c_void {
6881 self.next
6882 }
6883}
6884
6885unsafe impl InputChainStruct for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
6886 const TYPE: StructureType =
6887 StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI;
6888
6889 #[inline]
6890 fn s_type(&self) -> StructureType {
6891 self.s_type
6892 }
6893
6894 #[inline]
6895 fn next(&self) -> *const c_void {
6896 self.next
6897 }
6898}
6899
6900unsafe impl OutputChainStruct for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
6901 #[inline]
6902 fn next_mut(&self) -> *mut c_void {
6903 self.next
6904 }
6905}
6906
6907unsafe impl InputChainStruct for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
6908 const TYPE: StructureType =
6909 StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI;
6910
6911 #[inline]
6912 fn s_type(&self) -> StructureType {
6913 self.s_type
6914 }
6915
6916 #[inline]
6917 fn next(&self) -> *const c_void {
6918 self.next
6919 }
6920}
6921
6922unsafe impl OutputChainStruct for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
6923 #[inline]
6924 fn next_mut(&self) -> *mut c_void {
6925 self.next
6926 }
6927}
6928
6929unsafe impl InputChainStruct for PhysicalDeviceCoherentMemoryFeaturesAMD {
6930 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
6931
6932 #[inline]
6933 fn s_type(&self) -> StructureType {
6934 self.s_type
6935 }
6936
6937 #[inline]
6938 fn next(&self) -> *const c_void {
6939 self.next
6940 }
6941}
6942
6943unsafe impl OutputChainStruct for PhysicalDeviceCoherentMemoryFeaturesAMD {
6944 #[inline]
6945 fn next_mut(&self) -> *mut c_void {
6946 self.next
6947 }
6948}
6949
6950unsafe impl InputChainStruct for PhysicalDeviceColorWriteEnableFeaturesEXT {
6951 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT;
6952
6953 #[inline]
6954 fn s_type(&self) -> StructureType {
6955 self.s_type
6956 }
6957
6958 #[inline]
6959 fn next(&self) -> *const c_void {
6960 self.next
6961 }
6962}
6963
6964unsafe impl OutputChainStruct for PhysicalDeviceColorWriteEnableFeaturesEXT {
6965 #[inline]
6966 fn next_mut(&self) -> *mut c_void {
6967 self.next
6968 }
6969}
6970
6971unsafe impl InputChainStruct for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
6972 const TYPE: StructureType =
6973 StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV;
6974
6975 #[inline]
6976 fn s_type(&self) -> StructureType {
6977 self.s_type
6978 }
6979
6980 #[inline]
6981 fn next(&self) -> *const c_void {
6982 self.next
6983 }
6984}
6985
6986unsafe impl OutputChainStruct for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
6987 #[inline]
6988 fn next_mut(&self) -> *mut c_void {
6989 self.next
6990 }
6991}
6992
6993unsafe impl InputChainStruct for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
6994 const TYPE: StructureType =
6995 StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR;
6996
6997 #[inline]
6998 fn s_type(&self) -> StructureType {
6999 self.s_type
7000 }
7001
7002 #[inline]
7003 fn next(&self) -> *const c_void {
7004 self.next
7005 }
7006}
7007
7008unsafe impl OutputChainStruct for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
7009 #[inline]
7010 fn next_mut(&self) -> *mut c_void {
7011 self.next
7012 }
7013}
7014
7015unsafe impl InputChainStruct for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
7016 const TYPE: StructureType =
7017 StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR;
7018
7019 #[inline]
7020 fn s_type(&self) -> StructureType {
7021 self.s_type
7022 }
7023
7024 #[inline]
7025 fn next(&self) -> *const c_void {
7026 self.next
7027 }
7028}
7029
7030unsafe impl OutputChainStruct for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
7031 #[inline]
7032 fn next_mut(&self) -> *mut c_void {
7033 self.next
7034 }
7035}
7036
7037unsafe impl InputChainStruct for PhysicalDeviceConditionalRenderingFeaturesEXT {
7038 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
7039
7040 #[inline]
7041 fn s_type(&self) -> StructureType {
7042 self.s_type
7043 }
7044
7045 #[inline]
7046 fn next(&self) -> *const c_void {
7047 self.next
7048 }
7049}
7050
7051unsafe impl OutputChainStruct for PhysicalDeviceConditionalRenderingFeaturesEXT {
7052 #[inline]
7053 fn next_mut(&self) -> *mut c_void {
7054 self.next
7055 }
7056}
7057
7058unsafe impl InputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT {
7059 const TYPE: StructureType =
7060 StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
7061
7062 #[inline]
7063 fn s_type(&self) -> StructureType {
7064 self.s_type
7065 }
7066
7067 #[inline]
7068 fn next(&self) -> *const c_void {
7069 self.next
7070 }
7071}
7072
7073unsafe impl OutputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT {
7074 #[inline]
7075 fn next_mut(&self) -> *mut c_void {
7076 self.next
7077 }
7078}
7079
7080unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV {
7081 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV;
7082
7083 #[inline]
7084 fn s_type(&self) -> StructureType {
7085 self.s_type
7086 }
7087
7088 #[inline]
7089 fn next(&self) -> *const c_void {
7090 self.next
7091 }
7092}
7093
7094unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2FeaturesNV {
7095 #[inline]
7096 fn next_mut(&self) -> *mut c_void {
7097 self.next
7098 }
7099}
7100
7101unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV {
7102 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV;
7103
7104 #[inline]
7105 fn s_type(&self) -> StructureType {
7106 self.s_type
7107 }
7108
7109 #[inline]
7110 fn next(&self) -> *const c_void {
7111 self.next
7112 }
7113}
7114
7115unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrix2PropertiesNV {
7116 #[inline]
7117 fn next_mut(&self) -> *mut c_void {
7118 self.next
7119 }
7120}
7121
7122unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesKHR {
7123 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR;
7124
7125 #[inline]
7126 fn s_type(&self) -> StructureType {
7127 self.s_type
7128 }
7129
7130 #[inline]
7131 fn next(&self) -> *const c_void {
7132 self.next
7133 }
7134}
7135
7136unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesKHR {
7137 #[inline]
7138 fn next_mut(&self) -> *mut c_void {
7139 self.next
7140 }
7141}
7142
7143unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesNV {
7144 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
7145
7146 #[inline]
7147 fn s_type(&self) -> StructureType {
7148 self.s_type
7149 }
7150
7151 #[inline]
7152 fn next(&self) -> *const c_void {
7153 self.next
7154 }
7155}
7156
7157unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesNV {
7158 #[inline]
7159 fn next_mut(&self) -> *mut c_void {
7160 self.next
7161 }
7162}
7163
7164unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesKHR {
7165 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR;
7166
7167 #[inline]
7168 fn s_type(&self) -> StructureType {
7169 self.s_type
7170 }
7171
7172 #[inline]
7173 fn next(&self) -> *const c_void {
7174 self.next
7175 }
7176}
7177
7178unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesKHR {
7179 #[inline]
7180 fn next_mut(&self) -> *mut c_void {
7181 self.next
7182 }
7183}
7184
7185unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesNV {
7186 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
7187
7188 #[inline]
7189 fn s_type(&self) -> StructureType {
7190 self.s_type
7191 }
7192
7193 #[inline]
7194 fn next(&self) -> *const c_void {
7195 self.next
7196 }
7197}
7198
7199unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesNV {
7200 #[inline]
7201 fn next_mut(&self) -> *mut c_void {
7202 self.next
7203 }
7204}
7205
7206unsafe impl InputChainStruct for PhysicalDeviceCooperativeVectorFeaturesNV {
7207 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV;
7208
7209 #[inline]
7210 fn s_type(&self) -> StructureType {
7211 self.s_type
7212 }
7213
7214 #[inline]
7215 fn next(&self) -> *const c_void {
7216 self.next
7217 }
7218}
7219
7220unsafe impl OutputChainStruct for PhysicalDeviceCooperativeVectorFeaturesNV {
7221 #[inline]
7222 fn next_mut(&self) -> *mut c_void {
7223 self.next
7224 }
7225}
7226
7227unsafe impl InputChainStruct for PhysicalDeviceCooperativeVectorPropertiesNV {
7228 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV;
7229
7230 #[inline]
7231 fn s_type(&self) -> StructureType {
7232 self.s_type
7233 }
7234
7235 #[inline]
7236 fn next(&self) -> *const c_void {
7237 self.next
7238 }
7239}
7240
7241unsafe impl OutputChainStruct for PhysicalDeviceCooperativeVectorPropertiesNV {
7242 #[inline]
7243 fn next_mut(&self) -> *mut c_void {
7244 self.next
7245 }
7246}
7247
7248unsafe impl InputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
7249 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR;
7250
7251 #[inline]
7252 fn s_type(&self) -> StructureType {
7253 self.s_type
7254 }
7255
7256 #[inline]
7257 fn next(&self) -> *const c_void {
7258 self.next
7259 }
7260}
7261
7262unsafe impl OutputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
7263 #[inline]
7264 fn next_mut(&self) -> *mut c_void {
7265 self.next
7266 }
7267}
7268
7269unsafe impl InputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
7270 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV;
7271
7272 #[inline]
7273 fn s_type(&self) -> StructureType {
7274 self.s_type
7275 }
7276
7277 #[inline]
7278 fn next(&self) -> *const c_void {
7279 self.next
7280 }
7281}
7282
7283unsafe impl OutputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
7284 #[inline]
7285 fn next_mut(&self) -> *mut c_void {
7286 self.next
7287 }
7288}
7289
7290unsafe impl InputChainStruct for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
7291 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR;
7292
7293 #[inline]
7294 fn s_type(&self) -> StructureType {
7295 self.s_type
7296 }
7297
7298 #[inline]
7299 fn next(&self) -> *const c_void {
7300 self.next
7301 }
7302}
7303
7304unsafe impl OutputChainStruct for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
7305 #[inline]
7306 fn next_mut(&self) -> *mut c_void {
7307 self.next
7308 }
7309}
7310
7311unsafe impl InputChainStruct for PhysicalDeviceCornerSampledImageFeaturesNV {
7312 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
7313
7314 #[inline]
7315 fn s_type(&self) -> StructureType {
7316 self.s_type
7317 }
7318
7319 #[inline]
7320 fn next(&self) -> *const c_void {
7321 self.next
7322 }
7323}
7324
7325unsafe impl OutputChainStruct for PhysicalDeviceCornerSampledImageFeaturesNV {
7326 #[inline]
7327 fn next_mut(&self) -> *mut c_void {
7328 self.next
7329 }
7330}
7331
7332unsafe impl InputChainStruct for PhysicalDeviceCoverageReductionModeFeaturesNV {
7333 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV;
7334
7335 #[inline]
7336 fn s_type(&self) -> StructureType {
7337 self.s_type
7338 }
7339
7340 #[inline]
7341 fn next(&self) -> *const c_void {
7342 self.next
7343 }
7344}
7345
7346unsafe impl OutputChainStruct for PhysicalDeviceCoverageReductionModeFeaturesNV {
7347 #[inline]
7348 fn next_mut(&self) -> *mut c_void {
7349 self.next
7350 }
7351}
7352
7353unsafe impl InputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM {
7354 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM;
7355
7356 #[inline]
7357 fn s_type(&self) -> StructureType {
7358 self.s_type
7359 }
7360
7361 #[inline]
7362 fn next(&self) -> *const c_void {
7363 self.next
7364 }
7365}
7366
7367unsafe impl OutputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM {
7368 #[inline]
7369 fn next_mut(&self) -> *mut c_void {
7370 self.next
7371 }
7372}
7373
7374unsafe impl InputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM {
7375 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM;
7376
7377 #[inline]
7378 fn s_type(&self) -> StructureType {
7379 self.s_type
7380 }
7381
7382 #[inline]
7383 fn next(&self) -> *const c_void {
7384 self.next
7385 }
7386}
7387
7388unsafe impl OutputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM {
7389 #[inline]
7390 fn next_mut(&self) -> *mut c_void {
7391 self.next
7392 }
7393}
7394
7395unsafe impl InputChainStruct for PhysicalDeviceCudaKernelLaunchFeaturesNV {
7396 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV;
7397
7398 #[inline]
7399 fn s_type(&self) -> StructureType {
7400 self.s_type
7401 }
7402
7403 #[inline]
7404 fn next(&self) -> *const c_void {
7405 self.next
7406 }
7407}
7408
7409unsafe impl OutputChainStruct for PhysicalDeviceCudaKernelLaunchFeaturesNV {
7410 #[inline]
7411 fn next_mut(&self) -> *mut c_void {
7412 self.next
7413 }
7414}
7415
7416unsafe impl InputChainStruct for PhysicalDeviceCudaKernelLaunchPropertiesNV {
7417 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV;
7418
7419 #[inline]
7420 fn s_type(&self) -> StructureType {
7421 self.s_type
7422 }
7423
7424 #[inline]
7425 fn next(&self) -> *const c_void {
7426 self.next
7427 }
7428}
7429
7430unsafe impl OutputChainStruct for PhysicalDeviceCudaKernelLaunchPropertiesNV {
7431 #[inline]
7432 fn next_mut(&self) -> *mut c_void {
7433 self.next
7434 }
7435}
7436
7437unsafe impl InputChainStruct for PhysicalDeviceCustomBorderColorFeaturesEXT {
7438 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT;
7439
7440 #[inline]
7441 fn s_type(&self) -> StructureType {
7442 self.s_type
7443 }
7444
7445 #[inline]
7446 fn next(&self) -> *const c_void {
7447 self.next
7448 }
7449}
7450
7451unsafe impl OutputChainStruct for PhysicalDeviceCustomBorderColorFeaturesEXT {
7452 #[inline]
7453 fn next_mut(&self) -> *mut c_void {
7454 self.next
7455 }
7456}
7457
7458unsafe impl InputChainStruct for PhysicalDeviceCustomBorderColorPropertiesEXT {
7459 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT;
7460
7461 #[inline]
7462 fn s_type(&self) -> StructureType {
7463 self.s_type
7464 }
7465
7466 #[inline]
7467 fn next(&self) -> *const c_void {
7468 self.next
7469 }
7470}
7471
7472unsafe impl OutputChainStruct for PhysicalDeviceCustomBorderColorPropertiesEXT {
7473 #[inline]
7474 fn next_mut(&self) -> *mut c_void {
7475 self.next
7476 }
7477}
7478
7479unsafe impl InputChainStruct for PhysicalDeviceDataGraphFeaturesARM {
7480 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM;
7481
7482 #[inline]
7483 fn s_type(&self) -> StructureType {
7484 self.s_type
7485 }
7486
7487 #[inline]
7488 fn next(&self) -> *const c_void {
7489 self.next
7490 }
7491}
7492
7493unsafe impl OutputChainStruct for PhysicalDeviceDataGraphFeaturesARM {
7494 #[inline]
7495 fn next_mut(&self) -> *mut c_void {
7496 self.next
7497 }
7498}
7499
7500unsafe impl InputChainStruct for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
7501 const TYPE: StructureType =
7502 StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
7503
7504 #[inline]
7505 fn s_type(&self) -> StructureType {
7506 self.s_type
7507 }
7508
7509 #[inline]
7510 fn next(&self) -> *const c_void {
7511 self.next
7512 }
7513}
7514
7515unsafe impl OutputChainStruct for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
7516 #[inline]
7517 fn next_mut(&self) -> *mut c_void {
7518 self.next
7519 }
7520}
7521
7522unsafe impl InputChainStruct for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
7523 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX;
7524
7525 #[inline]
7526 fn s_type(&self) -> StructureType {
7527 self.s_type
7528 }
7529
7530 #[inline]
7531 fn next(&self) -> *const c_void {
7532 self.next
7533 }
7534}
7535
7536unsafe impl OutputChainStruct for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
7537 #[inline]
7538 fn next_mut(&self) -> *mut c_void {
7539 self.next
7540 }
7541}
7542
7543unsafe impl InputChainStruct for PhysicalDeviceDepthBiasControlFeaturesEXT {
7544 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT;
7545
7546 #[inline]
7547 fn s_type(&self) -> StructureType {
7548 self.s_type
7549 }
7550
7551 #[inline]
7552 fn next(&self) -> *const c_void {
7553 self.next
7554 }
7555}
7556
7557unsafe impl OutputChainStruct for PhysicalDeviceDepthBiasControlFeaturesEXT {
7558 #[inline]
7559 fn next_mut(&self) -> *mut c_void {
7560 self.next
7561 }
7562}
7563
7564unsafe impl InputChainStruct for PhysicalDeviceDepthClampControlFeaturesEXT {
7565 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT;
7566
7567 #[inline]
7568 fn s_type(&self) -> StructureType {
7569 self.s_type
7570 }
7571
7572 #[inline]
7573 fn next(&self) -> *const c_void {
7574 self.next
7575 }
7576}
7577
7578unsafe impl OutputChainStruct for PhysicalDeviceDepthClampControlFeaturesEXT {
7579 #[inline]
7580 fn next_mut(&self) -> *mut c_void {
7581 self.next
7582 }
7583}
7584
7585unsafe impl InputChainStruct for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
7586 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR;
7587
7588 #[inline]
7589 fn s_type(&self) -> StructureType {
7590 self.s_type
7591 }
7592
7593 #[inline]
7594 fn next(&self) -> *const c_void {
7595 self.next
7596 }
7597}
7598
7599unsafe impl OutputChainStruct for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
7600 #[inline]
7601 fn next_mut(&self) -> *mut c_void {
7602 self.next
7603 }
7604}
7605
7606unsafe impl InputChainStruct for PhysicalDeviceDepthClipControlFeaturesEXT {
7607 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT;
7608
7609 #[inline]
7610 fn s_type(&self) -> StructureType {
7611 self.s_type
7612 }
7613
7614 #[inline]
7615 fn next(&self) -> *const c_void {
7616 self.next
7617 }
7618}
7619
7620unsafe impl OutputChainStruct for PhysicalDeviceDepthClipControlFeaturesEXT {
7621 #[inline]
7622 fn next_mut(&self) -> *mut c_void {
7623 self.next
7624 }
7625}
7626
7627unsafe impl InputChainStruct for PhysicalDeviceDepthClipEnableFeaturesEXT {
7628 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
7629
7630 #[inline]
7631 fn s_type(&self) -> StructureType {
7632 self.s_type
7633 }
7634
7635 #[inline]
7636 fn next(&self) -> *const c_void {
7637 self.next
7638 }
7639}
7640
7641unsafe impl OutputChainStruct for PhysicalDeviceDepthClipEnableFeaturesEXT {
7642 #[inline]
7643 fn next_mut(&self) -> *mut c_void {
7644 self.next
7645 }
7646}
7647
7648unsafe impl InputChainStruct for PhysicalDeviceDepthStencilResolveProperties {
7649 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
7650
7651 #[inline]
7652 fn s_type(&self) -> StructureType {
7653 self.s_type
7654 }
7655
7656 #[inline]
7657 fn next(&self) -> *const c_void {
7658 self.next
7659 }
7660}
7661
7662unsafe impl OutputChainStruct for PhysicalDeviceDepthStencilResolveProperties {
7663 #[inline]
7664 fn next_mut(&self) -> *mut c_void {
7665 self.next
7666 }
7667}
7668
7669unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
7670 const TYPE: StructureType =
7671 StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT;
7672
7673 #[inline]
7674 fn s_type(&self) -> StructureType {
7675 self.s_type
7676 }
7677
7678 #[inline]
7679 fn next(&self) -> *const c_void {
7680 self.next
7681 }
7682}
7683
7684unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
7685 #[inline]
7686 fn next_mut(&self) -> *mut c_void {
7687 self.next
7688 }
7689}
7690
7691unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferFeaturesEXT {
7692 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT;
7693
7694 #[inline]
7695 fn s_type(&self) -> StructureType {
7696 self.s_type
7697 }
7698
7699 #[inline]
7700 fn next(&self) -> *const c_void {
7701 self.next
7702 }
7703}
7704
7705unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferFeaturesEXT {
7706 #[inline]
7707 fn next_mut(&self) -> *mut c_void {
7708 self.next
7709 }
7710}
7711
7712unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferPropertiesEXT {
7713 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT;
7714
7715 #[inline]
7716 fn s_type(&self) -> StructureType {
7717 self.s_type
7718 }
7719
7720 #[inline]
7721 fn next(&self) -> *const c_void {
7722 self.next
7723 }
7724}
7725
7726unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferPropertiesEXT {
7727 #[inline]
7728 fn next_mut(&self) -> *mut c_void {
7729 self.next
7730 }
7731}
7732
7733unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
7734 const TYPE: StructureType =
7735 StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM;
7736
7737 #[inline]
7738 fn s_type(&self) -> StructureType {
7739 self.s_type
7740 }
7741
7742 #[inline]
7743 fn next(&self) -> *const c_void {
7744 self.next
7745 }
7746}
7747
7748unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
7749 #[inline]
7750 fn next_mut(&self) -> *mut c_void {
7751 self.next
7752 }
7753}
7754
7755unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
7756 const TYPE: StructureType =
7757 StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM;
7758
7759 #[inline]
7760 fn s_type(&self) -> StructureType {
7761 self.s_type
7762 }
7763
7764 #[inline]
7765 fn next(&self) -> *const c_void {
7766 self.next
7767 }
7768}
7769
7770unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
7771 #[inline]
7772 fn next_mut(&self) -> *mut c_void {
7773 self.next
7774 }
7775}
7776
7777unsafe impl InputChainStruct for PhysicalDeviceDescriptorIndexingFeatures {
7778 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
7779
7780 #[inline]
7781 fn s_type(&self) -> StructureType {
7782 self.s_type
7783 }
7784
7785 #[inline]
7786 fn next(&self) -> *const c_void {
7787 self.next
7788 }
7789}
7790
7791unsafe impl OutputChainStruct for PhysicalDeviceDescriptorIndexingFeatures {
7792 #[inline]
7793 fn next_mut(&self) -> *mut c_void {
7794 self.next
7795 }
7796}
7797
7798unsafe impl InputChainStruct for PhysicalDeviceDescriptorIndexingProperties {
7799 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
7800
7801 #[inline]
7802 fn s_type(&self) -> StructureType {
7803 self.s_type
7804 }
7805
7806 #[inline]
7807 fn next(&self) -> *const c_void {
7808 self.next
7809 }
7810}
7811
7812unsafe impl OutputChainStruct for PhysicalDeviceDescriptorIndexingProperties {
7813 #[inline]
7814 fn next_mut(&self) -> *mut c_void {
7815 self.next
7816 }
7817}
7818
7819unsafe impl InputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
7820 const TYPE: StructureType =
7821 StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV;
7822
7823 #[inline]
7824 fn s_type(&self) -> StructureType {
7825 self.s_type
7826 }
7827
7828 #[inline]
7829 fn next(&self) -> *const c_void {
7830 self.next
7831 }
7832}
7833
7834unsafe impl OutputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
7835 #[inline]
7836 fn next_mut(&self) -> *mut c_void {
7837 self.next
7838 }
7839}
7840
7841unsafe impl InputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
7842 const TYPE: StructureType =
7843 StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE;
7844
7845 #[inline]
7846 fn s_type(&self) -> StructureType {
7847 self.s_type
7848 }
7849
7850 #[inline]
7851 fn next(&self) -> *const c_void {
7852 self.next
7853 }
7854}
7855
7856unsafe impl OutputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
7857 #[inline]
7858 fn next_mut(&self) -> *mut c_void {
7859 self.next
7860 }
7861}
7862
7863unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
7864 const TYPE: StructureType =
7865 StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
7866
7867 #[inline]
7868 fn s_type(&self) -> StructureType {
7869 self.s_type
7870 }
7871
7872 #[inline]
7873 fn next(&self) -> *const c_void {
7874 self.next
7875 }
7876}
7877
7878unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
7879 #[inline]
7880 fn next_mut(&self) -> *mut c_void {
7881 self.next
7882 }
7883}
7884
7885unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
7886 const TYPE: StructureType =
7887 StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT;
7888
7889 #[inline]
7890 fn s_type(&self) -> StructureType {
7891 self.s_type
7892 }
7893
7894 #[inline]
7895 fn next(&self) -> *const c_void {
7896 self.next
7897 }
7898}
7899
7900unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
7901 #[inline]
7902 fn next_mut(&self) -> *mut c_void {
7903 self.next
7904 }
7905}
7906
7907unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
7908 const TYPE: StructureType =
7909 StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV;
7910
7911 #[inline]
7912 fn s_type(&self) -> StructureType {
7913 self.s_type
7914 }
7915
7916 #[inline]
7917 fn next(&self) -> *const c_void {
7918 self.next
7919 }
7920}
7921
7922unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
7923 #[inline]
7924 fn next_mut(&self) -> *mut c_void {
7925 self.next
7926 }
7927}
7928
7929unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
7930 const TYPE: StructureType =
7931 StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT;
7932
7933 #[inline]
7934 fn s_type(&self) -> StructureType {
7935 self.s_type
7936 }
7937
7938 #[inline]
7939 fn next(&self) -> *const c_void {
7940 self.next
7941 }
7942}
7943
7944unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
7945 #[inline]
7946 fn next_mut(&self) -> *mut c_void {
7947 self.next
7948 }
7949}
7950
7951unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
7952 const TYPE: StructureType =
7953 StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV;
7954
7955 #[inline]
7956 fn s_type(&self) -> StructureType {
7957 self.s_type
7958 }
7959
7960 #[inline]
7961 fn next(&self) -> *const c_void {
7962 self.next
7963 }
7964}
7965
7966unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
7967 #[inline]
7968 fn next_mut(&self) -> *mut c_void {
7969 self.next
7970 }
7971}
7972
7973unsafe impl InputChainStruct for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
7974 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT;
7975
7976 #[inline]
7977 fn s_type(&self) -> StructureType {
7978 self.s_type
7979 }
7980
7981 #[inline]
7982 fn next(&self) -> *const c_void {
7983 self.next
7984 }
7985}
7986
7987unsafe impl OutputChainStruct for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
7988 #[inline]
7989 fn next_mut(&self) -> *mut c_void {
7990 self.next
7991 }
7992}
7993
7994unsafe impl InputChainStruct for PhysicalDeviceDiagnosticsConfigFeaturesNV {
7995 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV;
7996
7997 #[inline]
7998 fn s_type(&self) -> StructureType {
7999 self.s_type
8000 }
8001
8002 #[inline]
8003 fn next(&self) -> *const c_void {
8004 self.next
8005 }
8006}
8007
8008unsafe impl OutputChainStruct for PhysicalDeviceDiagnosticsConfigFeaturesNV {
8009 #[inline]
8010 fn next_mut(&self) -> *mut c_void {
8011 self.next
8012 }
8013}
8014
8015unsafe impl InputChainStruct for PhysicalDeviceDiscardRectanglePropertiesEXT {
8016 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
8017
8018 #[inline]
8019 fn s_type(&self) -> StructureType {
8020 self.s_type
8021 }
8022
8023 #[inline]
8024 fn next(&self) -> *const c_void {
8025 self.next
8026 }
8027}
8028
8029unsafe impl OutputChainStruct for PhysicalDeviceDiscardRectanglePropertiesEXT {
8030 #[inline]
8031 fn next_mut(&self) -> *mut c_void {
8032 self.next
8033 }
8034}
8035
8036unsafe impl InputChainStruct for PhysicalDeviceDisplacementMicromapFeaturesNV {
8037 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV;
8038
8039 #[inline]
8040 fn s_type(&self) -> StructureType {
8041 self.s_type
8042 }
8043
8044 #[inline]
8045 fn next(&self) -> *const c_void {
8046 self.next
8047 }
8048}
8049
8050unsafe impl OutputChainStruct for PhysicalDeviceDisplacementMicromapFeaturesNV {
8051 #[inline]
8052 fn next_mut(&self) -> *mut c_void {
8053 self.next
8054 }
8055}
8056
8057unsafe impl InputChainStruct for PhysicalDeviceDisplacementMicromapPropertiesNV {
8058 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV;
8059
8060 #[inline]
8061 fn s_type(&self) -> StructureType {
8062 self.s_type
8063 }
8064
8065 #[inline]
8066 fn next(&self) -> *const c_void {
8067 self.next
8068 }
8069}
8070
8071unsafe impl OutputChainStruct for PhysicalDeviceDisplacementMicromapPropertiesNV {
8072 #[inline]
8073 fn next_mut(&self) -> *mut c_void {
8074 self.next
8075 }
8076}
8077
8078unsafe impl InputChainStruct for PhysicalDeviceDriverProperties {
8079 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES;
8080
8081 #[inline]
8082 fn s_type(&self) -> StructureType {
8083 self.s_type
8084 }
8085
8086 #[inline]
8087 fn next(&self) -> *const c_void {
8088 self.next
8089 }
8090}
8091
8092unsafe impl OutputChainStruct for PhysicalDeviceDriverProperties {
8093 #[inline]
8094 fn next_mut(&self) -> *mut c_void {
8095 self.next
8096 }
8097}
8098
8099unsafe impl InputChainStruct for PhysicalDeviceDrmPropertiesEXT {
8100 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT;
8101
8102 #[inline]
8103 fn s_type(&self) -> StructureType {
8104 self.s_type
8105 }
8106
8107 #[inline]
8108 fn next(&self) -> *const c_void {
8109 self.next
8110 }
8111}
8112
8113unsafe impl OutputChainStruct for PhysicalDeviceDrmPropertiesEXT {
8114 #[inline]
8115 fn next_mut(&self) -> *mut c_void {
8116 self.next
8117 }
8118}
8119
8120unsafe impl InputChainStruct for PhysicalDeviceDynamicRenderingFeatures {
8121 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES;
8122
8123 #[inline]
8124 fn s_type(&self) -> StructureType {
8125 self.s_type
8126 }
8127
8128 #[inline]
8129 fn next(&self) -> *const c_void {
8130 self.next
8131 }
8132}
8133
8134unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingFeatures {
8135 #[inline]
8136 fn next_mut(&self) -> *mut c_void {
8137 self.next
8138 }
8139}
8140
8141unsafe impl InputChainStruct for PhysicalDeviceDynamicRenderingLocalReadFeatures {
8142 const TYPE: StructureType =
8143 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES;
8144
8145 #[inline]
8146 fn s_type(&self) -> StructureType {
8147 self.s_type
8148 }
8149
8150 #[inline]
8151 fn next(&self) -> *const c_void {
8152 self.next
8153 }
8154}
8155
8156unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingLocalReadFeatures {
8157 #[inline]
8158 fn next_mut(&self) -> *mut c_void {
8159 self.next
8160 }
8161}
8162
8163unsafe impl InputChainStruct for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
8164 const TYPE: StructureType =
8165 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT;
8166
8167 #[inline]
8168 fn s_type(&self) -> StructureType {
8169 self.s_type
8170 }
8171
8172 #[inline]
8173 fn next(&self) -> *const c_void {
8174 self.next
8175 }
8176}
8177
8178unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
8179 #[inline]
8180 fn next_mut(&self) -> *mut c_void {
8181 self.next
8182 }
8183}
8184
8185unsafe impl InputChainStruct for PhysicalDeviceExclusiveScissorFeaturesNV {
8186 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
8187
8188 #[inline]
8189 fn s_type(&self) -> StructureType {
8190 self.s_type
8191 }
8192
8193 #[inline]
8194 fn next(&self) -> *const c_void {
8195 self.next
8196 }
8197}
8198
8199unsafe impl OutputChainStruct for PhysicalDeviceExclusiveScissorFeaturesNV {
8200 #[inline]
8201 fn next_mut(&self) -> *mut c_void {
8202 self.next
8203 }
8204}
8205
8206unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
8207 const TYPE: StructureType =
8208 StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
8209
8210 #[inline]
8211 fn s_type(&self) -> StructureType {
8212 self.s_type
8213 }
8214
8215 #[inline]
8216 fn next(&self) -> *const c_void {
8217 self.next
8218 }
8219}
8220
8221unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
8222 #[inline]
8223 fn next_mut(&self) -> *mut c_void {
8224 self.next
8225 }
8226}
8227
8228unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
8229 const TYPE: StructureType =
8230 StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT;
8231
8232 #[inline]
8233 fn s_type(&self) -> StructureType {
8234 self.s_type
8235 }
8236
8237 #[inline]
8238 fn next(&self) -> *const c_void {
8239 self.next
8240 }
8241}
8242
8243unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
8244 #[inline]
8245 fn next_mut(&self) -> *mut c_void {
8246 self.next
8247 }
8248}
8249
8250unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
8251 const TYPE: StructureType =
8252 StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT;
8253
8254 #[inline]
8255 fn s_type(&self) -> StructureType {
8256 self.s_type
8257 }
8258
8259 #[inline]
8260 fn next(&self) -> *const c_void {
8261 self.next
8262 }
8263}
8264
8265unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
8266 #[inline]
8267 fn next_mut(&self) -> *mut c_void {
8268 self.next
8269 }
8270}
8271
8272unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
8273 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
8274
8275 #[inline]
8276 fn s_type(&self) -> StructureType {
8277 self.s_type
8278 }
8279
8280 #[inline]
8281 fn next(&self) -> *const c_void {
8282 self.next
8283 }
8284}
8285
8286unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
8287 #[inline]
8288 fn next_mut(&self) -> *mut c_void {
8289 self.next
8290 }
8291}
8292
8293unsafe impl InputChainStruct for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
8294 const TYPE: StructureType =
8295 StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV;
8296
8297 #[inline]
8298 fn s_type(&self) -> StructureType {
8299 self.s_type
8300 }
8301
8302 #[inline]
8303 fn next(&self) -> *const c_void {
8304 self.next
8305 }
8306}
8307
8308unsafe impl OutputChainStruct for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
8309 #[inline]
8310 fn next_mut(&self) -> *mut c_void {
8311 self.next
8312 }
8313}
8314
8315unsafe impl InputChainStruct for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
8316 const TYPE: StructureType =
8317 StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV;
8318
8319 #[inline]
8320 fn s_type(&self) -> StructureType {
8321 self.s_type
8322 }
8323
8324 #[inline]
8325 fn next(&self) -> *const c_void {
8326 self.next
8327 }
8328}
8329
8330unsafe impl OutputChainStruct for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
8331 #[inline]
8332 fn next_mut(&self) -> *mut c_void {
8333 self.next
8334 }
8335}
8336
8337unsafe impl InputChainStruct for PhysicalDeviceExternalBufferInfo {
8338 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
8339
8340 #[inline]
8341 fn s_type(&self) -> StructureType {
8342 self.s_type
8343 }
8344
8345 #[inline]
8346 fn next(&self) -> *const c_void {
8347 self.next
8348 }
8349}
8350
8351unsafe impl InputChainStruct for PhysicalDeviceExternalComputeQueuePropertiesNV {
8352 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV;
8353
8354 #[inline]
8355 fn s_type(&self) -> StructureType {
8356 self.s_type
8357 }
8358
8359 #[inline]
8360 fn next(&self) -> *const c_void {
8361 self.next
8362 }
8363}
8364
8365unsafe impl OutputChainStruct for PhysicalDeviceExternalComputeQueuePropertiesNV {
8366 #[inline]
8367 fn next_mut(&self) -> *mut c_void {
8368 self.next
8369 }
8370}
8371
8372unsafe impl InputChainStruct for PhysicalDeviceExternalFenceInfo {
8373 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
8374
8375 #[inline]
8376 fn s_type(&self) -> StructureType {
8377 self.s_type
8378 }
8379
8380 #[inline]
8381 fn next(&self) -> *const c_void {
8382 self.next
8383 }
8384}
8385
8386unsafe impl InputChainStruct for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
8387 const TYPE: StructureType =
8388 StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID;
8389
8390 #[inline]
8391 fn s_type(&self) -> StructureType {
8392 self.s_type
8393 }
8394
8395 #[inline]
8396 fn next(&self) -> *const c_void {
8397 self.next
8398 }
8399}
8400
8401unsafe impl OutputChainStruct for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
8402 #[inline]
8403 fn next_mut(&self) -> *mut c_void {
8404 self.next
8405 }
8406}
8407
8408unsafe impl InputChainStruct for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
8409 const TYPE: StructureType =
8410 StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID;
8411
8412 #[inline]
8413 fn s_type(&self) -> StructureType {
8414 self.s_type
8415 }
8416
8417 #[inline]
8418 fn next(&self) -> *const c_void {
8419 self.next
8420 }
8421}
8422
8423unsafe impl OutputChainStruct for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
8424 #[inline]
8425 fn next_mut(&self) -> *mut c_void {
8426 self.next
8427 }
8428}
8429
8430unsafe impl InputChainStruct for PhysicalDeviceExternalImageFormatInfo {
8431 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
8432
8433 #[inline]
8434 fn s_type(&self) -> StructureType {
8435 self.s_type
8436 }
8437
8438 #[inline]
8439 fn next(&self) -> *const c_void {
8440 self.next
8441 }
8442}
8443
8444unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryHostPropertiesEXT {
8445 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
8446
8447 #[inline]
8448 fn s_type(&self) -> StructureType {
8449 self.s_type
8450 }
8451
8452 #[inline]
8453 fn next(&self) -> *const c_void {
8454 self.next
8455 }
8456}
8457
8458unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryHostPropertiesEXT {
8459 #[inline]
8460 fn next_mut(&self) -> *mut c_void {
8461 self.next
8462 }
8463}
8464
8465unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
8466 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV;
8467
8468 #[inline]
8469 fn s_type(&self) -> StructureType {
8470 self.s_type
8471 }
8472
8473 #[inline]
8474 fn next(&self) -> *const c_void {
8475 self.next
8476 }
8477}
8478
8479unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
8480 #[inline]
8481 fn next_mut(&self) -> *mut c_void {
8482 self.next
8483 }
8484}
8485
8486unsafe impl InputChainStruct for PhysicalDeviceExternalMemorySciBufFeaturesNV {
8487 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV;
8488
8489 #[inline]
8490 fn s_type(&self) -> StructureType {
8491 self.s_type
8492 }
8493
8494 #[inline]
8495 fn next(&self) -> *const c_void {
8496 self.next
8497 }
8498}
8499
8500unsafe impl OutputChainStruct for PhysicalDeviceExternalMemorySciBufFeaturesNV {
8501 #[inline]
8502 fn next_mut(&self) -> *mut c_void {
8503 self.next
8504 }
8505}
8506
8507unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
8508 const TYPE: StructureType =
8509 StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX;
8510
8511 #[inline]
8512 fn s_type(&self) -> StructureType {
8513 self.s_type
8514 }
8515
8516 #[inline]
8517 fn next(&self) -> *const c_void {
8518 self.next
8519 }
8520}
8521
8522unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
8523 #[inline]
8524 fn next_mut(&self) -> *mut c_void {
8525 self.next
8526 }
8527}
8528
8529unsafe impl InputChainStruct for PhysicalDeviceExternalSciSync2FeaturesNV {
8530 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV;
8531
8532 #[inline]
8533 fn s_type(&self) -> StructureType {
8534 self.s_type
8535 }
8536
8537 #[inline]
8538 fn next(&self) -> *const c_void {
8539 self.next
8540 }
8541}
8542
8543unsafe impl OutputChainStruct for PhysicalDeviceExternalSciSync2FeaturesNV {
8544 #[inline]
8545 fn next_mut(&self) -> *mut c_void {
8546 self.next
8547 }
8548}
8549
8550unsafe impl InputChainStruct for PhysicalDeviceExternalSciSyncFeaturesNV {
8551 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV;
8552
8553 #[inline]
8554 fn s_type(&self) -> StructureType {
8555 self.s_type
8556 }
8557
8558 #[inline]
8559 fn next(&self) -> *const c_void {
8560 self.next
8561 }
8562}
8563
8564unsafe impl OutputChainStruct for PhysicalDeviceExternalSciSyncFeaturesNV {
8565 #[inline]
8566 fn next_mut(&self) -> *mut c_void {
8567 self.next
8568 }
8569}
8570
8571unsafe impl InputChainStruct for PhysicalDeviceExternalSemaphoreInfo {
8572 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
8573
8574 #[inline]
8575 fn s_type(&self) -> StructureType {
8576 self.s_type
8577 }
8578
8579 #[inline]
8580 fn next(&self) -> *const c_void {
8581 self.next
8582 }
8583}
8584
8585unsafe impl InputChainStruct for PhysicalDeviceExternalTensorInfoARM {
8586 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM;
8587
8588 #[inline]
8589 fn s_type(&self) -> StructureType {
8590 self.s_type
8591 }
8592
8593 #[inline]
8594 fn next(&self) -> *const c_void {
8595 self.next
8596 }
8597}
8598
8599unsafe impl InputChainStruct for PhysicalDeviceFaultFeaturesEXT {
8600 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
8601
8602 #[inline]
8603 fn s_type(&self) -> StructureType {
8604 self.s_type
8605 }
8606
8607 #[inline]
8608 fn next(&self) -> *const c_void {
8609 self.next
8610 }
8611}
8612
8613unsafe impl OutputChainStruct for PhysicalDeviceFaultFeaturesEXT {
8614 #[inline]
8615 fn next_mut(&self) -> *mut c_void {
8616 self.next
8617 }
8618}
8619
8620unsafe impl InputChainStruct for PhysicalDeviceFeatures2 {
8621 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FEATURES_2;
8622
8623 #[inline]
8624 fn s_type(&self) -> StructureType {
8625 self.s_type
8626 }
8627
8628 #[inline]
8629 fn next(&self) -> *const c_void {
8630 self.next
8631 }
8632}
8633
8634unsafe impl OutputChainStruct for PhysicalDeviceFeatures2 {
8635 #[inline]
8636 fn next_mut(&self) -> *mut c_void {
8637 self.next
8638 }
8639}
8640
8641unsafe impl InputChainStruct for PhysicalDeviceFloatControlsProperties {
8642 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
8643
8644 #[inline]
8645 fn s_type(&self) -> StructureType {
8646 self.s_type
8647 }
8648
8649 #[inline]
8650 fn next(&self) -> *const c_void {
8651 self.next
8652 }
8653}
8654
8655unsafe impl OutputChainStruct for PhysicalDeviceFloatControlsProperties {
8656 #[inline]
8657 fn next_mut(&self) -> *mut c_void {
8658 self.next
8659 }
8660}
8661
8662unsafe impl InputChainStruct for PhysicalDeviceFormatPackFeaturesARM {
8663 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM;
8664
8665 #[inline]
8666 fn s_type(&self) -> StructureType {
8667 self.s_type
8668 }
8669
8670 #[inline]
8671 fn next(&self) -> *const c_void {
8672 self.next
8673 }
8674}
8675
8676unsafe impl OutputChainStruct for PhysicalDeviceFormatPackFeaturesARM {
8677 #[inline]
8678 fn next_mut(&self) -> *mut c_void {
8679 self.next
8680 }
8681}
8682
8683unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
8684 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
8685
8686 #[inline]
8687 fn s_type(&self) -> StructureType {
8688 self.s_type
8689 }
8690
8691 #[inline]
8692 fn next(&self) -> *const c_void {
8693 self.next
8694 }
8695}
8696
8697unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
8698 #[inline]
8699 fn next_mut(&self) -> *mut c_void {
8700 self.next
8701 }
8702}
8703
8704unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
8705 const TYPE: StructureType =
8706 StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT;
8707
8708 #[inline]
8709 fn s_type(&self) -> StructureType {
8710 self.s_type
8711 }
8712
8713 #[inline]
8714 fn next(&self) -> *const c_void {
8715 self.next
8716 }
8717}
8718
8719unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
8720 #[inline]
8721 fn next_mut(&self) -> *mut c_void {
8722 self.next
8723 }
8724}
8725
8726unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapFeaturesEXT {
8727 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
8728
8729 #[inline]
8730 fn s_type(&self) -> StructureType {
8731 self.s_type
8732 }
8733
8734 #[inline]
8735 fn next(&self) -> *const c_void {
8736 self.next
8737 }
8738}
8739
8740unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapFeaturesEXT {
8741 #[inline]
8742 fn next_mut(&self) -> *mut c_void {
8743 self.next
8744 }
8745}
8746
8747unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
8748 const TYPE: StructureType =
8749 StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE;
8750
8751 #[inline]
8752 fn s_type(&self) -> StructureType {
8753 self.s_type
8754 }
8755
8756 #[inline]
8757 fn next(&self) -> *const c_void {
8758 self.next
8759 }
8760}
8761
8762unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
8763 #[inline]
8764 fn next_mut(&self) -> *mut c_void {
8765 self.next
8766 }
8767}
8768
8769unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
8770 const TYPE: StructureType =
8771 StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE;
8772
8773 #[inline]
8774 fn s_type(&self) -> StructureType {
8775 self.s_type
8776 }
8777
8778 #[inline]
8779 fn next(&self) -> *const c_void {
8780 self.next
8781 }
8782}
8783
8784unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
8785 #[inline]
8786 fn next_mut(&self) -> *mut c_void {
8787 self.next
8788 }
8789}
8790
8791unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
8792 const TYPE: StructureType =
8793 StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT;
8794
8795 #[inline]
8796 fn s_type(&self) -> StructureType {
8797 self.s_type
8798 }
8799
8800 #[inline]
8801 fn next(&self) -> *const c_void {
8802 self.next
8803 }
8804}
8805
8806unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
8807 #[inline]
8808 fn next_mut(&self) -> *mut c_void {
8809 self.next
8810 }
8811}
8812
8813unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
8814 const TYPE: StructureType =
8815 StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT;
8816
8817 #[inline]
8818 fn s_type(&self) -> StructureType {
8819 self.s_type
8820 }
8821
8822 #[inline]
8823 fn next(&self) -> *const c_void {
8824 self.next
8825 }
8826}
8827
8828unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
8829 #[inline]
8830 fn next_mut(&self) -> *mut c_void {
8831 self.next
8832 }
8833}
8834
8835unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapPropertiesEXT {
8836 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
8837
8838 #[inline]
8839 fn s_type(&self) -> StructureType {
8840 self.s_type
8841 }
8842
8843 #[inline]
8844 fn next(&self) -> *const c_void {
8845 self.next
8846 }
8847}
8848
8849unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapPropertiesEXT {
8850 #[inline]
8851 fn next_mut(&self) -> *mut c_void {
8852 self.next
8853 }
8854}
8855
8856unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
8857 const TYPE: StructureType =
8858 StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
8859
8860 #[inline]
8861 fn s_type(&self) -> StructureType {
8862 self.s_type
8863 }
8864
8865 #[inline]
8866 fn next(&self) -> *const c_void {
8867 self.next
8868 }
8869}
8870
8871unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
8872 #[inline]
8873 fn next_mut(&self) -> *mut c_void {
8874 self.next
8875 }
8876}
8877
8878unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
8879 const TYPE: StructureType =
8880 StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
8881
8882 #[inline]
8883 fn s_type(&self) -> StructureType {
8884 self.s_type
8885 }
8886
8887 #[inline]
8888 fn next(&self) -> *const c_void {
8889 self.next
8890 }
8891}
8892
8893unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
8894 #[inline]
8895 fn next_mut(&self) -> *mut c_void {
8896 self.next
8897 }
8898}
8899
8900unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
8901 const TYPE: StructureType =
8902 StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
8903
8904 #[inline]
8905 fn s_type(&self) -> StructureType {
8906 self.s_type
8907 }
8908
8909 #[inline]
8910 fn next(&self) -> *const c_void {
8911 self.next
8912 }
8913}
8914
8915unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
8916 #[inline]
8917 fn next_mut(&self) -> *mut c_void {
8918 self.next
8919 }
8920}
8921
8922unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
8923 const TYPE: StructureType =
8924 StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
8925
8926 #[inline]
8927 fn s_type(&self) -> StructureType {
8928 self.s_type
8929 }
8930
8931 #[inline]
8932 fn next(&self) -> *const c_void {
8933 self.next
8934 }
8935}
8936
8937unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
8938 #[inline]
8939 fn next_mut(&self) -> *mut c_void {
8940 self.next
8941 }
8942}
8943
8944unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
8945 const TYPE: StructureType =
8946 StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV;
8947
8948 #[inline]
8949 fn s_type(&self) -> StructureType {
8950 self.s_type
8951 }
8952
8953 #[inline]
8954 fn next(&self) -> *const c_void {
8955 self.next
8956 }
8957}
8958
8959unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
8960 #[inline]
8961 fn next_mut(&self) -> *mut c_void {
8962 self.next
8963 }
8964}
8965
8966unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateFeaturesKHR {
8967 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR;
8968
8969 #[inline]
8970 fn s_type(&self) -> StructureType {
8971 self.s_type
8972 }
8973
8974 #[inline]
8975 fn next(&self) -> *const c_void {
8976 self.next
8977 }
8978}
8979
8980unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateFeaturesKHR {
8981 #[inline]
8982 fn next_mut(&self) -> *mut c_void {
8983 self.next
8984 }
8985}
8986
8987unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateKHR {
8988 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR;
8989
8990 #[inline]
8991 fn s_type(&self) -> StructureType {
8992 self.s_type
8993 }
8994
8995 #[inline]
8996 fn next(&self) -> *const c_void {
8997 self.next
8998 }
8999}
9000
9001unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateKHR {
9002 #[inline]
9003 fn next_mut(&self) -> *mut c_void {
9004 self.next
9005 }
9006}
9007
9008unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRatePropertiesKHR {
9009 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR;
9010
9011 #[inline]
9012 fn s_type(&self) -> StructureType {
9013 self.s_type
9014 }
9015
9016 #[inline]
9017 fn next(&self) -> *const c_void {
9018 self.next
9019 }
9020}
9021
9022unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRatePropertiesKHR {
9023 #[inline]
9024 fn next_mut(&self) -> *mut c_void {
9025 self.next
9026 }
9027}
9028
9029unsafe impl InputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT {
9030 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT;
9031
9032 #[inline]
9033 fn s_type(&self) -> StructureType {
9034 self.s_type
9035 }
9036
9037 #[inline]
9038 fn next(&self) -> *const c_void {
9039 self.next
9040 }
9041}
9042
9043unsafe impl OutputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT {
9044 #[inline]
9045 fn next_mut(&self) -> *mut c_void {
9046 self.next
9047 }
9048}
9049
9050unsafe impl InputChainStruct for PhysicalDeviceGlobalPriorityQueryFeatures {
9051 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES;
9052
9053 #[inline]
9054 fn s_type(&self) -> StructureType {
9055 self.s_type
9056 }
9057
9058 #[inline]
9059 fn next(&self) -> *const c_void {
9060 self.next
9061 }
9062}
9063
9064unsafe impl OutputChainStruct for PhysicalDeviceGlobalPriorityQueryFeatures {
9065 #[inline]
9066 fn next_mut(&self) -> *mut c_void {
9067 self.next
9068 }
9069}
9070
9071unsafe impl InputChainStruct for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
9072 const TYPE: StructureType =
9073 StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT;
9074
9075 #[inline]
9076 fn s_type(&self) -> StructureType {
9077 self.s_type
9078 }
9079
9080 #[inline]
9081 fn next(&self) -> *const c_void {
9082 self.next
9083 }
9084}
9085
9086unsafe impl OutputChainStruct for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
9087 #[inline]
9088 fn next_mut(&self) -> *mut c_void {
9089 self.next
9090 }
9091}
9092
9093unsafe impl InputChainStruct for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
9094 const TYPE: StructureType =
9095 StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT;
9096
9097 #[inline]
9098 fn s_type(&self) -> StructureType {
9099 self.s_type
9100 }
9101
9102 #[inline]
9103 fn next(&self) -> *const c_void {
9104 self.next
9105 }
9106}
9107
9108unsafe impl OutputChainStruct for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
9109 #[inline]
9110 fn next_mut(&self) -> *mut c_void {
9111 self.next
9112 }
9113}
9114
9115unsafe impl InputChainStruct for PhysicalDeviceGroupProperties {
9116 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES;
9117
9118 #[inline]
9119 fn s_type(&self) -> StructureType {
9120 self.s_type
9121 }
9122
9123 #[inline]
9124 fn next(&self) -> *const c_void {
9125 self.next
9126 }
9127}
9128
9129unsafe impl OutputChainStruct for PhysicalDeviceGroupProperties {
9130 #[inline]
9131 fn next_mut(&self) -> *mut c_void {
9132 self.next
9133 }
9134}
9135
9136unsafe impl InputChainStruct for PhysicalDeviceHdrVividFeaturesHUAWEI {
9137 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI;
9138
9139 #[inline]
9140 fn s_type(&self) -> StructureType {
9141 self.s_type
9142 }
9143
9144 #[inline]
9145 fn next(&self) -> *const c_void {
9146 self.next
9147 }
9148}
9149
9150unsafe impl OutputChainStruct for PhysicalDeviceHdrVividFeaturesHUAWEI {
9151 #[inline]
9152 fn next_mut(&self) -> *mut c_void {
9153 self.next
9154 }
9155}
9156
9157unsafe impl InputChainStruct for PhysicalDeviceHostImageCopyFeatures {
9158 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES;
9159
9160 #[inline]
9161 fn s_type(&self) -> StructureType {
9162 self.s_type
9163 }
9164
9165 #[inline]
9166 fn next(&self) -> *const c_void {
9167 self.next
9168 }
9169}
9170
9171unsafe impl OutputChainStruct for PhysicalDeviceHostImageCopyFeatures {
9172 #[inline]
9173 fn next_mut(&self) -> *mut c_void {
9174 self.next
9175 }
9176}
9177
9178unsafe impl InputChainStruct for PhysicalDeviceHostImageCopyProperties {
9179 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES;
9180
9181 #[inline]
9182 fn s_type(&self) -> StructureType {
9183 self.s_type
9184 }
9185
9186 #[inline]
9187 fn next(&self) -> *const c_void {
9188 self.next
9189 }
9190}
9191
9192unsafe impl OutputChainStruct for PhysicalDeviceHostImageCopyProperties {
9193 #[inline]
9194 fn next_mut(&self) -> *mut c_void {
9195 self.next
9196 }
9197}
9198
9199unsafe impl InputChainStruct for PhysicalDeviceHostQueryResetFeatures {
9200 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
9201
9202 #[inline]
9203 fn s_type(&self) -> StructureType {
9204 self.s_type
9205 }
9206
9207 #[inline]
9208 fn next(&self) -> *const c_void {
9209 self.next
9210 }
9211}
9212
9213unsafe impl OutputChainStruct for PhysicalDeviceHostQueryResetFeatures {
9214 #[inline]
9215 fn next_mut(&self) -> *mut c_void {
9216 self.next
9217 }
9218}
9219
9220unsafe impl InputChainStruct for PhysicalDeviceIDProperties {
9221 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ID_PROPERTIES;
9222
9223 #[inline]
9224 fn s_type(&self) -> StructureType {
9225 self.s_type
9226 }
9227
9228 #[inline]
9229 fn next(&self) -> *const c_void {
9230 self.next
9231 }
9232}
9233
9234unsafe impl OutputChainStruct for PhysicalDeviceIDProperties {
9235 #[inline]
9236 fn next_mut(&self) -> *mut c_void {
9237 self.next
9238 }
9239}
9240
9241unsafe impl InputChainStruct for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
9242 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
9243
9244 #[inline]
9245 fn s_type(&self) -> StructureType {
9246 self.s_type
9247 }
9248
9249 #[inline]
9250 fn next(&self) -> *const c_void {
9251 self.next
9252 }
9253}
9254
9255unsafe impl OutputChainStruct for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
9256 #[inline]
9257 fn next_mut(&self) -> *mut c_void {
9258 self.next
9259 }
9260}
9261
9262unsafe impl InputChainStruct for PhysicalDeviceImageAlignmentControlFeaturesMESA {
9263 const TYPE: StructureType =
9264 StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA;
9265
9266 #[inline]
9267 fn s_type(&self) -> StructureType {
9268 self.s_type
9269 }
9270
9271 #[inline]
9272 fn next(&self) -> *const c_void {
9273 self.next
9274 }
9275}
9276
9277unsafe impl OutputChainStruct for PhysicalDeviceImageAlignmentControlFeaturesMESA {
9278 #[inline]
9279 fn next_mut(&self) -> *mut c_void {
9280 self.next
9281 }
9282}
9283
9284unsafe impl InputChainStruct for PhysicalDeviceImageAlignmentControlPropertiesMESA {
9285 const TYPE: StructureType =
9286 StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA;
9287
9288 #[inline]
9289 fn s_type(&self) -> StructureType {
9290 self.s_type
9291 }
9292
9293 #[inline]
9294 fn next(&self) -> *const c_void {
9295 self.next
9296 }
9297}
9298
9299unsafe impl OutputChainStruct for PhysicalDeviceImageAlignmentControlPropertiesMESA {
9300 #[inline]
9301 fn next_mut(&self) -> *mut c_void {
9302 self.next
9303 }
9304}
9305
9306unsafe impl InputChainStruct for PhysicalDeviceImageCompressionControlFeaturesEXT {
9307 const TYPE: StructureType =
9308 StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT;
9309
9310 #[inline]
9311 fn s_type(&self) -> StructureType {
9312 self.s_type
9313 }
9314
9315 #[inline]
9316 fn next(&self) -> *const c_void {
9317 self.next
9318 }
9319}
9320
9321unsafe impl OutputChainStruct for PhysicalDeviceImageCompressionControlFeaturesEXT {
9322 #[inline]
9323 fn next_mut(&self) -> *mut c_void {
9324 self.next
9325 }
9326}
9327
9328unsafe impl InputChainStruct for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
9329 const TYPE: StructureType =
9330 StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT;
9331
9332 #[inline]
9333 fn s_type(&self) -> StructureType {
9334 self.s_type
9335 }
9336
9337 #[inline]
9338 fn next(&self) -> *const c_void {
9339 self.next
9340 }
9341}
9342
9343unsafe impl OutputChainStruct for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
9344 #[inline]
9345 fn next_mut(&self) -> *mut c_void {
9346 self.next
9347 }
9348}
9349
9350unsafe impl InputChainStruct for PhysicalDeviceImageDrmFormatModifierInfoEXT {
9351 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
9352
9353 #[inline]
9354 fn s_type(&self) -> StructureType {
9355 self.s_type
9356 }
9357
9358 #[inline]
9359 fn next(&self) -> *const c_void {
9360 self.next
9361 }
9362}
9363
9364unsafe impl InputChainStruct for PhysicalDeviceImageFormatInfo2 {
9365 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
9366
9367 #[inline]
9368 fn s_type(&self) -> StructureType {
9369 self.s_type
9370 }
9371
9372 #[inline]
9373 fn next(&self) -> *const c_void {
9374 self.next
9375 }
9376}
9377
9378unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM {
9379 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM;
9380
9381 #[inline]
9382 fn s_type(&self) -> StructureType {
9383 self.s_type
9384 }
9385
9386 #[inline]
9387 fn next(&self) -> *const c_void {
9388 self.next
9389 }
9390}
9391
9392unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM {
9393 #[inline]
9394 fn next_mut(&self) -> *mut c_void {
9395 self.next
9396 }
9397}
9398
9399unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM {
9400 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM;
9401
9402 #[inline]
9403 fn s_type(&self) -> StructureType {
9404 self.s_type
9405 }
9406
9407 #[inline]
9408 fn next(&self) -> *const c_void {
9409 self.next
9410 }
9411}
9412
9413unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM {
9414 #[inline]
9415 fn next_mut(&self) -> *mut c_void {
9416 self.next
9417 }
9418}
9419
9420unsafe impl InputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM {
9421 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM;
9422
9423 #[inline]
9424 fn s_type(&self) -> StructureType {
9425 self.s_type
9426 }
9427
9428 #[inline]
9429 fn next(&self) -> *const c_void {
9430 self.next
9431 }
9432}
9433
9434unsafe impl OutputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM {
9435 #[inline]
9436 fn next_mut(&self) -> *mut c_void {
9437 self.next
9438 }
9439}
9440
9441unsafe impl InputChainStruct for PhysicalDeviceImageProcessingPropertiesQCOM {
9442 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM;
9443
9444 #[inline]
9445 fn s_type(&self) -> StructureType {
9446 self.s_type
9447 }
9448
9449 #[inline]
9450 fn next(&self) -> *const c_void {
9451 self.next
9452 }
9453}
9454
9455unsafe impl OutputChainStruct for PhysicalDeviceImageProcessingPropertiesQCOM {
9456 #[inline]
9457 fn next_mut(&self) -> *mut c_void {
9458 self.next
9459 }
9460}
9461
9462unsafe impl InputChainStruct for PhysicalDeviceImageRobustnessFeatures {
9463 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES;
9464
9465 #[inline]
9466 fn s_type(&self) -> StructureType {
9467 self.s_type
9468 }
9469
9470 #[inline]
9471 fn next(&self) -> *const c_void {
9472 self.next
9473 }
9474}
9475
9476unsafe impl OutputChainStruct for PhysicalDeviceImageRobustnessFeatures {
9477 #[inline]
9478 fn next_mut(&self) -> *mut c_void {
9479 self.next
9480 }
9481}
9482
9483unsafe impl InputChainStruct for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
9484 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT;
9485
9486 #[inline]
9487 fn s_type(&self) -> StructureType {
9488 self.s_type
9489 }
9490
9491 #[inline]
9492 fn next(&self) -> *const c_void {
9493 self.next
9494 }
9495}
9496
9497unsafe impl OutputChainStruct for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
9498 #[inline]
9499 fn next_mut(&self) -> *mut c_void {
9500 self.next
9501 }
9502}
9503
9504unsafe impl InputChainStruct for PhysicalDeviceImageViewImageFormatInfoEXT {
9505 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
9506
9507 #[inline]
9508 fn s_type(&self) -> StructureType {
9509 self.s_type
9510 }
9511
9512 #[inline]
9513 fn next(&self) -> *const c_void {
9514 self.next
9515 }
9516}
9517
9518unsafe impl OutputChainStruct for PhysicalDeviceImageViewImageFormatInfoEXT {
9519 #[inline]
9520 fn next_mut(&self) -> *mut c_void {
9521 self.next
9522 }
9523}
9524
9525unsafe impl InputChainStruct for PhysicalDeviceImageViewMinLodFeaturesEXT {
9526 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT;
9527
9528 #[inline]
9529 fn s_type(&self) -> StructureType {
9530 self.s_type
9531 }
9532
9533 #[inline]
9534 fn next(&self) -> *const c_void {
9535 self.next
9536 }
9537}
9538
9539unsafe impl OutputChainStruct for PhysicalDeviceImageViewMinLodFeaturesEXT {
9540 #[inline]
9541 fn next_mut(&self) -> *mut c_void {
9542 self.next
9543 }
9544}
9545
9546unsafe impl InputChainStruct for PhysicalDeviceImagelessFramebufferFeatures {
9547 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
9548
9549 #[inline]
9550 fn s_type(&self) -> StructureType {
9551 self.s_type
9552 }
9553
9554 #[inline]
9555 fn next(&self) -> *const c_void {
9556 self.next
9557 }
9558}
9559
9560unsafe impl OutputChainStruct for PhysicalDeviceImagelessFramebufferFeatures {
9561 #[inline]
9562 fn next_mut(&self) -> *mut c_void {
9563 self.next
9564 }
9565}
9566
9567unsafe impl InputChainStruct for PhysicalDeviceIndexTypeUint8Features {
9568 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES;
9569
9570 #[inline]
9571 fn s_type(&self) -> StructureType {
9572 self.s_type
9573 }
9574
9575 #[inline]
9576 fn next(&self) -> *const c_void {
9577 self.next
9578 }
9579}
9580
9581unsafe impl OutputChainStruct for PhysicalDeviceIndexTypeUint8Features {
9582 #[inline]
9583 fn next_mut(&self) -> *mut c_void {
9584 self.next
9585 }
9586}
9587
9588unsafe impl InputChainStruct for PhysicalDeviceInheritedViewportScissorFeaturesNV {
9589 const TYPE: StructureType =
9590 StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV;
9591
9592 #[inline]
9593 fn s_type(&self) -> StructureType {
9594 self.s_type
9595 }
9596
9597 #[inline]
9598 fn next(&self) -> *const c_void {
9599 self.next
9600 }
9601}
9602
9603unsafe impl OutputChainStruct for PhysicalDeviceInheritedViewportScissorFeaturesNV {
9604 #[inline]
9605 fn next_mut(&self) -> *mut c_void {
9606 self.next
9607 }
9608}
9609
9610unsafe impl InputChainStruct for PhysicalDeviceInlineUniformBlockFeatures {
9611 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES;
9612
9613 #[inline]
9614 fn s_type(&self) -> StructureType {
9615 self.s_type
9616 }
9617
9618 #[inline]
9619 fn next(&self) -> *const c_void {
9620 self.next
9621 }
9622}
9623
9624unsafe impl OutputChainStruct for PhysicalDeviceInlineUniformBlockFeatures {
9625 #[inline]
9626 fn next_mut(&self) -> *mut c_void {
9627 self.next
9628 }
9629}
9630
9631unsafe impl InputChainStruct for PhysicalDeviceInlineUniformBlockProperties {
9632 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES;
9633
9634 #[inline]
9635 fn s_type(&self) -> StructureType {
9636 self.s_type
9637 }
9638
9639 #[inline]
9640 fn next(&self) -> *const c_void {
9641 self.next
9642 }
9643}
9644
9645unsafe impl OutputChainStruct for PhysicalDeviceInlineUniformBlockProperties {
9646 #[inline]
9647 fn next_mut(&self) -> *mut c_void {
9648 self.next
9649 }
9650}
9651
9652unsafe impl InputChainStruct for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
9653 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI;
9654
9655 #[inline]
9656 fn s_type(&self) -> StructureType {
9657 self.s_type
9658 }
9659
9660 #[inline]
9661 fn next(&self) -> *const c_void {
9662 self.next
9663 }
9664}
9665
9666unsafe impl OutputChainStruct for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
9667 #[inline]
9668 fn next_mut(&self) -> *mut c_void {
9669 self.next
9670 }
9671}
9672
9673unsafe impl InputChainStruct for PhysicalDeviceLayeredApiPropertiesKHR {
9674 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR;
9675
9676 #[inline]
9677 fn s_type(&self) -> StructureType {
9678 self.s_type
9679 }
9680
9681 #[inline]
9682 fn next(&self) -> *const c_void {
9683 self.next
9684 }
9685}
9686
9687unsafe impl OutputChainStruct for PhysicalDeviceLayeredApiPropertiesKHR {
9688 #[inline]
9689 fn next_mut(&self) -> *mut c_void {
9690 self.next
9691 }
9692}
9693
9694unsafe impl InputChainStruct for PhysicalDeviceLayeredApiPropertiesListKHR {
9695 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR;
9696
9697 #[inline]
9698 fn s_type(&self) -> StructureType {
9699 self.s_type
9700 }
9701
9702 #[inline]
9703 fn next(&self) -> *const c_void {
9704 self.next
9705 }
9706}
9707
9708unsafe impl OutputChainStruct for PhysicalDeviceLayeredApiPropertiesListKHR {
9709 #[inline]
9710 fn next_mut(&self) -> *mut c_void {
9711 self.next
9712 }
9713}
9714
9715unsafe impl InputChainStruct for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
9716 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR;
9717
9718 #[inline]
9719 fn s_type(&self) -> StructureType {
9720 self.s_type
9721 }
9722
9723 #[inline]
9724 fn next(&self) -> *const c_void {
9725 self.next
9726 }
9727}
9728
9729unsafe impl OutputChainStruct for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
9730 #[inline]
9731 fn next_mut(&self) -> *mut c_void {
9732 self.next
9733 }
9734}
9735
9736unsafe impl InputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT {
9737 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT;
9738
9739 #[inline]
9740 fn s_type(&self) -> StructureType {
9741 self.s_type
9742 }
9743
9744 #[inline]
9745 fn next(&self) -> *const c_void {
9746 self.next
9747 }
9748}
9749
9750unsafe impl OutputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT {
9751 #[inline]
9752 fn next_mut(&self) -> *mut c_void {
9753 self.next
9754 }
9755}
9756
9757unsafe impl InputChainStruct for PhysicalDeviceLegacyDitheringFeaturesEXT {
9758 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT;
9759
9760 #[inline]
9761 fn s_type(&self) -> StructureType {
9762 self.s_type
9763 }
9764
9765 #[inline]
9766 fn next(&self) -> *const c_void {
9767 self.next
9768 }
9769}
9770
9771unsafe impl OutputChainStruct for PhysicalDeviceLegacyDitheringFeaturesEXT {
9772 #[inline]
9773 fn next_mut(&self) -> *mut c_void {
9774 self.next
9775 }
9776}
9777
9778unsafe impl InputChainStruct for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
9779 const TYPE: StructureType =
9780 StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT;
9781
9782 #[inline]
9783 fn s_type(&self) -> StructureType {
9784 self.s_type
9785 }
9786
9787 #[inline]
9788 fn next(&self) -> *const c_void {
9789 self.next
9790 }
9791}
9792
9793unsafe impl OutputChainStruct for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
9794 #[inline]
9795 fn next_mut(&self) -> *mut c_void {
9796 self.next
9797 }
9798}
9799
9800unsafe impl InputChainStruct for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
9801 const TYPE: StructureType =
9802 StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT;
9803
9804 #[inline]
9805 fn s_type(&self) -> StructureType {
9806 self.s_type
9807 }
9808
9809 #[inline]
9810 fn next(&self) -> *const c_void {
9811 self.next
9812 }
9813}
9814
9815unsafe impl OutputChainStruct for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
9816 #[inline]
9817 fn next_mut(&self) -> *mut c_void {
9818 self.next
9819 }
9820}
9821
9822unsafe impl InputChainStruct for PhysicalDeviceLineRasterizationFeatures {
9823 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES;
9824
9825 #[inline]
9826 fn s_type(&self) -> StructureType {
9827 self.s_type
9828 }
9829
9830 #[inline]
9831 fn next(&self) -> *const c_void {
9832 self.next
9833 }
9834}
9835
9836unsafe impl OutputChainStruct for PhysicalDeviceLineRasterizationFeatures {
9837 #[inline]
9838 fn next_mut(&self) -> *mut c_void {
9839 self.next
9840 }
9841}
9842
9843unsafe impl InputChainStruct for PhysicalDeviceLineRasterizationProperties {
9844 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES;
9845
9846 #[inline]
9847 fn s_type(&self) -> StructureType {
9848 self.s_type
9849 }
9850
9851 #[inline]
9852 fn next(&self) -> *const c_void {
9853 self.next
9854 }
9855}
9856
9857unsafe impl OutputChainStruct for PhysicalDeviceLineRasterizationProperties {
9858 #[inline]
9859 fn next_mut(&self) -> *mut c_void {
9860 self.next
9861 }
9862}
9863
9864unsafe impl InputChainStruct for PhysicalDeviceLinearColorAttachmentFeaturesNV {
9865 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
9866
9867 #[inline]
9868 fn s_type(&self) -> StructureType {
9869 self.s_type
9870 }
9871
9872 #[inline]
9873 fn next(&self) -> *const c_void {
9874 self.next
9875 }
9876}
9877
9878unsafe impl OutputChainStruct for PhysicalDeviceLinearColorAttachmentFeaturesNV {
9879 #[inline]
9880 fn next_mut(&self) -> *mut c_void {
9881 self.next
9882 }
9883}
9884
9885unsafe impl InputChainStruct for PhysicalDeviceMaintenance3Properties {
9886 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
9887
9888 #[inline]
9889 fn s_type(&self) -> StructureType {
9890 self.s_type
9891 }
9892
9893 #[inline]
9894 fn next(&self) -> *const c_void {
9895 self.next
9896 }
9897}
9898
9899unsafe impl OutputChainStruct for PhysicalDeviceMaintenance3Properties {
9900 #[inline]
9901 fn next_mut(&self) -> *mut c_void {
9902 self.next
9903 }
9904}
9905
9906unsafe impl InputChainStruct for PhysicalDeviceMaintenance4Features {
9907 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES;
9908
9909 #[inline]
9910 fn s_type(&self) -> StructureType {
9911 self.s_type
9912 }
9913
9914 #[inline]
9915 fn next(&self) -> *const c_void {
9916 self.next
9917 }
9918}
9919
9920unsafe impl OutputChainStruct for PhysicalDeviceMaintenance4Features {
9921 #[inline]
9922 fn next_mut(&self) -> *mut c_void {
9923 self.next
9924 }
9925}
9926
9927unsafe impl InputChainStruct for PhysicalDeviceMaintenance4Properties {
9928 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES;
9929
9930 #[inline]
9931 fn s_type(&self) -> StructureType {
9932 self.s_type
9933 }
9934
9935 #[inline]
9936 fn next(&self) -> *const c_void {
9937 self.next
9938 }
9939}
9940
9941unsafe impl OutputChainStruct for PhysicalDeviceMaintenance4Properties {
9942 #[inline]
9943 fn next_mut(&self) -> *mut c_void {
9944 self.next
9945 }
9946}
9947
9948unsafe impl InputChainStruct for PhysicalDeviceMaintenance5Features {
9949 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES;
9950
9951 #[inline]
9952 fn s_type(&self) -> StructureType {
9953 self.s_type
9954 }
9955
9956 #[inline]
9957 fn next(&self) -> *const c_void {
9958 self.next
9959 }
9960}
9961
9962unsafe impl OutputChainStruct for PhysicalDeviceMaintenance5Features {
9963 #[inline]
9964 fn next_mut(&self) -> *mut c_void {
9965 self.next
9966 }
9967}
9968
9969unsafe impl InputChainStruct for PhysicalDeviceMaintenance5Properties {
9970 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES;
9971
9972 #[inline]
9973 fn s_type(&self) -> StructureType {
9974 self.s_type
9975 }
9976
9977 #[inline]
9978 fn next(&self) -> *const c_void {
9979 self.next
9980 }
9981}
9982
9983unsafe impl OutputChainStruct for PhysicalDeviceMaintenance5Properties {
9984 #[inline]
9985 fn next_mut(&self) -> *mut c_void {
9986 self.next
9987 }
9988}
9989
9990unsafe impl InputChainStruct for PhysicalDeviceMaintenance6Features {
9991 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES;
9992
9993 #[inline]
9994 fn s_type(&self) -> StructureType {
9995 self.s_type
9996 }
9997
9998 #[inline]
9999 fn next(&self) -> *const c_void {
10000 self.next
10001 }
10002}
10003
10004unsafe impl OutputChainStruct for PhysicalDeviceMaintenance6Features {
10005 #[inline]
10006 fn next_mut(&self) -> *mut c_void {
10007 self.next
10008 }
10009}
10010
10011unsafe impl InputChainStruct for PhysicalDeviceMaintenance6Properties {
10012 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES;
10013
10014 #[inline]
10015 fn s_type(&self) -> StructureType {
10016 self.s_type
10017 }
10018
10019 #[inline]
10020 fn next(&self) -> *const c_void {
10021 self.next
10022 }
10023}
10024
10025unsafe impl OutputChainStruct for PhysicalDeviceMaintenance6Properties {
10026 #[inline]
10027 fn next_mut(&self) -> *mut c_void {
10028 self.next
10029 }
10030}
10031
10032unsafe impl InputChainStruct for PhysicalDeviceMaintenance7FeaturesKHR {
10033 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR;
10034
10035 #[inline]
10036 fn s_type(&self) -> StructureType {
10037 self.s_type
10038 }
10039
10040 #[inline]
10041 fn next(&self) -> *const c_void {
10042 self.next
10043 }
10044}
10045
10046unsafe impl OutputChainStruct for PhysicalDeviceMaintenance7FeaturesKHR {
10047 #[inline]
10048 fn next_mut(&self) -> *mut c_void {
10049 self.next
10050 }
10051}
10052
10053unsafe impl InputChainStruct for PhysicalDeviceMaintenance7PropertiesKHR {
10054 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR;
10055
10056 #[inline]
10057 fn s_type(&self) -> StructureType {
10058 self.s_type
10059 }
10060
10061 #[inline]
10062 fn next(&self) -> *const c_void {
10063 self.next
10064 }
10065}
10066
10067unsafe impl OutputChainStruct for PhysicalDeviceMaintenance7PropertiesKHR {
10068 #[inline]
10069 fn next_mut(&self) -> *mut c_void {
10070 self.next
10071 }
10072}
10073
10074unsafe impl InputChainStruct for PhysicalDeviceMaintenance8FeaturesKHR {
10075 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR;
10076
10077 #[inline]
10078 fn s_type(&self) -> StructureType {
10079 self.s_type
10080 }
10081
10082 #[inline]
10083 fn next(&self) -> *const c_void {
10084 self.next
10085 }
10086}
10087
10088unsafe impl OutputChainStruct for PhysicalDeviceMaintenance8FeaturesKHR {
10089 #[inline]
10090 fn next_mut(&self) -> *mut c_void {
10091 self.next
10092 }
10093}
10094
10095unsafe impl InputChainStruct for PhysicalDeviceMaintenance9FeaturesKHR {
10096 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR;
10097
10098 #[inline]
10099 fn s_type(&self) -> StructureType {
10100 self.s_type
10101 }
10102
10103 #[inline]
10104 fn next(&self) -> *const c_void {
10105 self.next
10106 }
10107}
10108
10109unsafe impl OutputChainStruct for PhysicalDeviceMaintenance9FeaturesKHR {
10110 #[inline]
10111 fn next_mut(&self) -> *mut c_void {
10112 self.next
10113 }
10114}
10115
10116unsafe impl InputChainStruct for PhysicalDeviceMaintenance9PropertiesKHR {
10117 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR;
10118
10119 #[inline]
10120 fn s_type(&self) -> StructureType {
10121 self.s_type
10122 }
10123
10124 #[inline]
10125 fn next(&self) -> *const c_void {
10126 self.next
10127 }
10128}
10129
10130unsafe impl OutputChainStruct for PhysicalDeviceMaintenance9PropertiesKHR {
10131 #[inline]
10132 fn next_mut(&self) -> *mut c_void {
10133 self.next
10134 }
10135}
10136
10137unsafe impl InputChainStruct for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
10138 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT;
10139
10140 #[inline]
10141 fn s_type(&self) -> StructureType {
10142 self.s_type
10143 }
10144
10145 #[inline]
10146 fn next(&self) -> *const c_void {
10147 self.next
10148 }
10149}
10150
10151unsafe impl OutputChainStruct for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
10152 #[inline]
10153 fn next_mut(&self) -> *mut c_void {
10154 self.next
10155 }
10156}
10157
10158unsafe impl InputChainStruct for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
10159 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT;
10160
10161 #[inline]
10162 fn s_type(&self) -> StructureType {
10163 self.s_type
10164 }
10165
10166 #[inline]
10167 fn next(&self) -> *const c_void {
10168 self.next
10169 }
10170}
10171
10172unsafe impl OutputChainStruct for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
10173 #[inline]
10174 fn next_mut(&self) -> *mut c_void {
10175 self.next
10176 }
10177}
10178
10179unsafe impl InputChainStruct for PhysicalDeviceMemoryBudgetPropertiesEXT {
10180 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
10181
10182 #[inline]
10183 fn s_type(&self) -> StructureType {
10184 self.s_type
10185 }
10186
10187 #[inline]
10188 fn next(&self) -> *const c_void {
10189 self.next
10190 }
10191}
10192
10193unsafe impl OutputChainStruct for PhysicalDeviceMemoryBudgetPropertiesEXT {
10194 #[inline]
10195 fn next_mut(&self) -> *mut c_void {
10196 self.next
10197 }
10198}
10199
10200unsafe impl InputChainStruct for PhysicalDeviceMemoryDecompressionFeaturesNV {
10201 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV;
10202
10203 #[inline]
10204 fn s_type(&self) -> StructureType {
10205 self.s_type
10206 }
10207
10208 #[inline]
10209 fn next(&self) -> *const c_void {
10210 self.next
10211 }
10212}
10213
10214unsafe impl OutputChainStruct for PhysicalDeviceMemoryDecompressionFeaturesNV {
10215 #[inline]
10216 fn next_mut(&self) -> *mut c_void {
10217 self.next
10218 }
10219}
10220
10221unsafe impl InputChainStruct for PhysicalDeviceMemoryDecompressionPropertiesNV {
10222 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV;
10223
10224 #[inline]
10225 fn s_type(&self) -> StructureType {
10226 self.s_type
10227 }
10228
10229 #[inline]
10230 fn next(&self) -> *const c_void {
10231 self.next
10232 }
10233}
10234
10235unsafe impl OutputChainStruct for PhysicalDeviceMemoryDecompressionPropertiesNV {
10236 #[inline]
10237 fn next_mut(&self) -> *mut c_void {
10238 self.next
10239 }
10240}
10241
10242unsafe impl InputChainStruct for PhysicalDeviceMemoryPriorityFeaturesEXT {
10243 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
10244
10245 #[inline]
10246 fn s_type(&self) -> StructureType {
10247 self.s_type
10248 }
10249
10250 #[inline]
10251 fn next(&self) -> *const c_void {
10252 self.next
10253 }
10254}
10255
10256unsafe impl OutputChainStruct for PhysicalDeviceMemoryPriorityFeaturesEXT {
10257 #[inline]
10258 fn next_mut(&self) -> *mut c_void {
10259 self.next
10260 }
10261}
10262
10263unsafe impl InputChainStruct for PhysicalDeviceMemoryProperties2 {
10264 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
10265
10266 #[inline]
10267 fn s_type(&self) -> StructureType {
10268 self.s_type
10269 }
10270
10271 #[inline]
10272 fn next(&self) -> *const c_void {
10273 self.next
10274 }
10275}
10276
10277unsafe impl OutputChainStruct for PhysicalDeviceMemoryProperties2 {
10278 #[inline]
10279 fn next_mut(&self) -> *mut c_void {
10280 self.next
10281 }
10282}
10283
10284unsafe impl InputChainStruct for PhysicalDeviceMeshShaderFeaturesEXT {
10285 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT;
10286
10287 #[inline]
10288 fn s_type(&self) -> StructureType {
10289 self.s_type
10290 }
10291
10292 #[inline]
10293 fn next(&self) -> *const c_void {
10294 self.next
10295 }
10296}
10297
10298unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderFeaturesEXT {
10299 #[inline]
10300 fn next_mut(&self) -> *mut c_void {
10301 self.next
10302 }
10303}
10304
10305unsafe impl InputChainStruct for PhysicalDeviceMeshShaderFeaturesNV {
10306 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
10307
10308 #[inline]
10309 fn s_type(&self) -> StructureType {
10310 self.s_type
10311 }
10312
10313 #[inline]
10314 fn next(&self) -> *const c_void {
10315 self.next
10316 }
10317}
10318
10319unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderFeaturesNV {
10320 #[inline]
10321 fn next_mut(&self) -> *mut c_void {
10322 self.next
10323 }
10324}
10325
10326unsafe impl InputChainStruct for PhysicalDeviceMeshShaderPropertiesEXT {
10327 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT;
10328
10329 #[inline]
10330 fn s_type(&self) -> StructureType {
10331 self.s_type
10332 }
10333
10334 #[inline]
10335 fn next(&self) -> *const c_void {
10336 self.next
10337 }
10338}
10339
10340unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderPropertiesEXT {
10341 #[inline]
10342 fn next_mut(&self) -> *mut c_void {
10343 self.next
10344 }
10345}
10346
10347unsafe impl InputChainStruct for PhysicalDeviceMeshShaderPropertiesNV {
10348 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
10349
10350 #[inline]
10351 fn s_type(&self) -> StructureType {
10352 self.s_type
10353 }
10354
10355 #[inline]
10356 fn next(&self) -> *const c_void {
10357 self.next
10358 }
10359}
10360
10361unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderPropertiesNV {
10362 #[inline]
10363 fn next_mut(&self) -> *mut c_void {
10364 self.next
10365 }
10366}
10367
10368unsafe impl InputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT {
10369 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT;
10370
10371 #[inline]
10372 fn s_type(&self) -> StructureType {
10373 self.s_type
10374 }
10375
10376 #[inline]
10377 fn next(&self) -> *const c_void {
10378 self.next
10379 }
10380}
10381
10382unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT {
10383 #[inline]
10384 fn next_mut(&self) -> *mut c_void {
10385 self.next
10386 }
10387}
10388
10389unsafe impl InputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT {
10390 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT;
10391
10392 #[inline]
10393 fn s_type(&self) -> StructureType {
10394 self.s_type
10395 }
10396
10397 #[inline]
10398 fn next(&self) -> *const c_void {
10399 self.next
10400 }
10401}
10402
10403unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT {
10404 #[inline]
10405 fn next_mut(&self) -> *mut c_void {
10406 self.next
10407 }
10408}
10409
10410unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
10411 const TYPE: StructureType =
10412 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT;
10413
10414 #[inline]
10415 fn s_type(&self) -> StructureType {
10416 self.s_type
10417 }
10418
10419 #[inline]
10420 fn next(&self) -> *const c_void {
10421 self.next
10422 }
10423}
10424
10425unsafe impl OutputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
10426 #[inline]
10427 fn next_mut(&self) -> *mut c_void {
10428 self.next
10429 }
10430}
10431
10432unsafe impl InputChainStruct for PhysicalDeviceMultiviewFeatures {
10433 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
10434
10435 #[inline]
10436 fn s_type(&self) -> StructureType {
10437 self.s_type
10438 }
10439
10440 #[inline]
10441 fn next(&self) -> *const c_void {
10442 self.next
10443 }
10444}
10445
10446unsafe impl OutputChainStruct for PhysicalDeviceMultiviewFeatures {
10447 #[inline]
10448 fn next_mut(&self) -> *mut c_void {
10449 self.next
10450 }
10451}
10452
10453unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10454 const TYPE: StructureType =
10455 StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
10456
10457 #[inline]
10458 fn s_type(&self) -> StructureType {
10459 self.s_type
10460 }
10461
10462 #[inline]
10463 fn next(&self) -> *const c_void {
10464 self.next
10465 }
10466}
10467
10468unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10469 #[inline]
10470 fn next_mut(&self) -> *mut c_void {
10471 self.next
10472 }
10473}
10474
10475unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
10476 const TYPE: StructureType =
10477 StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM;
10478
10479 #[inline]
10480 fn s_type(&self) -> StructureType {
10481 self.s_type
10482 }
10483
10484 #[inline]
10485 fn next(&self) -> *const c_void {
10486 self.next
10487 }
10488}
10489
10490unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
10491 #[inline]
10492 fn next_mut(&self) -> *mut c_void {
10493 self.next
10494 }
10495}
10496
10497unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
10498 const TYPE: StructureType =
10499 StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
10500
10501 #[inline]
10502 fn s_type(&self) -> StructureType {
10503 self.s_type
10504 }
10505
10506 #[inline]
10507 fn next(&self) -> *const c_void {
10508 self.next
10509 }
10510}
10511
10512unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
10513 #[inline]
10514 fn next_mut(&self) -> *mut c_void {
10515 self.next
10516 }
10517}
10518
10519unsafe impl InputChainStruct for PhysicalDeviceMultiviewProperties {
10520 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
10521
10522 #[inline]
10523 fn s_type(&self) -> StructureType {
10524 self.s_type
10525 }
10526
10527 #[inline]
10528 fn next(&self) -> *const c_void {
10529 self.next
10530 }
10531}
10532
10533unsafe impl OutputChainStruct for PhysicalDeviceMultiviewProperties {
10534 #[inline]
10535 fn next_mut(&self) -> *mut c_void {
10536 self.next
10537 }
10538}
10539
10540unsafe impl InputChainStruct for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
10541 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT;
10542
10543 #[inline]
10544 fn s_type(&self) -> StructureType {
10545 self.s_type
10546 }
10547
10548 #[inline]
10549 fn next(&self) -> *const c_void {
10550 self.next
10551 }
10552}
10553
10554unsafe impl OutputChainStruct for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
10555 #[inline]
10556 fn next_mut(&self) -> *mut c_void {
10557 self.next
10558 }
10559}
10560
10561unsafe impl InputChainStruct for PhysicalDeviceNestedCommandBufferFeaturesEXT {
10562 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT;
10563
10564 #[inline]
10565 fn s_type(&self) -> StructureType {
10566 self.s_type
10567 }
10568
10569 #[inline]
10570 fn next(&self) -> *const c_void {
10571 self.next
10572 }
10573}
10574
10575unsafe impl OutputChainStruct for PhysicalDeviceNestedCommandBufferFeaturesEXT {
10576 #[inline]
10577 fn next_mut(&self) -> *mut c_void {
10578 self.next
10579 }
10580}
10581
10582unsafe impl InputChainStruct for PhysicalDeviceNestedCommandBufferPropertiesEXT {
10583 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT;
10584
10585 #[inline]
10586 fn s_type(&self) -> StructureType {
10587 self.s_type
10588 }
10589
10590 #[inline]
10591 fn next(&self) -> *const c_void {
10592 self.next
10593 }
10594}
10595
10596unsafe impl OutputChainStruct for PhysicalDeviceNestedCommandBufferPropertiesEXT {
10597 #[inline]
10598 fn next_mut(&self) -> *mut c_void {
10599 self.next
10600 }
10601}
10602
10603unsafe impl InputChainStruct for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
10604 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT;
10605
10606 #[inline]
10607 fn s_type(&self) -> StructureType {
10608 self.s_type
10609 }
10610
10611 #[inline]
10612 fn next(&self) -> *const c_void {
10613 self.next
10614 }
10615}
10616
10617unsafe impl OutputChainStruct for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
10618 #[inline]
10619 fn next_mut(&self) -> *mut c_void {
10620 self.next
10621 }
10622}
10623
10624unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapFeaturesEXT {
10625 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT;
10626
10627 #[inline]
10628 fn s_type(&self) -> StructureType {
10629 self.s_type
10630 }
10631
10632 #[inline]
10633 fn next(&self) -> *const c_void {
10634 self.next
10635 }
10636}
10637
10638unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapFeaturesEXT {
10639 #[inline]
10640 fn next_mut(&self) -> *mut c_void {
10641 self.next
10642 }
10643}
10644
10645unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT {
10646 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT;
10647
10648 #[inline]
10649 fn s_type(&self) -> StructureType {
10650 self.s_type
10651 }
10652
10653 #[inline]
10654 fn next(&self) -> *const c_void {
10655 self.next
10656 }
10657}
10658
10659unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT {
10660 #[inline]
10661 fn next_mut(&self) -> *mut c_void {
10662 self.next
10663 }
10664}
10665
10666unsafe impl InputChainStruct for PhysicalDeviceOpticalFlowFeaturesNV {
10667 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV;
10668
10669 #[inline]
10670 fn s_type(&self) -> StructureType {
10671 self.s_type
10672 }
10673
10674 #[inline]
10675 fn next(&self) -> *const c_void {
10676 self.next
10677 }
10678}
10679
10680unsafe impl OutputChainStruct for PhysicalDeviceOpticalFlowFeaturesNV {
10681 #[inline]
10682 fn next_mut(&self) -> *mut c_void {
10683 self.next
10684 }
10685}
10686
10687unsafe impl InputChainStruct for PhysicalDeviceOpticalFlowPropertiesNV {
10688 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV;
10689
10690 #[inline]
10691 fn s_type(&self) -> StructureType {
10692 self.s_type
10693 }
10694
10695 #[inline]
10696 fn next(&self) -> *const c_void {
10697 self.next
10698 }
10699}
10700
10701unsafe impl OutputChainStruct for PhysicalDeviceOpticalFlowPropertiesNV {
10702 #[inline]
10703 fn next_mut(&self) -> *mut c_void {
10704 self.next
10705 }
10706}
10707
10708unsafe impl InputChainStruct for PhysicalDevicePCIBusInfoPropertiesEXT {
10709 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
10710
10711 #[inline]
10712 fn s_type(&self) -> StructureType {
10713 self.s_type
10714 }
10715
10716 #[inline]
10717 fn next(&self) -> *const c_void {
10718 self.next
10719 }
10720}
10721
10722unsafe impl OutputChainStruct for PhysicalDevicePCIBusInfoPropertiesEXT {
10723 #[inline]
10724 fn next_mut(&self) -> *mut c_void {
10725 self.next
10726 }
10727}
10728
10729unsafe impl InputChainStruct for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
10730 const TYPE: StructureType =
10731 StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
10732
10733 #[inline]
10734 fn s_type(&self) -> StructureType {
10735 self.s_type
10736 }
10737
10738 #[inline]
10739 fn next(&self) -> *const c_void {
10740 self.next
10741 }
10742}
10743
10744unsafe impl OutputChainStruct for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
10745 #[inline]
10746 fn next_mut(&self) -> *mut c_void {
10747 self.next
10748 }
10749}
10750
10751unsafe impl InputChainStruct for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
10752 const TYPE: StructureType =
10753 StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV;
10754
10755 #[inline]
10756 fn s_type(&self) -> StructureType {
10757 self.s_type
10758 }
10759
10760 #[inline]
10761 fn next(&self) -> *const c_void {
10762 self.next
10763 }
10764}
10765
10766unsafe impl OutputChainStruct for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
10767 #[inline]
10768 fn next_mut(&self) -> *mut c_void {
10769 self.next
10770 }
10771}
10772
10773unsafe impl InputChainStruct for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
10774 const TYPE: StructureType =
10775 StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV;
10776
10777 #[inline]
10778 fn s_type(&self) -> StructureType {
10779 self.s_type
10780 }
10781
10782 #[inline]
10783 fn next(&self) -> *const c_void {
10784 self.next
10785 }
10786}
10787
10788unsafe impl OutputChainStruct for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
10789 #[inline]
10790 fn next_mut(&self) -> *mut c_void {
10791 self.next
10792 }
10793}
10794
10795unsafe impl InputChainStruct for PhysicalDevicePerStageDescriptorSetFeaturesNV {
10796 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV;
10797
10798 #[inline]
10799 fn s_type(&self) -> StructureType {
10800 self.s_type
10801 }
10802
10803 #[inline]
10804 fn next(&self) -> *const c_void {
10805 self.next
10806 }
10807}
10808
10809unsafe impl OutputChainStruct for PhysicalDevicePerStageDescriptorSetFeaturesNV {
10810 #[inline]
10811 fn next_mut(&self) -> *mut c_void {
10812 self.next
10813 }
10814}
10815
10816unsafe impl InputChainStruct for PhysicalDevicePerformanceQueryFeaturesKHR {
10817 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
10818
10819 #[inline]
10820 fn s_type(&self) -> StructureType {
10821 self.s_type
10822 }
10823
10824 #[inline]
10825 fn next(&self) -> *const c_void {
10826 self.next
10827 }
10828}
10829
10830unsafe impl OutputChainStruct for PhysicalDevicePerformanceQueryFeaturesKHR {
10831 #[inline]
10832 fn next_mut(&self) -> *mut c_void {
10833 self.next
10834 }
10835}
10836
10837unsafe impl InputChainStruct for PhysicalDevicePerformanceQueryPropertiesKHR {
10838 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR;
10839
10840 #[inline]
10841 fn s_type(&self) -> StructureType {
10842 self.s_type
10843 }
10844
10845 #[inline]
10846 fn next(&self) -> *const c_void {
10847 self.next
10848 }
10849}
10850
10851unsafe impl OutputChainStruct for PhysicalDevicePerformanceQueryPropertiesKHR {
10852 #[inline]
10853 fn next_mut(&self) -> *mut c_void {
10854 self.next
10855 }
10856}
10857
10858unsafe impl InputChainStruct for PhysicalDevicePipelineBinaryFeaturesKHR {
10859 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR;
10860
10861 #[inline]
10862 fn s_type(&self) -> StructureType {
10863 self.s_type
10864 }
10865
10866 #[inline]
10867 fn next(&self) -> *const c_void {
10868 self.next
10869 }
10870}
10871
10872unsafe impl OutputChainStruct for PhysicalDevicePipelineBinaryFeaturesKHR {
10873 #[inline]
10874 fn next_mut(&self) -> *mut c_void {
10875 self.next
10876 }
10877}
10878
10879unsafe impl InputChainStruct for PhysicalDevicePipelineBinaryPropertiesKHR {
10880 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR;
10881
10882 #[inline]
10883 fn s_type(&self) -> StructureType {
10884 self.s_type
10885 }
10886
10887 #[inline]
10888 fn next(&self) -> *const c_void {
10889 self.next
10890 }
10891}
10892
10893unsafe impl OutputChainStruct for PhysicalDevicePipelineBinaryPropertiesKHR {
10894 #[inline]
10895 fn next_mut(&self) -> *mut c_void {
10896 self.next
10897 }
10898}
10899
10900unsafe impl InputChainStruct for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
10901 const TYPE: StructureType =
10902 StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC;
10903
10904 #[inline]
10905 fn s_type(&self) -> StructureType {
10906 self.s_type
10907 }
10908
10909 #[inline]
10910 fn next(&self) -> *const c_void {
10911 self.next
10912 }
10913}
10914
10915unsafe impl OutputChainStruct for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
10916 #[inline]
10917 fn next_mut(&self) -> *mut c_void {
10918 self.next
10919 }
10920}
10921
10922unsafe impl InputChainStruct for PhysicalDevicePipelineCreationCacheControlFeatures {
10923 const TYPE: StructureType =
10924 StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES;
10925
10926 #[inline]
10927 fn s_type(&self) -> StructureType {
10928 self.s_type
10929 }
10930
10931 #[inline]
10932 fn next(&self) -> *const c_void {
10933 self.next
10934 }
10935}
10936
10937unsafe impl OutputChainStruct for PhysicalDevicePipelineCreationCacheControlFeatures {
10938 #[inline]
10939 fn next_mut(&self) -> *mut c_void {
10940 self.next
10941 }
10942}
10943
10944unsafe impl InputChainStruct for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10945 const TYPE: StructureType =
10946 StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR;
10947
10948 #[inline]
10949 fn s_type(&self) -> StructureType {
10950 self.s_type
10951 }
10952
10953 #[inline]
10954 fn next(&self) -> *const c_void {
10955 self.next
10956 }
10957}
10958
10959unsafe impl OutputChainStruct for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10960 #[inline]
10961 fn next_mut(&self) -> *mut c_void {
10962 self.next
10963 }
10964}
10965
10966unsafe impl InputChainStruct for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
10967 const TYPE: StructureType =
10968 StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT;
10969
10970 #[inline]
10971 fn s_type(&self) -> StructureType {
10972 self.s_type
10973 }
10974
10975 #[inline]
10976 fn next(&self) -> *const c_void {
10977 self.next
10978 }
10979}
10980
10981unsafe impl OutputChainStruct for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
10982 #[inline]
10983 fn next_mut(&self) -> *mut c_void {
10984 self.next
10985 }
10986}
10987
10988unsafe impl InputChainStruct for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
10989 const TYPE: StructureType =
10990 StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM;
10991
10992 #[inline]
10993 fn s_type(&self) -> StructureType {
10994 self.s_type
10995 }
10996
10997 #[inline]
10998 fn next(&self) -> *const c_void {
10999 self.next
11000 }
11001}
11002
11003unsafe impl OutputChainStruct for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
11004 #[inline]
11005 fn next_mut(&self) -> *mut c_void {
11006 self.next
11007 }
11008}
11009
11010unsafe impl InputChainStruct for PhysicalDevicePipelinePropertiesFeaturesEXT {
11011 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT;
11012
11013 #[inline]
11014 fn s_type(&self) -> StructureType {
11015 self.s_type
11016 }
11017
11018 #[inline]
11019 fn next(&self) -> *const c_void {
11020 self.next
11021 }
11022}
11023
11024unsafe impl OutputChainStruct for PhysicalDevicePipelinePropertiesFeaturesEXT {
11025 #[inline]
11026 fn next_mut(&self) -> *mut c_void {
11027 self.next
11028 }
11029}
11030
11031unsafe impl InputChainStruct for PhysicalDevicePipelineProtectedAccessFeatures {
11032 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES;
11033
11034 #[inline]
11035 fn s_type(&self) -> StructureType {
11036 self.s_type
11037 }
11038
11039 #[inline]
11040 fn next(&self) -> *const c_void {
11041 self.next
11042 }
11043}
11044
11045unsafe impl OutputChainStruct for PhysicalDevicePipelineProtectedAccessFeatures {
11046 #[inline]
11047 fn next_mut(&self) -> *mut c_void {
11048 self.next
11049 }
11050}
11051
11052unsafe impl InputChainStruct for PhysicalDevicePipelineRobustnessFeatures {
11053 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES;
11054
11055 #[inline]
11056 fn s_type(&self) -> StructureType {
11057 self.s_type
11058 }
11059
11060 #[inline]
11061 fn next(&self) -> *const c_void {
11062 self.next
11063 }
11064}
11065
11066unsafe impl OutputChainStruct for PhysicalDevicePipelineRobustnessFeatures {
11067 #[inline]
11068 fn next_mut(&self) -> *mut c_void {
11069 self.next
11070 }
11071}
11072
11073unsafe impl InputChainStruct for PhysicalDevicePipelineRobustnessProperties {
11074 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES;
11075
11076 #[inline]
11077 fn s_type(&self) -> StructureType {
11078 self.s_type
11079 }
11080
11081 #[inline]
11082 fn next(&self) -> *const c_void {
11083 self.next
11084 }
11085}
11086
11087unsafe impl OutputChainStruct for PhysicalDevicePipelineRobustnessProperties {
11088 #[inline]
11089 fn next_mut(&self) -> *mut c_void {
11090 self.next
11091 }
11092}
11093
11094unsafe impl InputChainStruct for PhysicalDevicePointClippingProperties {
11095 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
11096
11097 #[inline]
11098 fn s_type(&self) -> StructureType {
11099 self.s_type
11100 }
11101
11102 #[inline]
11103 fn next(&self) -> *const c_void {
11104 self.next
11105 }
11106}
11107
11108unsafe impl OutputChainStruct for PhysicalDevicePointClippingProperties {
11109 #[inline]
11110 fn next_mut(&self) -> *mut c_void {
11111 self.next
11112 }
11113}
11114
11115unsafe impl InputChainStruct for PhysicalDevicePortabilitySubsetFeaturesKHR {
11116 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR;
11117
11118 #[inline]
11119 fn s_type(&self) -> StructureType {
11120 self.s_type
11121 }
11122
11123 #[inline]
11124 fn next(&self) -> *const c_void {
11125 self.next
11126 }
11127}
11128
11129unsafe impl OutputChainStruct for PhysicalDevicePortabilitySubsetFeaturesKHR {
11130 #[inline]
11131 fn next_mut(&self) -> *mut c_void {
11132 self.next
11133 }
11134}
11135
11136unsafe impl InputChainStruct for PhysicalDevicePortabilitySubsetPropertiesKHR {
11137 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR;
11138
11139 #[inline]
11140 fn s_type(&self) -> StructureType {
11141 self.s_type
11142 }
11143
11144 #[inline]
11145 fn next(&self) -> *const c_void {
11146 self.next
11147 }
11148}
11149
11150unsafe impl OutputChainStruct for PhysicalDevicePortabilitySubsetPropertiesKHR {
11151 #[inline]
11152 fn next_mut(&self) -> *mut c_void {
11153 self.next
11154 }
11155}
11156
11157unsafe impl InputChainStruct for PhysicalDevicePresentBarrierFeaturesNV {
11158 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV;
11159
11160 #[inline]
11161 fn s_type(&self) -> StructureType {
11162 self.s_type
11163 }
11164
11165 #[inline]
11166 fn next(&self) -> *const c_void {
11167 self.next
11168 }
11169}
11170
11171unsafe impl OutputChainStruct for PhysicalDevicePresentBarrierFeaturesNV {
11172 #[inline]
11173 fn next_mut(&self) -> *mut c_void {
11174 self.next
11175 }
11176}
11177
11178unsafe impl InputChainStruct for PhysicalDevicePresentId2FeaturesKHR {
11179 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR;
11180
11181 #[inline]
11182 fn s_type(&self) -> StructureType {
11183 self.s_type
11184 }
11185
11186 #[inline]
11187 fn next(&self) -> *const c_void {
11188 self.next
11189 }
11190}
11191
11192unsafe impl OutputChainStruct for PhysicalDevicePresentId2FeaturesKHR {
11193 #[inline]
11194 fn next_mut(&self) -> *mut c_void {
11195 self.next
11196 }
11197}
11198
11199unsafe impl InputChainStruct for PhysicalDevicePresentIdFeaturesKHR {
11200 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR;
11201
11202 #[inline]
11203 fn s_type(&self) -> StructureType {
11204 self.s_type
11205 }
11206
11207 #[inline]
11208 fn next(&self) -> *const c_void {
11209 self.next
11210 }
11211}
11212
11213unsafe impl OutputChainStruct for PhysicalDevicePresentIdFeaturesKHR {
11214 #[inline]
11215 fn next_mut(&self) -> *mut c_void {
11216 self.next
11217 }
11218}
11219
11220unsafe impl InputChainStruct for PhysicalDevicePresentMeteringFeaturesNV {
11221 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV;
11222
11223 #[inline]
11224 fn s_type(&self) -> StructureType {
11225 self.s_type
11226 }
11227
11228 #[inline]
11229 fn next(&self) -> *const c_void {
11230 self.next
11231 }
11232}
11233
11234unsafe impl OutputChainStruct for PhysicalDevicePresentMeteringFeaturesNV {
11235 #[inline]
11236 fn next_mut(&self) -> *mut c_void {
11237 self.next
11238 }
11239}
11240
11241unsafe impl InputChainStruct for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
11242 const TYPE: StructureType =
11243 StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR;
11244
11245 #[inline]
11246 fn s_type(&self) -> StructureType {
11247 self.s_type
11248 }
11249
11250 #[inline]
11251 fn next(&self) -> *const c_void {
11252 self.next
11253 }
11254}
11255
11256unsafe impl OutputChainStruct for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
11257 #[inline]
11258 fn next_mut(&self) -> *mut c_void {
11259 self.next
11260 }
11261}
11262
11263unsafe impl InputChainStruct for PhysicalDevicePresentWait2FeaturesKHR {
11264 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR;
11265
11266 #[inline]
11267 fn s_type(&self) -> StructureType {
11268 self.s_type
11269 }
11270
11271 #[inline]
11272 fn next(&self) -> *const c_void {
11273 self.next
11274 }
11275}
11276
11277unsafe impl OutputChainStruct for PhysicalDevicePresentWait2FeaturesKHR {
11278 #[inline]
11279 fn next_mut(&self) -> *mut c_void {
11280 self.next
11281 }
11282}
11283
11284unsafe impl InputChainStruct for PhysicalDevicePresentWaitFeaturesKHR {
11285 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR;
11286
11287 #[inline]
11288 fn s_type(&self) -> StructureType {
11289 self.s_type
11290 }
11291
11292 #[inline]
11293 fn next(&self) -> *const c_void {
11294 self.next
11295 }
11296}
11297
11298unsafe impl OutputChainStruct for PhysicalDevicePresentWaitFeaturesKHR {
11299 #[inline]
11300 fn next_mut(&self) -> *mut c_void {
11301 self.next
11302 }
11303}
11304
11305unsafe impl InputChainStruct for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
11306 const TYPE: StructureType =
11307 StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT;
11308
11309 #[inline]
11310 fn s_type(&self) -> StructureType {
11311 self.s_type
11312 }
11313
11314 #[inline]
11315 fn next(&self) -> *const c_void {
11316 self.next
11317 }
11318}
11319
11320unsafe impl OutputChainStruct for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
11321 #[inline]
11322 fn next_mut(&self) -> *mut c_void {
11323 self.next
11324 }
11325}
11326
11327unsafe impl InputChainStruct for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
11328 const TYPE: StructureType =
11329 StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT;
11330
11331 #[inline]
11332 fn s_type(&self) -> StructureType {
11333 self.s_type
11334 }
11335
11336 #[inline]
11337 fn next(&self) -> *const c_void {
11338 self.next
11339 }
11340}
11341
11342unsafe impl OutputChainStruct for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
11343 #[inline]
11344 fn next_mut(&self) -> *mut c_void {
11345 self.next
11346 }
11347}
11348
11349unsafe impl InputChainStruct for PhysicalDevicePrivateDataFeatures {
11350 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES;
11351
11352 #[inline]
11353 fn s_type(&self) -> StructureType {
11354 self.s_type
11355 }
11356
11357 #[inline]
11358 fn next(&self) -> *const c_void {
11359 self.next
11360 }
11361}
11362
11363unsafe impl OutputChainStruct for PhysicalDevicePrivateDataFeatures {
11364 #[inline]
11365 fn next_mut(&self) -> *mut c_void {
11366 self.next
11367 }
11368}
11369
11370unsafe impl InputChainStruct for PhysicalDeviceProperties2 {
11371 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROPERTIES_2;
11372
11373 #[inline]
11374 fn s_type(&self) -> StructureType {
11375 self.s_type
11376 }
11377
11378 #[inline]
11379 fn next(&self) -> *const c_void {
11380 self.next
11381 }
11382}
11383
11384unsafe impl OutputChainStruct for PhysicalDeviceProperties2 {
11385 #[inline]
11386 fn next_mut(&self) -> *mut c_void {
11387 self.next
11388 }
11389}
11390
11391unsafe impl InputChainStruct for PhysicalDeviceProtectedMemoryFeatures {
11392 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
11393
11394 #[inline]
11395 fn s_type(&self) -> StructureType {
11396 self.s_type
11397 }
11398
11399 #[inline]
11400 fn next(&self) -> *const c_void {
11401 self.next
11402 }
11403}
11404
11405unsafe impl OutputChainStruct for PhysicalDeviceProtectedMemoryFeatures {
11406 #[inline]
11407 fn next_mut(&self) -> *mut c_void {
11408 self.next
11409 }
11410}
11411
11412unsafe impl InputChainStruct for PhysicalDeviceProtectedMemoryProperties {
11413 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
11414
11415 #[inline]
11416 fn s_type(&self) -> StructureType {
11417 self.s_type
11418 }
11419
11420 #[inline]
11421 fn next(&self) -> *const c_void {
11422 self.next
11423 }
11424}
11425
11426unsafe impl OutputChainStruct for PhysicalDeviceProtectedMemoryProperties {
11427 #[inline]
11428 fn next_mut(&self) -> *mut c_void {
11429 self.next
11430 }
11431}
11432
11433unsafe impl InputChainStruct for PhysicalDeviceProvokingVertexFeaturesEXT {
11434 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT;
11435
11436 #[inline]
11437 fn s_type(&self) -> StructureType {
11438 self.s_type
11439 }
11440
11441 #[inline]
11442 fn next(&self) -> *const c_void {
11443 self.next
11444 }
11445}
11446
11447unsafe impl OutputChainStruct for PhysicalDeviceProvokingVertexFeaturesEXT {
11448 #[inline]
11449 fn next_mut(&self) -> *mut c_void {
11450 self.next
11451 }
11452}
11453
11454unsafe impl InputChainStruct for PhysicalDeviceProvokingVertexPropertiesEXT {
11455 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT;
11456
11457 #[inline]
11458 fn s_type(&self) -> StructureType {
11459 self.s_type
11460 }
11461
11462 #[inline]
11463 fn next(&self) -> *const c_void {
11464 self.next
11465 }
11466}
11467
11468unsafe impl OutputChainStruct for PhysicalDeviceProvokingVertexPropertiesEXT {
11469 #[inline]
11470 fn next_mut(&self) -> *mut c_void {
11471 self.next
11472 }
11473}
11474
11475unsafe impl InputChainStruct for PhysicalDevicePushDescriptorProperties {
11476 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES;
11477
11478 #[inline]
11479 fn s_type(&self) -> StructureType {
11480 self.s_type
11481 }
11482
11483 #[inline]
11484 fn next(&self) -> *const c_void {
11485 self.next
11486 }
11487}
11488
11489unsafe impl OutputChainStruct for PhysicalDevicePushDescriptorProperties {
11490 #[inline]
11491 fn next_mut(&self) -> *mut c_void {
11492 self.next
11493 }
11494}
11495
11496unsafe impl InputChainStruct for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
11497 const TYPE: StructureType =
11498 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM;
11499
11500 #[inline]
11501 fn s_type(&self) -> StructureType {
11502 self.s_type
11503 }
11504
11505 #[inline]
11506 fn next(&self) -> *const c_void {
11507 self.next
11508 }
11509}
11510
11511unsafe impl InputChainStruct for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
11512 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT;
11513
11514 #[inline]
11515 fn s_type(&self) -> StructureType {
11516 self.s_type
11517 }
11518
11519 #[inline]
11520 fn next(&self) -> *const c_void {
11521 self.next
11522 }
11523}
11524
11525unsafe impl OutputChainStruct for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
11526 #[inline]
11527 fn next_mut(&self) -> *mut c_void {
11528 self.next
11529 }
11530}
11531
11532unsafe impl InputChainStruct for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
11533 const TYPE: StructureType =
11534 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT;
11535
11536 #[inline]
11537 fn s_type(&self) -> StructureType {
11538 self.s_type
11539 }
11540
11541 #[inline]
11542 fn next(&self) -> *const c_void {
11543 self.next
11544 }
11545}
11546
11547unsafe impl OutputChainStruct for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
11548 #[inline]
11549 fn next_mut(&self) -> *mut c_void {
11550 self.next
11551 }
11552}
11553
11554unsafe impl InputChainStruct for PhysicalDeviceRawAccessChainsFeaturesNV {
11555 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV;
11556
11557 #[inline]
11558 fn s_type(&self) -> StructureType {
11559 self.s_type
11560 }
11561
11562 #[inline]
11563 fn next(&self) -> *const c_void {
11564 self.next
11565 }
11566}
11567
11568unsafe impl OutputChainStruct for PhysicalDeviceRawAccessChainsFeaturesNV {
11569 #[inline]
11570 fn next_mut(&self) -> *mut c_void {
11571 self.next
11572 }
11573}
11574
11575unsafe impl InputChainStruct for PhysicalDeviceRayQueryFeaturesKHR {
11576 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR;
11577
11578 #[inline]
11579 fn s_type(&self) -> StructureType {
11580 self.s_type
11581 }
11582
11583 #[inline]
11584 fn next(&self) -> *const c_void {
11585 self.next
11586 }
11587}
11588
11589unsafe impl OutputChainStruct for PhysicalDeviceRayQueryFeaturesKHR {
11590 #[inline]
11591 fn next_mut(&self) -> *mut c_void {
11592 self.next
11593 }
11594}
11595
11596unsafe impl InputChainStruct for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
11597 const TYPE: StructureType =
11598 StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV;
11599
11600 #[inline]
11601 fn s_type(&self) -> StructureType {
11602 self.s_type
11603 }
11604
11605 #[inline]
11606 fn next(&self) -> *const c_void {
11607 self.next
11608 }
11609}
11610
11611unsafe impl OutputChainStruct for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
11612 #[inline]
11613 fn next_mut(&self) -> *mut c_void {
11614 self.next
11615 }
11616}
11617
11618unsafe impl InputChainStruct for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
11619 const TYPE: StructureType =
11620 StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV;
11621
11622 #[inline]
11623 fn s_type(&self) -> StructureType {
11624 self.s_type
11625 }
11626
11627 #[inline]
11628 fn next(&self) -> *const c_void {
11629 self.next
11630 }
11631}
11632
11633unsafe impl OutputChainStruct for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
11634 #[inline]
11635 fn next_mut(&self) -> *mut c_void {
11636 self.next
11637 }
11638}
11639
11640unsafe impl InputChainStruct for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
11641 const TYPE: StructureType =
11642 StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV;
11643
11644 #[inline]
11645 fn s_type(&self) -> StructureType {
11646 self.s_type
11647 }
11648
11649 #[inline]
11650 fn next(&self) -> *const c_void {
11651 self.next
11652 }
11653}
11654
11655unsafe impl OutputChainStruct for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
11656 #[inline]
11657 fn next_mut(&self) -> *mut c_void {
11658 self.next
11659 }
11660}
11661
11662unsafe impl InputChainStruct for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
11663 const TYPE: StructureType =
11664 StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR;
11665
11666 #[inline]
11667 fn s_type(&self) -> StructureType {
11668 self.s_type
11669 }
11670
11671 #[inline]
11672 fn next(&self) -> *const c_void {
11673 self.next
11674 }
11675}
11676
11677unsafe impl OutputChainStruct for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
11678 #[inline]
11679 fn next_mut(&self) -> *mut c_void {
11680 self.next
11681 }
11682}
11683
11684unsafe impl InputChainStruct for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
11685 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV;
11686
11687 #[inline]
11688 fn s_type(&self) -> StructureType {
11689 self.s_type
11690 }
11691
11692 #[inline]
11693 fn next(&self) -> *const c_void {
11694 self.next
11695 }
11696}
11697
11698unsafe impl OutputChainStruct for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
11699 #[inline]
11700 fn next_mut(&self) -> *mut c_void {
11701 self.next
11702 }
11703}
11704
11705unsafe impl InputChainStruct for PhysicalDeviceRayTracingPipelineFeaturesKHR {
11706 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
11707
11708 #[inline]
11709 fn s_type(&self) -> StructureType {
11710 self.s_type
11711 }
11712
11713 #[inline]
11714 fn next(&self) -> *const c_void {
11715 self.next
11716 }
11717}
11718
11719unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPipelineFeaturesKHR {
11720 #[inline]
11721 fn next_mut(&self) -> *mut c_void {
11722 self.next
11723 }
11724}
11725
11726unsafe impl InputChainStruct for PhysicalDeviceRayTracingPipelinePropertiesKHR {
11727 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
11728
11729 #[inline]
11730 fn s_type(&self) -> StructureType {
11731 self.s_type
11732 }
11733
11734 #[inline]
11735 fn next(&self) -> *const c_void {
11736 self.next
11737 }
11738}
11739
11740unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPipelinePropertiesKHR {
11741 #[inline]
11742 fn next_mut(&self) -> *mut c_void {
11743 self.next
11744 }
11745}
11746
11747unsafe impl InputChainStruct for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
11748 const TYPE: StructureType =
11749 StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR;
11750
11751 #[inline]
11752 fn s_type(&self) -> StructureType {
11753 self.s_type
11754 }
11755
11756 #[inline]
11757 fn next(&self) -> *const c_void {
11758 self.next
11759 }
11760}
11761
11762unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
11763 #[inline]
11764 fn next_mut(&self) -> *mut c_void {
11765 self.next
11766 }
11767}
11768
11769unsafe impl InputChainStruct for PhysicalDeviceRayTracingPropertiesNV {
11770 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
11771
11772 #[inline]
11773 fn s_type(&self) -> StructureType {
11774 self.s_type
11775 }
11776
11777 #[inline]
11778 fn next(&self) -> *const c_void {
11779 self.next
11780 }
11781}
11782
11783unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPropertiesNV {
11784 #[inline]
11785 fn next_mut(&self) -> *mut c_void {
11786 self.next
11787 }
11788}
11789
11790unsafe impl InputChainStruct for PhysicalDeviceRayTracingValidationFeaturesNV {
11791 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV;
11792
11793 #[inline]
11794 fn s_type(&self) -> StructureType {
11795 self.s_type
11796 }
11797
11798 #[inline]
11799 fn next(&self) -> *const c_void {
11800 self.next
11801 }
11802}
11803
11804unsafe impl OutputChainStruct for PhysicalDeviceRayTracingValidationFeaturesNV {
11805 #[inline]
11806 fn next_mut(&self) -> *mut c_void {
11807 self.next
11808 }
11809}
11810
11811unsafe impl InputChainStruct for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
11812 const TYPE: StructureType =
11813 StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG;
11814
11815 #[inline]
11816 fn s_type(&self) -> StructureType {
11817 self.s_type
11818 }
11819
11820 #[inline]
11821 fn next(&self) -> *const c_void {
11822 self.next
11823 }
11824}
11825
11826unsafe impl OutputChainStruct for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
11827 #[inline]
11828 fn next_mut(&self) -> *mut c_void {
11829 self.next
11830 }
11831}
11832
11833unsafe impl InputChainStruct for PhysicalDeviceRenderPassStripedFeaturesARM {
11834 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM;
11835
11836 #[inline]
11837 fn s_type(&self) -> StructureType {
11838 self.s_type
11839 }
11840
11841 #[inline]
11842 fn next(&self) -> *const c_void {
11843 self.next
11844 }
11845}
11846
11847unsafe impl OutputChainStruct for PhysicalDeviceRenderPassStripedFeaturesARM {
11848 #[inline]
11849 fn next_mut(&self) -> *mut c_void {
11850 self.next
11851 }
11852}
11853
11854unsafe impl InputChainStruct for PhysicalDeviceRenderPassStripedPropertiesARM {
11855 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM;
11856
11857 #[inline]
11858 fn s_type(&self) -> StructureType {
11859 self.s_type
11860 }
11861
11862 #[inline]
11863 fn next(&self) -> *const c_void {
11864 self.next
11865 }
11866}
11867
11868unsafe impl OutputChainStruct for PhysicalDeviceRenderPassStripedPropertiesARM {
11869 #[inline]
11870 fn next_mut(&self) -> *mut c_void {
11871 self.next
11872 }
11873}
11874
11875unsafe impl InputChainStruct for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11876 const TYPE: StructureType =
11877 StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
11878
11879 #[inline]
11880 fn s_type(&self) -> StructureType {
11881 self.s_type
11882 }
11883
11884 #[inline]
11885 fn next(&self) -> *const c_void {
11886 self.next
11887 }
11888}
11889
11890unsafe impl OutputChainStruct for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11891 #[inline]
11892 fn next_mut(&self) -> *mut c_void {
11893 self.next
11894 }
11895}
11896
11897unsafe impl InputChainStruct for PhysicalDeviceRobustness2FeaturesKHR {
11898 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR;
11899
11900 #[inline]
11901 fn s_type(&self) -> StructureType {
11902 self.s_type
11903 }
11904
11905 #[inline]
11906 fn next(&self) -> *const c_void {
11907 self.next
11908 }
11909}
11910
11911unsafe impl OutputChainStruct for PhysicalDeviceRobustness2FeaturesKHR {
11912 #[inline]
11913 fn next_mut(&self) -> *mut c_void {
11914 self.next
11915 }
11916}
11917
11918unsafe impl InputChainStruct for PhysicalDeviceRobustness2PropertiesKHR {
11919 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR;
11920
11921 #[inline]
11922 fn s_type(&self) -> StructureType {
11923 self.s_type
11924 }
11925
11926 #[inline]
11927 fn next(&self) -> *const c_void {
11928 self.next
11929 }
11930}
11931
11932unsafe impl OutputChainStruct for PhysicalDeviceRobustness2PropertiesKHR {
11933 #[inline]
11934 fn next_mut(&self) -> *mut c_void {
11935 self.next
11936 }
11937}
11938
11939unsafe impl InputChainStruct for PhysicalDeviceSampleLocationsPropertiesEXT {
11940 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
11941
11942 #[inline]
11943 fn s_type(&self) -> StructureType {
11944 self.s_type
11945 }
11946
11947 #[inline]
11948 fn next(&self) -> *const c_void {
11949 self.next
11950 }
11951}
11952
11953unsafe impl OutputChainStruct for PhysicalDeviceSampleLocationsPropertiesEXT {
11954 #[inline]
11955 fn next_mut(&self) -> *mut c_void {
11956 self.next
11957 }
11958}
11959
11960unsafe impl InputChainStruct for PhysicalDeviceSamplerFilterMinmaxProperties {
11961 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
11962
11963 #[inline]
11964 fn s_type(&self) -> StructureType {
11965 self.s_type
11966 }
11967
11968 #[inline]
11969 fn next(&self) -> *const c_void {
11970 self.next
11971 }
11972}
11973
11974unsafe impl OutputChainStruct for PhysicalDeviceSamplerFilterMinmaxProperties {
11975 #[inline]
11976 fn next_mut(&self) -> *mut c_void {
11977 self.next
11978 }
11979}
11980
11981unsafe impl InputChainStruct for PhysicalDeviceSamplerYcbcrConversionFeatures {
11982 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
11983
11984 #[inline]
11985 fn s_type(&self) -> StructureType {
11986 self.s_type
11987 }
11988
11989 #[inline]
11990 fn next(&self) -> *const c_void {
11991 self.next
11992 }
11993}
11994
11995unsafe impl OutputChainStruct for PhysicalDeviceSamplerYcbcrConversionFeatures {
11996 #[inline]
11997 fn next_mut(&self) -> *mut c_void {
11998 self.next
11999 }
12000}
12001
12002unsafe impl InputChainStruct for PhysicalDeviceScalarBlockLayoutFeatures {
12003 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
12004
12005 #[inline]
12006 fn s_type(&self) -> StructureType {
12007 self.s_type
12008 }
12009
12010 #[inline]
12011 fn next(&self) -> *const c_void {
12012 self.next
12013 }
12014}
12015
12016unsafe impl OutputChainStruct for PhysicalDeviceScalarBlockLayoutFeatures {
12017 #[inline]
12018 fn next_mut(&self) -> *mut c_void {
12019 self.next
12020 }
12021}
12022
12023unsafe impl InputChainStruct for PhysicalDeviceSchedulingControlsFeaturesARM {
12024 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM;
12025
12026 #[inline]
12027 fn s_type(&self) -> StructureType {
12028 self.s_type
12029 }
12030
12031 #[inline]
12032 fn next(&self) -> *const c_void {
12033 self.next
12034 }
12035}
12036
12037unsafe impl OutputChainStruct for PhysicalDeviceSchedulingControlsFeaturesARM {
12038 #[inline]
12039 fn next_mut(&self) -> *mut c_void {
12040 self.next
12041 }
12042}
12043
12044unsafe impl InputChainStruct for PhysicalDeviceSchedulingControlsPropertiesARM {
12045 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM;
12046
12047 #[inline]
12048 fn s_type(&self) -> StructureType {
12049 self.s_type
12050 }
12051
12052 #[inline]
12053 fn next(&self) -> *const c_void {
12054 self.next
12055 }
12056}
12057
12058unsafe impl OutputChainStruct for PhysicalDeviceSchedulingControlsPropertiesARM {
12059 #[inline]
12060 fn next_mut(&self) -> *mut c_void {
12061 self.next
12062 }
12063}
12064
12065unsafe impl InputChainStruct for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
12066 const TYPE: StructureType =
12067 StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
12068
12069 #[inline]
12070 fn s_type(&self) -> StructureType {
12071 self.s_type
12072 }
12073
12074 #[inline]
12075 fn next(&self) -> *const c_void {
12076 self.next
12077 }
12078}
12079
12080unsafe impl OutputChainStruct for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
12081 #[inline]
12082 fn next_mut(&self) -> *mut c_void {
12083 self.next
12084 }
12085}
12086
12087unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
12088 const TYPE: StructureType =
12089 StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV;
12090
12091 #[inline]
12092 fn s_type(&self) -> StructureType {
12093 self.s_type
12094 }
12095
12096 #[inline]
12097 fn next(&self) -> *const c_void {
12098 self.next
12099 }
12100}
12101
12102unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
12103 #[inline]
12104 fn next_mut(&self) -> *mut c_void {
12105 self.next
12106 }
12107}
12108
12109unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12110 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT;
12111
12112 #[inline]
12113 fn s_type(&self) -> StructureType {
12114 self.s_type
12115 }
12116
12117 #[inline]
12118 fn next(&self) -> *const c_void {
12119 self.next
12120 }
12121}
12122
12123unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12124 #[inline]
12125 fn next_mut(&self) -> *mut c_void {
12126 self.next
12127 }
12128}
12129
12130unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
12131 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT;
12132
12133 #[inline]
12134 fn s_type(&self) -> StructureType {
12135 self.s_type
12136 }
12137
12138 #[inline]
12139 fn next(&self) -> *const c_void {
12140 self.next
12141 }
12142}
12143
12144unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
12145 #[inline]
12146 fn next_mut(&self) -> *mut c_void {
12147 self.next
12148 }
12149}
12150
12151unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicInt64Features {
12152 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
12153
12154 #[inline]
12155 fn s_type(&self) -> StructureType {
12156 self.s_type
12157 }
12158
12159 #[inline]
12160 fn next(&self) -> *const c_void {
12161 self.next
12162 }
12163}
12164
12165unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicInt64Features {
12166 #[inline]
12167 fn next_mut(&self) -> *mut c_void {
12168 self.next
12169 }
12170}
12171
12172unsafe impl InputChainStruct for PhysicalDeviceShaderBfloat16FeaturesKHR {
12173 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR;
12174
12175 #[inline]
12176 fn s_type(&self) -> StructureType {
12177 self.s_type
12178 }
12179
12180 #[inline]
12181 fn next(&self) -> *const c_void {
12182 self.next
12183 }
12184}
12185
12186unsafe impl OutputChainStruct for PhysicalDeviceShaderBfloat16FeaturesKHR {
12187 #[inline]
12188 fn next_mut(&self) -> *mut c_void {
12189 self.next
12190 }
12191}
12192
12193unsafe impl InputChainStruct for PhysicalDeviceShaderClockFeaturesKHR {
12194 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
12195
12196 #[inline]
12197 fn s_type(&self) -> StructureType {
12198 self.s_type
12199 }
12200
12201 #[inline]
12202 fn next(&self) -> *const c_void {
12203 self.next
12204 }
12205}
12206
12207unsafe impl OutputChainStruct for PhysicalDeviceShaderClockFeaturesKHR {
12208 #[inline]
12209 fn next_mut(&self) -> *mut c_void {
12210 self.next
12211 }
12212}
12213
12214unsafe impl InputChainStruct for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
12215 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM;
12216
12217 #[inline]
12218 fn s_type(&self) -> StructureType {
12219 self.s_type
12220 }
12221
12222 #[inline]
12223 fn next(&self) -> *const c_void {
12224 self.next
12225 }
12226}
12227
12228unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
12229 #[inline]
12230 fn next_mut(&self) -> *mut c_void {
12231 self.next
12232 }
12233}
12234
12235unsafe impl InputChainStruct for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
12236 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM;
12237
12238 #[inline]
12239 fn s_type(&self) -> StructureType {
12240 self.s_type
12241 }
12242
12243 #[inline]
12244 fn next(&self) -> *const c_void {
12245 self.next
12246 }
12247}
12248
12249unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
12250 #[inline]
12251 fn next_mut(&self) -> *mut c_void {
12252 self.next
12253 }
12254}
12255
12256unsafe impl InputChainStruct for PhysicalDeviceShaderCoreProperties2AMD {
12257 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
12258
12259 #[inline]
12260 fn s_type(&self) -> StructureType {
12261 self.s_type
12262 }
12263
12264 #[inline]
12265 fn next(&self) -> *const c_void {
12266 self.next
12267 }
12268}
12269
12270unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreProperties2AMD {
12271 #[inline]
12272 fn next_mut(&self) -> *mut c_void {
12273 self.next
12274 }
12275}
12276
12277unsafe impl InputChainStruct for PhysicalDeviceShaderCorePropertiesAMD {
12278 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
12279
12280 #[inline]
12281 fn s_type(&self) -> StructureType {
12282 self.s_type
12283 }
12284
12285 #[inline]
12286 fn next(&self) -> *const c_void {
12287 self.next
12288 }
12289}
12290
12291unsafe impl OutputChainStruct for PhysicalDeviceShaderCorePropertiesAMD {
12292 #[inline]
12293 fn next_mut(&self) -> *mut c_void {
12294 self.next
12295 }
12296}
12297
12298unsafe impl InputChainStruct for PhysicalDeviceShaderCorePropertiesARM {
12299 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM;
12300
12301 #[inline]
12302 fn s_type(&self) -> StructureType {
12303 self.s_type
12304 }
12305
12306 #[inline]
12307 fn next(&self) -> *const c_void {
12308 self.next
12309 }
12310}
12311
12312unsafe impl OutputChainStruct for PhysicalDeviceShaderCorePropertiesARM {
12313 #[inline]
12314 fn next_mut(&self) -> *mut c_void {
12315 self.next
12316 }
12317}
12318
12319unsafe impl InputChainStruct for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
12320 const TYPE: StructureType =
12321 StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES;
12322
12323 #[inline]
12324 fn s_type(&self) -> StructureType {
12325 self.s_type
12326 }
12327
12328 #[inline]
12329 fn next(&self) -> *const c_void {
12330 self.next
12331 }
12332}
12333
12334unsafe impl OutputChainStruct for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
12335 #[inline]
12336 fn next_mut(&self) -> *mut c_void {
12337 self.next
12338 }
12339}
12340
12341unsafe impl InputChainStruct for PhysicalDeviceShaderDrawParametersFeatures {
12342 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
12343
12344 #[inline]
12345 fn s_type(&self) -> StructureType {
12346 self.s_type
12347 }
12348
12349 #[inline]
12350 fn next(&self) -> *const c_void {
12351 self.next
12352 }
12353}
12354
12355unsafe impl OutputChainStruct for PhysicalDeviceShaderDrawParametersFeatures {
12356 #[inline]
12357 fn next_mut(&self) -> *mut c_void {
12358 self.next
12359 }
12360}
12361
12362unsafe impl InputChainStruct for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
12363 const TYPE: StructureType =
12364 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
12365
12366 #[inline]
12367 fn s_type(&self) -> StructureType {
12368 self.s_type
12369 }
12370
12371 #[inline]
12372 fn next(&self) -> *const c_void {
12373 self.next
12374 }
12375}
12376
12377unsafe impl OutputChainStruct for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
12378 #[inline]
12379 fn next_mut(&self) -> *mut c_void {
12380 self.next
12381 }
12382}
12383
12384unsafe impl InputChainStruct for PhysicalDeviceShaderEnqueueFeaturesAMDX {
12385 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX;
12386
12387 #[inline]
12388 fn s_type(&self) -> StructureType {
12389 self.s_type
12390 }
12391
12392 #[inline]
12393 fn next(&self) -> *const c_void {
12394 self.next
12395 }
12396}
12397
12398unsafe impl OutputChainStruct for PhysicalDeviceShaderEnqueueFeaturesAMDX {
12399 #[inline]
12400 fn next_mut(&self) -> *mut c_void {
12401 self.next
12402 }
12403}
12404
12405unsafe impl InputChainStruct for PhysicalDeviceShaderEnqueuePropertiesAMDX {
12406 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX;
12407
12408 #[inline]
12409 fn s_type(&self) -> StructureType {
12410 self.s_type
12411 }
12412
12413 #[inline]
12414 fn next(&self) -> *const c_void {
12415 self.next
12416 }
12417}
12418
12419unsafe impl OutputChainStruct for PhysicalDeviceShaderEnqueuePropertiesAMDX {
12420 #[inline]
12421 fn next_mut(&self) -> *mut c_void {
12422 self.next
12423 }
12424}
12425
12426unsafe impl InputChainStruct for PhysicalDeviceShaderExpectAssumeFeatures {
12427 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES;
12428
12429 #[inline]
12430 fn s_type(&self) -> StructureType {
12431 self.s_type
12432 }
12433
12434 #[inline]
12435 fn next(&self) -> *const c_void {
12436 self.next
12437 }
12438}
12439
12440unsafe impl OutputChainStruct for PhysicalDeviceShaderExpectAssumeFeatures {
12441 #[inline]
12442 fn next_mut(&self) -> *mut c_void {
12443 self.next
12444 }
12445}
12446
12447unsafe impl InputChainStruct for PhysicalDeviceShaderFloat16Int8Features {
12448 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
12449
12450 #[inline]
12451 fn s_type(&self) -> StructureType {
12452 self.s_type
12453 }
12454
12455 #[inline]
12456 fn next(&self) -> *const c_void {
12457 self.next
12458 }
12459}
12460
12461unsafe impl OutputChainStruct for PhysicalDeviceShaderFloat16Int8Features {
12462 #[inline]
12463 fn next_mut(&self) -> *mut c_void {
12464 self.next
12465 }
12466}
12467
12468unsafe impl InputChainStruct for PhysicalDeviceShaderFloat8FeaturesEXT {
12469 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT;
12470
12471 #[inline]
12472 fn s_type(&self) -> StructureType {
12473 self.s_type
12474 }
12475
12476 #[inline]
12477 fn next(&self) -> *const c_void {
12478 self.next
12479 }
12480}
12481
12482unsafe impl OutputChainStruct for PhysicalDeviceShaderFloat8FeaturesEXT {
12483 #[inline]
12484 fn next_mut(&self) -> *mut c_void {
12485 self.next
12486 }
12487}
12488
12489unsafe impl InputChainStruct for PhysicalDeviceShaderFloatControls2Features {
12490 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES;
12491
12492 #[inline]
12493 fn s_type(&self) -> StructureType {
12494 self.s_type
12495 }
12496
12497 #[inline]
12498 fn next(&self) -> *const c_void {
12499 self.next
12500 }
12501}
12502
12503unsafe impl OutputChainStruct for PhysicalDeviceShaderFloatControls2Features {
12504 #[inline]
12505 fn next_mut(&self) -> *mut c_void {
12506 self.next
12507 }
12508}
12509
12510unsafe impl InputChainStruct for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12511 const TYPE: StructureType =
12512 StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
12513
12514 #[inline]
12515 fn s_type(&self) -> StructureType {
12516 self.s_type
12517 }
12518
12519 #[inline]
12520 fn next(&self) -> *const c_void {
12521 self.next
12522 }
12523}
12524
12525unsafe impl OutputChainStruct for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12526 #[inline]
12527 fn next_mut(&self) -> *mut c_void {
12528 self.next
12529 }
12530}
12531
12532unsafe impl InputChainStruct for PhysicalDeviceShaderImageFootprintFeaturesNV {
12533 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
12534
12535 #[inline]
12536 fn s_type(&self) -> StructureType {
12537 self.s_type
12538 }
12539
12540 #[inline]
12541 fn next(&self) -> *const c_void {
12542 self.next
12543 }
12544}
12545
12546unsafe impl OutputChainStruct for PhysicalDeviceShaderImageFootprintFeaturesNV {
12547 #[inline]
12548 fn next_mut(&self) -> *mut c_void {
12549 self.next
12550 }
12551}
12552
12553unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerDotProductFeatures {
12554 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES;
12555
12556 #[inline]
12557 fn s_type(&self) -> StructureType {
12558 self.s_type
12559 }
12560
12561 #[inline]
12562 fn next(&self) -> *const c_void {
12563 self.next
12564 }
12565}
12566
12567unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerDotProductFeatures {
12568 #[inline]
12569 fn next_mut(&self) -> *mut c_void {
12570 self.next
12571 }
12572}
12573
12574unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerDotProductProperties {
12575 const TYPE: StructureType =
12576 StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES;
12577
12578 #[inline]
12579 fn s_type(&self) -> StructureType {
12580 self.s_type
12581 }
12582
12583 #[inline]
12584 fn next(&self) -> *const c_void {
12585 self.next
12586 }
12587}
12588
12589unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerDotProductProperties {
12590 #[inline]
12591 fn next_mut(&self) -> *mut c_void {
12592 self.next
12593 }
12594}
12595
12596unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12597 const TYPE: StructureType =
12598 StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL;
12599
12600 #[inline]
12601 fn s_type(&self) -> StructureType {
12602 self.s_type
12603 }
12604
12605 #[inline]
12606 fn next(&self) -> *const c_void {
12607 self.next
12608 }
12609}
12610
12611unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12612 #[inline]
12613 fn next_mut(&self) -> *mut c_void {
12614 self.next
12615 }
12616}
12617
12618unsafe impl InputChainStruct for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
12619 const TYPE: StructureType =
12620 StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR;
12621
12622 #[inline]
12623 fn s_type(&self) -> StructureType {
12624 self.s_type
12625 }
12626
12627 #[inline]
12628 fn next(&self) -> *const c_void {
12629 self.next
12630 }
12631}
12632
12633unsafe impl OutputChainStruct for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
12634 #[inline]
12635 fn next_mut(&self) -> *mut c_void {
12636 self.next
12637 }
12638}
12639
12640unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
12641 const TYPE: StructureType =
12642 StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT;
12643
12644 #[inline]
12645 fn s_type(&self) -> StructureType {
12646 self.s_type
12647 }
12648
12649 #[inline]
12650 fn next(&self) -> *const c_void {
12651 self.next
12652 }
12653}
12654
12655unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
12656 #[inline]
12657 fn next_mut(&self) -> *mut c_void {
12658 self.next
12659 }
12660}
12661
12662unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
12663 const TYPE: StructureType =
12664 StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT;
12665
12666 #[inline]
12667 fn s_type(&self) -> StructureType {
12668 self.s_type
12669 }
12670
12671 #[inline]
12672 fn next(&self) -> *const c_void {
12673 self.next
12674 }
12675}
12676
12677unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
12678 #[inline]
12679 fn next_mut(&self) -> *mut c_void {
12680 self.next
12681 }
12682}
12683
12684unsafe impl InputChainStruct for PhysicalDeviceShaderObjectFeaturesEXT {
12685 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT;
12686
12687 #[inline]
12688 fn s_type(&self) -> StructureType {
12689 self.s_type
12690 }
12691
12692 #[inline]
12693 fn next(&self) -> *const c_void {
12694 self.next
12695 }
12696}
12697
12698unsafe impl OutputChainStruct for PhysicalDeviceShaderObjectFeaturesEXT {
12699 #[inline]
12700 fn next_mut(&self) -> *mut c_void {
12701 self.next
12702 }
12703}
12704
12705unsafe impl InputChainStruct for PhysicalDeviceShaderObjectPropertiesEXT {
12706 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT;
12707
12708 #[inline]
12709 fn s_type(&self) -> StructureType {
12710 self.s_type
12711 }
12712
12713 #[inline]
12714 fn next(&self) -> *const c_void {
12715 self.next
12716 }
12717}
12718
12719unsafe impl OutputChainStruct for PhysicalDeviceShaderObjectPropertiesEXT {
12720 #[inline]
12721 fn next_mut(&self) -> *mut c_void {
12722 self.next
12723 }
12724}
12725
12726unsafe impl InputChainStruct for PhysicalDeviceShaderQuadControlFeaturesKHR {
12727 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR;
12728
12729 #[inline]
12730 fn s_type(&self) -> StructureType {
12731 self.s_type
12732 }
12733
12734 #[inline]
12735 fn next(&self) -> *const c_void {
12736 self.next
12737 }
12738}
12739
12740unsafe impl OutputChainStruct for PhysicalDeviceShaderQuadControlFeaturesKHR {
12741 #[inline]
12742 fn next_mut(&self) -> *mut c_void {
12743 self.next
12744 }
12745}
12746
12747unsafe impl InputChainStruct for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
12748 const TYPE: StructureType =
12749 StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR;
12750
12751 #[inline]
12752 fn s_type(&self) -> StructureType {
12753 self.s_type
12754 }
12755
12756 #[inline]
12757 fn next(&self) -> *const c_void {
12758 self.next
12759 }
12760}
12761
12762unsafe impl OutputChainStruct for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
12763 #[inline]
12764 fn next_mut(&self) -> *mut c_void {
12765 self.next
12766 }
12767}
12768
12769unsafe impl InputChainStruct for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
12770 const TYPE: StructureType =
12771 StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT;
12772
12773 #[inline]
12774 fn s_type(&self) -> StructureType {
12775 self.s_type
12776 }
12777
12778 #[inline]
12779 fn next(&self) -> *const c_void {
12780 self.next
12781 }
12782}
12783
12784unsafe impl OutputChainStruct for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
12785 #[inline]
12786 fn next_mut(&self) -> *mut c_void {
12787 self.next
12788 }
12789}
12790
12791unsafe impl InputChainStruct for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
12792 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
12793
12794 #[inline]
12795 fn s_type(&self) -> StructureType {
12796 self.s_type
12797 }
12798
12799 #[inline]
12800 fn next(&self) -> *const c_void {
12801 self.next
12802 }
12803}
12804
12805unsafe impl OutputChainStruct for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
12806 #[inline]
12807 fn next_mut(&self) -> *mut c_void {
12808 self.next
12809 }
12810}
12811
12812unsafe impl InputChainStruct for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
12813 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV;
12814
12815 #[inline]
12816 fn s_type(&self) -> StructureType {
12817 self.s_type
12818 }
12819
12820 #[inline]
12821 fn next(&self) -> *const c_void {
12822 self.next
12823 }
12824}
12825
12826unsafe impl OutputChainStruct for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
12827 #[inline]
12828 fn next_mut(&self) -> *mut c_void {
12829 self.next
12830 }
12831}
12832
12833unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
12834 const TYPE: StructureType =
12835 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
12836
12837 #[inline]
12838 fn s_type(&self) -> StructureType {
12839 self.s_type
12840 }
12841
12842 #[inline]
12843 fn next(&self) -> *const c_void {
12844 self.next
12845 }
12846}
12847
12848unsafe impl OutputChainStruct for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
12849 #[inline]
12850 fn next_mut(&self) -> *mut c_void {
12851 self.next
12852 }
12853}
12854
12855unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupRotateFeatures {
12856 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES;
12857
12858 #[inline]
12859 fn s_type(&self) -> StructureType {
12860 self.s_type
12861 }
12862
12863 #[inline]
12864 fn next(&self) -> *const c_void {
12865 self.next
12866 }
12867}
12868
12869unsafe impl OutputChainStruct for PhysicalDeviceShaderSubgroupRotateFeatures {
12870 #[inline]
12871 fn next_mut(&self) -> *mut c_void {
12872 self.next
12873 }
12874}
12875
12876unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
12877 const TYPE: StructureType =
12878 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
12879
12880 #[inline]
12881 fn s_type(&self) -> StructureType {
12882 self.s_type
12883 }
12884
12885 #[inline]
12886 fn next(&self) -> *const c_void {
12887 self.next
12888 }
12889}
12890
12891unsafe impl OutputChainStruct for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
12892 #[inline]
12893 fn next_mut(&self) -> *mut c_void {
12894 self.next
12895 }
12896}
12897
12898unsafe impl InputChainStruct for PhysicalDeviceShaderTerminateInvocationFeatures {
12899 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES;
12900
12901 #[inline]
12902 fn s_type(&self) -> StructureType {
12903 self.s_type
12904 }
12905
12906 #[inline]
12907 fn next(&self) -> *const c_void {
12908 self.next
12909 }
12910}
12911
12912unsafe impl OutputChainStruct for PhysicalDeviceShaderTerminateInvocationFeatures {
12913 #[inline]
12914 fn next_mut(&self) -> *mut c_void {
12915 self.next
12916 }
12917}
12918
12919unsafe impl InputChainStruct for PhysicalDeviceShaderTileImageFeaturesEXT {
12920 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT;
12921
12922 #[inline]
12923 fn s_type(&self) -> StructureType {
12924 self.s_type
12925 }
12926
12927 #[inline]
12928 fn next(&self) -> *const c_void {
12929 self.next
12930 }
12931}
12932
12933unsafe impl OutputChainStruct for PhysicalDeviceShaderTileImageFeaturesEXT {
12934 #[inline]
12935 fn next_mut(&self) -> *mut c_void {
12936 self.next
12937 }
12938}
12939
12940unsafe impl InputChainStruct for PhysicalDeviceShaderTileImagePropertiesEXT {
12941 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT;
12942
12943 #[inline]
12944 fn s_type(&self) -> StructureType {
12945 self.s_type
12946 }
12947
12948 #[inline]
12949 fn next(&self) -> *const c_void {
12950 self.next
12951 }
12952}
12953
12954unsafe impl OutputChainStruct for PhysicalDeviceShaderTileImagePropertiesEXT {
12955 #[inline]
12956 fn next_mut(&self) -> *mut c_void {
12957 self.next
12958 }
12959}
12960
12961unsafe impl InputChainStruct for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
12962 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR;
12963
12964 #[inline]
12965 fn s_type(&self) -> StructureType {
12966 self.s_type
12967 }
12968
12969 #[inline]
12970 fn next(&self) -> *const c_void {
12971 self.next
12972 }
12973}
12974
12975unsafe impl OutputChainStruct for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
12976 #[inline]
12977 fn next_mut(&self) -> *mut c_void {
12978 self.next
12979 }
12980}
12981
12982unsafe impl InputChainStruct for PhysicalDeviceShadingRateImageFeaturesNV {
12983 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
12984
12985 #[inline]
12986 fn s_type(&self) -> StructureType {
12987 self.s_type
12988 }
12989
12990 #[inline]
12991 fn next(&self) -> *const c_void {
12992 self.next
12993 }
12994}
12995
12996unsafe impl OutputChainStruct for PhysicalDeviceShadingRateImageFeaturesNV {
12997 #[inline]
12998 fn next_mut(&self) -> *mut c_void {
12999 self.next
13000 }
13001}
13002
13003unsafe impl InputChainStruct for PhysicalDeviceShadingRateImagePropertiesNV {
13004 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
13005
13006 #[inline]
13007 fn s_type(&self) -> StructureType {
13008 self.s_type
13009 }
13010
13011 #[inline]
13012 fn next(&self) -> *const c_void {
13013 self.next
13014 }
13015}
13016
13017unsafe impl OutputChainStruct for PhysicalDeviceShadingRateImagePropertiesNV {
13018 #[inline]
13019 fn next_mut(&self) -> *mut c_void {
13020 self.next
13021 }
13022}
13023
13024unsafe impl InputChainStruct for PhysicalDeviceSparseImageFormatInfo2 {
13025 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
13026
13027 #[inline]
13028 fn s_type(&self) -> StructureType {
13029 self.s_type
13030 }
13031
13032 #[inline]
13033 fn next(&self) -> *const c_void {
13034 self.next
13035 }
13036}
13037
13038unsafe impl InputChainStruct for PhysicalDeviceSubgroupProperties {
13039 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
13040
13041 #[inline]
13042 fn s_type(&self) -> StructureType {
13043 self.s_type
13044 }
13045
13046 #[inline]
13047 fn next(&self) -> *const c_void {
13048 self.next
13049 }
13050}
13051
13052unsafe impl OutputChainStruct for PhysicalDeviceSubgroupProperties {
13053 #[inline]
13054 fn next_mut(&self) -> *mut c_void {
13055 self.next
13056 }
13057}
13058
13059unsafe impl InputChainStruct for PhysicalDeviceSubgroupSizeControlFeatures {
13060 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES;
13061
13062 #[inline]
13063 fn s_type(&self) -> StructureType {
13064 self.s_type
13065 }
13066
13067 #[inline]
13068 fn next(&self) -> *const c_void {
13069 self.next
13070 }
13071}
13072
13073unsafe impl OutputChainStruct for PhysicalDeviceSubgroupSizeControlFeatures {
13074 #[inline]
13075 fn next_mut(&self) -> *mut c_void {
13076 self.next
13077 }
13078}
13079
13080unsafe impl InputChainStruct for PhysicalDeviceSubgroupSizeControlProperties {
13081 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES;
13082
13083 #[inline]
13084 fn s_type(&self) -> StructureType {
13085 self.s_type
13086 }
13087
13088 #[inline]
13089 fn next(&self) -> *const c_void {
13090 self.next
13091 }
13092}
13093
13094unsafe impl OutputChainStruct for PhysicalDeviceSubgroupSizeControlProperties {
13095 #[inline]
13096 fn next_mut(&self) -> *mut c_void {
13097 self.next
13098 }
13099}
13100
13101unsafe impl InputChainStruct for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
13102 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
13103
13104 #[inline]
13105 fn s_type(&self) -> StructureType {
13106 self.s_type
13107 }
13108
13109 #[inline]
13110 fn next(&self) -> *const c_void {
13111 self.next
13112 }
13113}
13114
13115unsafe impl OutputChainStruct for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
13116 #[inline]
13117 fn next_mut(&self) -> *mut c_void {
13118 self.next
13119 }
13120}
13121
13122unsafe impl InputChainStruct for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
13123 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI;
13124
13125 #[inline]
13126 fn s_type(&self) -> StructureType {
13127 self.s_type
13128 }
13129
13130 #[inline]
13131 fn next(&self) -> *const c_void {
13132 self.next
13133 }
13134}
13135
13136unsafe impl OutputChainStruct for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
13137 #[inline]
13138 fn next_mut(&self) -> *mut c_void {
13139 self.next
13140 }
13141}
13142
13143unsafe impl InputChainStruct for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
13144 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI;
13145
13146 #[inline]
13147 fn s_type(&self) -> StructureType {
13148 self.s_type
13149 }
13150
13151 #[inline]
13152 fn next(&self) -> *const c_void {
13153 self.next
13154 }
13155}
13156
13157unsafe impl OutputChainStruct for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
13158 #[inline]
13159 fn next_mut(&self) -> *mut c_void {
13160 self.next
13161 }
13162}
13163
13164unsafe impl InputChainStruct for PhysicalDeviceSurfaceInfo2KHR {
13165 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
13166
13167 #[inline]
13168 fn s_type(&self) -> StructureType {
13169 self.s_type
13170 }
13171
13172 #[inline]
13173 fn next(&self) -> *const c_void {
13174 self.next
13175 }
13176}
13177
13178unsafe impl InputChainStruct for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
13179 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR;
13180
13181 #[inline]
13182 fn s_type(&self) -> StructureType {
13183 self.s_type
13184 }
13185
13186 #[inline]
13187 fn next(&self) -> *const c_void {
13188 self.next
13189 }
13190}
13191
13192unsafe impl OutputChainStruct for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
13193 #[inline]
13194 fn next_mut(&self) -> *mut c_void {
13195 self.next
13196 }
13197}
13198
13199unsafe impl InputChainStruct for PhysicalDeviceSynchronization2Features {
13200 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES;
13201
13202 #[inline]
13203 fn s_type(&self) -> StructureType {
13204 self.s_type
13205 }
13206
13207 #[inline]
13208 fn next(&self) -> *const c_void {
13209 self.next
13210 }
13211}
13212
13213unsafe impl OutputChainStruct for PhysicalDeviceSynchronization2Features {
13214 #[inline]
13215 fn next_mut(&self) -> *mut c_void {
13216 self.next
13217 }
13218}
13219
13220unsafe impl InputChainStruct for PhysicalDeviceTensorFeaturesARM {
13221 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM;
13222
13223 #[inline]
13224 fn s_type(&self) -> StructureType {
13225 self.s_type
13226 }
13227
13228 #[inline]
13229 fn next(&self) -> *const c_void {
13230 self.next
13231 }
13232}
13233
13234unsafe impl OutputChainStruct for PhysicalDeviceTensorFeaturesARM {
13235 #[inline]
13236 fn next_mut(&self) -> *mut c_void {
13237 self.next
13238 }
13239}
13240
13241unsafe impl InputChainStruct for PhysicalDeviceTensorPropertiesARM {
13242 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM;
13243
13244 #[inline]
13245 fn s_type(&self) -> StructureType {
13246 self.s_type
13247 }
13248
13249 #[inline]
13250 fn next(&self) -> *const c_void {
13251 self.next
13252 }
13253}
13254
13255unsafe impl OutputChainStruct for PhysicalDeviceTensorPropertiesARM {
13256 #[inline]
13257 fn next_mut(&self) -> *mut c_void {
13258 self.next
13259 }
13260}
13261
13262unsafe impl InputChainStruct for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13263 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
13264
13265 #[inline]
13266 fn s_type(&self) -> StructureType {
13267 self.s_type
13268 }
13269
13270 #[inline]
13271 fn next(&self) -> *const c_void {
13272 self.next
13273 }
13274}
13275
13276unsafe impl OutputChainStruct for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13277 #[inline]
13278 fn next_mut(&self) -> *mut c_void {
13279 self.next
13280 }
13281}
13282
13283unsafe impl InputChainStruct for PhysicalDeviceTexelBufferAlignmentProperties {
13284 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES;
13285
13286 #[inline]
13287 fn s_type(&self) -> StructureType {
13288 self.s_type
13289 }
13290
13291 #[inline]
13292 fn next(&self) -> *const c_void {
13293 self.next
13294 }
13295}
13296
13297unsafe impl OutputChainStruct for PhysicalDeviceTexelBufferAlignmentProperties {
13298 #[inline]
13299 fn next_mut(&self) -> *mut c_void {
13300 self.next
13301 }
13302}
13303
13304unsafe impl InputChainStruct for PhysicalDeviceTextureCompressionASTCHDRFeatures {
13305 const TYPE: StructureType =
13306 StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES;
13307
13308 #[inline]
13309 fn s_type(&self) -> StructureType {
13310 self.s_type
13311 }
13312
13313 #[inline]
13314 fn next(&self) -> *const c_void {
13315 self.next
13316 }
13317}
13318
13319unsafe impl OutputChainStruct for PhysicalDeviceTextureCompressionASTCHDRFeatures {
13320 #[inline]
13321 fn next_mut(&self) -> *mut c_void {
13322 self.next
13323 }
13324}
13325
13326unsafe impl InputChainStruct for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
13327 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM;
13328
13329 #[inline]
13330 fn s_type(&self) -> StructureType {
13331 self.s_type
13332 }
13333
13334 #[inline]
13335 fn next(&self) -> *const c_void {
13336 self.next
13337 }
13338}
13339
13340unsafe impl OutputChainStruct for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
13341 #[inline]
13342 fn next_mut(&self) -> *mut c_void {
13343 self.next
13344 }
13345}
13346
13347unsafe impl InputChainStruct for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
13348 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM;
13349
13350 #[inline]
13351 fn s_type(&self) -> StructureType {
13352 self.s_type
13353 }
13354
13355 #[inline]
13356 fn next(&self) -> *const c_void {
13357 self.next
13358 }
13359}
13360
13361unsafe impl OutputChainStruct for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
13362 #[inline]
13363 fn next_mut(&self) -> *mut c_void {
13364 self.next
13365 }
13366}
13367
13368unsafe impl InputChainStruct for PhysicalDeviceTilePropertiesFeaturesQCOM {
13369 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM;
13370
13371 #[inline]
13372 fn s_type(&self) -> StructureType {
13373 self.s_type
13374 }
13375
13376 #[inline]
13377 fn next(&self) -> *const c_void {
13378 self.next
13379 }
13380}
13381
13382unsafe impl OutputChainStruct for PhysicalDeviceTilePropertiesFeaturesQCOM {
13383 #[inline]
13384 fn next_mut(&self) -> *mut c_void {
13385 self.next
13386 }
13387}
13388
13389unsafe impl InputChainStruct for PhysicalDeviceTileShadingFeaturesQCOM {
13390 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM;
13391
13392 #[inline]
13393 fn s_type(&self) -> StructureType {
13394 self.s_type
13395 }
13396
13397 #[inline]
13398 fn next(&self) -> *const c_void {
13399 self.next
13400 }
13401}
13402
13403unsafe impl OutputChainStruct for PhysicalDeviceTileShadingFeaturesQCOM {
13404 #[inline]
13405 fn next_mut(&self) -> *mut c_void {
13406 self.next
13407 }
13408}
13409
13410unsafe impl InputChainStruct for PhysicalDeviceTileShadingPropertiesQCOM {
13411 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM;
13412
13413 #[inline]
13414 fn s_type(&self) -> StructureType {
13415 self.s_type
13416 }
13417
13418 #[inline]
13419 fn next(&self) -> *const c_void {
13420 self.next
13421 }
13422}
13423
13424unsafe impl OutputChainStruct for PhysicalDeviceTileShadingPropertiesQCOM {
13425 #[inline]
13426 fn next_mut(&self) -> *mut c_void {
13427 self.next
13428 }
13429}
13430
13431unsafe impl InputChainStruct for PhysicalDeviceTimelineSemaphoreFeatures {
13432 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
13433
13434 #[inline]
13435 fn s_type(&self) -> StructureType {
13436 self.s_type
13437 }
13438
13439 #[inline]
13440 fn next(&self) -> *const c_void {
13441 self.next
13442 }
13443}
13444
13445unsafe impl OutputChainStruct for PhysicalDeviceTimelineSemaphoreFeatures {
13446 #[inline]
13447 fn next_mut(&self) -> *mut c_void {
13448 self.next
13449 }
13450}
13451
13452unsafe impl InputChainStruct for PhysicalDeviceTimelineSemaphoreProperties {
13453 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
13454
13455 #[inline]
13456 fn s_type(&self) -> StructureType {
13457 self.s_type
13458 }
13459
13460 #[inline]
13461 fn next(&self) -> *const c_void {
13462 self.next
13463 }
13464}
13465
13466unsafe impl OutputChainStruct for PhysicalDeviceTimelineSemaphoreProperties {
13467 #[inline]
13468 fn next_mut(&self) -> *mut c_void {
13469 self.next
13470 }
13471}
13472
13473unsafe impl InputChainStruct for PhysicalDeviceToolProperties {
13474 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES;
13475
13476 #[inline]
13477 fn s_type(&self) -> StructureType {
13478 self.s_type
13479 }
13480
13481 #[inline]
13482 fn next(&self) -> *const c_void {
13483 self.next
13484 }
13485}
13486
13487unsafe impl OutputChainStruct for PhysicalDeviceToolProperties {
13488 #[inline]
13489 fn next_mut(&self) -> *mut c_void {
13490 self.next
13491 }
13492}
13493
13494unsafe impl InputChainStruct for PhysicalDeviceTransformFeedbackFeaturesEXT {
13495 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
13496
13497 #[inline]
13498 fn s_type(&self) -> StructureType {
13499 self.s_type
13500 }
13501
13502 #[inline]
13503 fn next(&self) -> *const c_void {
13504 self.next
13505 }
13506}
13507
13508unsafe impl OutputChainStruct for PhysicalDeviceTransformFeedbackFeaturesEXT {
13509 #[inline]
13510 fn next_mut(&self) -> *mut c_void {
13511 self.next
13512 }
13513}
13514
13515unsafe impl InputChainStruct for PhysicalDeviceTransformFeedbackPropertiesEXT {
13516 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
13517
13518 #[inline]
13519 fn s_type(&self) -> StructureType {
13520 self.s_type
13521 }
13522
13523 #[inline]
13524 fn next(&self) -> *const c_void {
13525 self.next
13526 }
13527}
13528
13529unsafe impl OutputChainStruct for PhysicalDeviceTransformFeedbackPropertiesEXT {
13530 #[inline]
13531 fn next_mut(&self) -> *mut c_void {
13532 self.next
13533 }
13534}
13535
13536unsafe impl InputChainStruct for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
13537 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR;
13538
13539 #[inline]
13540 fn s_type(&self) -> StructureType {
13541 self.s_type
13542 }
13543
13544 #[inline]
13545 fn next(&self) -> *const c_void {
13546 self.next
13547 }
13548}
13549
13550unsafe impl OutputChainStruct for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
13551 #[inline]
13552 fn next_mut(&self) -> *mut c_void {
13553 self.next
13554 }
13555}
13556
13557unsafe impl InputChainStruct for PhysicalDeviceUniformBufferStandardLayoutFeatures {
13558 const TYPE: StructureType =
13559 StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
13560
13561 #[inline]
13562 fn s_type(&self) -> StructureType {
13563 self.s_type
13564 }
13565
13566 #[inline]
13567 fn next(&self) -> *const c_void {
13568 self.next
13569 }
13570}
13571
13572unsafe impl OutputChainStruct for PhysicalDeviceUniformBufferStandardLayoutFeatures {
13573 #[inline]
13574 fn next_mut(&self) -> *mut c_void {
13575 self.next
13576 }
13577}
13578
13579unsafe impl InputChainStruct for PhysicalDeviceVariablePointersFeatures {
13580 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
13581
13582 #[inline]
13583 fn s_type(&self) -> StructureType {
13584 self.s_type
13585 }
13586
13587 #[inline]
13588 fn next(&self) -> *const c_void {
13589 self.next
13590 }
13591}
13592
13593unsafe impl OutputChainStruct for PhysicalDeviceVariablePointersFeatures {
13594 #[inline]
13595 fn next_mut(&self) -> *mut c_void {
13596 self.next
13597 }
13598}
13599
13600unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeDivisorFeatures {
13601 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES;
13602
13603 #[inline]
13604 fn s_type(&self) -> StructureType {
13605 self.s_type
13606 }
13607
13608 #[inline]
13609 fn next(&self) -> *const c_void {
13610 self.next
13611 }
13612}
13613
13614unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeDivisorFeatures {
13615 #[inline]
13616 fn next_mut(&self) -> *mut c_void {
13617 self.next
13618 }
13619}
13620
13621unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeDivisorProperties {
13622 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES;
13623
13624 #[inline]
13625 fn s_type(&self) -> StructureType {
13626 self.s_type
13627 }
13628
13629 #[inline]
13630 fn next(&self) -> *const c_void {
13631 self.next
13632 }
13633}
13634
13635unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeDivisorProperties {
13636 #[inline]
13637 fn next_mut(&self) -> *mut c_void {
13638 self.next
13639 }
13640}
13641
13642unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
13643 const TYPE: StructureType =
13644 StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
13645
13646 #[inline]
13647 fn s_type(&self) -> StructureType {
13648 self.s_type
13649 }
13650
13651 #[inline]
13652 fn next(&self) -> *const c_void {
13653 self.next
13654 }
13655}
13656
13657unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
13658 #[inline]
13659 fn next_mut(&self) -> *mut c_void {
13660 self.next
13661 }
13662}
13663
13664unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
13665 const TYPE: StructureType =
13666 StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT;
13667
13668 #[inline]
13669 fn s_type(&self) -> StructureType {
13670 self.s_type
13671 }
13672
13673 #[inline]
13674 fn next(&self) -> *const c_void {
13675 self.next
13676 }
13677}
13678
13679unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
13680 #[inline]
13681 fn next_mut(&self) -> *mut c_void {
13682 self.next
13683 }
13684}
13685
13686unsafe impl InputChainStruct for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13687 const TYPE: StructureType =
13688 StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT;
13689
13690 #[inline]
13691 fn s_type(&self) -> StructureType {
13692 self.s_type
13693 }
13694
13695 #[inline]
13696 fn next(&self) -> *const c_void {
13697 self.next
13698 }
13699}
13700
13701unsafe impl OutputChainStruct for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13702 #[inline]
13703 fn next_mut(&self) -> *mut c_void {
13704 self.next
13705 }
13706}
13707
13708unsafe impl InputChainStruct for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
13709 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR;
13710
13711 #[inline]
13712 fn s_type(&self) -> StructureType {
13713 self.s_type
13714 }
13715
13716 #[inline]
13717 fn next(&self) -> *const c_void {
13718 self.next
13719 }
13720}
13721
13722unsafe impl OutputChainStruct for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
13723 #[inline]
13724 fn next_mut(&self) -> *mut c_void {
13725 self.next
13726 }
13727}
13728
13729unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
13730 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR;
13731
13732 #[inline]
13733 fn s_type(&self) -> StructureType {
13734 self.s_type
13735 }
13736
13737 #[inline]
13738 fn next(&self) -> *const c_void {
13739 self.next
13740 }
13741}
13742
13743unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
13744 #[inline]
13745 fn next_mut(&self) -> *mut c_void {
13746 self.next
13747 }
13748}
13749
13750unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
13751 const TYPE: StructureType =
13752 StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR;
13753
13754 #[inline]
13755 fn s_type(&self) -> StructureType {
13756 self.s_type
13757 }
13758
13759 #[inline]
13760 fn next(&self) -> *const c_void {
13761 self.next
13762 }
13763}
13764
13765unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
13766 #[inline]
13767 fn next_mut(&self) -> *mut c_void {
13768 self.next
13769 }
13770}
13771
13772unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
13773 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR;
13774
13775 #[inline]
13776 fn s_type(&self) -> StructureType {
13777 self.s_type
13778 }
13779
13780 #[inline]
13781 fn next(&self) -> *const c_void {
13782 self.next
13783 }
13784}
13785
13786unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
13787 const TYPE: StructureType =
13788 StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR;
13789
13790 #[inline]
13791 fn s_type(&self) -> StructureType {
13792 self.s_type
13793 }
13794
13795 #[inline]
13796 fn next(&self) -> *const c_void {
13797 self.next
13798 }
13799}
13800
13801unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
13802 #[inline]
13803 fn next_mut(&self) -> *mut c_void {
13804 self.next
13805 }
13806}
13807
13808unsafe impl InputChainStruct for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
13809 const TYPE: StructureType =
13810 StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE;
13811
13812 #[inline]
13813 fn s_type(&self) -> StructureType {
13814 self.s_type
13815 }
13816
13817 #[inline]
13818 fn next(&self) -> *const c_void {
13819 self.next
13820 }
13821}
13822
13823unsafe impl OutputChainStruct for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
13824 #[inline]
13825 fn next_mut(&self) -> *mut c_void {
13826 self.next
13827 }
13828}
13829
13830unsafe impl InputChainStruct for PhysicalDeviceVideoFormatInfoKHR {
13831 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR;
13832
13833 #[inline]
13834 fn s_type(&self) -> StructureType {
13835 self.s_type
13836 }
13837
13838 #[inline]
13839 fn next(&self) -> *const c_void {
13840 self.next
13841 }
13842}
13843
13844unsafe impl InputChainStruct for PhysicalDeviceVideoMaintenance1FeaturesKHR {
13845 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR;
13846
13847 #[inline]
13848 fn s_type(&self) -> StructureType {
13849 self.s_type
13850 }
13851
13852 #[inline]
13853 fn next(&self) -> *const c_void {
13854 self.next
13855 }
13856}
13857
13858unsafe impl OutputChainStruct for PhysicalDeviceVideoMaintenance1FeaturesKHR {
13859 #[inline]
13860 fn next_mut(&self) -> *mut c_void {
13861 self.next
13862 }
13863}
13864
13865unsafe impl InputChainStruct for PhysicalDeviceVideoMaintenance2FeaturesKHR {
13866 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR;
13867
13868 #[inline]
13869 fn s_type(&self) -> StructureType {
13870 self.s_type
13871 }
13872
13873 #[inline]
13874 fn next(&self) -> *const c_void {
13875 self.next
13876 }
13877}
13878
13879unsafe impl OutputChainStruct for PhysicalDeviceVideoMaintenance2FeaturesKHR {
13880 #[inline]
13881 fn next_mut(&self) -> *mut c_void {
13882 self.next
13883 }
13884}
13885
13886unsafe impl InputChainStruct for PhysicalDeviceVulkan11Features {
13887 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
13888
13889 #[inline]
13890 fn s_type(&self) -> StructureType {
13891 self.s_type
13892 }
13893
13894 #[inline]
13895 fn next(&self) -> *const c_void {
13896 self.next
13897 }
13898}
13899
13900unsafe impl OutputChainStruct for PhysicalDeviceVulkan11Features {
13901 #[inline]
13902 fn next_mut(&self) -> *mut c_void {
13903 self.next
13904 }
13905}
13906
13907unsafe impl InputChainStruct for PhysicalDeviceVulkan11Properties {
13908 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES;
13909
13910 #[inline]
13911 fn s_type(&self) -> StructureType {
13912 self.s_type
13913 }
13914
13915 #[inline]
13916 fn next(&self) -> *const c_void {
13917 self.next
13918 }
13919}
13920
13921unsafe impl OutputChainStruct for PhysicalDeviceVulkan11Properties {
13922 #[inline]
13923 fn next_mut(&self) -> *mut c_void {
13924 self.next
13925 }
13926}
13927
13928unsafe impl InputChainStruct for PhysicalDeviceVulkan12Features {
13929 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
13930
13931 #[inline]
13932 fn s_type(&self) -> StructureType {
13933 self.s_type
13934 }
13935
13936 #[inline]
13937 fn next(&self) -> *const c_void {
13938 self.next
13939 }
13940}
13941
13942unsafe impl OutputChainStruct for PhysicalDeviceVulkan12Features {
13943 #[inline]
13944 fn next_mut(&self) -> *mut c_void {
13945 self.next
13946 }
13947}
13948
13949unsafe impl InputChainStruct for PhysicalDeviceVulkan12Properties {
13950 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
13951
13952 #[inline]
13953 fn s_type(&self) -> StructureType {
13954 self.s_type
13955 }
13956
13957 #[inline]
13958 fn next(&self) -> *const c_void {
13959 self.next
13960 }
13961}
13962
13963unsafe impl OutputChainStruct for PhysicalDeviceVulkan12Properties {
13964 #[inline]
13965 fn next_mut(&self) -> *mut c_void {
13966 self.next
13967 }
13968}
13969
13970unsafe impl InputChainStruct for PhysicalDeviceVulkan13Features {
13971 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
13972
13973 #[inline]
13974 fn s_type(&self) -> StructureType {
13975 self.s_type
13976 }
13977
13978 #[inline]
13979 fn next(&self) -> *const c_void {
13980 self.next
13981 }
13982}
13983
13984unsafe impl OutputChainStruct for PhysicalDeviceVulkan13Features {
13985 #[inline]
13986 fn next_mut(&self) -> *mut c_void {
13987 self.next
13988 }
13989}
13990
13991unsafe impl InputChainStruct for PhysicalDeviceVulkan13Properties {
13992 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES;
13993
13994 #[inline]
13995 fn s_type(&self) -> StructureType {
13996 self.s_type
13997 }
13998
13999 #[inline]
14000 fn next(&self) -> *const c_void {
14001 self.next
14002 }
14003}
14004
14005unsafe impl OutputChainStruct for PhysicalDeviceVulkan13Properties {
14006 #[inline]
14007 fn next_mut(&self) -> *mut c_void {
14008 self.next
14009 }
14010}
14011
14012unsafe impl InputChainStruct for PhysicalDeviceVulkan14Features {
14013 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES;
14014
14015 #[inline]
14016 fn s_type(&self) -> StructureType {
14017 self.s_type
14018 }
14019
14020 #[inline]
14021 fn next(&self) -> *const c_void {
14022 self.next
14023 }
14024}
14025
14026unsafe impl OutputChainStruct for PhysicalDeviceVulkan14Features {
14027 #[inline]
14028 fn next_mut(&self) -> *mut c_void {
14029 self.next
14030 }
14031}
14032
14033unsafe impl InputChainStruct for PhysicalDeviceVulkan14Properties {
14034 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES;
14035
14036 #[inline]
14037 fn s_type(&self) -> StructureType {
14038 self.s_type
14039 }
14040
14041 #[inline]
14042 fn next(&self) -> *const c_void {
14043 self.next
14044 }
14045}
14046
14047unsafe impl OutputChainStruct for PhysicalDeviceVulkan14Properties {
14048 #[inline]
14049 fn next_mut(&self) -> *mut c_void {
14050 self.next
14051 }
14052}
14053
14054unsafe impl InputChainStruct for PhysicalDeviceVulkanMemoryModelFeatures {
14055 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
14056
14057 #[inline]
14058 fn s_type(&self) -> StructureType {
14059 self.s_type
14060 }
14061
14062 #[inline]
14063 fn next(&self) -> *const c_void {
14064 self.next
14065 }
14066}
14067
14068unsafe impl OutputChainStruct for PhysicalDeviceVulkanMemoryModelFeatures {
14069 #[inline]
14070 fn next_mut(&self) -> *mut c_void {
14071 self.next
14072 }
14073}
14074
14075unsafe impl InputChainStruct for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
14076 const TYPE: StructureType =
14077 StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
14078
14079 #[inline]
14080 fn s_type(&self) -> StructureType {
14081 self.s_type
14082 }
14083
14084 #[inline]
14085 fn next(&self) -> *const c_void {
14086 self.next
14087 }
14088}
14089
14090unsafe impl OutputChainStruct for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
14091 #[inline]
14092 fn next_mut(&self) -> *mut c_void {
14093 self.next
14094 }
14095}
14096
14097unsafe impl InputChainStruct for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
14098 const TYPE: StructureType =
14099 StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT;
14100
14101 #[inline]
14102 fn s_type(&self) -> StructureType {
14103 self.s_type
14104 }
14105
14106 #[inline]
14107 fn next(&self) -> *const c_void {
14108 self.next
14109 }
14110}
14111
14112unsafe impl OutputChainStruct for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
14113 #[inline]
14114 fn next_mut(&self) -> *mut c_void {
14115 self.next
14116 }
14117}
14118
14119unsafe impl InputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
14120 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM;
14121
14122 #[inline]
14123 fn s_type(&self) -> StructureType {
14124 self.s_type
14125 }
14126
14127 #[inline]
14128 fn next(&self) -> *const c_void {
14129 self.next
14130 }
14131}
14132
14133unsafe impl OutputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
14134 #[inline]
14135 fn next_mut(&self) -> *mut c_void {
14136 self.next
14137 }
14138}
14139
14140unsafe impl InputChainStruct for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
14141 const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
14142
14143 #[inline]
14144 fn s_type(&self) -> StructureType {
14145 self.s_type
14146 }
14147
14148 #[inline]
14149 fn next(&self) -> *const c_void {
14150 self.next
14151 }
14152}
14153
14154unsafe impl OutputChainStruct for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
14155 #[inline]
14156 fn next_mut(&self) -> *mut c_void {
14157 self.next
14158 }
14159}
14160
14161unsafe impl InputChainStruct for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
14162 const TYPE: StructureType =
14163 StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT;
14164
14165 #[inline]
14166 fn s_type(&self) -> StructureType {
14167 self.s_type
14168 }
14169
14170 #[inline]
14171 fn next(&self) -> *const c_void {
14172 self.next
14173 }
14174}
14175
14176unsafe impl OutputChainStruct for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
14177 #[inline]
14178 fn next_mut(&self) -> *mut c_void {
14179 self.next
14180 }
14181}
14182
14183unsafe impl InputChainStruct for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
14184 const TYPE: StructureType =
14185 StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES;
14186
14187 #[inline]
14188 fn s_type(&self) -> StructureType {
14189 self.s_type
14190 }
14191
14192 #[inline]
14193 fn next(&self) -> *const c_void {
14194 self.next
14195 }
14196}
14197
14198unsafe impl OutputChainStruct for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
14199 #[inline]
14200 fn next_mut(&self) -> *mut c_void {
14201 self.next
14202 }
14203}
14204
14205unsafe impl InputChainStruct for PipelineBinaryCreateInfoKHR {
14206 const TYPE: StructureType = StructureType::PIPELINE_BINARY_CREATE_INFO_KHR;
14207
14208 #[inline]
14209 fn s_type(&self) -> StructureType {
14210 self.s_type
14211 }
14212
14213 #[inline]
14214 fn next(&self) -> *const c_void {
14215 self.next
14216 }
14217}
14218
14219unsafe impl InputChainStruct for PipelineBinaryDataInfoKHR {
14220 const TYPE: StructureType = StructureType::PIPELINE_BINARY_DATA_INFO_KHR;
14221
14222 #[inline]
14223 fn s_type(&self) -> StructureType {
14224 self.s_type
14225 }
14226
14227 #[inline]
14228 fn next(&self) -> *const c_void {
14229 self.next
14230 }
14231}
14232
14233unsafe impl OutputChainStruct for PipelineBinaryDataInfoKHR {
14234 #[inline]
14235 fn next_mut(&self) -> *mut c_void {
14236 self.next
14237 }
14238}
14239
14240unsafe impl InputChainStruct for PipelineBinaryHandlesInfoKHR {
14241 const TYPE: StructureType = StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR;
14242
14243 #[inline]
14244 fn s_type(&self) -> StructureType {
14245 self.s_type
14246 }
14247
14248 #[inline]
14249 fn next(&self) -> *const c_void {
14250 self.next
14251 }
14252}
14253
14254unsafe impl InputChainStruct for PipelineBinaryInfoKHR {
14255 const TYPE: StructureType = StructureType::PIPELINE_BINARY_INFO_KHR;
14256
14257 #[inline]
14258 fn s_type(&self) -> StructureType {
14259 self.s_type
14260 }
14261
14262 #[inline]
14263 fn next(&self) -> *const c_void {
14264 self.next
14265 }
14266}
14267
14268unsafe impl InputChainStruct for PipelineBinaryKeyKHR {
14269 const TYPE: StructureType = StructureType::PIPELINE_BINARY_KEY_KHR;
14270
14271 #[inline]
14272 fn s_type(&self) -> StructureType {
14273 self.s_type
14274 }
14275
14276 #[inline]
14277 fn next(&self) -> *const c_void {
14278 self.next
14279 }
14280}
14281
14282unsafe impl OutputChainStruct for PipelineBinaryKeyKHR {
14283 #[inline]
14284 fn next_mut(&self) -> *mut c_void {
14285 self.next
14286 }
14287}
14288
14289unsafe impl InputChainStruct for PipelineCacheCreateInfo {
14290 const TYPE: StructureType = StructureType::PIPELINE_CACHE_CREATE_INFO;
14291
14292 #[inline]
14293 fn s_type(&self) -> StructureType {
14294 self.s_type
14295 }
14296
14297 #[inline]
14298 fn next(&self) -> *const c_void {
14299 self.next
14300 }
14301}
14302
14303unsafe impl InputChainStruct for PipelineColorBlendAdvancedStateCreateInfoEXT {
14304 const TYPE: StructureType = StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
14305
14306 #[inline]
14307 fn s_type(&self) -> StructureType {
14308 self.s_type
14309 }
14310
14311 #[inline]
14312 fn next(&self) -> *const c_void {
14313 self.next
14314 }
14315}
14316
14317unsafe impl InputChainStruct for PipelineColorBlendStateCreateInfo {
14318 const TYPE: StructureType = StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
14319
14320 #[inline]
14321 fn s_type(&self) -> StructureType {
14322 self.s_type
14323 }
14324
14325 #[inline]
14326 fn next(&self) -> *const c_void {
14327 self.next
14328 }
14329}
14330
14331unsafe impl InputChainStruct for PipelineColorWriteCreateInfoEXT {
14332 const TYPE: StructureType = StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT;
14333
14334 #[inline]
14335 fn s_type(&self) -> StructureType {
14336 self.s_type
14337 }
14338
14339 #[inline]
14340 fn next(&self) -> *const c_void {
14341 self.next
14342 }
14343}
14344
14345unsafe impl InputChainStruct for PipelineCompilerControlCreateInfoAMD {
14346 const TYPE: StructureType = StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
14347
14348 #[inline]
14349 fn s_type(&self) -> StructureType {
14350 self.s_type
14351 }
14352
14353 #[inline]
14354 fn next(&self) -> *const c_void {
14355 self.next
14356 }
14357}
14358
14359unsafe impl InputChainStruct for PipelineCoverageModulationStateCreateInfoNV {
14360 const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
14361
14362 #[inline]
14363 fn s_type(&self) -> StructureType {
14364 self.s_type
14365 }
14366
14367 #[inline]
14368 fn next(&self) -> *const c_void {
14369 self.next
14370 }
14371}
14372
14373unsafe impl InputChainStruct for PipelineCoverageReductionStateCreateInfoNV {
14374 const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV;
14375
14376 #[inline]
14377 fn s_type(&self) -> StructureType {
14378 self.s_type
14379 }
14380
14381 #[inline]
14382 fn next(&self) -> *const c_void {
14383 self.next
14384 }
14385}
14386
14387unsafe impl InputChainStruct for PipelineCoverageToColorStateCreateInfoNV {
14388 const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
14389
14390 #[inline]
14391 fn s_type(&self) -> StructureType {
14392 self.s_type
14393 }
14394
14395 #[inline]
14396 fn next(&self) -> *const c_void {
14397 self.next
14398 }
14399}
14400
14401unsafe impl InputChainStruct for PipelineCreateFlags2CreateInfo {
14402 const TYPE: StructureType = StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO;
14403
14404 #[inline]
14405 fn s_type(&self) -> StructureType {
14406 self.s_type
14407 }
14408
14409 #[inline]
14410 fn next(&self) -> *const c_void {
14411 self.next
14412 }
14413}
14414
14415unsafe impl InputChainStruct for PipelineCreateInfoKHR {
14416 const TYPE: StructureType = StructureType::PIPELINE_CREATE_INFO_KHR;
14417
14418 #[inline]
14419 fn s_type(&self) -> StructureType {
14420 self.s_type
14421 }
14422
14423 #[inline]
14424 fn next(&self) -> *const c_void {
14425 self.next
14426 }
14427}
14428
14429unsafe impl OutputChainStruct for PipelineCreateInfoKHR {
14430 #[inline]
14431 fn next_mut(&self) -> *mut c_void {
14432 self.next
14433 }
14434}
14435
14436unsafe impl InputChainStruct for PipelineCreationFeedbackCreateInfo {
14437 const TYPE: StructureType = StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO;
14438
14439 #[inline]
14440 fn s_type(&self) -> StructureType {
14441 self.s_type
14442 }
14443
14444 #[inline]
14445 fn next(&self) -> *const c_void {
14446 self.next
14447 }
14448}
14449
14450unsafe impl InputChainStruct for PipelineDepthStencilStateCreateInfo {
14451 const TYPE: StructureType = StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
14452
14453 #[inline]
14454 fn s_type(&self) -> StructureType {
14455 self.s_type
14456 }
14457
14458 #[inline]
14459 fn next(&self) -> *const c_void {
14460 self.next
14461 }
14462}
14463
14464unsafe impl InputChainStruct for PipelineDiscardRectangleStateCreateInfoEXT {
14465 const TYPE: StructureType = StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
14466
14467 #[inline]
14468 fn s_type(&self) -> StructureType {
14469 self.s_type
14470 }
14471
14472 #[inline]
14473 fn next(&self) -> *const c_void {
14474 self.next
14475 }
14476}
14477
14478unsafe impl InputChainStruct for PipelineDynamicStateCreateInfo {
14479 const TYPE: StructureType = StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO;
14480
14481 #[inline]
14482 fn s_type(&self) -> StructureType {
14483 self.s_type
14484 }
14485
14486 #[inline]
14487 fn next(&self) -> *const c_void {
14488 self.next
14489 }
14490}
14491
14492unsafe impl InputChainStruct for PipelineExecutableInfoKHR {
14493 const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_INFO_KHR;
14494
14495 #[inline]
14496 fn s_type(&self) -> StructureType {
14497 self.s_type
14498 }
14499
14500 #[inline]
14501 fn next(&self) -> *const c_void {
14502 self.next
14503 }
14504}
14505
14506unsafe impl InputChainStruct for PipelineExecutableInternalRepresentationKHR {
14507 const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR;
14508
14509 #[inline]
14510 fn s_type(&self) -> StructureType {
14511 self.s_type
14512 }
14513
14514 #[inline]
14515 fn next(&self) -> *const c_void {
14516 self.next
14517 }
14518}
14519
14520unsafe impl OutputChainStruct for PipelineExecutableInternalRepresentationKHR {
14521 #[inline]
14522 fn next_mut(&self) -> *mut c_void {
14523 self.next
14524 }
14525}
14526
14527unsafe impl InputChainStruct for PipelineExecutablePropertiesKHR {
14528 const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR;
14529
14530 #[inline]
14531 fn s_type(&self) -> StructureType {
14532 self.s_type
14533 }
14534
14535 #[inline]
14536 fn next(&self) -> *const c_void {
14537 self.next
14538 }
14539}
14540
14541unsafe impl OutputChainStruct for PipelineExecutablePropertiesKHR {
14542 #[inline]
14543 fn next_mut(&self) -> *mut c_void {
14544 self.next
14545 }
14546}
14547
14548unsafe impl InputChainStruct for PipelineExecutableStatisticKHR {
14549 const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR;
14550
14551 #[inline]
14552 fn s_type(&self) -> StructureType {
14553 self.s_type
14554 }
14555
14556 #[inline]
14557 fn next(&self) -> *const c_void {
14558 self.next
14559 }
14560}
14561
14562unsafe impl OutputChainStruct for PipelineExecutableStatisticKHR {
14563 #[inline]
14564 fn next_mut(&self) -> *mut c_void {
14565 self.next
14566 }
14567}
14568
14569unsafe impl InputChainStruct for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
14570 const TYPE: StructureType =
14571 StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE;
14572
14573 #[inline]
14574 fn s_type(&self) -> StructureType {
14575 self.s_type
14576 }
14577
14578 #[inline]
14579 fn next(&self) -> *const c_void {
14580 self.next
14581 }
14582}
14583
14584unsafe impl InputChainStruct for PipelineFragmentShadingRateEnumStateCreateInfoNV {
14585 const TYPE: StructureType =
14586 StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
14587
14588 #[inline]
14589 fn s_type(&self) -> StructureType {
14590 self.s_type
14591 }
14592
14593 #[inline]
14594 fn next(&self) -> *const c_void {
14595 self.next
14596 }
14597}
14598
14599unsafe impl InputChainStruct for PipelineFragmentShadingRateStateCreateInfoKHR {
14600 const TYPE: StructureType = StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR;
14601
14602 #[inline]
14603 fn s_type(&self) -> StructureType {
14604 self.s_type
14605 }
14606
14607 #[inline]
14608 fn next(&self) -> *const c_void {
14609 self.next
14610 }
14611}
14612
14613unsafe impl InputChainStruct for PipelineIndirectDeviceAddressInfoNV {
14614 const TYPE: StructureType = StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV;
14615
14616 #[inline]
14617 fn s_type(&self) -> StructureType {
14618 self.s_type
14619 }
14620
14621 #[inline]
14622 fn next(&self) -> *const c_void {
14623 self.next
14624 }
14625}
14626
14627unsafe impl InputChainStruct for PipelineInfoKHR {
14628 const TYPE: StructureType = StructureType::PIPELINE_INFO_KHR;
14629
14630 #[inline]
14631 fn s_type(&self) -> StructureType {
14632 self.s_type
14633 }
14634
14635 #[inline]
14636 fn next(&self) -> *const c_void {
14637 self.next
14638 }
14639}
14640
14641unsafe impl InputChainStruct for PipelineInputAssemblyStateCreateInfo {
14642 const TYPE: StructureType = StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
14643
14644 #[inline]
14645 fn s_type(&self) -> StructureType {
14646 self.s_type
14647 }
14648
14649 #[inline]
14650 fn next(&self) -> *const c_void {
14651 self.next
14652 }
14653}
14654
14655unsafe impl InputChainStruct for PipelineLayoutCreateInfo {
14656 const TYPE: StructureType = StructureType::PIPELINE_LAYOUT_CREATE_INFO;
14657
14658 #[inline]
14659 fn s_type(&self) -> StructureType {
14660 self.s_type
14661 }
14662
14663 #[inline]
14664 fn next(&self) -> *const c_void {
14665 self.next
14666 }
14667}
14668
14669unsafe impl InputChainStruct for PipelineLibraryCreateInfoKHR {
14670 const TYPE: StructureType = StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR;
14671
14672 #[inline]
14673 fn s_type(&self) -> StructureType {
14674 self.s_type
14675 }
14676
14677 #[inline]
14678 fn next(&self) -> *const c_void {
14679 self.next
14680 }
14681}
14682
14683unsafe impl InputChainStruct for PipelineMultisampleStateCreateInfo {
14684 const TYPE: StructureType = StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
14685
14686 #[inline]
14687 fn s_type(&self) -> StructureType {
14688 self.s_type
14689 }
14690
14691 #[inline]
14692 fn next(&self) -> *const c_void {
14693 self.next
14694 }
14695}
14696
14697unsafe impl InputChainStruct for PipelinePropertiesIdentifierEXT {
14698 const TYPE: StructureType = StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT;
14699
14700 #[inline]
14701 fn s_type(&self) -> StructureType {
14702 self.s_type
14703 }
14704
14705 #[inline]
14706 fn next(&self) -> *const c_void {
14707 self.next
14708 }
14709}
14710
14711unsafe impl OutputChainStruct for PipelinePropertiesIdentifierEXT {
14712 #[inline]
14713 fn next_mut(&self) -> *mut c_void {
14714 self.next
14715 }
14716}
14717
14718unsafe impl InputChainStruct for PipelineRasterizationConservativeStateCreateInfoEXT {
14719 const TYPE: StructureType =
14720 StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
14721
14722 #[inline]
14723 fn s_type(&self) -> StructureType {
14724 self.s_type
14725 }
14726
14727 #[inline]
14728 fn next(&self) -> *const c_void {
14729 self.next
14730 }
14731}
14732
14733unsafe impl InputChainStruct for PipelineRasterizationDepthClipStateCreateInfoEXT {
14734 const TYPE: StructureType =
14735 StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
14736
14737 #[inline]
14738 fn s_type(&self) -> StructureType {
14739 self.s_type
14740 }
14741
14742 #[inline]
14743 fn next(&self) -> *const c_void {
14744 self.next
14745 }
14746}
14747
14748unsafe impl InputChainStruct for PipelineRasterizationLineStateCreateInfo {
14749 const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO;
14750
14751 #[inline]
14752 fn s_type(&self) -> StructureType {
14753 self.s_type
14754 }
14755
14756 #[inline]
14757 fn next(&self) -> *const c_void {
14758 self.next
14759 }
14760}
14761
14762unsafe impl InputChainStruct for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
14763 const TYPE: StructureType =
14764 StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT;
14765
14766 #[inline]
14767 fn s_type(&self) -> StructureType {
14768 self.s_type
14769 }
14770
14771 #[inline]
14772 fn next(&self) -> *const c_void {
14773 self.next
14774 }
14775}
14776
14777unsafe impl InputChainStruct for PipelineRasterizationStateCreateInfo {
14778 const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
14779
14780 #[inline]
14781 fn s_type(&self) -> StructureType {
14782 self.s_type
14783 }
14784
14785 #[inline]
14786 fn next(&self) -> *const c_void {
14787 self.next
14788 }
14789}
14790
14791unsafe impl InputChainStruct for PipelineRasterizationStateRasterizationOrderAMD {
14792 const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
14793
14794 #[inline]
14795 fn s_type(&self) -> StructureType {
14796 self.s_type
14797 }
14798
14799 #[inline]
14800 fn next(&self) -> *const c_void {
14801 self.next
14802 }
14803}
14804
14805unsafe impl InputChainStruct for PipelineRasterizationStateStreamCreateInfoEXT {
14806 const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
14807
14808 #[inline]
14809 fn s_type(&self) -> StructureType {
14810 self.s_type
14811 }
14812
14813 #[inline]
14814 fn next(&self) -> *const c_void {
14815 self.next
14816 }
14817}
14818
14819unsafe impl InputChainStruct for PipelineRenderingCreateInfo {
14820 const TYPE: StructureType = StructureType::PIPELINE_RENDERING_CREATE_INFO;
14821
14822 #[inline]
14823 fn s_type(&self) -> StructureType {
14824 self.s_type
14825 }
14826
14827 #[inline]
14828 fn next(&self) -> *const c_void {
14829 self.next
14830 }
14831}
14832
14833unsafe impl InputChainStruct for PipelineRepresentativeFragmentTestStateCreateInfoNV {
14834 const TYPE: StructureType =
14835 StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
14836
14837 #[inline]
14838 fn s_type(&self) -> StructureType {
14839 self.s_type
14840 }
14841
14842 #[inline]
14843 fn next(&self) -> *const c_void {
14844 self.next
14845 }
14846}
14847
14848unsafe impl InputChainStruct for PipelineRobustnessCreateInfo {
14849 const TYPE: StructureType = StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO;
14850
14851 #[inline]
14852 fn s_type(&self) -> StructureType {
14853 self.s_type
14854 }
14855
14856 #[inline]
14857 fn next(&self) -> *const c_void {
14858 self.next
14859 }
14860}
14861
14862unsafe impl InputChainStruct for PipelineSampleLocationsStateCreateInfoEXT {
14863 const TYPE: StructureType = StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
14864
14865 #[inline]
14866 fn s_type(&self) -> StructureType {
14867 self.s_type
14868 }
14869
14870 #[inline]
14871 fn next(&self) -> *const c_void {
14872 self.next
14873 }
14874}
14875
14876unsafe impl InputChainStruct for PipelineShaderStageCreateInfo {
14877 const TYPE: StructureType = StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO;
14878
14879 #[inline]
14880 fn s_type(&self) -> StructureType {
14881 self.s_type
14882 }
14883
14884 #[inline]
14885 fn next(&self) -> *const c_void {
14886 self.next
14887 }
14888}
14889
14890unsafe impl InputChainStruct for PipelineShaderStageModuleIdentifierCreateInfoEXT {
14891 const TYPE: StructureType =
14892 StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT;
14893
14894 #[inline]
14895 fn s_type(&self) -> StructureType {
14896 self.s_type
14897 }
14898
14899 #[inline]
14900 fn next(&self) -> *const c_void {
14901 self.next
14902 }
14903}
14904
14905unsafe impl InputChainStruct for PipelineShaderStageNodeCreateInfoAMDX {
14906 const TYPE: StructureType = StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX;
14907
14908 #[inline]
14909 fn s_type(&self) -> StructureType {
14910 self.s_type
14911 }
14912
14913 #[inline]
14914 fn next(&self) -> *const c_void {
14915 self.next
14916 }
14917}
14918
14919unsafe impl InputChainStruct for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
14920 const TYPE: StructureType =
14921 StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO;
14922
14923 #[inline]
14924 fn s_type(&self) -> StructureType {
14925 self.s_type
14926 }
14927
14928 #[inline]
14929 fn next(&self) -> *const c_void {
14930 self.next
14931 }
14932}
14933
14934unsafe impl InputChainStruct for PipelineTessellationDomainOriginStateCreateInfo {
14935 const TYPE: StructureType =
14936 StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
14937
14938 #[inline]
14939 fn s_type(&self) -> StructureType {
14940 self.s_type
14941 }
14942
14943 #[inline]
14944 fn next(&self) -> *const c_void {
14945 self.next
14946 }
14947}
14948
14949unsafe impl InputChainStruct for PipelineTessellationStateCreateInfo {
14950 const TYPE: StructureType = StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO;
14951
14952 #[inline]
14953 fn s_type(&self) -> StructureType {
14954 self.s_type
14955 }
14956
14957 #[inline]
14958 fn next(&self) -> *const c_void {
14959 self.next
14960 }
14961}
14962
14963unsafe impl InputChainStruct for PipelineVertexInputDivisorStateCreateInfo {
14964 const TYPE: StructureType = StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO;
14965
14966 #[inline]
14967 fn s_type(&self) -> StructureType {
14968 self.s_type
14969 }
14970
14971 #[inline]
14972 fn next(&self) -> *const c_void {
14973 self.next
14974 }
14975}
14976
14977unsafe impl InputChainStruct for PipelineVertexInputStateCreateInfo {
14978 const TYPE: StructureType = StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
14979
14980 #[inline]
14981 fn s_type(&self) -> StructureType {
14982 self.s_type
14983 }
14984
14985 #[inline]
14986 fn next(&self) -> *const c_void {
14987 self.next
14988 }
14989}
14990
14991unsafe impl InputChainStruct for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
14992 const TYPE: StructureType =
14993 StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
14994
14995 #[inline]
14996 fn s_type(&self) -> StructureType {
14997 self.s_type
14998 }
14999
15000 #[inline]
15001 fn next(&self) -> *const c_void {
15002 self.next
15003 }
15004}
15005
15006unsafe impl InputChainStruct for PipelineViewportDepthClampControlCreateInfoEXT {
15007 const TYPE: StructureType =
15008 StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT;
15009
15010 #[inline]
15011 fn s_type(&self) -> StructureType {
15012 self.s_type
15013 }
15014
15015 #[inline]
15016 fn next(&self) -> *const c_void {
15017 self.next
15018 }
15019}
15020
15021unsafe impl InputChainStruct for PipelineViewportDepthClipControlCreateInfoEXT {
15022 const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT;
15023
15024 #[inline]
15025 fn s_type(&self) -> StructureType {
15026 self.s_type
15027 }
15028
15029 #[inline]
15030 fn next(&self) -> *const c_void {
15031 self.next
15032 }
15033}
15034
15035unsafe impl InputChainStruct for PipelineViewportExclusiveScissorStateCreateInfoNV {
15036 const TYPE: StructureType =
15037 StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
15038
15039 #[inline]
15040 fn s_type(&self) -> StructureType {
15041 self.s_type
15042 }
15043
15044 #[inline]
15045 fn next(&self) -> *const c_void {
15046 self.next
15047 }
15048}
15049
15050unsafe impl InputChainStruct for PipelineViewportShadingRateImageStateCreateInfoNV {
15051 const TYPE: StructureType =
15052 StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
15053
15054 #[inline]
15055 fn s_type(&self) -> StructureType {
15056 self.s_type
15057 }
15058
15059 #[inline]
15060 fn next(&self) -> *const c_void {
15061 self.next
15062 }
15063}
15064
15065unsafe impl InputChainStruct for PipelineViewportStateCreateInfo {
15066 const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO;
15067
15068 #[inline]
15069 fn s_type(&self) -> StructureType {
15070 self.s_type
15071 }
15072
15073 #[inline]
15074 fn next(&self) -> *const c_void {
15075 self.next
15076 }
15077}
15078
15079unsafe impl InputChainStruct for PipelineViewportSwizzleStateCreateInfoNV {
15080 const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
15081
15082 #[inline]
15083 fn s_type(&self) -> StructureType {
15084 self.s_type
15085 }
15086
15087 #[inline]
15088 fn next(&self) -> *const c_void {
15089 self.next
15090 }
15091}
15092
15093unsafe impl InputChainStruct for PipelineViewportWScalingStateCreateInfoNV {
15094 const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
15095
15096 #[inline]
15097 fn s_type(&self) -> StructureType {
15098 self.s_type
15099 }
15100
15101 #[inline]
15102 fn next(&self) -> *const c_void {
15103 self.next
15104 }
15105}
15106
15107unsafe impl InputChainStruct for PresentFrameTokenGGP {
15108 const TYPE: StructureType = StructureType::PRESENT_FRAME_TOKEN_GGP;
15109
15110 #[inline]
15111 fn s_type(&self) -> StructureType {
15112 self.s_type
15113 }
15114
15115 #[inline]
15116 fn next(&self) -> *const c_void {
15117 self.next
15118 }
15119}
15120
15121unsafe impl InputChainStruct for PresentId2KHR {
15122 const TYPE: StructureType = StructureType::PRESENT_ID_2_KHR;
15123
15124 #[inline]
15125 fn s_type(&self) -> StructureType {
15126 self.s_type
15127 }
15128
15129 #[inline]
15130 fn next(&self) -> *const c_void {
15131 self.next
15132 }
15133}
15134
15135unsafe impl InputChainStruct for PresentIdKHR {
15136 const TYPE: StructureType = StructureType::PRESENT_ID_KHR;
15137
15138 #[inline]
15139 fn s_type(&self) -> StructureType {
15140 self.s_type
15141 }
15142
15143 #[inline]
15144 fn next(&self) -> *const c_void {
15145 self.next
15146 }
15147}
15148
15149unsafe impl InputChainStruct for PresentInfoKHR {
15150 const TYPE: StructureType = StructureType::PRESENT_INFO_KHR;
15151
15152 #[inline]
15153 fn s_type(&self) -> StructureType {
15154 self.s_type
15155 }
15156
15157 #[inline]
15158 fn next(&self) -> *const c_void {
15159 self.next
15160 }
15161}
15162
15163unsafe impl InputChainStruct for PresentRegionsKHR {
15164 const TYPE: StructureType = StructureType::PRESENT_REGIONS_KHR;
15165
15166 #[inline]
15167 fn s_type(&self) -> StructureType {
15168 self.s_type
15169 }
15170
15171 #[inline]
15172 fn next(&self) -> *const c_void {
15173 self.next
15174 }
15175}
15176
15177unsafe impl InputChainStruct for PresentTimesInfoGOOGLE {
15178 const TYPE: StructureType = StructureType::PRESENT_TIMES_INFO_GOOGLE;
15179
15180 #[inline]
15181 fn s_type(&self) -> StructureType {
15182 self.s_type
15183 }
15184
15185 #[inline]
15186 fn next(&self) -> *const c_void {
15187 self.next
15188 }
15189}
15190
15191unsafe impl InputChainStruct for PresentWait2InfoKHR {
15192 const TYPE: StructureType = StructureType::PRESENT_WAIT_2_INFO_KHR;
15193
15194 #[inline]
15195 fn s_type(&self) -> StructureType {
15196 self.s_type
15197 }
15198
15199 #[inline]
15200 fn next(&self) -> *const c_void {
15201 self.next
15202 }
15203}
15204
15205unsafe impl InputChainStruct for PrivateDataSlotCreateInfo {
15206 const TYPE: StructureType = StructureType::PRIVATE_DATA_SLOT_CREATE_INFO;
15207
15208 #[inline]
15209 fn s_type(&self) -> StructureType {
15210 self.s_type
15211 }
15212
15213 #[inline]
15214 fn next(&self) -> *const c_void {
15215 self.next
15216 }
15217}
15218
15219unsafe impl InputChainStruct for ProtectedSubmitInfo {
15220 const TYPE: StructureType = StructureType::PROTECTED_SUBMIT_INFO;
15221
15222 #[inline]
15223 fn s_type(&self) -> StructureType {
15224 self.s_type
15225 }
15226
15227 #[inline]
15228 fn next(&self) -> *const c_void {
15229 self.next
15230 }
15231}
15232
15233unsafe impl InputChainStruct for PushConstantsInfo {
15234 const TYPE: StructureType = StructureType::PUSH_CONSTANTS_INFO;
15235
15236 #[inline]
15237 fn s_type(&self) -> StructureType {
15238 self.s_type
15239 }
15240
15241 #[inline]
15242 fn next(&self) -> *const c_void {
15243 self.next
15244 }
15245}
15246
15247unsafe impl InputChainStruct for PushDescriptorSetInfo {
15248 const TYPE: StructureType = StructureType::PUSH_DESCRIPTOR_SET_INFO;
15249
15250 #[inline]
15251 fn s_type(&self) -> StructureType {
15252 self.s_type
15253 }
15254
15255 #[inline]
15256 fn next(&self) -> *const c_void {
15257 self.next
15258 }
15259}
15260
15261unsafe impl InputChainStruct for PushDescriptorSetWithTemplateInfo {
15262 const TYPE: StructureType = StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO;
15263
15264 #[inline]
15265 fn s_type(&self) -> StructureType {
15266 self.s_type
15267 }
15268
15269 #[inline]
15270 fn next(&self) -> *const c_void {
15271 self.next
15272 }
15273}
15274
15275unsafe impl InputChainStruct for QueryLowLatencySupportNV {
15276 const TYPE: StructureType = StructureType::QUERY_LOW_LATENCY_SUPPORT_NV;
15277
15278 #[inline]
15279 fn s_type(&self) -> StructureType {
15280 self.s_type
15281 }
15282
15283 #[inline]
15284 fn next(&self) -> *const c_void {
15285 self.next
15286 }
15287}
15288
15289unsafe impl InputChainStruct for QueryPoolCreateInfo {
15290 const TYPE: StructureType = StructureType::QUERY_POOL_CREATE_INFO;
15291
15292 #[inline]
15293 fn s_type(&self) -> StructureType {
15294 self.s_type
15295 }
15296
15297 #[inline]
15298 fn next(&self) -> *const c_void {
15299 self.next
15300 }
15301}
15302
15303unsafe impl InputChainStruct for QueryPoolPerformanceCreateInfoKHR {
15304 const TYPE: StructureType = StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR;
15305
15306 #[inline]
15307 fn s_type(&self) -> StructureType {
15308 self.s_type
15309 }
15310
15311 #[inline]
15312 fn next(&self) -> *const c_void {
15313 self.next
15314 }
15315}
15316
15317unsafe impl InputChainStruct for QueryPoolPerformanceQueryCreateInfoINTEL {
15318 const TYPE: StructureType = StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
15319
15320 #[inline]
15321 fn s_type(&self) -> StructureType {
15322 self.s_type
15323 }
15324
15325 #[inline]
15326 fn next(&self) -> *const c_void {
15327 self.next
15328 }
15329}
15330
15331unsafe impl InputChainStruct for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
15332 const TYPE: StructureType = StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR;
15333
15334 #[inline]
15335 fn s_type(&self) -> StructureType {
15336 self.s_type
15337 }
15338
15339 #[inline]
15340 fn next(&self) -> *const c_void {
15341 self.next
15342 }
15343}
15344
15345unsafe impl InputChainStruct for QueueFamilyCheckpointProperties2NV {
15346 const TYPE: StructureType = StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV;
15347
15348 #[inline]
15349 fn s_type(&self) -> StructureType {
15350 self.s_type
15351 }
15352
15353 #[inline]
15354 fn next(&self) -> *const c_void {
15355 self.next
15356 }
15357}
15358
15359unsafe impl OutputChainStruct for QueueFamilyCheckpointProperties2NV {
15360 #[inline]
15361 fn next_mut(&self) -> *mut c_void {
15362 self.next
15363 }
15364}
15365
15366unsafe impl InputChainStruct for QueueFamilyCheckpointPropertiesNV {
15367 const TYPE: StructureType = StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
15368
15369 #[inline]
15370 fn s_type(&self) -> StructureType {
15371 self.s_type
15372 }
15373
15374 #[inline]
15375 fn next(&self) -> *const c_void {
15376 self.next
15377 }
15378}
15379
15380unsafe impl OutputChainStruct for QueueFamilyCheckpointPropertiesNV {
15381 #[inline]
15382 fn next_mut(&self) -> *mut c_void {
15383 self.next
15384 }
15385}
15386
15387unsafe impl InputChainStruct for QueueFamilyDataGraphProcessingEnginePropertiesARM {
15388 const TYPE: StructureType =
15389 StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM;
15390
15391 #[inline]
15392 fn s_type(&self) -> StructureType {
15393 self.s_type
15394 }
15395
15396 #[inline]
15397 fn next(&self) -> *const c_void {
15398 self.next
15399 }
15400}
15401
15402unsafe impl InputChainStruct for QueueFamilyDataGraphPropertiesARM {
15403 const TYPE: StructureType = StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM;
15404
15405 #[inline]
15406 fn s_type(&self) -> StructureType {
15407 self.s_type
15408 }
15409
15410 #[inline]
15411 fn next(&self) -> *const c_void {
15412 self.next
15413 }
15414}
15415
15416unsafe impl InputChainStruct for QueueFamilyGlobalPriorityProperties {
15417 const TYPE: StructureType = StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES;
15418
15419 #[inline]
15420 fn s_type(&self) -> StructureType {
15421 self.s_type
15422 }
15423
15424 #[inline]
15425 fn next(&self) -> *const c_void {
15426 self.next
15427 }
15428}
15429
15430unsafe impl OutputChainStruct for QueueFamilyGlobalPriorityProperties {
15431 #[inline]
15432 fn next_mut(&self) -> *mut c_void {
15433 self.next
15434 }
15435}
15436
15437unsafe impl InputChainStruct for QueueFamilyOwnershipTransferPropertiesKHR {
15438 const TYPE: StructureType = StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR;
15439
15440 #[inline]
15441 fn s_type(&self) -> StructureType {
15442 self.s_type
15443 }
15444
15445 #[inline]
15446 fn next(&self) -> *const c_void {
15447 self.next
15448 }
15449}
15450
15451unsafe impl OutputChainStruct for QueueFamilyOwnershipTransferPropertiesKHR {
15452 #[inline]
15453 fn next_mut(&self) -> *mut c_void {
15454 self.next
15455 }
15456}
15457
15458unsafe impl InputChainStruct for QueueFamilyProperties2 {
15459 const TYPE: StructureType = StructureType::QUEUE_FAMILY_PROPERTIES_2;
15460
15461 #[inline]
15462 fn s_type(&self) -> StructureType {
15463 self.s_type
15464 }
15465
15466 #[inline]
15467 fn next(&self) -> *const c_void {
15468 self.next
15469 }
15470}
15471
15472unsafe impl OutputChainStruct for QueueFamilyProperties2 {
15473 #[inline]
15474 fn next_mut(&self) -> *mut c_void {
15475 self.next
15476 }
15477}
15478
15479unsafe impl InputChainStruct for QueueFamilyQueryResultStatusPropertiesKHR {
15480 const TYPE: StructureType = StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR;
15481
15482 #[inline]
15483 fn s_type(&self) -> StructureType {
15484 self.s_type
15485 }
15486
15487 #[inline]
15488 fn next(&self) -> *const c_void {
15489 self.next
15490 }
15491}
15492
15493unsafe impl OutputChainStruct for QueueFamilyQueryResultStatusPropertiesKHR {
15494 #[inline]
15495 fn next_mut(&self) -> *mut c_void {
15496 self.next
15497 }
15498}
15499
15500unsafe impl InputChainStruct for QueueFamilyVideoPropertiesKHR {
15501 const TYPE: StructureType = StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR;
15502
15503 #[inline]
15504 fn s_type(&self) -> StructureType {
15505 self.s_type
15506 }
15507
15508 #[inline]
15509 fn next(&self) -> *const c_void {
15510 self.next
15511 }
15512}
15513
15514unsafe impl OutputChainStruct for QueueFamilyVideoPropertiesKHR {
15515 #[inline]
15516 fn next_mut(&self) -> *mut c_void {
15517 self.next
15518 }
15519}
15520
15521unsafe impl InputChainStruct for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
15522 const TYPE: StructureType =
15523 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
15524
15525 #[inline]
15526 fn s_type(&self) -> StructureType {
15527 self.s_type
15528 }
15529
15530 #[inline]
15531 fn next(&self) -> *const c_void {
15532 self.next
15533 }
15534}
15535
15536unsafe impl OutputChainStruct for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
15537 #[inline]
15538 fn next_mut(&self) -> *mut c_void {
15539 self.next
15540 }
15541}
15542
15543unsafe impl InputChainStruct for RayTracingPipelineCreateInfoKHR {
15544 const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR;
15545
15546 #[inline]
15547 fn s_type(&self) -> StructureType {
15548 self.s_type
15549 }
15550
15551 #[inline]
15552 fn next(&self) -> *const c_void {
15553 self.next
15554 }
15555}
15556
15557unsafe impl InputChainStruct for RayTracingPipelineCreateInfoNV {
15558 const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV;
15559
15560 #[inline]
15561 fn s_type(&self) -> StructureType {
15562 self.s_type
15563 }
15564
15565 #[inline]
15566 fn next(&self) -> *const c_void {
15567 self.next
15568 }
15569}
15570
15571unsafe impl InputChainStruct for RayTracingPipelineInterfaceCreateInfoKHR {
15572 const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR;
15573
15574 #[inline]
15575 fn s_type(&self) -> StructureType {
15576 self.s_type
15577 }
15578
15579 #[inline]
15580 fn next(&self) -> *const c_void {
15581 self.next
15582 }
15583}
15584
15585unsafe impl InputChainStruct for RayTracingShaderGroupCreateInfoKHR {
15586 const TYPE: StructureType = StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR;
15587
15588 #[inline]
15589 fn s_type(&self) -> StructureType {
15590 self.s_type
15591 }
15592
15593 #[inline]
15594 fn next(&self) -> *const c_void {
15595 self.next
15596 }
15597}
15598
15599unsafe impl InputChainStruct for RayTracingShaderGroupCreateInfoNV {
15600 const TYPE: StructureType = StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
15601
15602 #[inline]
15603 fn s_type(&self) -> StructureType {
15604 self.s_type
15605 }
15606
15607 #[inline]
15608 fn next(&self) -> *const c_void {
15609 self.next
15610 }
15611}
15612
15613unsafe impl InputChainStruct for RefreshObjectListKHR {
15614 const TYPE: StructureType = StructureType::REFRESH_OBJECT_LIST_KHR;
15615
15616 #[inline]
15617 fn s_type(&self) -> StructureType {
15618 self.s_type
15619 }
15620
15621 #[inline]
15622 fn next(&self) -> *const c_void {
15623 self.next
15624 }
15625}
15626
15627unsafe impl InputChainStruct for ReleaseCapturedPipelineDataInfoKHR {
15628 const TYPE: StructureType = StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR;
15629
15630 #[inline]
15631 fn s_type(&self) -> StructureType {
15632 self.s_type
15633 }
15634
15635 #[inline]
15636 fn next(&self) -> *const c_void {
15637 self.next
15638 }
15639}
15640
15641unsafe impl OutputChainStruct for ReleaseCapturedPipelineDataInfoKHR {
15642 #[inline]
15643 fn next_mut(&self) -> *mut c_void {
15644 self.next
15645 }
15646}
15647
15648unsafe impl InputChainStruct for ReleaseSwapchainImagesInfoKHR {
15649 const TYPE: StructureType = StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR;
15650
15651 #[inline]
15652 fn s_type(&self) -> StructureType {
15653 self.s_type
15654 }
15655
15656 #[inline]
15657 fn next(&self) -> *const c_void {
15658 self.next
15659 }
15660}
15661
15662unsafe impl InputChainStruct for RenderPassAttachmentBeginInfo {
15663 const TYPE: StructureType = StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO;
15664
15665 #[inline]
15666 fn s_type(&self) -> StructureType {
15667 self.s_type
15668 }
15669
15670 #[inline]
15671 fn next(&self) -> *const c_void {
15672 self.next
15673 }
15674}
15675
15676unsafe impl InputChainStruct for RenderPassBeginInfo {
15677 const TYPE: StructureType = StructureType::RENDER_PASS_BEGIN_INFO;
15678
15679 #[inline]
15680 fn s_type(&self) -> StructureType {
15681 self.s_type
15682 }
15683
15684 #[inline]
15685 fn next(&self) -> *const c_void {
15686 self.next
15687 }
15688}
15689
15690unsafe impl InputChainStruct for RenderPassCreateInfo {
15691 const TYPE: StructureType = StructureType::RENDER_PASS_CREATE_INFO;
15692
15693 #[inline]
15694 fn s_type(&self) -> StructureType {
15695 self.s_type
15696 }
15697
15698 #[inline]
15699 fn next(&self) -> *const c_void {
15700 self.next
15701 }
15702}
15703
15704unsafe impl InputChainStruct for RenderPassCreateInfo2 {
15705 const TYPE: StructureType = StructureType::RENDER_PASS_CREATE_INFO_2;
15706
15707 #[inline]
15708 fn s_type(&self) -> StructureType {
15709 self.s_type
15710 }
15711
15712 #[inline]
15713 fn next(&self) -> *const c_void {
15714 self.next
15715 }
15716}
15717
15718unsafe impl InputChainStruct for RenderPassCreationControlEXT {
15719 const TYPE: StructureType = StructureType::RENDER_PASS_CREATION_CONTROL_EXT;
15720
15721 #[inline]
15722 fn s_type(&self) -> StructureType {
15723 self.s_type
15724 }
15725
15726 #[inline]
15727 fn next(&self) -> *const c_void {
15728 self.next
15729 }
15730}
15731
15732unsafe impl InputChainStruct for RenderPassCreationFeedbackCreateInfoEXT {
15733 const TYPE: StructureType = StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT;
15734
15735 #[inline]
15736 fn s_type(&self) -> StructureType {
15737 self.s_type
15738 }
15739
15740 #[inline]
15741 fn next(&self) -> *const c_void {
15742 self.next
15743 }
15744}
15745
15746unsafe impl InputChainStruct for RenderPassFragmentDensityMapCreateInfoEXT {
15747 const TYPE: StructureType = StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
15748
15749 #[inline]
15750 fn s_type(&self) -> StructureType {
15751 self.s_type
15752 }
15753
15754 #[inline]
15755 fn next(&self) -> *const c_void {
15756 self.next
15757 }
15758}
15759
15760unsafe impl InputChainStruct for RenderPassFragmentDensityMapOffsetEndInfoEXT {
15761 const TYPE: StructureType = StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT;
15762
15763 #[inline]
15764 fn s_type(&self) -> StructureType {
15765 self.s_type
15766 }
15767
15768 #[inline]
15769 fn next(&self) -> *const c_void {
15770 self.next
15771 }
15772}
15773
15774unsafe impl InputChainStruct for RenderPassInputAttachmentAspectCreateInfo {
15775 const TYPE: StructureType = StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
15776
15777 #[inline]
15778 fn s_type(&self) -> StructureType {
15779 self.s_type
15780 }
15781
15782 #[inline]
15783 fn next(&self) -> *const c_void {
15784 self.next
15785 }
15786}
15787
15788unsafe impl InputChainStruct for RenderPassMultiviewCreateInfo {
15789 const TYPE: StructureType = StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO;
15790
15791 #[inline]
15792 fn s_type(&self) -> StructureType {
15793 self.s_type
15794 }
15795
15796 #[inline]
15797 fn next(&self) -> *const c_void {
15798 self.next
15799 }
15800}
15801
15802unsafe impl InputChainStruct for RenderPassSampleLocationsBeginInfoEXT {
15803 const TYPE: StructureType = StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
15804
15805 #[inline]
15806 fn s_type(&self) -> StructureType {
15807 self.s_type
15808 }
15809
15810 #[inline]
15811 fn next(&self) -> *const c_void {
15812 self.next
15813 }
15814}
15815
15816unsafe impl InputChainStruct for RenderPassStripeBeginInfoARM {
15817 const TYPE: StructureType = StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM;
15818
15819 #[inline]
15820 fn s_type(&self) -> StructureType {
15821 self.s_type
15822 }
15823
15824 #[inline]
15825 fn next(&self) -> *const c_void {
15826 self.next
15827 }
15828}
15829
15830unsafe impl InputChainStruct for RenderPassStripeInfoARM {
15831 const TYPE: StructureType = StructureType::RENDER_PASS_STRIPE_INFO_ARM;
15832
15833 #[inline]
15834 fn s_type(&self) -> StructureType {
15835 self.s_type
15836 }
15837
15838 #[inline]
15839 fn next(&self) -> *const c_void {
15840 self.next
15841 }
15842}
15843
15844unsafe impl InputChainStruct for RenderPassStripeSubmitInfoARM {
15845 const TYPE: StructureType = StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM;
15846
15847 #[inline]
15848 fn s_type(&self) -> StructureType {
15849 self.s_type
15850 }
15851
15852 #[inline]
15853 fn next(&self) -> *const c_void {
15854 self.next
15855 }
15856}
15857
15858unsafe impl InputChainStruct for RenderPassSubpassFeedbackCreateInfoEXT {
15859 const TYPE: StructureType = StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT;
15860
15861 #[inline]
15862 fn s_type(&self) -> StructureType {
15863 self.s_type
15864 }
15865
15866 #[inline]
15867 fn next(&self) -> *const c_void {
15868 self.next
15869 }
15870}
15871
15872unsafe impl InputChainStruct for RenderPassTileShadingCreateInfoQCOM {
15873 const TYPE: StructureType = StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM;
15874
15875 #[inline]
15876 fn s_type(&self) -> StructureType {
15877 self.s_type
15878 }
15879
15880 #[inline]
15881 fn next(&self) -> *const c_void {
15882 self.next
15883 }
15884}
15885
15886unsafe impl InputChainStruct for RenderPassTransformBeginInfoQCOM {
15887 const TYPE: StructureType = StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
15888
15889 #[inline]
15890 fn s_type(&self) -> StructureType {
15891 self.s_type
15892 }
15893
15894 #[inline]
15895 fn next(&self) -> *const c_void {
15896 self.next
15897 }
15898}
15899
15900unsafe impl InputChainStruct for RenderingAreaInfo {
15901 const TYPE: StructureType = StructureType::RENDERING_AREA_INFO;
15902
15903 #[inline]
15904 fn s_type(&self) -> StructureType {
15905 self.s_type
15906 }
15907
15908 #[inline]
15909 fn next(&self) -> *const c_void {
15910 self.next
15911 }
15912}
15913
15914unsafe impl InputChainStruct for RenderingAttachmentInfo {
15915 const TYPE: StructureType = StructureType::RENDERING_ATTACHMENT_INFO;
15916
15917 #[inline]
15918 fn s_type(&self) -> StructureType {
15919 self.s_type
15920 }
15921
15922 #[inline]
15923 fn next(&self) -> *const c_void {
15924 self.next
15925 }
15926}
15927
15928unsafe impl InputChainStruct for RenderingAttachmentLocationInfo {
15929 const TYPE: StructureType = StructureType::RENDERING_ATTACHMENT_LOCATION_INFO;
15930
15931 #[inline]
15932 fn s_type(&self) -> StructureType {
15933 self.s_type
15934 }
15935
15936 #[inline]
15937 fn next(&self) -> *const c_void {
15938 self.next
15939 }
15940}
15941
15942unsafe impl InputChainStruct for RenderingEndInfoEXT {
15943 const TYPE: StructureType = StructureType::RENDERING_END_INFO_EXT;
15944
15945 #[inline]
15946 fn s_type(&self) -> StructureType {
15947 self.s_type
15948 }
15949
15950 #[inline]
15951 fn next(&self) -> *const c_void {
15952 self.next
15953 }
15954}
15955
15956unsafe impl InputChainStruct for RenderingFragmentDensityMapAttachmentInfoEXT {
15957 const TYPE: StructureType = StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT;
15958
15959 #[inline]
15960 fn s_type(&self) -> StructureType {
15961 self.s_type
15962 }
15963
15964 #[inline]
15965 fn next(&self) -> *const c_void {
15966 self.next
15967 }
15968}
15969
15970unsafe impl InputChainStruct for RenderingFragmentShadingRateAttachmentInfoKHR {
15971 const TYPE: StructureType = StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
15972
15973 #[inline]
15974 fn s_type(&self) -> StructureType {
15975 self.s_type
15976 }
15977
15978 #[inline]
15979 fn next(&self) -> *const c_void {
15980 self.next
15981 }
15982}
15983
15984unsafe impl InputChainStruct for RenderingInfo {
15985 const TYPE: StructureType = StructureType::RENDERING_INFO;
15986
15987 #[inline]
15988 fn s_type(&self) -> StructureType {
15989 self.s_type
15990 }
15991
15992 #[inline]
15993 fn next(&self) -> *const c_void {
15994 self.next
15995 }
15996}
15997
15998unsafe impl InputChainStruct for RenderingInputAttachmentIndexInfo {
15999 const TYPE: StructureType = StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO;
16000
16001 #[inline]
16002 fn s_type(&self) -> StructureType {
16003 self.s_type
16004 }
16005
16006 #[inline]
16007 fn next(&self) -> *const c_void {
16008 self.next
16009 }
16010}
16011
16012unsafe impl InputChainStruct for ResolveImageInfo2 {
16013 const TYPE: StructureType = StructureType::RESOLVE_IMAGE_INFO_2;
16014
16015 #[inline]
16016 fn s_type(&self) -> StructureType {
16017 self.s_type
16018 }
16019
16020 #[inline]
16021 fn next(&self) -> *const c_void {
16022 self.next
16023 }
16024}
16025
16026unsafe impl InputChainStruct for SampleLocationsInfoEXT {
16027 const TYPE: StructureType = StructureType::SAMPLE_LOCATIONS_INFO_EXT;
16028
16029 #[inline]
16030 fn s_type(&self) -> StructureType {
16031 self.s_type
16032 }
16033
16034 #[inline]
16035 fn next(&self) -> *const c_void {
16036 self.next
16037 }
16038}
16039
16040unsafe impl InputChainStruct for SamplerBlockMatchWindowCreateInfoQCOM {
16041 const TYPE: StructureType = StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM;
16042
16043 #[inline]
16044 fn s_type(&self) -> StructureType {
16045 self.s_type
16046 }
16047
16048 #[inline]
16049 fn next(&self) -> *const c_void {
16050 self.next
16051 }
16052}
16053
16054unsafe impl InputChainStruct for SamplerBorderColorComponentMappingCreateInfoEXT {
16055 const TYPE: StructureType =
16056 StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT;
16057
16058 #[inline]
16059 fn s_type(&self) -> StructureType {
16060 self.s_type
16061 }
16062
16063 #[inline]
16064 fn next(&self) -> *const c_void {
16065 self.next
16066 }
16067}
16068
16069unsafe impl InputChainStruct for SamplerCaptureDescriptorDataInfoEXT {
16070 const TYPE: StructureType = StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
16071
16072 #[inline]
16073 fn s_type(&self) -> StructureType {
16074 self.s_type
16075 }
16076
16077 #[inline]
16078 fn next(&self) -> *const c_void {
16079 self.next
16080 }
16081}
16082
16083unsafe impl InputChainStruct for SamplerCreateInfo {
16084 const TYPE: StructureType = StructureType::SAMPLER_CREATE_INFO;
16085
16086 #[inline]
16087 fn s_type(&self) -> StructureType {
16088 self.s_type
16089 }
16090
16091 #[inline]
16092 fn next(&self) -> *const c_void {
16093 self.next
16094 }
16095}
16096
16097unsafe impl InputChainStruct for SamplerCubicWeightsCreateInfoQCOM {
16098 const TYPE: StructureType = StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM;
16099
16100 #[inline]
16101 fn s_type(&self) -> StructureType {
16102 self.s_type
16103 }
16104
16105 #[inline]
16106 fn next(&self) -> *const c_void {
16107 self.next
16108 }
16109}
16110
16111unsafe impl InputChainStruct for SamplerCustomBorderColorCreateInfoEXT {
16112 const TYPE: StructureType = StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT;
16113
16114 #[inline]
16115 fn s_type(&self) -> StructureType {
16116 self.s_type
16117 }
16118
16119 #[inline]
16120 fn next(&self) -> *const c_void {
16121 self.next
16122 }
16123}
16124
16125unsafe impl InputChainStruct for SamplerReductionModeCreateInfo {
16126 const TYPE: StructureType = StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO;
16127
16128 #[inline]
16129 fn s_type(&self) -> StructureType {
16130 self.s_type
16131 }
16132
16133 #[inline]
16134 fn next(&self) -> *const c_void {
16135 self.next
16136 }
16137}
16138
16139unsafe impl InputChainStruct for SamplerYcbcrConversionCreateInfo {
16140 const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
16141
16142 #[inline]
16143 fn s_type(&self) -> StructureType {
16144 self.s_type
16145 }
16146
16147 #[inline]
16148 fn next(&self) -> *const c_void {
16149 self.next
16150 }
16151}
16152
16153unsafe impl InputChainStruct for SamplerYcbcrConversionImageFormatProperties {
16154 const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
16155
16156 #[inline]
16157 fn s_type(&self) -> StructureType {
16158 self.s_type
16159 }
16160
16161 #[inline]
16162 fn next(&self) -> *const c_void {
16163 self.next
16164 }
16165}
16166
16167unsafe impl OutputChainStruct for SamplerYcbcrConversionImageFormatProperties {
16168 #[inline]
16169 fn next_mut(&self) -> *mut c_void {
16170 self.next
16171 }
16172}
16173
16174unsafe impl InputChainStruct for SamplerYcbcrConversionInfo {
16175 const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_INFO;
16176
16177 #[inline]
16178 fn s_type(&self) -> StructureType {
16179 self.s_type
16180 }
16181
16182 #[inline]
16183 fn next(&self) -> *const c_void {
16184 self.next
16185 }
16186}
16187
16188unsafe impl InputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
16189 const TYPE: StructureType =
16190 StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM;
16191
16192 #[inline]
16193 fn s_type(&self) -> StructureType {
16194 self.s_type
16195 }
16196
16197 #[inline]
16198 fn next(&self) -> *const c_void {
16199 self.next
16200 }
16201}
16202
16203unsafe impl OutputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
16204 #[inline]
16205 fn next_mut(&self) -> *mut c_void {
16206 self.next
16207 }
16208}
16209
16210unsafe impl InputChainStruct for SciSyncAttributesInfoNV {
16211 const TYPE: StructureType = StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV;
16212
16213 #[inline]
16214 fn s_type(&self) -> StructureType {
16215 self.s_type
16216 }
16217
16218 #[inline]
16219 fn next(&self) -> *const c_void {
16220 self.next
16221 }
16222}
16223
16224unsafe impl InputChainStruct for ScreenBufferFormatPropertiesQNX {
16225 const TYPE: StructureType = StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX;
16226
16227 #[inline]
16228 fn s_type(&self) -> StructureType {
16229 self.s_type
16230 }
16231
16232 #[inline]
16233 fn next(&self) -> *const c_void {
16234 self.next
16235 }
16236}
16237
16238unsafe impl OutputChainStruct for ScreenBufferFormatPropertiesQNX {
16239 #[inline]
16240 fn next_mut(&self) -> *mut c_void {
16241 self.next
16242 }
16243}
16244
16245unsafe impl InputChainStruct for ScreenBufferPropertiesQNX {
16246 const TYPE: StructureType = StructureType::SCREEN_BUFFER_PROPERTIES_QNX;
16247
16248 #[inline]
16249 fn s_type(&self) -> StructureType {
16250 self.s_type
16251 }
16252
16253 #[inline]
16254 fn next(&self) -> *const c_void {
16255 self.next
16256 }
16257}
16258
16259unsafe impl OutputChainStruct for ScreenBufferPropertiesQNX {
16260 #[inline]
16261 fn next_mut(&self) -> *mut c_void {
16262 self.next
16263 }
16264}
16265
16266unsafe impl InputChainStruct for ScreenSurfaceCreateInfoQNX {
16267 const TYPE: StructureType = StructureType::SCREEN_SURFACE_CREATE_INFO_QNX;
16268
16269 #[inline]
16270 fn s_type(&self) -> StructureType {
16271 self.s_type
16272 }
16273
16274 #[inline]
16275 fn next(&self) -> *const c_void {
16276 self.next
16277 }
16278}
16279
16280unsafe impl InputChainStruct for SemaphoreCreateInfo {
16281 const TYPE: StructureType = StructureType::SEMAPHORE_CREATE_INFO;
16282
16283 #[inline]
16284 fn s_type(&self) -> StructureType {
16285 self.s_type
16286 }
16287
16288 #[inline]
16289 fn next(&self) -> *const c_void {
16290 self.next
16291 }
16292}
16293
16294unsafe impl InputChainStruct for SemaphoreGetFdInfoKHR {
16295 const TYPE: StructureType = StructureType::SEMAPHORE_GET_FD_INFO_KHR;
16296
16297 #[inline]
16298 fn s_type(&self) -> StructureType {
16299 self.s_type
16300 }
16301
16302 #[inline]
16303 fn next(&self) -> *const c_void {
16304 self.next
16305 }
16306}
16307
16308unsafe impl InputChainStruct for SemaphoreGetSciSyncInfoNV {
16309 const TYPE: StructureType = StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV;
16310
16311 #[inline]
16312 fn s_type(&self) -> StructureType {
16313 self.s_type
16314 }
16315
16316 #[inline]
16317 fn next(&self) -> *const c_void {
16318 self.next
16319 }
16320}
16321
16322unsafe impl InputChainStruct for SemaphoreGetWin32HandleInfoKHR {
16323 const TYPE: StructureType = StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
16324
16325 #[inline]
16326 fn s_type(&self) -> StructureType {
16327 self.s_type
16328 }
16329
16330 #[inline]
16331 fn next(&self) -> *const c_void {
16332 self.next
16333 }
16334}
16335
16336unsafe impl InputChainStruct for SemaphoreGetZirconHandleInfoFUCHSIA {
16337 const TYPE: StructureType = StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
16338
16339 #[inline]
16340 fn s_type(&self) -> StructureType {
16341 self.s_type
16342 }
16343
16344 #[inline]
16345 fn next(&self) -> *const c_void {
16346 self.next
16347 }
16348}
16349
16350unsafe impl InputChainStruct for SemaphoreSciSyncCreateInfoNV {
16351 const TYPE: StructureType = StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV;
16352
16353 #[inline]
16354 fn s_type(&self) -> StructureType {
16355 self.s_type
16356 }
16357
16358 #[inline]
16359 fn next(&self) -> *const c_void {
16360 self.next
16361 }
16362}
16363
16364unsafe impl InputChainStruct for SemaphoreSciSyncPoolCreateInfoNV {
16365 const TYPE: StructureType = StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV;
16366
16367 #[inline]
16368 fn s_type(&self) -> StructureType {
16369 self.s_type
16370 }
16371
16372 #[inline]
16373 fn next(&self) -> *const c_void {
16374 self.next
16375 }
16376}
16377
16378unsafe impl InputChainStruct for SemaphoreSignalInfo {
16379 const TYPE: StructureType = StructureType::SEMAPHORE_SIGNAL_INFO;
16380
16381 #[inline]
16382 fn s_type(&self) -> StructureType {
16383 self.s_type
16384 }
16385
16386 #[inline]
16387 fn next(&self) -> *const c_void {
16388 self.next
16389 }
16390}
16391
16392unsafe impl InputChainStruct for SemaphoreSubmitInfo {
16393 const TYPE: StructureType = StructureType::SEMAPHORE_SUBMIT_INFO;
16394
16395 #[inline]
16396 fn s_type(&self) -> StructureType {
16397 self.s_type
16398 }
16399
16400 #[inline]
16401 fn next(&self) -> *const c_void {
16402 self.next
16403 }
16404}
16405
16406unsafe impl InputChainStruct for SemaphoreTypeCreateInfo {
16407 const TYPE: StructureType = StructureType::SEMAPHORE_TYPE_CREATE_INFO;
16408
16409 #[inline]
16410 fn s_type(&self) -> StructureType {
16411 self.s_type
16412 }
16413
16414 #[inline]
16415 fn next(&self) -> *const c_void {
16416 self.next
16417 }
16418}
16419
16420unsafe impl InputChainStruct for SemaphoreWaitInfo {
16421 const TYPE: StructureType = StructureType::SEMAPHORE_WAIT_INFO;
16422
16423 #[inline]
16424 fn s_type(&self) -> StructureType {
16425 self.s_type
16426 }
16427
16428 #[inline]
16429 fn next(&self) -> *const c_void {
16430 self.next
16431 }
16432}
16433
16434unsafe impl InputChainStruct for SetDescriptorBufferOffsetsInfoEXT {
16435 const TYPE: StructureType = StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT;
16436
16437 #[inline]
16438 fn s_type(&self) -> StructureType {
16439 self.s_type
16440 }
16441
16442 #[inline]
16443 fn next(&self) -> *const c_void {
16444 self.next
16445 }
16446}
16447
16448unsafe impl InputChainStruct for SetLatencyMarkerInfoNV {
16449 const TYPE: StructureType = StructureType::SET_LATENCY_MARKER_INFO_NV;
16450
16451 #[inline]
16452 fn s_type(&self) -> StructureType {
16453 self.s_type
16454 }
16455
16456 #[inline]
16457 fn next(&self) -> *const c_void {
16458 self.next
16459 }
16460}
16461
16462unsafe impl InputChainStruct for SetPresentConfigNV {
16463 const TYPE: StructureType = StructureType::SET_PRESENT_CONFIG_NV;
16464
16465 #[inline]
16466 fn s_type(&self) -> StructureType {
16467 self.s_type
16468 }
16469
16470 #[inline]
16471 fn next(&self) -> *const c_void {
16472 self.next
16473 }
16474}
16475
16476unsafe impl InputChainStruct for ShaderCreateInfoEXT {
16477 const TYPE: StructureType = StructureType::SHADER_CREATE_INFO_EXT;
16478
16479 #[inline]
16480 fn s_type(&self) -> StructureType {
16481 self.s_type
16482 }
16483
16484 #[inline]
16485 fn next(&self) -> *const c_void {
16486 self.next
16487 }
16488}
16489
16490unsafe impl InputChainStruct for ShaderModuleCreateInfo {
16491 const TYPE: StructureType = StructureType::SHADER_MODULE_CREATE_INFO;
16492
16493 #[inline]
16494 fn s_type(&self) -> StructureType {
16495 self.s_type
16496 }
16497
16498 #[inline]
16499 fn next(&self) -> *const c_void {
16500 self.next
16501 }
16502}
16503
16504unsafe impl InputChainStruct for ShaderModuleIdentifierEXT {
16505 const TYPE: StructureType = StructureType::SHADER_MODULE_IDENTIFIER_EXT;
16506
16507 #[inline]
16508 fn s_type(&self) -> StructureType {
16509 self.s_type
16510 }
16511
16512 #[inline]
16513 fn next(&self) -> *const c_void {
16514 self.next
16515 }
16516}
16517
16518unsafe impl OutputChainStruct for ShaderModuleIdentifierEXT {
16519 #[inline]
16520 fn next_mut(&self) -> *mut c_void {
16521 self.next
16522 }
16523}
16524
16525unsafe impl InputChainStruct for ShaderModuleValidationCacheCreateInfoEXT {
16526 const TYPE: StructureType = StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
16527
16528 #[inline]
16529 fn s_type(&self) -> StructureType {
16530 self.s_type
16531 }
16532
16533 #[inline]
16534 fn next(&self) -> *const c_void {
16535 self.next
16536 }
16537}
16538
16539unsafe impl InputChainStruct for SharedPresentSurfaceCapabilitiesKHR {
16540 const TYPE: StructureType = StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
16541
16542 #[inline]
16543 fn s_type(&self) -> StructureType {
16544 self.s_type
16545 }
16546
16547 #[inline]
16548 fn next(&self) -> *const c_void {
16549 self.next
16550 }
16551}
16552
16553unsafe impl OutputChainStruct for SharedPresentSurfaceCapabilitiesKHR {
16554 #[inline]
16555 fn next_mut(&self) -> *mut c_void {
16556 self.next
16557 }
16558}
16559
16560unsafe impl InputChainStruct for SparseImageFormatProperties2 {
16561 const TYPE: StructureType = StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2;
16562
16563 #[inline]
16564 fn s_type(&self) -> StructureType {
16565 self.s_type
16566 }
16567
16568 #[inline]
16569 fn next(&self) -> *const c_void {
16570 self.next
16571 }
16572}
16573
16574unsafe impl OutputChainStruct for SparseImageFormatProperties2 {
16575 #[inline]
16576 fn next_mut(&self) -> *mut c_void {
16577 self.next
16578 }
16579}
16580
16581unsafe impl InputChainStruct for SparseImageMemoryRequirements2 {
16582 const TYPE: StructureType = StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
16583
16584 #[inline]
16585 fn s_type(&self) -> StructureType {
16586 self.s_type
16587 }
16588
16589 #[inline]
16590 fn next(&self) -> *const c_void {
16591 self.next
16592 }
16593}
16594
16595unsafe impl OutputChainStruct for SparseImageMemoryRequirements2 {
16596 #[inline]
16597 fn next_mut(&self) -> *mut c_void {
16598 self.next
16599 }
16600}
16601
16602unsafe impl InputChainStruct for StreamDescriptorSurfaceCreateInfoGGP {
16603 const TYPE: StructureType = StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP;
16604
16605 #[inline]
16606 fn s_type(&self) -> StructureType {
16607 self.s_type
16608 }
16609
16610 #[inline]
16611 fn next(&self) -> *const c_void {
16612 self.next
16613 }
16614}
16615
16616unsafe impl InputChainStruct for SubmitInfo {
16617 const TYPE: StructureType = StructureType::SUBMIT_INFO;
16618
16619 #[inline]
16620 fn s_type(&self) -> StructureType {
16621 self.s_type
16622 }
16623
16624 #[inline]
16625 fn next(&self) -> *const c_void {
16626 self.next
16627 }
16628}
16629
16630unsafe impl InputChainStruct for SubmitInfo2 {
16631 const TYPE: StructureType = StructureType::SUBMIT_INFO_2;
16632
16633 #[inline]
16634 fn s_type(&self) -> StructureType {
16635 self.s_type
16636 }
16637
16638 #[inline]
16639 fn next(&self) -> *const c_void {
16640 self.next
16641 }
16642}
16643
16644unsafe impl InputChainStruct for SubpassBeginInfo {
16645 const TYPE: StructureType = StructureType::SUBPASS_BEGIN_INFO;
16646
16647 #[inline]
16648 fn s_type(&self) -> StructureType {
16649 self.s_type
16650 }
16651
16652 #[inline]
16653 fn next(&self) -> *const c_void {
16654 self.next
16655 }
16656}
16657
16658unsafe impl InputChainStruct for SubpassDependency2 {
16659 const TYPE: StructureType = StructureType::SUBPASS_DEPENDENCY_2;
16660
16661 #[inline]
16662 fn s_type(&self) -> StructureType {
16663 self.s_type
16664 }
16665
16666 #[inline]
16667 fn next(&self) -> *const c_void {
16668 self.next
16669 }
16670}
16671
16672unsafe impl InputChainStruct for SubpassDescription2 {
16673 const TYPE: StructureType = StructureType::SUBPASS_DESCRIPTION_2;
16674
16675 #[inline]
16676 fn s_type(&self) -> StructureType {
16677 self.s_type
16678 }
16679
16680 #[inline]
16681 fn next(&self) -> *const c_void {
16682 self.next
16683 }
16684}
16685
16686unsafe impl InputChainStruct for SubpassDescriptionDepthStencilResolve {
16687 const TYPE: StructureType = StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
16688
16689 #[inline]
16690 fn s_type(&self) -> StructureType {
16691 self.s_type
16692 }
16693
16694 #[inline]
16695 fn next(&self) -> *const c_void {
16696 self.next
16697 }
16698}
16699
16700unsafe impl InputChainStruct for SubpassEndInfo {
16701 const TYPE: StructureType = StructureType::SUBPASS_END_INFO;
16702
16703 #[inline]
16704 fn s_type(&self) -> StructureType {
16705 self.s_type
16706 }
16707
16708 #[inline]
16709 fn next(&self) -> *const c_void {
16710 self.next
16711 }
16712}
16713
16714unsafe impl InputChainStruct for SubpassResolvePerformanceQueryEXT {
16715 const TYPE: StructureType = StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT;
16716
16717 #[inline]
16718 fn s_type(&self) -> StructureType {
16719 self.s_type
16720 }
16721
16722 #[inline]
16723 fn next(&self) -> *const c_void {
16724 self.next
16725 }
16726}
16727
16728unsafe impl OutputChainStruct for SubpassResolvePerformanceQueryEXT {
16729 #[inline]
16730 fn next_mut(&self) -> *mut c_void {
16731 self.next
16732 }
16733}
16734
16735unsafe impl InputChainStruct for SubpassShadingPipelineCreateInfoHUAWEI {
16736 const TYPE: StructureType = StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI;
16737
16738 #[inline]
16739 fn s_type(&self) -> StructureType {
16740 self.s_type
16741 }
16742
16743 #[inline]
16744 fn next(&self) -> *const c_void {
16745 self.next
16746 }
16747}
16748
16749unsafe impl OutputChainStruct for SubpassShadingPipelineCreateInfoHUAWEI {
16750 #[inline]
16751 fn next_mut(&self) -> *mut c_void {
16752 self.next
16753 }
16754}
16755
16756unsafe impl InputChainStruct for SubresourceHostMemcpySize {
16757 const TYPE: StructureType = StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE;
16758
16759 #[inline]
16760 fn s_type(&self) -> StructureType {
16761 self.s_type
16762 }
16763
16764 #[inline]
16765 fn next(&self) -> *const c_void {
16766 self.next
16767 }
16768}
16769
16770unsafe impl OutputChainStruct for SubresourceHostMemcpySize {
16771 #[inline]
16772 fn next_mut(&self) -> *mut c_void {
16773 self.next
16774 }
16775}
16776
16777unsafe impl InputChainStruct for SubresourceLayout2 {
16778 const TYPE: StructureType = StructureType::SUBRESOURCE_LAYOUT_2;
16779
16780 #[inline]
16781 fn s_type(&self) -> StructureType {
16782 self.s_type
16783 }
16784
16785 #[inline]
16786 fn next(&self) -> *const c_void {
16787 self.next
16788 }
16789}
16790
16791unsafe impl OutputChainStruct for SubresourceLayout2 {
16792 #[inline]
16793 fn next_mut(&self) -> *mut c_void {
16794 self.next
16795 }
16796}
16797
16798unsafe impl InputChainStruct for SurfaceCapabilities2EXT {
16799 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_2_EXT;
16800
16801 #[inline]
16802 fn s_type(&self) -> StructureType {
16803 self.s_type
16804 }
16805
16806 #[inline]
16807 fn next(&self) -> *const c_void {
16808 self.next
16809 }
16810}
16811
16812unsafe impl OutputChainStruct for SurfaceCapabilities2EXT {
16813 #[inline]
16814 fn next_mut(&self) -> *mut c_void {
16815 self.next
16816 }
16817}
16818
16819unsafe impl InputChainStruct for SurfaceCapabilities2KHR {
16820 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_2_KHR;
16821
16822 #[inline]
16823 fn s_type(&self) -> StructureType {
16824 self.s_type
16825 }
16826
16827 #[inline]
16828 fn next(&self) -> *const c_void {
16829 self.next
16830 }
16831}
16832
16833unsafe impl OutputChainStruct for SurfaceCapabilities2KHR {
16834 #[inline]
16835 fn next_mut(&self) -> *mut c_void {
16836 self.next
16837 }
16838}
16839
16840unsafe impl InputChainStruct for SurfaceCapabilitiesFullScreenExclusiveEXT {
16841 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
16842
16843 #[inline]
16844 fn s_type(&self) -> StructureType {
16845 self.s_type
16846 }
16847
16848 #[inline]
16849 fn next(&self) -> *const c_void {
16850 self.next
16851 }
16852}
16853
16854unsafe impl OutputChainStruct for SurfaceCapabilitiesFullScreenExclusiveEXT {
16855 #[inline]
16856 fn next_mut(&self) -> *mut c_void {
16857 self.next
16858 }
16859}
16860
16861unsafe impl InputChainStruct for SurfaceCapabilitiesPresentBarrierNV {
16862 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV;
16863
16864 #[inline]
16865 fn s_type(&self) -> StructureType {
16866 self.s_type
16867 }
16868
16869 #[inline]
16870 fn next(&self) -> *const c_void {
16871 self.next
16872 }
16873}
16874
16875unsafe impl OutputChainStruct for SurfaceCapabilitiesPresentBarrierNV {
16876 #[inline]
16877 fn next_mut(&self) -> *mut c_void {
16878 self.next
16879 }
16880}
16881
16882unsafe impl InputChainStruct for SurfaceCapabilitiesPresentId2KHR {
16883 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR;
16884
16885 #[inline]
16886 fn s_type(&self) -> StructureType {
16887 self.s_type
16888 }
16889
16890 #[inline]
16891 fn next(&self) -> *const c_void {
16892 self.next
16893 }
16894}
16895
16896unsafe impl OutputChainStruct for SurfaceCapabilitiesPresentId2KHR {
16897 #[inline]
16898 fn next_mut(&self) -> *mut c_void {
16899 self.next
16900 }
16901}
16902
16903unsafe impl InputChainStruct for SurfaceCapabilitiesPresentWait2KHR {
16904 const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR;
16905
16906 #[inline]
16907 fn s_type(&self) -> StructureType {
16908 self.s_type
16909 }
16910
16911 #[inline]
16912 fn next(&self) -> *const c_void {
16913 self.next
16914 }
16915}
16916
16917unsafe impl OutputChainStruct for SurfaceCapabilitiesPresentWait2KHR {
16918 #[inline]
16919 fn next_mut(&self) -> *mut c_void {
16920 self.next
16921 }
16922}
16923
16924unsafe impl InputChainStruct for SurfaceCreateInfoOHOS {
16925 const TYPE: StructureType = StructureType::SURFACE_CREATE_INFO_OHOS;
16926
16927 #[inline]
16928 fn s_type(&self) -> StructureType {
16929 self.s_type
16930 }
16931
16932 #[inline]
16933 fn next(&self) -> *const c_void {
16934 self.next
16935 }
16936}
16937
16938unsafe impl InputChainStruct for SurfaceFormat2KHR {
16939 const TYPE: StructureType = StructureType::SURFACE_FORMAT_2_KHR;
16940
16941 #[inline]
16942 fn s_type(&self) -> StructureType {
16943 self.s_type
16944 }
16945
16946 #[inline]
16947 fn next(&self) -> *const c_void {
16948 self.next
16949 }
16950}
16951
16952unsafe impl OutputChainStruct for SurfaceFormat2KHR {
16953 #[inline]
16954 fn next_mut(&self) -> *mut c_void {
16955 self.next
16956 }
16957}
16958
16959unsafe impl InputChainStruct for SurfaceFullScreenExclusiveInfoEXT {
16960 const TYPE: StructureType = StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT;
16961
16962 #[inline]
16963 fn s_type(&self) -> StructureType {
16964 self.s_type
16965 }
16966
16967 #[inline]
16968 fn next(&self) -> *const c_void {
16969 self.next
16970 }
16971}
16972
16973unsafe impl OutputChainStruct for SurfaceFullScreenExclusiveInfoEXT {
16974 #[inline]
16975 fn next_mut(&self) -> *mut c_void {
16976 self.next
16977 }
16978}
16979
16980unsafe impl InputChainStruct for SurfaceFullScreenExclusiveWin32InfoEXT {
16981 const TYPE: StructureType = StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT;
16982
16983 #[inline]
16984 fn s_type(&self) -> StructureType {
16985 self.s_type
16986 }
16987
16988 #[inline]
16989 fn next(&self) -> *const c_void {
16990 self.next
16991 }
16992}
16993
16994unsafe impl InputChainStruct for SurfacePresentModeCompatibilityKHR {
16995 const TYPE: StructureType = StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR;
16996
16997 #[inline]
16998 fn s_type(&self) -> StructureType {
16999 self.s_type
17000 }
17001
17002 #[inline]
17003 fn next(&self) -> *const c_void {
17004 self.next
17005 }
17006}
17007
17008unsafe impl OutputChainStruct for SurfacePresentModeCompatibilityKHR {
17009 #[inline]
17010 fn next_mut(&self) -> *mut c_void {
17011 self.next
17012 }
17013}
17014
17015unsafe impl InputChainStruct for SurfacePresentModeKHR {
17016 const TYPE: StructureType = StructureType::SURFACE_PRESENT_MODE_KHR;
17017
17018 #[inline]
17019 fn s_type(&self) -> StructureType {
17020 self.s_type
17021 }
17022
17023 #[inline]
17024 fn next(&self) -> *const c_void {
17025 self.next
17026 }
17027}
17028
17029unsafe impl OutputChainStruct for SurfacePresentModeKHR {
17030 #[inline]
17031 fn next_mut(&self) -> *mut c_void {
17032 self.next
17033 }
17034}
17035
17036unsafe impl InputChainStruct for SurfacePresentScalingCapabilitiesKHR {
17037 const TYPE: StructureType = StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR;
17038
17039 #[inline]
17040 fn s_type(&self) -> StructureType {
17041 self.s_type
17042 }
17043
17044 #[inline]
17045 fn next(&self) -> *const c_void {
17046 self.next
17047 }
17048}
17049
17050unsafe impl OutputChainStruct for SurfacePresentScalingCapabilitiesKHR {
17051 #[inline]
17052 fn next_mut(&self) -> *mut c_void {
17053 self.next
17054 }
17055}
17056
17057unsafe impl InputChainStruct for SurfaceProtectedCapabilitiesKHR {
17058 const TYPE: StructureType = StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR;
17059
17060 #[inline]
17061 fn s_type(&self) -> StructureType {
17062 self.s_type
17063 }
17064
17065 #[inline]
17066 fn next(&self) -> *const c_void {
17067 self.next
17068 }
17069}
17070
17071unsafe impl InputChainStruct for SwapchainCounterCreateInfoEXT {
17072 const TYPE: StructureType = StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
17073
17074 #[inline]
17075 fn s_type(&self) -> StructureType {
17076 self.s_type
17077 }
17078
17079 #[inline]
17080 fn next(&self) -> *const c_void {
17081 self.next
17082 }
17083}
17084
17085unsafe impl InputChainStruct for SwapchainCreateInfoKHR {
17086 const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_KHR;
17087
17088 #[inline]
17089 fn s_type(&self) -> StructureType {
17090 self.s_type
17091 }
17092
17093 #[inline]
17094 fn next(&self) -> *const c_void {
17095 self.next
17096 }
17097}
17098
17099unsafe impl InputChainStruct for SwapchainDisplayNativeHdrCreateInfoAMD {
17100 const TYPE: StructureType = StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
17101
17102 #[inline]
17103 fn s_type(&self) -> StructureType {
17104 self.s_type
17105 }
17106
17107 #[inline]
17108 fn next(&self) -> *const c_void {
17109 self.next
17110 }
17111}
17112
17113unsafe impl InputChainStruct for SwapchainLatencyCreateInfoNV {
17114 const TYPE: StructureType = StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV;
17115
17116 #[inline]
17117 fn s_type(&self) -> StructureType {
17118 self.s_type
17119 }
17120
17121 #[inline]
17122 fn next(&self) -> *const c_void {
17123 self.next
17124 }
17125}
17126
17127unsafe impl InputChainStruct for SwapchainPresentBarrierCreateInfoNV {
17128 const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV;
17129
17130 #[inline]
17131 fn s_type(&self) -> StructureType {
17132 self.s_type
17133 }
17134
17135 #[inline]
17136 fn next(&self) -> *const c_void {
17137 self.next
17138 }
17139}
17140
17141unsafe impl OutputChainStruct for SwapchainPresentBarrierCreateInfoNV {
17142 #[inline]
17143 fn next_mut(&self) -> *mut c_void {
17144 self.next
17145 }
17146}
17147
17148unsafe impl InputChainStruct for SwapchainPresentFenceInfoKHR {
17149 const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR;
17150
17151 #[inline]
17152 fn s_type(&self) -> StructureType {
17153 self.s_type
17154 }
17155
17156 #[inline]
17157 fn next(&self) -> *const c_void {
17158 self.next
17159 }
17160}
17161
17162unsafe impl InputChainStruct for SwapchainPresentModeInfoKHR {
17163 const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR;
17164
17165 #[inline]
17166 fn s_type(&self) -> StructureType {
17167 self.s_type
17168 }
17169
17170 #[inline]
17171 fn next(&self) -> *const c_void {
17172 self.next
17173 }
17174}
17175
17176unsafe impl InputChainStruct for SwapchainPresentModesCreateInfoKHR {
17177 const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR;
17178
17179 #[inline]
17180 fn s_type(&self) -> StructureType {
17181 self.s_type
17182 }
17183
17184 #[inline]
17185 fn next(&self) -> *const c_void {
17186 self.next
17187 }
17188}
17189
17190unsafe impl InputChainStruct for SwapchainPresentScalingCreateInfoKHR {
17191 const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR;
17192
17193 #[inline]
17194 fn s_type(&self) -> StructureType {
17195 self.s_type
17196 }
17197
17198 #[inline]
17199 fn next(&self) -> *const c_void {
17200 self.next
17201 }
17202}
17203
17204unsafe impl InputChainStruct for SysmemColorSpaceFUCHSIA {
17205 const TYPE: StructureType = StructureType::SYSMEM_COLOR_SPACE_FUCHSIA;
17206
17207 #[inline]
17208 fn s_type(&self) -> StructureType {
17209 self.s_type
17210 }
17211
17212 #[inline]
17213 fn next(&self) -> *const c_void {
17214 self.next
17215 }
17216}
17217
17218unsafe impl InputChainStruct for TensorCaptureDescriptorDataInfoARM {
17219 const TYPE: StructureType = StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM;
17220
17221 #[inline]
17222 fn s_type(&self) -> StructureType {
17223 self.s_type
17224 }
17225
17226 #[inline]
17227 fn next(&self) -> *const c_void {
17228 self.next
17229 }
17230}
17231
17232unsafe impl InputChainStruct for TensorCopyARM {
17233 const TYPE: StructureType = StructureType::TENSOR_COPY_ARM;
17234
17235 #[inline]
17236 fn s_type(&self) -> StructureType {
17237 self.s_type
17238 }
17239
17240 #[inline]
17241 fn next(&self) -> *const c_void {
17242 self.next
17243 }
17244}
17245
17246unsafe impl InputChainStruct for TensorCreateInfoARM {
17247 const TYPE: StructureType = StructureType::TENSOR_CREATE_INFO_ARM;
17248
17249 #[inline]
17250 fn s_type(&self) -> StructureType {
17251 self.s_type
17252 }
17253
17254 #[inline]
17255 fn next(&self) -> *const c_void {
17256 self.next
17257 }
17258}
17259
17260unsafe impl InputChainStruct for TensorDependencyInfoARM {
17261 const TYPE: StructureType = StructureType::TENSOR_DEPENDENCY_INFO_ARM;
17262
17263 #[inline]
17264 fn s_type(&self) -> StructureType {
17265 self.s_type
17266 }
17267
17268 #[inline]
17269 fn next(&self) -> *const c_void {
17270 self.next
17271 }
17272}
17273
17274unsafe impl InputChainStruct for TensorDescriptionARM {
17275 const TYPE: StructureType = StructureType::TENSOR_DESCRIPTION_ARM;
17276
17277 #[inline]
17278 fn s_type(&self) -> StructureType {
17279 self.s_type
17280 }
17281
17282 #[inline]
17283 fn next(&self) -> *const c_void {
17284 self.next
17285 }
17286}
17287
17288unsafe impl InputChainStruct for TensorFormatPropertiesARM {
17289 const TYPE: StructureType = StructureType::TENSOR_FORMAT_PROPERTIES_ARM;
17290
17291 #[inline]
17292 fn s_type(&self) -> StructureType {
17293 self.s_type
17294 }
17295
17296 #[inline]
17297 fn next(&self) -> *const c_void {
17298 self.next
17299 }
17300}
17301
17302unsafe impl InputChainStruct for TensorMemoryBarrierARM {
17303 const TYPE: StructureType = StructureType::TENSOR_MEMORY_BARRIER_ARM;
17304
17305 #[inline]
17306 fn s_type(&self) -> StructureType {
17307 self.s_type
17308 }
17309
17310 #[inline]
17311 fn next(&self) -> *const c_void {
17312 self.next
17313 }
17314}
17315
17316unsafe impl InputChainStruct for TensorMemoryRequirementsInfoARM {
17317 const TYPE: StructureType = StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM;
17318
17319 #[inline]
17320 fn s_type(&self) -> StructureType {
17321 self.s_type
17322 }
17323
17324 #[inline]
17325 fn next(&self) -> *const c_void {
17326 self.next
17327 }
17328}
17329
17330unsafe impl InputChainStruct for TensorViewCaptureDescriptorDataInfoARM {
17331 const TYPE: StructureType = StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM;
17332
17333 #[inline]
17334 fn s_type(&self) -> StructureType {
17335 self.s_type
17336 }
17337
17338 #[inline]
17339 fn next(&self) -> *const c_void {
17340 self.next
17341 }
17342}
17343
17344unsafe impl InputChainStruct for TensorViewCreateInfoARM {
17345 const TYPE: StructureType = StructureType::TENSOR_VIEW_CREATE_INFO_ARM;
17346
17347 #[inline]
17348 fn s_type(&self) -> StructureType {
17349 self.s_type
17350 }
17351
17352 #[inline]
17353 fn next(&self) -> *const c_void {
17354 self.next
17355 }
17356}
17357
17358unsafe impl InputChainStruct for TextureLODGatherFormatPropertiesAMD {
17359 const TYPE: StructureType = StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
17360
17361 #[inline]
17362 fn s_type(&self) -> StructureType {
17363 self.s_type
17364 }
17365
17366 #[inline]
17367 fn next(&self) -> *const c_void {
17368 self.next
17369 }
17370}
17371
17372unsafe impl OutputChainStruct for TextureLODGatherFormatPropertiesAMD {
17373 #[inline]
17374 fn next_mut(&self) -> *mut c_void {
17375 self.next
17376 }
17377}
17378
17379unsafe impl InputChainStruct for TileMemoryBindInfoQCOM {
17380 const TYPE: StructureType = StructureType::TILE_MEMORY_BIND_INFO_QCOM;
17381
17382 #[inline]
17383 fn s_type(&self) -> StructureType {
17384 self.s_type
17385 }
17386
17387 #[inline]
17388 fn next(&self) -> *const c_void {
17389 self.next
17390 }
17391}
17392
17393unsafe impl InputChainStruct for TileMemoryRequirementsQCOM {
17394 const TYPE: StructureType = StructureType::TILE_MEMORY_REQUIREMENTS_QCOM;
17395
17396 #[inline]
17397 fn s_type(&self) -> StructureType {
17398 self.s_type
17399 }
17400
17401 #[inline]
17402 fn next(&self) -> *const c_void {
17403 self.next
17404 }
17405}
17406
17407unsafe impl OutputChainStruct for TileMemoryRequirementsQCOM {
17408 #[inline]
17409 fn next_mut(&self) -> *mut c_void {
17410 self.next
17411 }
17412}
17413
17414unsafe impl InputChainStruct for TileMemorySizeInfoQCOM {
17415 const TYPE: StructureType = StructureType::TILE_MEMORY_SIZE_INFO_QCOM;
17416
17417 #[inline]
17418 fn s_type(&self) -> StructureType {
17419 self.s_type
17420 }
17421
17422 #[inline]
17423 fn next(&self) -> *const c_void {
17424 self.next
17425 }
17426}
17427
17428unsafe impl InputChainStruct for TilePropertiesQCOM {
17429 const TYPE: StructureType = StructureType::TILE_PROPERTIES_QCOM;
17430
17431 #[inline]
17432 fn s_type(&self) -> StructureType {
17433 self.s_type
17434 }
17435
17436 #[inline]
17437 fn next(&self) -> *const c_void {
17438 self.next
17439 }
17440}
17441
17442unsafe impl OutputChainStruct for TilePropertiesQCOM {
17443 #[inline]
17444 fn next_mut(&self) -> *mut c_void {
17445 self.next
17446 }
17447}
17448
17449unsafe impl InputChainStruct for TimelineSemaphoreSubmitInfo {
17450 const TYPE: StructureType = StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO;
17451
17452 #[inline]
17453 fn s_type(&self) -> StructureType {
17454 self.s_type
17455 }
17456
17457 #[inline]
17458 fn next(&self) -> *const c_void {
17459 self.next
17460 }
17461}
17462
17463unsafe impl InputChainStruct for ValidationCacheCreateInfoEXT {
17464 const TYPE: StructureType = StructureType::VALIDATION_CACHE_CREATE_INFO_EXT;
17465
17466 #[inline]
17467 fn s_type(&self) -> StructureType {
17468 self.s_type
17469 }
17470
17471 #[inline]
17472 fn next(&self) -> *const c_void {
17473 self.next
17474 }
17475}
17476
17477unsafe impl InputChainStruct for ValidationFeaturesEXT {
17478 const TYPE: StructureType = StructureType::VALIDATION_FEATURES_EXT;
17479
17480 #[inline]
17481 fn s_type(&self) -> StructureType {
17482 self.s_type
17483 }
17484
17485 #[inline]
17486 fn next(&self) -> *const c_void {
17487 self.next
17488 }
17489}
17490
17491unsafe impl InputChainStruct for ValidationFlagsEXT {
17492 const TYPE: StructureType = StructureType::VALIDATION_FLAGS_EXT;
17493
17494 #[inline]
17495 fn s_type(&self) -> StructureType {
17496 self.s_type
17497 }
17498
17499 #[inline]
17500 fn next(&self) -> *const c_void {
17501 self.next
17502 }
17503}
17504
17505unsafe impl InputChainStruct for VertexInputAttributeDescription2EXT {
17506 const TYPE: StructureType = StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT;
17507
17508 #[inline]
17509 fn s_type(&self) -> StructureType {
17510 self.s_type
17511 }
17512
17513 #[inline]
17514 fn next(&self) -> *const c_void {
17515 self.next
17516 }
17517}
17518
17519unsafe impl OutputChainStruct for VertexInputAttributeDescription2EXT {
17520 #[inline]
17521 fn next_mut(&self) -> *mut c_void {
17522 self.next
17523 }
17524}
17525
17526unsafe impl InputChainStruct for VertexInputBindingDescription2EXT {
17527 const TYPE: StructureType = StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT;
17528
17529 #[inline]
17530 fn s_type(&self) -> StructureType {
17531 self.s_type
17532 }
17533
17534 #[inline]
17535 fn next(&self) -> *const c_void {
17536 self.next
17537 }
17538}
17539
17540unsafe impl OutputChainStruct for VertexInputBindingDescription2EXT {
17541 #[inline]
17542 fn next_mut(&self) -> *mut c_void {
17543 self.next
17544 }
17545}
17546
17547unsafe impl InputChainStruct for ViSurfaceCreateInfoNN {
17548 const TYPE: StructureType = StructureType::VI_SURFACE_CREATE_INFO_NN;
17549
17550 #[inline]
17551 fn s_type(&self) -> StructureType {
17552 self.s_type
17553 }
17554
17555 #[inline]
17556 fn next(&self) -> *const c_void {
17557 self.next
17558 }
17559}
17560
17561unsafe impl InputChainStruct for VideoBeginCodingInfoKHR {
17562 const TYPE: StructureType = StructureType::VIDEO_BEGIN_CODING_INFO_KHR;
17563
17564 #[inline]
17565 fn s_type(&self) -> StructureType {
17566 self.s_type
17567 }
17568
17569 #[inline]
17570 fn next(&self) -> *const c_void {
17571 self.next
17572 }
17573}
17574
17575unsafe impl InputChainStruct for VideoCapabilitiesKHR {
17576 const TYPE: StructureType = StructureType::VIDEO_CAPABILITIES_KHR;
17577
17578 #[inline]
17579 fn s_type(&self) -> StructureType {
17580 self.s_type
17581 }
17582
17583 #[inline]
17584 fn next(&self) -> *const c_void {
17585 self.next
17586 }
17587}
17588
17589unsafe impl OutputChainStruct for VideoCapabilitiesKHR {
17590 #[inline]
17591 fn next_mut(&self) -> *mut c_void {
17592 self.next
17593 }
17594}
17595
17596unsafe impl InputChainStruct for VideoCodingControlInfoKHR {
17597 const TYPE: StructureType = StructureType::VIDEO_CODING_CONTROL_INFO_KHR;
17598
17599 #[inline]
17600 fn s_type(&self) -> StructureType {
17601 self.s_type
17602 }
17603
17604 #[inline]
17605 fn next(&self) -> *const c_void {
17606 self.next
17607 }
17608}
17609
17610unsafe impl InputChainStruct for VideoDecodeAV1CapabilitiesKHR {
17611 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR;
17612
17613 #[inline]
17614 fn s_type(&self) -> StructureType {
17615 self.s_type
17616 }
17617
17618 #[inline]
17619 fn next(&self) -> *const c_void {
17620 self.next
17621 }
17622}
17623
17624unsafe impl OutputChainStruct for VideoDecodeAV1CapabilitiesKHR {
17625 #[inline]
17626 fn next_mut(&self) -> *mut c_void {
17627 self.next
17628 }
17629}
17630
17631unsafe impl InputChainStruct for VideoDecodeAV1DpbSlotInfoKHR {
17632 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR;
17633
17634 #[inline]
17635 fn s_type(&self) -> StructureType {
17636 self.s_type
17637 }
17638
17639 #[inline]
17640 fn next(&self) -> *const c_void {
17641 self.next
17642 }
17643}
17644
17645unsafe impl InputChainStruct for VideoDecodeAV1InlineSessionParametersInfoKHR {
17646 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR;
17647
17648 #[inline]
17649 fn s_type(&self) -> StructureType {
17650 self.s_type
17651 }
17652
17653 #[inline]
17654 fn next(&self) -> *const c_void {
17655 self.next
17656 }
17657}
17658
17659unsafe impl InputChainStruct for VideoDecodeAV1PictureInfoKHR {
17660 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR;
17661
17662 #[inline]
17663 fn s_type(&self) -> StructureType {
17664 self.s_type
17665 }
17666
17667 #[inline]
17668 fn next(&self) -> *const c_void {
17669 self.next
17670 }
17671}
17672
17673unsafe impl InputChainStruct for VideoDecodeAV1ProfileInfoKHR {
17674 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR;
17675
17676 #[inline]
17677 fn s_type(&self) -> StructureType {
17678 self.s_type
17679 }
17680
17681 #[inline]
17682 fn next(&self) -> *const c_void {
17683 self.next
17684 }
17685}
17686
17687unsafe impl InputChainStruct for VideoDecodeAV1SessionParametersCreateInfoKHR {
17688 const TYPE: StructureType = StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR;
17689
17690 #[inline]
17691 fn s_type(&self) -> StructureType {
17692 self.s_type
17693 }
17694
17695 #[inline]
17696 fn next(&self) -> *const c_void {
17697 self.next
17698 }
17699}
17700
17701unsafe impl InputChainStruct for VideoDecodeCapabilitiesKHR {
17702 const TYPE: StructureType = StructureType::VIDEO_DECODE_CAPABILITIES_KHR;
17703
17704 #[inline]
17705 fn s_type(&self) -> StructureType {
17706 self.s_type
17707 }
17708
17709 #[inline]
17710 fn next(&self) -> *const c_void {
17711 self.next
17712 }
17713}
17714
17715unsafe impl OutputChainStruct for VideoDecodeCapabilitiesKHR {
17716 #[inline]
17717 fn next_mut(&self) -> *mut c_void {
17718 self.next
17719 }
17720}
17721
17722unsafe impl InputChainStruct for VideoDecodeH264CapabilitiesKHR {
17723 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR;
17724
17725 #[inline]
17726 fn s_type(&self) -> StructureType {
17727 self.s_type
17728 }
17729
17730 #[inline]
17731 fn next(&self) -> *const c_void {
17732 self.next
17733 }
17734}
17735
17736unsafe impl OutputChainStruct for VideoDecodeH264CapabilitiesKHR {
17737 #[inline]
17738 fn next_mut(&self) -> *mut c_void {
17739 self.next
17740 }
17741}
17742
17743unsafe impl InputChainStruct for VideoDecodeH264DpbSlotInfoKHR {
17744 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR;
17745
17746 #[inline]
17747 fn s_type(&self) -> StructureType {
17748 self.s_type
17749 }
17750
17751 #[inline]
17752 fn next(&self) -> *const c_void {
17753 self.next
17754 }
17755}
17756
17757unsafe impl InputChainStruct for VideoDecodeH264InlineSessionParametersInfoKHR {
17758 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR;
17759
17760 #[inline]
17761 fn s_type(&self) -> StructureType {
17762 self.s_type
17763 }
17764
17765 #[inline]
17766 fn next(&self) -> *const c_void {
17767 self.next
17768 }
17769}
17770
17771unsafe impl InputChainStruct for VideoDecodeH264PictureInfoKHR {
17772 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR;
17773
17774 #[inline]
17775 fn s_type(&self) -> StructureType {
17776 self.s_type
17777 }
17778
17779 #[inline]
17780 fn next(&self) -> *const c_void {
17781 self.next
17782 }
17783}
17784
17785unsafe impl InputChainStruct for VideoDecodeH264ProfileInfoKHR {
17786 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR;
17787
17788 #[inline]
17789 fn s_type(&self) -> StructureType {
17790 self.s_type
17791 }
17792
17793 #[inline]
17794 fn next(&self) -> *const c_void {
17795 self.next
17796 }
17797}
17798
17799unsafe impl InputChainStruct for VideoDecodeH264SessionParametersAddInfoKHR {
17800 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR;
17801
17802 #[inline]
17803 fn s_type(&self) -> StructureType {
17804 self.s_type
17805 }
17806
17807 #[inline]
17808 fn next(&self) -> *const c_void {
17809 self.next
17810 }
17811}
17812
17813unsafe impl InputChainStruct for VideoDecodeH264SessionParametersCreateInfoKHR {
17814 const TYPE: StructureType = StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR;
17815
17816 #[inline]
17817 fn s_type(&self) -> StructureType {
17818 self.s_type
17819 }
17820
17821 #[inline]
17822 fn next(&self) -> *const c_void {
17823 self.next
17824 }
17825}
17826
17827unsafe impl InputChainStruct for VideoDecodeH265CapabilitiesKHR {
17828 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR;
17829
17830 #[inline]
17831 fn s_type(&self) -> StructureType {
17832 self.s_type
17833 }
17834
17835 #[inline]
17836 fn next(&self) -> *const c_void {
17837 self.next
17838 }
17839}
17840
17841unsafe impl OutputChainStruct for VideoDecodeH265CapabilitiesKHR {
17842 #[inline]
17843 fn next_mut(&self) -> *mut c_void {
17844 self.next
17845 }
17846}
17847
17848unsafe impl InputChainStruct for VideoDecodeH265DpbSlotInfoKHR {
17849 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR;
17850
17851 #[inline]
17852 fn s_type(&self) -> StructureType {
17853 self.s_type
17854 }
17855
17856 #[inline]
17857 fn next(&self) -> *const c_void {
17858 self.next
17859 }
17860}
17861
17862unsafe impl InputChainStruct for VideoDecodeH265InlineSessionParametersInfoKHR {
17863 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR;
17864
17865 #[inline]
17866 fn s_type(&self) -> StructureType {
17867 self.s_type
17868 }
17869
17870 #[inline]
17871 fn next(&self) -> *const c_void {
17872 self.next
17873 }
17874}
17875
17876unsafe impl InputChainStruct for VideoDecodeH265PictureInfoKHR {
17877 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR;
17878
17879 #[inline]
17880 fn s_type(&self) -> StructureType {
17881 self.s_type
17882 }
17883
17884 #[inline]
17885 fn next(&self) -> *const c_void {
17886 self.next
17887 }
17888}
17889
17890unsafe impl InputChainStruct for VideoDecodeH265ProfileInfoKHR {
17891 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR;
17892
17893 #[inline]
17894 fn s_type(&self) -> StructureType {
17895 self.s_type
17896 }
17897
17898 #[inline]
17899 fn next(&self) -> *const c_void {
17900 self.next
17901 }
17902}
17903
17904unsafe impl InputChainStruct for VideoDecodeH265SessionParametersAddInfoKHR {
17905 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR;
17906
17907 #[inline]
17908 fn s_type(&self) -> StructureType {
17909 self.s_type
17910 }
17911
17912 #[inline]
17913 fn next(&self) -> *const c_void {
17914 self.next
17915 }
17916}
17917
17918unsafe impl InputChainStruct for VideoDecodeH265SessionParametersCreateInfoKHR {
17919 const TYPE: StructureType = StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR;
17920
17921 #[inline]
17922 fn s_type(&self) -> StructureType {
17923 self.s_type
17924 }
17925
17926 #[inline]
17927 fn next(&self) -> *const c_void {
17928 self.next
17929 }
17930}
17931
17932unsafe impl InputChainStruct for VideoDecodeInfoKHR {
17933 const TYPE: StructureType = StructureType::VIDEO_DECODE_INFO_KHR;
17934
17935 #[inline]
17936 fn s_type(&self) -> StructureType {
17937 self.s_type
17938 }
17939
17940 #[inline]
17941 fn next(&self) -> *const c_void {
17942 self.next
17943 }
17944}
17945
17946unsafe impl InputChainStruct for VideoDecodeUsageInfoKHR {
17947 const TYPE: StructureType = StructureType::VIDEO_DECODE_USAGE_INFO_KHR;
17948
17949 #[inline]
17950 fn s_type(&self) -> StructureType {
17951 self.s_type
17952 }
17953
17954 #[inline]
17955 fn next(&self) -> *const c_void {
17956 self.next
17957 }
17958}
17959
17960unsafe impl InputChainStruct for VideoDecodeVP9CapabilitiesKHR {
17961 const TYPE: StructureType = StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR;
17962
17963 #[inline]
17964 fn s_type(&self) -> StructureType {
17965 self.s_type
17966 }
17967
17968 #[inline]
17969 fn next(&self) -> *const c_void {
17970 self.next
17971 }
17972}
17973
17974unsafe impl OutputChainStruct for VideoDecodeVP9CapabilitiesKHR {
17975 #[inline]
17976 fn next_mut(&self) -> *mut c_void {
17977 self.next
17978 }
17979}
17980
17981unsafe impl InputChainStruct for VideoDecodeVP9PictureInfoKHR {
17982 const TYPE: StructureType = StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR;
17983
17984 #[inline]
17985 fn s_type(&self) -> StructureType {
17986 self.s_type
17987 }
17988
17989 #[inline]
17990 fn next(&self) -> *const c_void {
17991 self.next
17992 }
17993}
17994
17995unsafe impl InputChainStruct for VideoDecodeVP9ProfileInfoKHR {
17996 const TYPE: StructureType = StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR;
17997
17998 #[inline]
17999 fn s_type(&self) -> StructureType {
18000 self.s_type
18001 }
18002
18003 #[inline]
18004 fn next(&self) -> *const c_void {
18005 self.next
18006 }
18007}
18008
18009unsafe impl InputChainStruct for VideoEncodeAV1CapabilitiesKHR {
18010 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR;
18011
18012 #[inline]
18013 fn s_type(&self) -> StructureType {
18014 self.s_type
18015 }
18016
18017 #[inline]
18018 fn next(&self) -> *const c_void {
18019 self.next
18020 }
18021}
18022
18023unsafe impl OutputChainStruct for VideoEncodeAV1CapabilitiesKHR {
18024 #[inline]
18025 fn next_mut(&self) -> *mut c_void {
18026 self.next
18027 }
18028}
18029
18030unsafe impl InputChainStruct for VideoEncodeAV1DpbSlotInfoKHR {
18031 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR;
18032
18033 #[inline]
18034 fn s_type(&self) -> StructureType {
18035 self.s_type
18036 }
18037
18038 #[inline]
18039 fn next(&self) -> *const c_void {
18040 self.next
18041 }
18042}
18043
18044unsafe impl InputChainStruct for VideoEncodeAV1GopRemainingFrameInfoKHR {
18045 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR;
18046
18047 #[inline]
18048 fn s_type(&self) -> StructureType {
18049 self.s_type
18050 }
18051
18052 #[inline]
18053 fn next(&self) -> *const c_void {
18054 self.next
18055 }
18056}
18057
18058unsafe impl InputChainStruct for VideoEncodeAV1PictureInfoKHR {
18059 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR;
18060
18061 #[inline]
18062 fn s_type(&self) -> StructureType {
18063 self.s_type
18064 }
18065
18066 #[inline]
18067 fn next(&self) -> *const c_void {
18068 self.next
18069 }
18070}
18071
18072unsafe impl InputChainStruct for VideoEncodeAV1ProfileInfoKHR {
18073 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR;
18074
18075 #[inline]
18076 fn s_type(&self) -> StructureType {
18077 self.s_type
18078 }
18079
18080 #[inline]
18081 fn next(&self) -> *const c_void {
18082 self.next
18083 }
18084}
18085
18086unsafe impl InputChainStruct for VideoEncodeAV1QualityLevelPropertiesKHR {
18087 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR;
18088
18089 #[inline]
18090 fn s_type(&self) -> StructureType {
18091 self.s_type
18092 }
18093
18094 #[inline]
18095 fn next(&self) -> *const c_void {
18096 self.next
18097 }
18098}
18099
18100unsafe impl OutputChainStruct for VideoEncodeAV1QualityLevelPropertiesKHR {
18101 #[inline]
18102 fn next_mut(&self) -> *mut c_void {
18103 self.next
18104 }
18105}
18106
18107unsafe impl InputChainStruct for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
18108 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR;
18109
18110 #[inline]
18111 fn s_type(&self) -> StructureType {
18112 self.s_type
18113 }
18114
18115 #[inline]
18116 fn next(&self) -> *const c_void {
18117 self.next
18118 }
18119}
18120
18121unsafe impl OutputChainStruct for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
18122 #[inline]
18123 fn next_mut(&self) -> *mut c_void {
18124 self.next
18125 }
18126}
18127
18128unsafe impl InputChainStruct for VideoEncodeAV1RateControlInfoKHR {
18129 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR;
18130
18131 #[inline]
18132 fn s_type(&self) -> StructureType {
18133 self.s_type
18134 }
18135
18136 #[inline]
18137 fn next(&self) -> *const c_void {
18138 self.next
18139 }
18140}
18141
18142unsafe impl InputChainStruct for VideoEncodeAV1RateControlLayerInfoKHR {
18143 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR;
18144
18145 #[inline]
18146 fn s_type(&self) -> StructureType {
18147 self.s_type
18148 }
18149
18150 #[inline]
18151 fn next(&self) -> *const c_void {
18152 self.next
18153 }
18154}
18155
18156unsafe impl InputChainStruct for VideoEncodeAV1SessionCreateInfoKHR {
18157 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR;
18158
18159 #[inline]
18160 fn s_type(&self) -> StructureType {
18161 self.s_type
18162 }
18163
18164 #[inline]
18165 fn next(&self) -> *const c_void {
18166 self.next
18167 }
18168}
18169
18170unsafe impl InputChainStruct for VideoEncodeAV1SessionParametersCreateInfoKHR {
18171 const TYPE: StructureType = StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR;
18172
18173 #[inline]
18174 fn s_type(&self) -> StructureType {
18175 self.s_type
18176 }
18177
18178 #[inline]
18179 fn next(&self) -> *const c_void {
18180 self.next
18181 }
18182}
18183
18184unsafe impl InputChainStruct for VideoEncodeCapabilitiesKHR {
18185 const TYPE: StructureType = StructureType::VIDEO_ENCODE_CAPABILITIES_KHR;
18186
18187 #[inline]
18188 fn s_type(&self) -> StructureType {
18189 self.s_type
18190 }
18191
18192 #[inline]
18193 fn next(&self) -> *const c_void {
18194 self.next
18195 }
18196}
18197
18198unsafe impl OutputChainStruct for VideoEncodeCapabilitiesKHR {
18199 #[inline]
18200 fn next_mut(&self) -> *mut c_void {
18201 self.next
18202 }
18203}
18204
18205unsafe impl InputChainStruct for VideoEncodeH264CapabilitiesKHR {
18206 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR;
18207
18208 #[inline]
18209 fn s_type(&self) -> StructureType {
18210 self.s_type
18211 }
18212
18213 #[inline]
18214 fn next(&self) -> *const c_void {
18215 self.next
18216 }
18217}
18218
18219unsafe impl OutputChainStruct for VideoEncodeH264CapabilitiesKHR {
18220 #[inline]
18221 fn next_mut(&self) -> *mut c_void {
18222 self.next
18223 }
18224}
18225
18226unsafe impl InputChainStruct for VideoEncodeH264DpbSlotInfoKHR {
18227 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR;
18228
18229 #[inline]
18230 fn s_type(&self) -> StructureType {
18231 self.s_type
18232 }
18233
18234 #[inline]
18235 fn next(&self) -> *const c_void {
18236 self.next
18237 }
18238}
18239
18240unsafe impl InputChainStruct for VideoEncodeH264GopRemainingFrameInfoKHR {
18241 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR;
18242
18243 #[inline]
18244 fn s_type(&self) -> StructureType {
18245 self.s_type
18246 }
18247
18248 #[inline]
18249 fn next(&self) -> *const c_void {
18250 self.next
18251 }
18252}
18253
18254unsafe impl InputChainStruct for VideoEncodeH264NaluSliceInfoKHR {
18255 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR;
18256
18257 #[inline]
18258 fn s_type(&self) -> StructureType {
18259 self.s_type
18260 }
18261
18262 #[inline]
18263 fn next(&self) -> *const c_void {
18264 self.next
18265 }
18266}
18267
18268unsafe impl InputChainStruct for VideoEncodeH264PictureInfoKHR {
18269 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR;
18270
18271 #[inline]
18272 fn s_type(&self) -> StructureType {
18273 self.s_type
18274 }
18275
18276 #[inline]
18277 fn next(&self) -> *const c_void {
18278 self.next
18279 }
18280}
18281
18282unsafe impl InputChainStruct for VideoEncodeH264ProfileInfoKHR {
18283 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR;
18284
18285 #[inline]
18286 fn s_type(&self) -> StructureType {
18287 self.s_type
18288 }
18289
18290 #[inline]
18291 fn next(&self) -> *const c_void {
18292 self.next
18293 }
18294}
18295
18296unsafe impl InputChainStruct for VideoEncodeH264QualityLevelPropertiesKHR {
18297 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR;
18298
18299 #[inline]
18300 fn s_type(&self) -> StructureType {
18301 self.s_type
18302 }
18303
18304 #[inline]
18305 fn next(&self) -> *const c_void {
18306 self.next
18307 }
18308}
18309
18310unsafe impl OutputChainStruct for VideoEncodeH264QualityLevelPropertiesKHR {
18311 #[inline]
18312 fn next_mut(&self) -> *mut c_void {
18313 self.next
18314 }
18315}
18316
18317unsafe impl InputChainStruct for VideoEncodeH264QuantizationMapCapabilitiesKHR {
18318 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR;
18319
18320 #[inline]
18321 fn s_type(&self) -> StructureType {
18322 self.s_type
18323 }
18324
18325 #[inline]
18326 fn next(&self) -> *const c_void {
18327 self.next
18328 }
18329}
18330
18331unsafe impl OutputChainStruct for VideoEncodeH264QuantizationMapCapabilitiesKHR {
18332 #[inline]
18333 fn next_mut(&self) -> *mut c_void {
18334 self.next
18335 }
18336}
18337
18338unsafe impl InputChainStruct for VideoEncodeH264RateControlInfoKHR {
18339 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR;
18340
18341 #[inline]
18342 fn s_type(&self) -> StructureType {
18343 self.s_type
18344 }
18345
18346 #[inline]
18347 fn next(&self) -> *const c_void {
18348 self.next
18349 }
18350}
18351
18352unsafe impl InputChainStruct for VideoEncodeH264RateControlLayerInfoKHR {
18353 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR;
18354
18355 #[inline]
18356 fn s_type(&self) -> StructureType {
18357 self.s_type
18358 }
18359
18360 #[inline]
18361 fn next(&self) -> *const c_void {
18362 self.next
18363 }
18364}
18365
18366unsafe impl InputChainStruct for VideoEncodeH264SessionCreateInfoKHR {
18367 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR;
18368
18369 #[inline]
18370 fn s_type(&self) -> StructureType {
18371 self.s_type
18372 }
18373
18374 #[inline]
18375 fn next(&self) -> *const c_void {
18376 self.next
18377 }
18378}
18379
18380unsafe impl InputChainStruct for VideoEncodeH264SessionParametersAddInfoKHR {
18381 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR;
18382
18383 #[inline]
18384 fn s_type(&self) -> StructureType {
18385 self.s_type
18386 }
18387
18388 #[inline]
18389 fn next(&self) -> *const c_void {
18390 self.next
18391 }
18392}
18393
18394unsafe impl InputChainStruct for VideoEncodeH264SessionParametersCreateInfoKHR {
18395 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR;
18396
18397 #[inline]
18398 fn s_type(&self) -> StructureType {
18399 self.s_type
18400 }
18401
18402 #[inline]
18403 fn next(&self) -> *const c_void {
18404 self.next
18405 }
18406}
18407
18408unsafe impl InputChainStruct for VideoEncodeH264SessionParametersFeedbackInfoKHR {
18409 const TYPE: StructureType =
18410 StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR;
18411
18412 #[inline]
18413 fn s_type(&self) -> StructureType {
18414 self.s_type
18415 }
18416
18417 #[inline]
18418 fn next(&self) -> *const c_void {
18419 self.next
18420 }
18421}
18422
18423unsafe impl OutputChainStruct for VideoEncodeH264SessionParametersFeedbackInfoKHR {
18424 #[inline]
18425 fn next_mut(&self) -> *mut c_void {
18426 self.next
18427 }
18428}
18429
18430unsafe impl InputChainStruct for VideoEncodeH264SessionParametersGetInfoKHR {
18431 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR;
18432
18433 #[inline]
18434 fn s_type(&self) -> StructureType {
18435 self.s_type
18436 }
18437
18438 #[inline]
18439 fn next(&self) -> *const c_void {
18440 self.next
18441 }
18442}
18443
18444unsafe impl InputChainStruct for VideoEncodeH265CapabilitiesKHR {
18445 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR;
18446
18447 #[inline]
18448 fn s_type(&self) -> StructureType {
18449 self.s_type
18450 }
18451
18452 #[inline]
18453 fn next(&self) -> *const c_void {
18454 self.next
18455 }
18456}
18457
18458unsafe impl OutputChainStruct for VideoEncodeH265CapabilitiesKHR {
18459 #[inline]
18460 fn next_mut(&self) -> *mut c_void {
18461 self.next
18462 }
18463}
18464
18465unsafe impl InputChainStruct for VideoEncodeH265DpbSlotInfoKHR {
18466 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR;
18467
18468 #[inline]
18469 fn s_type(&self) -> StructureType {
18470 self.s_type
18471 }
18472
18473 #[inline]
18474 fn next(&self) -> *const c_void {
18475 self.next
18476 }
18477}
18478
18479unsafe impl InputChainStruct for VideoEncodeH265GopRemainingFrameInfoKHR {
18480 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR;
18481
18482 #[inline]
18483 fn s_type(&self) -> StructureType {
18484 self.s_type
18485 }
18486
18487 #[inline]
18488 fn next(&self) -> *const c_void {
18489 self.next
18490 }
18491}
18492
18493unsafe impl InputChainStruct for VideoEncodeH265NaluSliceSegmentInfoKHR {
18494 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR;
18495
18496 #[inline]
18497 fn s_type(&self) -> StructureType {
18498 self.s_type
18499 }
18500
18501 #[inline]
18502 fn next(&self) -> *const c_void {
18503 self.next
18504 }
18505}
18506
18507unsafe impl InputChainStruct for VideoEncodeH265PictureInfoKHR {
18508 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR;
18509
18510 #[inline]
18511 fn s_type(&self) -> StructureType {
18512 self.s_type
18513 }
18514
18515 #[inline]
18516 fn next(&self) -> *const c_void {
18517 self.next
18518 }
18519}
18520
18521unsafe impl InputChainStruct for VideoEncodeH265ProfileInfoKHR {
18522 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR;
18523
18524 #[inline]
18525 fn s_type(&self) -> StructureType {
18526 self.s_type
18527 }
18528
18529 #[inline]
18530 fn next(&self) -> *const c_void {
18531 self.next
18532 }
18533}
18534
18535unsafe impl InputChainStruct for VideoEncodeH265QualityLevelPropertiesKHR {
18536 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR;
18537
18538 #[inline]
18539 fn s_type(&self) -> StructureType {
18540 self.s_type
18541 }
18542
18543 #[inline]
18544 fn next(&self) -> *const c_void {
18545 self.next
18546 }
18547}
18548
18549unsafe impl OutputChainStruct for VideoEncodeH265QualityLevelPropertiesKHR {
18550 #[inline]
18551 fn next_mut(&self) -> *mut c_void {
18552 self.next
18553 }
18554}
18555
18556unsafe impl InputChainStruct for VideoEncodeH265QuantizationMapCapabilitiesKHR {
18557 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR;
18558
18559 #[inline]
18560 fn s_type(&self) -> StructureType {
18561 self.s_type
18562 }
18563
18564 #[inline]
18565 fn next(&self) -> *const c_void {
18566 self.next
18567 }
18568}
18569
18570unsafe impl OutputChainStruct for VideoEncodeH265QuantizationMapCapabilitiesKHR {
18571 #[inline]
18572 fn next_mut(&self) -> *mut c_void {
18573 self.next
18574 }
18575}
18576
18577unsafe impl InputChainStruct for VideoEncodeH265RateControlInfoKHR {
18578 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR;
18579
18580 #[inline]
18581 fn s_type(&self) -> StructureType {
18582 self.s_type
18583 }
18584
18585 #[inline]
18586 fn next(&self) -> *const c_void {
18587 self.next
18588 }
18589}
18590
18591unsafe impl InputChainStruct for VideoEncodeH265RateControlLayerInfoKHR {
18592 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR;
18593
18594 #[inline]
18595 fn s_type(&self) -> StructureType {
18596 self.s_type
18597 }
18598
18599 #[inline]
18600 fn next(&self) -> *const c_void {
18601 self.next
18602 }
18603}
18604
18605unsafe impl InputChainStruct for VideoEncodeH265SessionCreateInfoKHR {
18606 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR;
18607
18608 #[inline]
18609 fn s_type(&self) -> StructureType {
18610 self.s_type
18611 }
18612
18613 #[inline]
18614 fn next(&self) -> *const c_void {
18615 self.next
18616 }
18617}
18618
18619unsafe impl InputChainStruct for VideoEncodeH265SessionParametersAddInfoKHR {
18620 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR;
18621
18622 #[inline]
18623 fn s_type(&self) -> StructureType {
18624 self.s_type
18625 }
18626
18627 #[inline]
18628 fn next(&self) -> *const c_void {
18629 self.next
18630 }
18631}
18632
18633unsafe impl InputChainStruct for VideoEncodeH265SessionParametersCreateInfoKHR {
18634 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR;
18635
18636 #[inline]
18637 fn s_type(&self) -> StructureType {
18638 self.s_type
18639 }
18640
18641 #[inline]
18642 fn next(&self) -> *const c_void {
18643 self.next
18644 }
18645}
18646
18647unsafe impl InputChainStruct for VideoEncodeH265SessionParametersFeedbackInfoKHR {
18648 const TYPE: StructureType =
18649 StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR;
18650
18651 #[inline]
18652 fn s_type(&self) -> StructureType {
18653 self.s_type
18654 }
18655
18656 #[inline]
18657 fn next(&self) -> *const c_void {
18658 self.next
18659 }
18660}
18661
18662unsafe impl OutputChainStruct for VideoEncodeH265SessionParametersFeedbackInfoKHR {
18663 #[inline]
18664 fn next_mut(&self) -> *mut c_void {
18665 self.next
18666 }
18667}
18668
18669unsafe impl InputChainStruct for VideoEncodeH265SessionParametersGetInfoKHR {
18670 const TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR;
18671
18672 #[inline]
18673 fn s_type(&self) -> StructureType {
18674 self.s_type
18675 }
18676
18677 #[inline]
18678 fn next(&self) -> *const c_void {
18679 self.next
18680 }
18681}
18682
18683unsafe impl InputChainStruct for VideoEncodeInfoKHR {
18684 const TYPE: StructureType = StructureType::VIDEO_ENCODE_INFO_KHR;
18685
18686 #[inline]
18687 fn s_type(&self) -> StructureType {
18688 self.s_type
18689 }
18690
18691 #[inline]
18692 fn next(&self) -> *const c_void {
18693 self.next
18694 }
18695}
18696
18697unsafe impl InputChainStruct for VideoEncodeIntraRefreshCapabilitiesKHR {
18698 const TYPE: StructureType = StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR;
18699
18700 #[inline]
18701 fn s_type(&self) -> StructureType {
18702 self.s_type
18703 }
18704
18705 #[inline]
18706 fn next(&self) -> *const c_void {
18707 self.next
18708 }
18709}
18710
18711unsafe impl OutputChainStruct for VideoEncodeIntraRefreshCapabilitiesKHR {
18712 #[inline]
18713 fn next_mut(&self) -> *mut c_void {
18714 self.next
18715 }
18716}
18717
18718unsafe impl InputChainStruct for VideoEncodeIntraRefreshInfoKHR {
18719 const TYPE: StructureType = StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR;
18720
18721 #[inline]
18722 fn s_type(&self) -> StructureType {
18723 self.s_type
18724 }
18725
18726 #[inline]
18727 fn next(&self) -> *const c_void {
18728 self.next
18729 }
18730}
18731
18732unsafe impl InputChainStruct for VideoEncodeProfileRgbConversionInfoVALVE {
18733 const TYPE: StructureType = StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE;
18734
18735 #[inline]
18736 fn s_type(&self) -> StructureType {
18737 self.s_type
18738 }
18739
18740 #[inline]
18741 fn next(&self) -> *const c_void {
18742 self.next
18743 }
18744}
18745
18746unsafe impl InputChainStruct for VideoEncodeQualityLevelInfoKHR {
18747 const TYPE: StructureType = StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR;
18748
18749 #[inline]
18750 fn s_type(&self) -> StructureType {
18751 self.s_type
18752 }
18753
18754 #[inline]
18755 fn next(&self) -> *const c_void {
18756 self.next
18757 }
18758}
18759
18760unsafe impl InputChainStruct for VideoEncodeQualityLevelPropertiesKHR {
18761 const TYPE: StructureType = StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR;
18762
18763 #[inline]
18764 fn s_type(&self) -> StructureType {
18765 self.s_type
18766 }
18767
18768 #[inline]
18769 fn next(&self) -> *const c_void {
18770 self.next
18771 }
18772}
18773
18774unsafe impl OutputChainStruct for VideoEncodeQualityLevelPropertiesKHR {
18775 #[inline]
18776 fn next_mut(&self) -> *mut c_void {
18777 self.next
18778 }
18779}
18780
18781unsafe impl InputChainStruct for VideoEncodeQuantizationMapCapabilitiesKHR {
18782 const TYPE: StructureType = StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR;
18783
18784 #[inline]
18785 fn s_type(&self) -> StructureType {
18786 self.s_type
18787 }
18788
18789 #[inline]
18790 fn next(&self) -> *const c_void {
18791 self.next
18792 }
18793}
18794
18795unsafe impl OutputChainStruct for VideoEncodeQuantizationMapCapabilitiesKHR {
18796 #[inline]
18797 fn next_mut(&self) -> *mut c_void {
18798 self.next
18799 }
18800}
18801
18802unsafe impl InputChainStruct for VideoEncodeQuantizationMapInfoKHR {
18803 const TYPE: StructureType = StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR;
18804
18805 #[inline]
18806 fn s_type(&self) -> StructureType {
18807 self.s_type
18808 }
18809
18810 #[inline]
18811 fn next(&self) -> *const c_void {
18812 self.next
18813 }
18814}
18815
18816unsafe impl InputChainStruct for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
18817 const TYPE: StructureType =
18818 StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR;
18819
18820 #[inline]
18821 fn s_type(&self) -> StructureType {
18822 self.s_type
18823 }
18824
18825 #[inline]
18826 fn next(&self) -> *const c_void {
18827 self.next
18828 }
18829}
18830
18831unsafe impl InputChainStruct for VideoEncodeRateControlInfoKHR {
18832 const TYPE: StructureType = StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR;
18833
18834 #[inline]
18835 fn s_type(&self) -> StructureType {
18836 self.s_type
18837 }
18838
18839 #[inline]
18840 fn next(&self) -> *const c_void {
18841 self.next
18842 }
18843}
18844
18845unsafe impl InputChainStruct for VideoEncodeRateControlLayerInfoKHR {
18846 const TYPE: StructureType = StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR;
18847
18848 #[inline]
18849 fn s_type(&self) -> StructureType {
18850 self.s_type
18851 }
18852
18853 #[inline]
18854 fn next(&self) -> *const c_void {
18855 self.next
18856 }
18857}
18858
18859unsafe impl InputChainStruct for VideoEncodeRgbConversionCapabilitiesVALVE {
18860 const TYPE: StructureType = StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE;
18861
18862 #[inline]
18863 fn s_type(&self) -> StructureType {
18864 self.s_type
18865 }
18866
18867 #[inline]
18868 fn next(&self) -> *const c_void {
18869 self.next
18870 }
18871}
18872
18873unsafe impl OutputChainStruct for VideoEncodeRgbConversionCapabilitiesVALVE {
18874 #[inline]
18875 fn next_mut(&self) -> *mut c_void {
18876 self.next
18877 }
18878}
18879
18880unsafe impl InputChainStruct for VideoEncodeSessionIntraRefreshCreateInfoKHR {
18881 const TYPE: StructureType = StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR;
18882
18883 #[inline]
18884 fn s_type(&self) -> StructureType {
18885 self.s_type
18886 }
18887
18888 #[inline]
18889 fn next(&self) -> *const c_void {
18890 self.next
18891 }
18892}
18893
18894unsafe impl InputChainStruct for VideoEncodeSessionParametersFeedbackInfoKHR {
18895 const TYPE: StructureType = StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR;
18896
18897 #[inline]
18898 fn s_type(&self) -> StructureType {
18899 self.s_type
18900 }
18901
18902 #[inline]
18903 fn next(&self) -> *const c_void {
18904 self.next
18905 }
18906}
18907
18908unsafe impl OutputChainStruct for VideoEncodeSessionParametersFeedbackInfoKHR {
18909 #[inline]
18910 fn next_mut(&self) -> *mut c_void {
18911 self.next
18912 }
18913}
18914
18915unsafe impl InputChainStruct for VideoEncodeSessionParametersGetInfoKHR {
18916 const TYPE: StructureType = StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR;
18917
18918 #[inline]
18919 fn s_type(&self) -> StructureType {
18920 self.s_type
18921 }
18922
18923 #[inline]
18924 fn next(&self) -> *const c_void {
18925 self.next
18926 }
18927}
18928
18929unsafe impl InputChainStruct for VideoEncodeSessionRgbConversionCreateInfoVALVE {
18930 const TYPE: StructureType =
18931 StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE;
18932
18933 #[inline]
18934 fn s_type(&self) -> StructureType {
18935 self.s_type
18936 }
18937
18938 #[inline]
18939 fn next(&self) -> *const c_void {
18940 self.next
18941 }
18942}
18943
18944unsafe impl InputChainStruct for VideoEncodeUsageInfoKHR {
18945 const TYPE: StructureType = StructureType::VIDEO_ENCODE_USAGE_INFO_KHR;
18946
18947 #[inline]
18948 fn s_type(&self) -> StructureType {
18949 self.s_type
18950 }
18951
18952 #[inline]
18953 fn next(&self) -> *const c_void {
18954 self.next
18955 }
18956}
18957
18958unsafe impl InputChainStruct for VideoEndCodingInfoKHR {
18959 const TYPE: StructureType = StructureType::VIDEO_END_CODING_INFO_KHR;
18960
18961 #[inline]
18962 fn s_type(&self) -> StructureType {
18963 self.s_type
18964 }
18965
18966 #[inline]
18967 fn next(&self) -> *const c_void {
18968 self.next
18969 }
18970}
18971
18972unsafe impl InputChainStruct for VideoFormatAV1QuantizationMapPropertiesKHR {
18973 const TYPE: StructureType = StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR;
18974
18975 #[inline]
18976 fn s_type(&self) -> StructureType {
18977 self.s_type
18978 }
18979
18980 #[inline]
18981 fn next(&self) -> *const c_void {
18982 self.next
18983 }
18984}
18985
18986unsafe impl OutputChainStruct for VideoFormatAV1QuantizationMapPropertiesKHR {
18987 #[inline]
18988 fn next_mut(&self) -> *mut c_void {
18989 self.next
18990 }
18991}
18992
18993unsafe impl InputChainStruct for VideoFormatH265QuantizationMapPropertiesKHR {
18994 const TYPE: StructureType = StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR;
18995
18996 #[inline]
18997 fn s_type(&self) -> StructureType {
18998 self.s_type
18999 }
19000
19001 #[inline]
19002 fn next(&self) -> *const c_void {
19003 self.next
19004 }
19005}
19006
19007unsafe impl OutputChainStruct for VideoFormatH265QuantizationMapPropertiesKHR {
19008 #[inline]
19009 fn next_mut(&self) -> *mut c_void {
19010 self.next
19011 }
19012}
19013
19014unsafe impl InputChainStruct for VideoFormatPropertiesKHR {
19015 const TYPE: StructureType = StructureType::VIDEO_FORMAT_PROPERTIES_KHR;
19016
19017 #[inline]
19018 fn s_type(&self) -> StructureType {
19019 self.s_type
19020 }
19021
19022 #[inline]
19023 fn next(&self) -> *const c_void {
19024 self.next
19025 }
19026}
19027
19028unsafe impl OutputChainStruct for VideoFormatPropertiesKHR {
19029 #[inline]
19030 fn next_mut(&self) -> *mut c_void {
19031 self.next
19032 }
19033}
19034
19035unsafe impl InputChainStruct for VideoFormatQuantizationMapPropertiesKHR {
19036 const TYPE: StructureType = StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR;
19037
19038 #[inline]
19039 fn s_type(&self) -> StructureType {
19040 self.s_type
19041 }
19042
19043 #[inline]
19044 fn next(&self) -> *const c_void {
19045 self.next
19046 }
19047}
19048
19049unsafe impl OutputChainStruct for VideoFormatQuantizationMapPropertiesKHR {
19050 #[inline]
19051 fn next_mut(&self) -> *mut c_void {
19052 self.next
19053 }
19054}
19055
19056unsafe impl InputChainStruct for VideoInlineQueryInfoKHR {
19057 const TYPE: StructureType = StructureType::VIDEO_INLINE_QUERY_INFO_KHR;
19058
19059 #[inline]
19060 fn s_type(&self) -> StructureType {
19061 self.s_type
19062 }
19063
19064 #[inline]
19065 fn next(&self) -> *const c_void {
19066 self.next
19067 }
19068}
19069
19070unsafe impl InputChainStruct for VideoPictureResourceInfoKHR {
19071 const TYPE: StructureType = StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR;
19072
19073 #[inline]
19074 fn s_type(&self) -> StructureType {
19075 self.s_type
19076 }
19077
19078 #[inline]
19079 fn next(&self) -> *const c_void {
19080 self.next
19081 }
19082}
19083
19084unsafe impl InputChainStruct for VideoProfileInfoKHR {
19085 const TYPE: StructureType = StructureType::VIDEO_PROFILE_INFO_KHR;
19086
19087 #[inline]
19088 fn s_type(&self) -> StructureType {
19089 self.s_type
19090 }
19091
19092 #[inline]
19093 fn next(&self) -> *const c_void {
19094 self.next
19095 }
19096}
19097
19098unsafe impl InputChainStruct for VideoProfileListInfoKHR {
19099 const TYPE: StructureType = StructureType::VIDEO_PROFILE_LIST_INFO_KHR;
19100
19101 #[inline]
19102 fn s_type(&self) -> StructureType {
19103 self.s_type
19104 }
19105
19106 #[inline]
19107 fn next(&self) -> *const c_void {
19108 self.next
19109 }
19110}
19111
19112unsafe impl InputChainStruct for VideoReferenceIntraRefreshInfoKHR {
19113 const TYPE: StructureType = StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR;
19114
19115 #[inline]
19116 fn s_type(&self) -> StructureType {
19117 self.s_type
19118 }
19119
19120 #[inline]
19121 fn next(&self) -> *const c_void {
19122 self.next
19123 }
19124}
19125
19126unsafe impl InputChainStruct for VideoReferenceSlotInfoKHR {
19127 const TYPE: StructureType = StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR;
19128
19129 #[inline]
19130 fn s_type(&self) -> StructureType {
19131 self.s_type
19132 }
19133
19134 #[inline]
19135 fn next(&self) -> *const c_void {
19136 self.next
19137 }
19138}
19139
19140unsafe impl InputChainStruct for VideoSessionCreateInfoKHR {
19141 const TYPE: StructureType = StructureType::VIDEO_SESSION_CREATE_INFO_KHR;
19142
19143 #[inline]
19144 fn s_type(&self) -> StructureType {
19145 self.s_type
19146 }
19147
19148 #[inline]
19149 fn next(&self) -> *const c_void {
19150 self.next
19151 }
19152}
19153
19154unsafe impl InputChainStruct for VideoSessionMemoryRequirementsKHR {
19155 const TYPE: StructureType = StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR;
19156
19157 #[inline]
19158 fn s_type(&self) -> StructureType {
19159 self.s_type
19160 }
19161
19162 #[inline]
19163 fn next(&self) -> *const c_void {
19164 self.next
19165 }
19166}
19167
19168unsafe impl OutputChainStruct for VideoSessionMemoryRequirementsKHR {
19169 #[inline]
19170 fn next_mut(&self) -> *mut c_void {
19171 self.next
19172 }
19173}
19174
19175unsafe impl InputChainStruct for VideoSessionParametersCreateInfoKHR {
19176 const TYPE: StructureType = StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR;
19177
19178 #[inline]
19179 fn s_type(&self) -> StructureType {
19180 self.s_type
19181 }
19182
19183 #[inline]
19184 fn next(&self) -> *const c_void {
19185 self.next
19186 }
19187}
19188
19189unsafe impl InputChainStruct for VideoSessionParametersUpdateInfoKHR {
19190 const TYPE: StructureType = StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR;
19191
19192 #[inline]
19193 fn s_type(&self) -> StructureType {
19194 self.s_type
19195 }
19196
19197 #[inline]
19198 fn next(&self) -> *const c_void {
19199 self.next
19200 }
19201}
19202
19203unsafe impl InputChainStruct for WaylandSurfaceCreateInfoKHR {
19204 const TYPE: StructureType = StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR;
19205
19206 #[inline]
19207 fn s_type(&self) -> StructureType {
19208 self.s_type
19209 }
19210
19211 #[inline]
19212 fn next(&self) -> *const c_void {
19213 self.next
19214 }
19215}
19216
19217unsafe impl InputChainStruct for Win32KeyedMutexAcquireReleaseInfoKHR {
19218 const TYPE: StructureType = StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
19219
19220 #[inline]
19221 fn s_type(&self) -> StructureType {
19222 self.s_type
19223 }
19224
19225 #[inline]
19226 fn next(&self) -> *const c_void {
19227 self.next
19228 }
19229}
19230
19231unsafe impl InputChainStruct for Win32KeyedMutexAcquireReleaseInfoNV {
19232 const TYPE: StructureType = StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
19233
19234 #[inline]
19235 fn s_type(&self) -> StructureType {
19236 self.s_type
19237 }
19238
19239 #[inline]
19240 fn next(&self) -> *const c_void {
19241 self.next
19242 }
19243}
19244
19245unsafe impl InputChainStruct for Win32SurfaceCreateInfoKHR {
19246 const TYPE: StructureType = StructureType::WIN32_SURFACE_CREATE_INFO_KHR;
19247
19248 #[inline]
19249 fn s_type(&self) -> StructureType {
19250 self.s_type
19251 }
19252
19253 #[inline]
19254 fn next(&self) -> *const c_void {
19255 self.next
19256 }
19257}
19258
19259unsafe impl InputChainStruct for WriteDescriptorSet {
19260 const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET;
19261
19262 #[inline]
19263 fn s_type(&self) -> StructureType {
19264 self.s_type
19265 }
19266
19267 #[inline]
19268 fn next(&self) -> *const c_void {
19269 self.next
19270 }
19271}
19272
19273unsafe impl InputChainStruct for WriteDescriptorSetAccelerationStructureKHR {
19274 const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
19275
19276 #[inline]
19277 fn s_type(&self) -> StructureType {
19278 self.s_type
19279 }
19280
19281 #[inline]
19282 fn next(&self) -> *const c_void {
19283 self.next
19284 }
19285}
19286
19287unsafe impl InputChainStruct for WriteDescriptorSetAccelerationStructureNV {
19288 const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
19289
19290 #[inline]
19291 fn s_type(&self) -> StructureType {
19292 self.s_type
19293 }
19294
19295 #[inline]
19296 fn next(&self) -> *const c_void {
19297 self.next
19298 }
19299}
19300
19301unsafe impl InputChainStruct for WriteDescriptorSetInlineUniformBlock {
19302 const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK;
19303
19304 #[inline]
19305 fn s_type(&self) -> StructureType {
19306 self.s_type
19307 }
19308
19309 #[inline]
19310 fn next(&self) -> *const c_void {
19311 self.next
19312 }
19313}
19314
19315unsafe impl InputChainStruct for WriteDescriptorSetPartitionedAccelerationStructureNV {
19316 const TYPE: StructureType =
19317 StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV;
19318
19319 #[inline]
19320 fn s_type(&self) -> StructureType {
19321 self.s_type
19322 }
19323
19324 #[inline]
19325 fn next(&self) -> *const c_void {
19326 self.next
19327 }
19328}
19329
19330unsafe impl OutputChainStruct for WriteDescriptorSetPartitionedAccelerationStructureNV {
19331 #[inline]
19332 fn next_mut(&self) -> *mut c_void {
19333 self.next
19334 }
19335}
19336
19337unsafe impl InputChainStruct for WriteDescriptorSetTensorARM {
19338 const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM;
19339
19340 #[inline]
19341 fn s_type(&self) -> StructureType {
19342 self.s_type
19343 }
19344
19345 #[inline]
19346 fn next(&self) -> *const c_void {
19347 self.next
19348 }
19349}
19350
19351unsafe impl InputChainStruct for WriteIndirectExecutionSetPipelineEXT {
19352 const TYPE: StructureType = StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT;
19353
19354 #[inline]
19355 fn s_type(&self) -> StructureType {
19356 self.s_type
19357 }
19358
19359 #[inline]
19360 fn next(&self) -> *const c_void {
19361 self.next
19362 }
19363}
19364
19365unsafe impl InputChainStruct for WriteIndirectExecutionSetShaderEXT {
19366 const TYPE: StructureType = StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT;
19367
19368 #[inline]
19369 fn s_type(&self) -> StructureType {
19370 self.s_type
19371 }
19372
19373 #[inline]
19374 fn next(&self) -> *const c_void {
19375 self.next
19376 }
19377}
19378
19379unsafe impl InputChainStruct for XcbSurfaceCreateInfoKHR {
19380 const TYPE: StructureType = StructureType::XCB_SURFACE_CREATE_INFO_KHR;
19381
19382 #[inline]
19383 fn s_type(&self) -> StructureType {
19384 self.s_type
19385 }
19386
19387 #[inline]
19388 fn next(&self) -> *const c_void {
19389 self.next
19390 }
19391}
19392
19393unsafe impl InputChainStruct for XlibSurfaceCreateInfoKHR {
19394 const TYPE: StructureType = StructureType::XLIB_SURFACE_CREATE_INFO_KHR;
19395
19396 #[inline]
19397 fn s_type(&self) -> StructureType {
19398 self.s_type
19399 }
19400
19401 #[inline]
19402 fn next(&self) -> *const c_void {
19403 self.next
19404 }
19405}