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