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