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_char, c_int, c_void};
24use core::fmt;
25use core::ptr;
26
27use crate::*;
28
29#[repr(C)]
31#[derive(Copy, Clone, Default, Debug, PartialEq)]
32pub struct AabbPositionsKHR {
33 pub min_x: f32,
34 pub min_y: f32,
35 pub min_z: f32,
36 pub max_x: f32,
37 pub max_y: f32,
38 pub max_z: f32,
39}
40
41#[repr(C)]
43#[derive(Copy, Clone, Debug)]
44pub struct AccelerationStructureBuildGeometryInfoKHR {
45 pub s_type: StructureType,
46 pub next: *const c_void,
47 pub type_: AccelerationStructureTypeKHR,
48 pub flags: BuildAccelerationStructureFlagsKHR,
49 pub mode: BuildAccelerationStructureModeKHR,
50 pub src_acceleration_structure: AccelerationStructureKHR,
51 pub dst_acceleration_structure: AccelerationStructureKHR,
52 pub geometry_count: u32,
53 pub geometries: *const AccelerationStructureGeometryKHR,
54 pub pointer_geometries: *const *const AccelerationStructureGeometryKHR,
55 pub scratch_data: DeviceOrHostAddressKHR,
56}
57
58impl Default for AccelerationStructureBuildGeometryInfoKHR {
59 #[inline]
60 fn default() -> Self {
61 Self {
62 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
63 next: ptr::null(),
64 type_: AccelerationStructureTypeKHR::default(),
65 flags: BuildAccelerationStructureFlagsKHR::default(),
66 mode: BuildAccelerationStructureModeKHR::default(),
67 src_acceleration_structure: AccelerationStructureKHR::default(),
68 dst_acceleration_structure: AccelerationStructureKHR::default(),
69 geometry_count: u32::default(),
70 geometries: ptr::null(),
71 pointer_geometries: ptr::null(),
72 scratch_data: DeviceOrHostAddressKHR::default(),
73 }
74 }
75}
76
77unsafe impl Send for AccelerationStructureBuildGeometryInfoKHR {}
78unsafe impl Sync for AccelerationStructureBuildGeometryInfoKHR {}
79
80#[repr(C)]
82#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
83pub struct AccelerationStructureBuildRangeInfoKHR {
84 pub primitive_count: u32,
85 pub primitive_offset: u32,
86 pub first_vertex: u32,
87 pub transform_offset: u32,
88}
89
90#[repr(C)]
92#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
93pub struct AccelerationStructureBuildSizesInfoKHR {
94 pub s_type: StructureType,
95 pub next: *mut c_void,
96 pub acceleration_structure_size: DeviceSize,
97 pub update_scratch_size: DeviceSize,
98 pub build_scratch_size: DeviceSize,
99}
100
101impl Default for AccelerationStructureBuildSizesInfoKHR {
102 #[inline]
103 fn default() -> Self {
104 Self {
105 s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
106 next: ptr::null_mut(),
107 acceleration_structure_size: DeviceSize::default(),
108 update_scratch_size: DeviceSize::default(),
109 build_scratch_size: DeviceSize::default(),
110 }
111 }
112}
113
114unsafe impl Send for AccelerationStructureBuildSizesInfoKHR {}
115unsafe impl Sync for AccelerationStructureBuildSizesInfoKHR {}
116
117#[repr(C)]
119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
120pub struct AccelerationStructureCaptureDescriptorDataInfoEXT {
121 pub s_type: StructureType,
122 pub next: *const c_void,
123 pub acceleration_structure: AccelerationStructureKHR,
124 pub acceleration_structure_nv: AccelerationStructureNV,
125}
126
127impl Default for AccelerationStructureCaptureDescriptorDataInfoEXT {
128 #[inline]
129 fn default() -> Self {
130 Self {
131 s_type: StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
132 next: ptr::null(),
133 acceleration_structure: AccelerationStructureKHR::default(),
134 acceleration_structure_nv: AccelerationStructureNV::default(),
135 }
136 }
137}
138
139unsafe impl Send for AccelerationStructureCaptureDescriptorDataInfoEXT {}
140unsafe impl Sync for AccelerationStructureCaptureDescriptorDataInfoEXT {}
141
142#[repr(C)]
144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
145pub struct AccelerationStructureCreateInfoKHR {
146 pub s_type: StructureType,
147 pub next: *const c_void,
148 pub create_flags: AccelerationStructureCreateFlagsKHR,
149 pub buffer: Buffer,
150 pub offset: DeviceSize,
151 pub size: DeviceSize,
152 pub type_: AccelerationStructureTypeKHR,
153 pub device_address: DeviceAddress,
154}
155
156impl Default for AccelerationStructureCreateInfoKHR {
157 #[inline]
158 fn default() -> Self {
159 Self {
160 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
161 next: ptr::null(),
162 create_flags: AccelerationStructureCreateFlagsKHR::default(),
163 buffer: Buffer::default(),
164 offset: DeviceSize::default(),
165 size: DeviceSize::default(),
166 type_: AccelerationStructureTypeKHR::default(),
167 device_address: DeviceAddress::default(),
168 }
169 }
170}
171
172unsafe impl Send for AccelerationStructureCreateInfoKHR {}
173unsafe impl Sync for AccelerationStructureCreateInfoKHR {}
174
175#[repr(C)]
177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
178pub struct AccelerationStructureCreateInfoNV {
179 pub s_type: StructureType,
180 pub next: *const c_void,
181 pub compacted_size: DeviceSize,
182 pub info: AccelerationStructureInfoNV,
183}
184
185impl Default for AccelerationStructureCreateInfoNV {
186 #[inline]
187 fn default() -> Self {
188 Self {
189 s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV,
190 next: ptr::null(),
191 compacted_size: DeviceSize::default(),
192 info: AccelerationStructureInfoNV::default(),
193 }
194 }
195}
196
197unsafe impl Send for AccelerationStructureCreateInfoNV {}
198unsafe impl Sync for AccelerationStructureCreateInfoNV {}
199
200#[repr(C)]
202#[derive(Copy, Clone, Debug)]
203pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
204 pub s_type: StructureType,
205 pub next: *const c_void,
206 pub compressed_data: DeviceOrHostAddressConstKHR,
207 pub data_size: DeviceSize,
208 pub num_triangles: u32,
209 pub num_vertices: u32,
210 pub max_primitive_index: u32,
211 pub max_geometry_index: u32,
212 pub format: CompressedTriangleFormatAMDX,
213}
214
215impl Default for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
216 #[inline]
217 fn default() -> Self {
218 Self {
219 s_type: StructureType::ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX,
220 next: ptr::null(),
221 compressed_data: DeviceOrHostAddressConstKHR::default(),
222 data_size: DeviceSize::default(),
223 num_triangles: u32::default(),
224 num_vertices: u32::default(),
225 max_primitive_index: u32::default(),
226 max_geometry_index: u32::default(),
227 format: CompressedTriangleFormatAMDX::default(),
228 }
229 }
230}
231
232unsafe impl Send for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
233unsafe impl Sync for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
234
235#[repr(C)]
237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
238pub struct AccelerationStructureDeviceAddressInfoKHR {
239 pub s_type: StructureType,
240 pub next: *const c_void,
241 pub acceleration_structure: AccelerationStructureKHR,
242}
243
244impl Default for AccelerationStructureDeviceAddressInfoKHR {
245 #[inline]
246 fn default() -> Self {
247 Self {
248 s_type: StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
249 next: ptr::null(),
250 acceleration_structure: AccelerationStructureKHR::default(),
251 }
252 }
253}
254
255unsafe impl Send for AccelerationStructureDeviceAddressInfoKHR {}
256unsafe impl Sync for AccelerationStructureDeviceAddressInfoKHR {}
257
258#[repr(C)]
260#[derive(Copy, Clone, Debug)]
261pub struct AccelerationStructureGeometryAabbsDataKHR {
262 pub s_type: StructureType,
263 pub next: *const c_void,
264 pub data: DeviceOrHostAddressConstKHR,
265 pub stride: DeviceSize,
266}
267
268impl Default for AccelerationStructureGeometryAabbsDataKHR {
269 #[inline]
270 fn default() -> Self {
271 Self {
272 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
273 next: ptr::null(),
274 data: DeviceOrHostAddressConstKHR::default(),
275 stride: DeviceSize::default(),
276 }
277 }
278}
279
280unsafe impl Send for AccelerationStructureGeometryAabbsDataKHR {}
281unsafe impl Sync for AccelerationStructureGeometryAabbsDataKHR {}
282
283#[repr(C)]
285#[derive(Copy, Clone, Debug)]
286pub struct AccelerationStructureGeometryInstancesDataKHR {
287 pub s_type: StructureType,
288 pub next: *const c_void,
289 pub array_of_pointers: Bool32,
290 pub data: DeviceOrHostAddressConstKHR,
291}
292
293impl Default for AccelerationStructureGeometryInstancesDataKHR {
294 #[inline]
295 fn default() -> Self {
296 Self {
297 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
298 next: ptr::null(),
299 array_of_pointers: Bool32::default(),
300 data: DeviceOrHostAddressConstKHR::default(),
301 }
302 }
303}
304
305unsafe impl Send for AccelerationStructureGeometryInstancesDataKHR {}
306unsafe impl Sync for AccelerationStructureGeometryInstancesDataKHR {}
307
308#[repr(C)]
310#[derive(Copy, Clone, Debug)]
311pub struct AccelerationStructureGeometryKHR {
312 pub s_type: StructureType,
313 pub next: *const c_void,
314 pub geometry_type: GeometryTypeKHR,
315 pub geometry: AccelerationStructureGeometryDataKHR,
316 pub flags: GeometryFlagsKHR,
317}
318
319impl Default for AccelerationStructureGeometryKHR {
320 #[inline]
321 fn default() -> Self {
322 Self {
323 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR,
324 next: ptr::null(),
325 geometry_type: GeometryTypeKHR::default(),
326 geometry: AccelerationStructureGeometryDataKHR::default(),
327 flags: GeometryFlagsKHR::default(),
328 }
329 }
330}
331
332unsafe impl Send for AccelerationStructureGeometryKHR {}
333unsafe impl Sync for AccelerationStructureGeometryKHR {}
334
335#[repr(C)]
337#[derive(Copy, Clone, Debug)]
338pub struct AccelerationStructureGeometryLinearSweptSpheresDataNV {
339 pub s_type: StructureType,
340 pub next: *const c_void,
341 pub vertex_format: Format,
342 pub vertex_data: DeviceOrHostAddressConstKHR,
343 pub vertex_stride: DeviceSize,
344 pub radius_format: Format,
345 pub radius_data: DeviceOrHostAddressConstKHR,
346 pub radius_stride: DeviceSize,
347 pub index_type: IndexType,
348 pub index_data: DeviceOrHostAddressConstKHR,
349 pub index_stride: DeviceSize,
350 pub indexing_mode: RayTracingLssIndexingModeNV,
351 pub end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV,
352}
353
354impl Default for AccelerationStructureGeometryLinearSweptSpheresDataNV {
355 #[inline]
356 fn default() -> Self {
357 Self {
358 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV,
359 next: ptr::null(),
360 vertex_format: Format::default(),
361 vertex_data: DeviceOrHostAddressConstKHR::default(),
362 vertex_stride: DeviceSize::default(),
363 radius_format: Format::default(),
364 radius_data: DeviceOrHostAddressConstKHR::default(),
365 radius_stride: DeviceSize::default(),
366 index_type: IndexType::default(),
367 index_data: DeviceOrHostAddressConstKHR::default(),
368 index_stride: DeviceSize::default(),
369 indexing_mode: RayTracingLssIndexingModeNV::default(),
370 end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV::default(),
371 }
372 }
373}
374
375unsafe impl Send for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
376unsafe impl Sync for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
377
378#[repr(C)]
380#[derive(Copy, Clone, Debug)]
381pub struct AccelerationStructureGeometryMotionTrianglesDataNV {
382 pub s_type: StructureType,
383 pub next: *const c_void,
384 pub vertex_data: DeviceOrHostAddressConstKHR,
385}
386
387impl Default for AccelerationStructureGeometryMotionTrianglesDataNV {
388 #[inline]
389 fn default() -> Self {
390 Self {
391 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
392 next: ptr::null(),
393 vertex_data: DeviceOrHostAddressConstKHR::default(),
394 }
395 }
396}
397
398unsafe impl Send for AccelerationStructureGeometryMotionTrianglesDataNV {}
399unsafe impl Sync for AccelerationStructureGeometryMotionTrianglesDataNV {}
400
401#[repr(C)]
403#[derive(Copy, Clone, Debug)]
404pub struct AccelerationStructureGeometrySpheresDataNV {
405 pub s_type: StructureType,
406 pub next: *const c_void,
407 pub vertex_format: Format,
408 pub vertex_data: DeviceOrHostAddressConstKHR,
409 pub vertex_stride: DeviceSize,
410 pub radius_format: Format,
411 pub radius_data: DeviceOrHostAddressConstKHR,
412 pub radius_stride: DeviceSize,
413 pub index_type: IndexType,
414 pub index_data: DeviceOrHostAddressConstKHR,
415 pub index_stride: DeviceSize,
416}
417
418impl Default for AccelerationStructureGeometrySpheresDataNV {
419 #[inline]
420 fn default() -> Self {
421 Self {
422 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV,
423 next: ptr::null(),
424 vertex_format: Format::default(),
425 vertex_data: DeviceOrHostAddressConstKHR::default(),
426 vertex_stride: DeviceSize::default(),
427 radius_format: Format::default(),
428 radius_data: DeviceOrHostAddressConstKHR::default(),
429 radius_stride: DeviceSize::default(),
430 index_type: IndexType::default(),
431 index_data: DeviceOrHostAddressConstKHR::default(),
432 index_stride: DeviceSize::default(),
433 }
434 }
435}
436
437unsafe impl Send for AccelerationStructureGeometrySpheresDataNV {}
438unsafe impl Sync for AccelerationStructureGeometrySpheresDataNV {}
439
440#[repr(C)]
442#[derive(Copy, Clone, Debug)]
443pub struct AccelerationStructureGeometryTrianglesDataKHR {
444 pub s_type: StructureType,
445 pub next: *const c_void,
446 pub vertex_format: Format,
447 pub vertex_data: DeviceOrHostAddressConstKHR,
448 pub vertex_stride: DeviceSize,
449 pub max_vertex: u32,
450 pub index_type: IndexType,
451 pub index_data: DeviceOrHostAddressConstKHR,
452 pub transform_data: DeviceOrHostAddressConstKHR,
453}
454
455impl Default for AccelerationStructureGeometryTrianglesDataKHR {
456 #[inline]
457 fn default() -> Self {
458 Self {
459 s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
460 next: ptr::null(),
461 vertex_format: Format::default(),
462 vertex_data: DeviceOrHostAddressConstKHR::default(),
463 vertex_stride: DeviceSize::default(),
464 max_vertex: u32::default(),
465 index_type: IndexType::default(),
466 index_data: DeviceOrHostAddressConstKHR::default(),
467 transform_data: DeviceOrHostAddressConstKHR::default(),
468 }
469 }
470}
471
472unsafe impl Send for AccelerationStructureGeometryTrianglesDataKHR {}
473unsafe impl Sync for AccelerationStructureGeometryTrianglesDataKHR {}
474
475#[repr(C)]
477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
478pub struct AccelerationStructureInfoNV {
479 pub s_type: StructureType,
480 pub next: *const c_void,
481 pub type_: AccelerationStructureTypeNV,
482 pub flags: BuildAccelerationStructureFlagsNV,
483 pub instance_count: u32,
484 pub geometry_count: u32,
485 pub geometries: *const GeometryNV,
486}
487
488impl Default for AccelerationStructureInfoNV {
489 #[inline]
490 fn default() -> Self {
491 Self {
492 s_type: StructureType::ACCELERATION_STRUCTURE_INFO_NV,
493 next: ptr::null(),
494 type_: AccelerationStructureTypeNV::default(),
495 flags: BuildAccelerationStructureFlagsNV::default(),
496 instance_count: u32::default(),
497 geometry_count: u32::default(),
498 geometries: ptr::null(),
499 }
500 }
501}
502
503unsafe impl Send for AccelerationStructureInfoNV {}
504unsafe impl Sync for AccelerationStructureInfoNV {}
505
506bitfields32! {
507 struct AccelerationStructureInstanceKHRBitfields0 {
508 (instance_custom_index, with_instance_custom_index)[0 .. 24],
509 (mask, with_mask)[24 .. 32],
510 }
511}
512
513bitfields32! {
514 struct AccelerationStructureInstanceKHRBitfields1 {
515 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
516 (flags, with_flags)[24 .. 32],
517 }
518}
519
520#[repr(C)]
522#[derive(Copy, Clone, Default, Debug, PartialEq)]
523pub struct AccelerationStructureInstanceKHR {
524 pub transform: TransformMatrixKHR,
525 pub acceleration_structure_reference: u64,
526 pub bitfields0: AccelerationStructureInstanceKHRBitfields0,
527 pub bitfields1: AccelerationStructureInstanceKHRBitfields1,
528}
529
530bitfields32! {
531 struct AccelerationStructureMatrixMotionInstanceNVBitfields0 {
532 (instance_custom_index, with_instance_custom_index)[0 .. 24],
533 (mask, with_mask)[24 .. 32],
534 }
535}
536
537bitfields32! {
538 struct AccelerationStructureMatrixMotionInstanceNVBitfields1 {
539 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
540 (flags, with_flags)[24 .. 32],
541 }
542}
543
544#[repr(C)]
546#[derive(Copy, Clone, Default, Debug, PartialEq)]
547pub struct AccelerationStructureMatrixMotionInstanceNV {
548 pub transform_t0: TransformMatrixKHR,
549 pub transform_t1: TransformMatrixKHR,
550 pub acceleration_structure_reference: u64,
551 pub bitfields0: AccelerationStructureMatrixMotionInstanceNVBitfields0,
552 pub bitfields1: AccelerationStructureMatrixMotionInstanceNVBitfields1,
553}
554
555#[repr(C)]
557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
558pub struct AccelerationStructureMemoryRequirementsInfoNV {
559 pub s_type: StructureType,
560 pub next: *const c_void,
561 pub type_: AccelerationStructureMemoryRequirementsTypeNV,
562 pub acceleration_structure: AccelerationStructureNV,
563}
564
565impl Default for AccelerationStructureMemoryRequirementsInfoNV {
566 #[inline]
567 fn default() -> Self {
568 Self {
569 s_type: StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
570 next: ptr::null(),
571 type_: AccelerationStructureMemoryRequirementsTypeNV::default(),
572 acceleration_structure: AccelerationStructureNV::default(),
573 }
574 }
575}
576
577unsafe impl Send for AccelerationStructureMemoryRequirementsInfoNV {}
578unsafe impl Sync for AccelerationStructureMemoryRequirementsInfoNV {}
579
580#[repr(C)]
582#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
583pub struct AccelerationStructureMotionInfoNV {
584 pub s_type: StructureType,
585 pub next: *const c_void,
586 pub max_instances: u32,
587 pub flags: AccelerationStructureMotionInfoFlagsNV,
588}
589
590impl Default for AccelerationStructureMotionInfoNV {
591 #[inline]
592 fn default() -> Self {
593 Self {
594 s_type: StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV,
595 next: ptr::null(),
596 max_instances: u32::default(),
597 flags: AccelerationStructureMotionInfoFlagsNV::default(),
598 }
599 }
600}
601
602unsafe impl Send for AccelerationStructureMotionInfoNV {}
603unsafe impl Sync for AccelerationStructureMotionInfoNV {}
604
605#[repr(C)]
607#[derive(Copy, Clone, Default, Debug)]
608pub struct AccelerationStructureMotionInstanceNV {
609 pub type_: AccelerationStructureMotionInstanceTypeNV,
610 pub flags: AccelerationStructureMotionInstanceFlagsNV,
611 pub data: AccelerationStructureMotionInstanceDataNV,
612}
613
614bitfields32! {
615 struct AccelerationStructureSRTMotionInstanceNVBitfields0 {
616 (instance_custom_index, with_instance_custom_index)[0 .. 24],
617 (mask, with_mask)[24 .. 32],
618 }
619}
620
621bitfields32! {
622 struct AccelerationStructureSRTMotionInstanceNVBitfields1 {
623 (instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
624 (flags, with_flags)[24 .. 32],
625 }
626}
627
628#[repr(C)]
630#[derive(Copy, Clone, Default, Debug, PartialEq)]
631pub struct AccelerationStructureSRTMotionInstanceNV {
632 pub transform_t0: SRTDataNV,
633 pub transform_t1: SRTDataNV,
634 pub acceleration_structure_reference: u64,
635 pub bitfields0: AccelerationStructureSRTMotionInstanceNVBitfields0,
636 pub bitfields1: AccelerationStructureSRTMotionInstanceNVBitfields1,
637}
638
639#[repr(C)]
641#[derive(Copy, Clone, Debug)]
642pub struct AccelerationStructureTrianglesDisplacementMicromapNV {
643 pub s_type: StructureType,
644 pub next: *mut c_void,
645 pub displacement_bias_and_scale_format: Format,
646 pub displacement_vector_format: Format,
647 pub displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
648 pub displacement_bias_and_scale_stride: DeviceSize,
649 pub displacement_vector_buffer: DeviceOrHostAddressConstKHR,
650 pub displacement_vector_stride: DeviceSize,
651 pub displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
652 pub displaced_micromap_primitive_flags_stride: DeviceSize,
653 pub index_type: IndexType,
654 pub index_buffer: DeviceOrHostAddressConstKHR,
655 pub index_stride: DeviceSize,
656 pub base_triangle: u32,
657 pub usage_counts_count: u32,
658 pub usage_counts: *const MicromapUsageEXT,
659 pub pointer_usage_counts: *const *const MicromapUsageEXT,
660 pub micromap: MicromapEXT,
661}
662
663impl Default for AccelerationStructureTrianglesDisplacementMicromapNV {
664 #[inline]
665 fn default() -> Self {
666 Self {
667 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
668 next: ptr::null_mut(),
669 displacement_bias_and_scale_format: Format::default(),
670 displacement_vector_format: Format::default(),
671 displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR::default(),
672 displacement_bias_and_scale_stride: DeviceSize::default(),
673 displacement_vector_buffer: DeviceOrHostAddressConstKHR::default(),
674 displacement_vector_stride: DeviceSize::default(),
675 displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR::default(),
676 displaced_micromap_primitive_flags_stride: DeviceSize::default(),
677 index_type: IndexType::default(),
678 index_buffer: DeviceOrHostAddressConstKHR::default(),
679 index_stride: DeviceSize::default(),
680 base_triangle: u32::default(),
681 usage_counts_count: u32::default(),
682 usage_counts: ptr::null(),
683 pointer_usage_counts: ptr::null(),
684 micromap: MicromapEXT::default(),
685 }
686 }
687}
688
689unsafe impl Send for AccelerationStructureTrianglesDisplacementMicromapNV {}
690unsafe impl Sync for AccelerationStructureTrianglesDisplacementMicromapNV {}
691
692#[repr(C)]
694#[derive(Copy, Clone, Debug)]
695pub struct AccelerationStructureTrianglesOpacityMicromapEXT {
696 pub s_type: StructureType,
697 pub next: *mut c_void,
698 pub index_type: IndexType,
699 pub index_buffer: DeviceOrHostAddressConstKHR,
700 pub index_stride: DeviceSize,
701 pub base_triangle: u32,
702 pub usage_counts_count: u32,
703 pub usage_counts: *const MicromapUsageEXT,
704 pub pointer_usage_counts: *const *const MicromapUsageEXT,
705 pub micromap: MicromapEXT,
706}
707
708impl Default for AccelerationStructureTrianglesOpacityMicromapEXT {
709 #[inline]
710 fn default() -> Self {
711 Self {
712 s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
713 next: ptr::null_mut(),
714 index_type: IndexType::default(),
715 index_buffer: DeviceOrHostAddressConstKHR::default(),
716 index_stride: DeviceSize::default(),
717 base_triangle: u32::default(),
718 usage_counts_count: u32::default(),
719 usage_counts: ptr::null(),
720 pointer_usage_counts: ptr::null(),
721 micromap: MicromapEXT::default(),
722 }
723 }
724}
725
726unsafe impl Send for AccelerationStructureTrianglesOpacityMicromapEXT {}
727unsafe impl Sync for AccelerationStructureTrianglesOpacityMicromapEXT {}
728
729#[repr(C)]
731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
732pub struct AccelerationStructureVersionInfoKHR {
733 pub s_type: StructureType,
734 pub next: *const c_void,
735 pub version_data: *const u8,
736}
737
738impl Default for AccelerationStructureVersionInfoKHR {
739 #[inline]
740 fn default() -> Self {
741 Self {
742 s_type: StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
743 next: ptr::null(),
744 version_data: ptr::null(),
745 }
746 }
747}
748
749unsafe impl Send for AccelerationStructureVersionInfoKHR {}
750unsafe impl Sync for AccelerationStructureVersionInfoKHR {}
751
752#[repr(C)]
754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
755pub struct AcquireNextImageInfoKHR {
756 pub s_type: StructureType,
757 pub next: *const c_void,
758 pub swapchain: SwapchainKHR,
759 pub timeout: u64,
760 pub semaphore: Semaphore,
761 pub fence: Fence,
762 pub device_mask: u32,
763}
764
765impl Default for AcquireNextImageInfoKHR {
766 #[inline]
767 fn default() -> Self {
768 Self {
769 s_type: StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR,
770 next: ptr::null(),
771 swapchain: SwapchainKHR::default(),
772 timeout: u64::default(),
773 semaphore: Semaphore::default(),
774 fence: Fence::default(),
775 device_mask: u32::default(),
776 }
777 }
778}
779
780unsafe impl Send for AcquireNextImageInfoKHR {}
781unsafe impl Sync for AcquireNextImageInfoKHR {}
782
783#[repr(C)]
785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
786pub struct AcquireProfilingLockInfoKHR {
787 pub s_type: StructureType,
788 pub next: *const c_void,
789 pub flags: AcquireProfilingLockFlagsKHR,
790 pub timeout: u64,
791}
792
793impl Default for AcquireProfilingLockInfoKHR {
794 #[inline]
795 fn default() -> Self {
796 Self {
797 s_type: StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR,
798 next: ptr::null(),
799 flags: AcquireProfilingLockFlagsKHR::default(),
800 timeout: u64::default(),
801 }
802 }
803}
804
805unsafe impl Send for AcquireProfilingLockInfoKHR {}
806unsafe impl Sync for AcquireProfilingLockInfoKHR {}
807
808#[repr(C)]
810#[derive(Copy, Clone)]
811pub struct AllocationCallbacks {
812 pub user_data: *mut c_void,
813 pub allocation: PFN_vkAllocationFunction,
814 pub reallocation: PFN_vkReallocationFunction,
815 pub free: PFN_vkFreeFunction,
816 pub internal_allocation: PFN_vkInternalAllocationNotification,
817 pub internal_free: PFN_vkInternalFreeNotification,
818}
819
820impl fmt::Debug for AllocationCallbacks {
821 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
822 f.debug_struct("AllocationCallbacks")
823 .field("user_data", &self.user_data)
824 .field("allocation", &(self.allocation.map(|f| f as *const u8)))
825 .field("reallocation", &(self.reallocation.map(|f| f as *const u8)))
826 .field("free", &(self.free.map(|f| f as *const u8)))
827 .field(
828 "internal_allocation",
829 &(self.internal_allocation.map(|f| f as *const u8)),
830 )
831 .field(
832 "internal_free",
833 &(self.internal_free.map(|f| f as *const u8)),
834 )
835 .finish()
836 }
837}
838
839impl Default for AllocationCallbacks {
840 #[inline]
841 fn default() -> Self {
842 Self {
843 user_data: ptr::null_mut(),
844 allocation: PFN_vkAllocationFunction::default(),
845 reallocation: PFN_vkReallocationFunction::default(),
846 free: PFN_vkFreeFunction::default(),
847 internal_allocation: PFN_vkInternalAllocationNotification::default(),
848 internal_free: PFN_vkInternalFreeNotification::default(),
849 }
850 }
851}
852
853unsafe impl Send for AllocationCallbacks {}
854unsafe impl Sync for AllocationCallbacks {}
855
856#[repr(C)]
858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
859pub struct AmigoProfilingSubmitInfoSEC {
860 pub s_type: StructureType,
861 pub next: *const c_void,
862 pub first_draw_timestamp: u64,
863 pub swap_buffer_timestamp: u64,
864}
865
866impl Default for AmigoProfilingSubmitInfoSEC {
867 #[inline]
868 fn default() -> Self {
869 Self {
870 s_type: StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC,
871 next: ptr::null(),
872 first_draw_timestamp: u64::default(),
873 swap_buffer_timestamp: u64::default(),
874 }
875 }
876}
877
878unsafe impl Send for AmigoProfilingSubmitInfoSEC {}
879unsafe impl Sync for AmigoProfilingSubmitInfoSEC {}
880
881#[repr(C)]
883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
884pub struct AndroidHardwareBufferFormatProperties2ANDROID {
885 pub s_type: StructureType,
886 pub next: *mut c_void,
887 pub format: Format,
888 pub external_format: u64,
889 pub format_features: FormatFeatureFlags2,
890 pub sampler_ycbcr_conversion_components: ComponentMapping,
891 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
892 pub suggested_ycbcr_range: SamplerYcbcrRange,
893 pub suggested_x_chroma_offset: ChromaLocation,
894 pub suggested_y_chroma_offset: ChromaLocation,
895}
896
897impl Default for AndroidHardwareBufferFormatProperties2ANDROID {
898 #[inline]
899 fn default() -> Self {
900 Self {
901 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
902 next: ptr::null_mut(),
903 format: Format::default(),
904 external_format: u64::default(),
905 format_features: FormatFeatureFlags2::default(),
906 sampler_ycbcr_conversion_components: ComponentMapping::default(),
907 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
908 suggested_ycbcr_range: SamplerYcbcrRange::default(),
909 suggested_x_chroma_offset: ChromaLocation::default(),
910 suggested_y_chroma_offset: ChromaLocation::default(),
911 }
912 }
913}
914
915unsafe impl Send for AndroidHardwareBufferFormatProperties2ANDROID {}
916unsafe impl Sync for AndroidHardwareBufferFormatProperties2ANDROID {}
917
918#[repr(C)]
920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
921pub struct AndroidHardwareBufferFormatPropertiesANDROID {
922 pub s_type: StructureType,
923 pub next: *mut c_void,
924 pub format: Format,
925 pub external_format: u64,
926 pub format_features: FormatFeatureFlags,
927 pub sampler_ycbcr_conversion_components: ComponentMapping,
928 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
929 pub suggested_ycbcr_range: SamplerYcbcrRange,
930 pub suggested_x_chroma_offset: ChromaLocation,
931 pub suggested_y_chroma_offset: ChromaLocation,
932}
933
934impl Default for AndroidHardwareBufferFormatPropertiesANDROID {
935 #[inline]
936 fn default() -> Self {
937 Self {
938 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
939 next: ptr::null_mut(),
940 format: Format::default(),
941 external_format: u64::default(),
942 format_features: FormatFeatureFlags::default(),
943 sampler_ycbcr_conversion_components: ComponentMapping::default(),
944 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
945 suggested_ycbcr_range: SamplerYcbcrRange::default(),
946 suggested_x_chroma_offset: ChromaLocation::default(),
947 suggested_y_chroma_offset: ChromaLocation::default(),
948 }
949 }
950}
951
952unsafe impl Send for AndroidHardwareBufferFormatPropertiesANDROID {}
953unsafe impl Sync for AndroidHardwareBufferFormatPropertiesANDROID {}
954
955#[repr(C)]
957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
958pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID {
959 pub s_type: StructureType,
960 pub next: *mut c_void,
961 pub color_attachment_format: Format,
962}
963
964impl Default for AndroidHardwareBufferFormatResolvePropertiesANDROID {
965 #[inline]
966 fn default() -> Self {
967 Self {
968 s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
969 next: ptr::null_mut(),
970 color_attachment_format: Format::default(),
971 }
972 }
973}
974
975unsafe impl Send for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
976unsafe impl Sync for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
977
978#[repr(C)]
980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
981pub struct AndroidHardwareBufferPropertiesANDROID {
982 pub s_type: StructureType,
983 pub next: *mut c_void,
984 pub allocation_size: DeviceSize,
985 pub memory_type_bits: u32,
986}
987
988impl Default for AndroidHardwareBufferPropertiesANDROID {
989 #[inline]
990 fn default() -> Self {
991 Self {
992 s_type: StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
993 next: ptr::null_mut(),
994 allocation_size: DeviceSize::default(),
995 memory_type_bits: u32::default(),
996 }
997 }
998}
999
1000unsafe impl Send for AndroidHardwareBufferPropertiesANDROID {}
1001unsafe impl Sync for AndroidHardwareBufferPropertiesANDROID {}
1002
1003#[repr(C)]
1005#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1006pub struct AndroidHardwareBufferUsageANDROID {
1007 pub s_type: StructureType,
1008 pub next: *mut c_void,
1009 pub android_hardware_buffer_usage: u64,
1010}
1011
1012impl Default for AndroidHardwareBufferUsageANDROID {
1013 #[inline]
1014 fn default() -> Self {
1015 Self {
1016 s_type: StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
1017 next: ptr::null_mut(),
1018 android_hardware_buffer_usage: u64::default(),
1019 }
1020 }
1021}
1022
1023unsafe impl Send for AndroidHardwareBufferUsageANDROID {}
1024unsafe impl Sync for AndroidHardwareBufferUsageANDROID {}
1025
1026#[repr(C)]
1028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1029pub struct AndroidSurfaceCreateInfoKHR {
1030 pub s_type: StructureType,
1031 pub next: *const c_void,
1032 pub flags: AndroidSurfaceCreateFlagsKHR,
1033 pub window: *mut ANativeWindow,
1034}
1035
1036impl Default for AndroidSurfaceCreateInfoKHR {
1037 #[inline]
1038 fn default() -> Self {
1039 Self {
1040 s_type: StructureType::ANDROID_SURFACE_CREATE_INFO_KHR,
1041 next: ptr::null(),
1042 flags: AndroidSurfaceCreateFlagsKHR::default(),
1043 window: ptr::null_mut(),
1044 }
1045 }
1046}
1047
1048unsafe impl Send for AndroidSurfaceCreateInfoKHR {}
1049unsafe impl Sync for AndroidSurfaceCreateInfoKHR {}
1050
1051#[repr(C)]
1053#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1054pub struct AntiLagDataAMD {
1055 pub s_type: StructureType,
1056 pub next: *const c_void,
1057 pub mode: AntiLagModeAMD,
1058 pub max_fps: u32,
1059 pub presentation_info: *const AntiLagPresentationInfoAMD,
1060}
1061
1062impl Default for AntiLagDataAMD {
1063 #[inline]
1064 fn default() -> Self {
1065 Self {
1066 s_type: StructureType::ANTI_LAG_DATA_AMD,
1067 next: ptr::null(),
1068 mode: AntiLagModeAMD::default(),
1069 max_fps: u32::default(),
1070 presentation_info: ptr::null(),
1071 }
1072 }
1073}
1074
1075unsafe impl Send for AntiLagDataAMD {}
1076unsafe impl Sync for AntiLagDataAMD {}
1077
1078#[repr(C)]
1080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1081pub struct AntiLagPresentationInfoAMD {
1082 pub s_type: StructureType,
1083 pub next: *mut c_void,
1084 pub stage: AntiLagStageAMD,
1085 pub frame_index: u64,
1086}
1087
1088impl Default for AntiLagPresentationInfoAMD {
1089 #[inline]
1090 fn default() -> Self {
1091 Self {
1092 s_type: StructureType::ANTI_LAG_PRESENTATION_INFO_AMD,
1093 next: ptr::null_mut(),
1094 stage: AntiLagStageAMD::default(),
1095 frame_index: u64::default(),
1096 }
1097 }
1098}
1099
1100unsafe impl Send for AntiLagPresentationInfoAMD {}
1101unsafe impl Sync for AntiLagPresentationInfoAMD {}
1102
1103#[repr(C)]
1105#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1106pub struct ApplicationInfo {
1107 pub s_type: StructureType,
1108 pub next: *const c_void,
1109 pub application_name: *const c_char,
1110 pub application_version: u32,
1111 pub engine_name: *const c_char,
1112 pub engine_version: u32,
1113 pub api_version: u32,
1114}
1115
1116impl Default for ApplicationInfo {
1117 #[inline]
1118 fn default() -> Self {
1119 Self {
1120 s_type: StructureType::APPLICATION_INFO,
1121 next: ptr::null(),
1122 application_name: ptr::null(),
1123 application_version: u32::default(),
1124 engine_name: ptr::null(),
1125 engine_version: u32::default(),
1126 api_version: u32::default(),
1127 }
1128 }
1129}
1130
1131unsafe impl Send for ApplicationInfo {}
1132unsafe impl Sync for ApplicationInfo {}
1133
1134#[repr(C)]
1136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1137pub struct ApplicationParametersEXT {
1138 pub s_type: StructureType,
1139 pub next: *const c_void,
1140 pub vendor_id: u32,
1141 pub device_id: u32,
1142 pub key: u32,
1143 pub value: u64,
1144}
1145
1146impl Default for ApplicationParametersEXT {
1147 #[inline]
1148 fn default() -> Self {
1149 Self {
1150 s_type: StructureType::APPLICATION_PARAMETERS_EXT,
1151 next: ptr::null(),
1152 vendor_id: u32::default(),
1153 device_id: u32::default(),
1154 key: u32::default(),
1155 value: u64::default(),
1156 }
1157 }
1158}
1159
1160unsafe impl Send for ApplicationParametersEXT {}
1161unsafe impl Sync for ApplicationParametersEXT {}
1162
1163#[repr(C)]
1165#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1166pub struct AttachmentDescription {
1167 pub flags: AttachmentDescriptionFlags,
1168 pub format: Format,
1169 pub samples: SampleCountFlags,
1170 pub load_op: AttachmentLoadOp,
1171 pub store_op: AttachmentStoreOp,
1172 pub stencil_load_op: AttachmentLoadOp,
1173 pub stencil_store_op: AttachmentStoreOp,
1174 pub initial_layout: ImageLayout,
1175 pub final_layout: ImageLayout,
1176}
1177
1178#[repr(C)]
1180#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1181pub struct AttachmentDescription2 {
1182 pub s_type: StructureType,
1183 pub next: *const c_void,
1184 pub flags: AttachmentDescriptionFlags,
1185 pub format: Format,
1186 pub samples: SampleCountFlags,
1187 pub load_op: AttachmentLoadOp,
1188 pub store_op: AttachmentStoreOp,
1189 pub stencil_load_op: AttachmentLoadOp,
1190 pub stencil_store_op: AttachmentStoreOp,
1191 pub initial_layout: ImageLayout,
1192 pub final_layout: ImageLayout,
1193}
1194
1195impl Default for AttachmentDescription2 {
1196 #[inline]
1197 fn default() -> Self {
1198 Self {
1199 s_type: StructureType::ATTACHMENT_DESCRIPTION_2,
1200 next: ptr::null(),
1201 flags: AttachmentDescriptionFlags::default(),
1202 format: Format::default(),
1203 samples: SampleCountFlags::default(),
1204 load_op: AttachmentLoadOp::default(),
1205 store_op: AttachmentStoreOp::default(),
1206 stencil_load_op: AttachmentLoadOp::default(),
1207 stencil_store_op: AttachmentStoreOp::default(),
1208 initial_layout: ImageLayout::default(),
1209 final_layout: ImageLayout::default(),
1210 }
1211 }
1212}
1213
1214unsafe impl Send for AttachmentDescription2 {}
1215unsafe impl Sync for AttachmentDescription2 {}
1216
1217#[repr(C)]
1219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1220pub struct AttachmentDescriptionStencilLayout {
1221 pub s_type: StructureType,
1222 pub next: *mut c_void,
1223 pub stencil_initial_layout: ImageLayout,
1224 pub stencil_final_layout: ImageLayout,
1225}
1226
1227impl Default for AttachmentDescriptionStencilLayout {
1228 #[inline]
1229 fn default() -> Self {
1230 Self {
1231 s_type: StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1232 next: ptr::null_mut(),
1233 stencil_initial_layout: ImageLayout::default(),
1234 stencil_final_layout: ImageLayout::default(),
1235 }
1236 }
1237}
1238
1239unsafe impl Send for AttachmentDescriptionStencilLayout {}
1240unsafe impl Sync for AttachmentDescriptionStencilLayout {}
1241
1242#[repr(C)]
1244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1245pub struct AttachmentFeedbackLoopInfoEXT {
1246 pub s_type: StructureType,
1247 pub next: *const c_void,
1248 pub feedback_loop_enable: Bool32,
1249}
1250
1251impl Default for AttachmentFeedbackLoopInfoEXT {
1252 #[inline]
1253 fn default() -> Self {
1254 Self {
1255 s_type: StructureType::ATTACHMENT_FEEDBACK_LOOP_INFO_EXT,
1256 next: ptr::null(),
1257 feedback_loop_enable: Bool32::default(),
1258 }
1259 }
1260}
1261
1262unsafe impl Send for AttachmentFeedbackLoopInfoEXT {}
1263unsafe impl Sync for AttachmentFeedbackLoopInfoEXT {}
1264
1265#[repr(C)]
1267#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1268pub struct AttachmentReference {
1269 pub attachment: u32,
1270 pub layout: ImageLayout,
1271}
1272
1273#[repr(C)]
1275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1276pub struct AttachmentReference2 {
1277 pub s_type: StructureType,
1278 pub next: *const c_void,
1279 pub attachment: u32,
1280 pub layout: ImageLayout,
1281 pub aspect_mask: ImageAspectFlags,
1282}
1283
1284impl Default for AttachmentReference2 {
1285 #[inline]
1286 fn default() -> Self {
1287 Self {
1288 s_type: StructureType::ATTACHMENT_REFERENCE_2,
1289 next: ptr::null(),
1290 attachment: u32::default(),
1291 layout: ImageLayout::default(),
1292 aspect_mask: ImageAspectFlags::default(),
1293 }
1294 }
1295}
1296
1297unsafe impl Send for AttachmentReference2 {}
1298unsafe impl Sync for AttachmentReference2 {}
1299
1300#[repr(C)]
1302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1303pub struct AttachmentReferenceStencilLayout {
1304 pub s_type: StructureType,
1305 pub next: *mut c_void,
1306 pub stencil_layout: ImageLayout,
1307}
1308
1309impl Default for AttachmentReferenceStencilLayout {
1310 #[inline]
1311 fn default() -> Self {
1312 Self {
1313 s_type: StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1314 next: ptr::null_mut(),
1315 stencil_layout: ImageLayout::default(),
1316 }
1317 }
1318}
1319
1320unsafe impl Send for AttachmentReferenceStencilLayout {}
1321unsafe impl Sync for AttachmentReferenceStencilLayout {}
1322
1323#[repr(C)]
1325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1326pub struct AttachmentSampleCountInfoAMD {
1327 pub s_type: StructureType,
1328 pub next: *const c_void,
1329 pub color_attachment_count: u32,
1330 pub color_attachment_samples: *const SampleCountFlags,
1331 pub depth_stencil_attachment_samples: SampleCountFlags,
1332}
1333
1334impl Default for AttachmentSampleCountInfoAMD {
1335 #[inline]
1336 fn default() -> Self {
1337 Self {
1338 s_type: StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1339 next: ptr::null(),
1340 color_attachment_count: u32::default(),
1341 color_attachment_samples: ptr::null(),
1342 depth_stencil_attachment_samples: SampleCountFlags::default(),
1343 }
1344 }
1345}
1346
1347unsafe impl Send for AttachmentSampleCountInfoAMD {}
1348unsafe impl Sync for AttachmentSampleCountInfoAMD {}
1349
1350#[repr(C)]
1352#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1353pub struct AttachmentSampleLocationsEXT {
1354 pub attachment_index: u32,
1355 pub sample_locations_info: SampleLocationsInfoEXT,
1356}
1357
1358#[repr(C)]
1360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1361pub struct BaseInStructure {
1362 pub s_type: StructureType,
1363 pub next: *const BaseInStructure,
1364}
1365
1366impl Default for BaseInStructure {
1367 #[inline]
1368 fn default() -> Self {
1369 Self {
1370 s_type: StructureType::default(),
1371 next: ptr::null(),
1372 }
1373 }
1374}
1375
1376unsafe impl Send for BaseInStructure {}
1377unsafe impl Sync for BaseInStructure {}
1378
1379#[repr(C)]
1381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1382pub struct BaseOutStructure {
1383 pub s_type: StructureType,
1384 pub next: *mut BaseOutStructure,
1385}
1386
1387impl Default for BaseOutStructure {
1388 #[inline]
1389 fn default() -> Self {
1390 Self {
1391 s_type: StructureType::default(),
1392 next: ptr::null_mut(),
1393 }
1394 }
1395}
1396
1397unsafe impl Send for BaseOutStructure {}
1398unsafe impl Sync for BaseOutStructure {}
1399
1400#[repr(C)]
1402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1403pub struct BeginCustomResolveInfoEXT {
1404 pub s_type: StructureType,
1405 pub next: *mut c_void,
1406}
1407
1408impl Default for BeginCustomResolveInfoEXT {
1409 #[inline]
1410 fn default() -> Self {
1411 Self {
1412 s_type: StructureType::BEGIN_CUSTOM_RESOLVE_INFO_EXT,
1413 next: ptr::null_mut(),
1414 }
1415 }
1416}
1417
1418unsafe impl Send for BeginCustomResolveInfoEXT {}
1419unsafe impl Sync for BeginCustomResolveInfoEXT {}
1420
1421#[repr(C)]
1423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1424pub struct BindAccelerationStructureMemoryInfoNV {
1425 pub s_type: StructureType,
1426 pub next: *const c_void,
1427 pub acceleration_structure: AccelerationStructureNV,
1428 pub memory: DeviceMemory,
1429 pub memory_offset: DeviceSize,
1430 pub device_index_count: u32,
1431 pub device_indices: *const u32,
1432}
1433
1434impl Default for BindAccelerationStructureMemoryInfoNV {
1435 #[inline]
1436 fn default() -> Self {
1437 Self {
1438 s_type: StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
1439 next: ptr::null(),
1440 acceleration_structure: AccelerationStructureNV::default(),
1441 memory: DeviceMemory::default(),
1442 memory_offset: DeviceSize::default(),
1443 device_index_count: u32::default(),
1444 device_indices: ptr::null(),
1445 }
1446 }
1447}
1448
1449unsafe impl Send for BindAccelerationStructureMemoryInfoNV {}
1450unsafe impl Sync for BindAccelerationStructureMemoryInfoNV {}
1451
1452#[repr(C)]
1454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1455pub struct BindBufferMemoryDeviceGroupInfo {
1456 pub s_type: StructureType,
1457 pub next: *const c_void,
1458 pub device_index_count: u32,
1459 pub device_indices: *const u32,
1460}
1461
1462impl Default for BindBufferMemoryDeviceGroupInfo {
1463 #[inline]
1464 fn default() -> Self {
1465 Self {
1466 s_type: StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1467 next: ptr::null(),
1468 device_index_count: u32::default(),
1469 device_indices: ptr::null(),
1470 }
1471 }
1472}
1473
1474unsafe impl Send for BindBufferMemoryDeviceGroupInfo {}
1475unsafe impl Sync for BindBufferMemoryDeviceGroupInfo {}
1476
1477#[repr(C)]
1479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1480pub struct BindBufferMemoryInfo {
1481 pub s_type: StructureType,
1482 pub next: *const c_void,
1483 pub buffer: Buffer,
1484 pub memory: DeviceMemory,
1485 pub memory_offset: DeviceSize,
1486}
1487
1488impl Default for BindBufferMemoryInfo {
1489 #[inline]
1490 fn default() -> Self {
1491 Self {
1492 s_type: StructureType::BIND_BUFFER_MEMORY_INFO,
1493 next: ptr::null(),
1494 buffer: Buffer::default(),
1495 memory: DeviceMemory::default(),
1496 memory_offset: DeviceSize::default(),
1497 }
1498 }
1499}
1500
1501unsafe impl Send for BindBufferMemoryInfo {}
1502unsafe impl Sync for BindBufferMemoryInfo {}
1503
1504#[repr(C)]
1506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1507pub struct BindDataGraphPipelineSessionMemoryInfoARM {
1508 pub s_type: StructureType,
1509 pub next: *const c_void,
1510 pub session: DataGraphPipelineSessionARM,
1511 pub bind_point: DataGraphPipelineSessionBindPointARM,
1512 pub object_index: u32,
1513 pub memory: DeviceMemory,
1514 pub memory_offset: DeviceSize,
1515}
1516
1517impl Default for BindDataGraphPipelineSessionMemoryInfoARM {
1518 #[inline]
1519 fn default() -> Self {
1520 Self {
1521 s_type: StructureType::BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM,
1522 next: ptr::null(),
1523 session: DataGraphPipelineSessionARM::default(),
1524 bind_point: DataGraphPipelineSessionBindPointARM::default(),
1525 object_index: u32::default(),
1526 memory: DeviceMemory::default(),
1527 memory_offset: DeviceSize::default(),
1528 }
1529 }
1530}
1531
1532unsafe impl Send for BindDataGraphPipelineSessionMemoryInfoARM {}
1533unsafe impl Sync for BindDataGraphPipelineSessionMemoryInfoARM {}
1534
1535#[repr(C)]
1537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1538pub struct BindDescriptorBufferEmbeddedSamplersInfoEXT {
1539 pub s_type: StructureType,
1540 pub next: *const c_void,
1541 pub stage_flags: ShaderStageFlags,
1542 pub layout: PipelineLayout,
1543 pub set: u32,
1544}
1545
1546impl Default for BindDescriptorBufferEmbeddedSamplersInfoEXT {
1547 #[inline]
1548 fn default() -> Self {
1549 Self {
1550 s_type: StructureType::BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT,
1551 next: ptr::null(),
1552 stage_flags: ShaderStageFlags::default(),
1553 layout: PipelineLayout::default(),
1554 set: u32::default(),
1555 }
1556 }
1557}
1558
1559unsafe impl Send for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
1560unsafe impl Sync for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
1561
1562#[repr(C)]
1564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1565pub struct BindDescriptorSetsInfo {
1566 pub s_type: StructureType,
1567 pub next: *const c_void,
1568 pub stage_flags: ShaderStageFlags,
1569 pub layout: PipelineLayout,
1570 pub first_set: u32,
1571 pub descriptor_set_count: u32,
1572 pub descriptor_sets: *const DescriptorSet,
1573 pub dynamic_offset_count: u32,
1574 pub dynamic_offsets: *const u32,
1575}
1576
1577impl Default for BindDescriptorSetsInfo {
1578 #[inline]
1579 fn default() -> Self {
1580 Self {
1581 s_type: StructureType::BIND_DESCRIPTOR_SETS_INFO,
1582 next: ptr::null(),
1583 stage_flags: ShaderStageFlags::default(),
1584 layout: PipelineLayout::default(),
1585 first_set: u32::default(),
1586 descriptor_set_count: u32::default(),
1587 descriptor_sets: ptr::null(),
1588 dynamic_offset_count: u32::default(),
1589 dynamic_offsets: ptr::null(),
1590 }
1591 }
1592}
1593
1594unsafe impl Send for BindDescriptorSetsInfo {}
1595unsafe impl Sync for BindDescriptorSetsInfo {}
1596
1597#[repr(C)]
1599#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1600pub struct BindHeapInfoEXT {
1601 pub s_type: StructureType,
1602 pub next: *const c_void,
1603 pub heap_range: DeviceAddressRangeEXT,
1604 pub reserved_range_offset: DeviceSize,
1605 pub reserved_range_size: DeviceSize,
1606}
1607
1608impl Default for BindHeapInfoEXT {
1609 #[inline]
1610 fn default() -> Self {
1611 Self {
1612 s_type: StructureType::BIND_HEAP_INFO_EXT,
1613 next: ptr::null(),
1614 heap_range: DeviceAddressRangeEXT::default(),
1615 reserved_range_offset: DeviceSize::default(),
1616 reserved_range_size: DeviceSize::default(),
1617 }
1618 }
1619}
1620
1621unsafe impl Send for BindHeapInfoEXT {}
1622unsafe impl Sync for BindHeapInfoEXT {}
1623
1624#[repr(C)]
1626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1627pub struct BindImageMemoryDeviceGroupInfo {
1628 pub s_type: StructureType,
1629 pub next: *const c_void,
1630 pub device_index_count: u32,
1631 pub device_indices: *const u32,
1632 pub split_instance_bind_region_count: u32,
1633 pub split_instance_bind_regions: *const Rect2D,
1634}
1635
1636impl Default for BindImageMemoryDeviceGroupInfo {
1637 #[inline]
1638 fn default() -> Self {
1639 Self {
1640 s_type: StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1641 next: ptr::null(),
1642 device_index_count: u32::default(),
1643 device_indices: ptr::null(),
1644 split_instance_bind_region_count: u32::default(),
1645 split_instance_bind_regions: ptr::null(),
1646 }
1647 }
1648}
1649
1650unsafe impl Send for BindImageMemoryDeviceGroupInfo {}
1651unsafe impl Sync for BindImageMemoryDeviceGroupInfo {}
1652
1653#[repr(C)]
1655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1656pub struct BindImageMemoryInfo {
1657 pub s_type: StructureType,
1658 pub next: *const c_void,
1659 pub image: Image,
1660 pub memory: DeviceMemory,
1661 pub memory_offset: DeviceSize,
1662}
1663
1664impl Default for BindImageMemoryInfo {
1665 #[inline]
1666 fn default() -> Self {
1667 Self {
1668 s_type: StructureType::BIND_IMAGE_MEMORY_INFO,
1669 next: ptr::null(),
1670 image: Image::default(),
1671 memory: DeviceMemory::default(),
1672 memory_offset: DeviceSize::default(),
1673 }
1674 }
1675}
1676
1677unsafe impl Send for BindImageMemoryInfo {}
1678unsafe impl Sync for BindImageMemoryInfo {}
1679
1680#[repr(C)]
1682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1683pub struct BindImageMemorySwapchainInfoKHR {
1684 pub s_type: StructureType,
1685 pub next: *const c_void,
1686 pub swapchain: SwapchainKHR,
1687 pub image_index: u32,
1688}
1689
1690impl Default for BindImageMemorySwapchainInfoKHR {
1691 #[inline]
1692 fn default() -> Self {
1693 Self {
1694 s_type: StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
1695 next: ptr::null(),
1696 swapchain: SwapchainKHR::default(),
1697 image_index: u32::default(),
1698 }
1699 }
1700}
1701
1702unsafe impl Send for BindImageMemorySwapchainInfoKHR {}
1703unsafe impl Sync for BindImageMemorySwapchainInfoKHR {}
1704
1705#[repr(C)]
1707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1708pub struct BindImagePlaneMemoryInfo {
1709 pub s_type: StructureType,
1710 pub next: *const c_void,
1711 pub plane_aspect: ImageAspectFlags,
1712}
1713
1714impl Default for BindImagePlaneMemoryInfo {
1715 #[inline]
1716 fn default() -> Self {
1717 Self {
1718 s_type: StructureType::BIND_IMAGE_PLANE_MEMORY_INFO,
1719 next: ptr::null(),
1720 plane_aspect: ImageAspectFlags::default(),
1721 }
1722 }
1723}
1724
1725unsafe impl Send for BindImagePlaneMemoryInfo {}
1726unsafe impl Sync for BindImagePlaneMemoryInfo {}
1727
1728#[repr(C)]
1730#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1731pub struct BindIndexBufferIndirectCommandEXT {
1732 pub buffer_address: DeviceAddress,
1733 pub size: u32,
1734 pub index_type: IndexType,
1735}
1736
1737#[repr(C)]
1739#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1740pub struct BindIndexBufferIndirectCommandNV {
1741 pub buffer_address: DeviceAddress,
1742 pub size: u32,
1743 pub index_type: IndexType,
1744}
1745
1746#[repr(C)]
1748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1749pub struct BindMemoryStatus {
1750 pub s_type: StructureType,
1751 pub next: *const c_void,
1752 pub result: *mut Result,
1753}
1754
1755impl Default for BindMemoryStatus {
1756 #[inline]
1757 fn default() -> Self {
1758 Self {
1759 s_type: StructureType::BIND_MEMORY_STATUS,
1760 next: ptr::null(),
1761 result: ptr::null_mut(),
1762 }
1763 }
1764}
1765
1766unsafe impl Send for BindMemoryStatus {}
1767unsafe impl Sync for BindMemoryStatus {}
1768
1769#[repr(C)]
1771#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1772pub struct BindPipelineIndirectCommandNV {
1773 pub pipeline_address: DeviceAddress,
1774}
1775
1776#[repr(C)]
1778#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1779pub struct BindShaderGroupIndirectCommandNV {
1780 pub group_index: u32,
1781}
1782
1783#[repr(C)]
1785#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1786pub struct BindSparseInfo {
1787 pub s_type: StructureType,
1788 pub next: *const c_void,
1789 pub wait_semaphore_count: u32,
1790 pub wait_semaphores: *const Semaphore,
1791 pub buffer_bind_count: u32,
1792 pub buffer_binds: *const SparseBufferMemoryBindInfo,
1793 pub image_opaque_bind_count: u32,
1794 pub image_opaque_binds: *const SparseImageOpaqueMemoryBindInfo,
1795 pub image_bind_count: u32,
1796 pub image_binds: *const SparseImageMemoryBindInfo,
1797 pub signal_semaphore_count: u32,
1798 pub signal_semaphores: *const Semaphore,
1799}
1800
1801impl Default for BindSparseInfo {
1802 #[inline]
1803 fn default() -> Self {
1804 Self {
1805 s_type: StructureType::BIND_SPARSE_INFO,
1806 next: ptr::null(),
1807 wait_semaphore_count: u32::default(),
1808 wait_semaphores: ptr::null(),
1809 buffer_bind_count: u32::default(),
1810 buffer_binds: ptr::null(),
1811 image_opaque_bind_count: u32::default(),
1812 image_opaque_binds: ptr::null(),
1813 image_bind_count: u32::default(),
1814 image_binds: ptr::null(),
1815 signal_semaphore_count: u32::default(),
1816 signal_semaphores: ptr::null(),
1817 }
1818 }
1819}
1820
1821unsafe impl Send for BindSparseInfo {}
1822unsafe impl Sync for BindSparseInfo {}
1823
1824#[repr(C)]
1826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1827pub struct BindTensorMemoryInfoARM {
1828 pub s_type: StructureType,
1829 pub next: *const c_void,
1830 pub tensor: TensorARM,
1831 pub memory: DeviceMemory,
1832 pub memory_offset: DeviceSize,
1833}
1834
1835impl Default for BindTensorMemoryInfoARM {
1836 #[inline]
1837 fn default() -> Self {
1838 Self {
1839 s_type: StructureType::BIND_TENSOR_MEMORY_INFO_ARM,
1840 next: ptr::null(),
1841 tensor: TensorARM::default(),
1842 memory: DeviceMemory::default(),
1843 memory_offset: DeviceSize::default(),
1844 }
1845 }
1846}
1847
1848unsafe impl Send for BindTensorMemoryInfoARM {}
1849unsafe impl Sync for BindTensorMemoryInfoARM {}
1850
1851#[repr(C)]
1853#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1854pub struct BindVertexBufferIndirectCommandEXT {
1855 pub buffer_address: DeviceAddress,
1856 pub size: u32,
1857 pub stride: u32,
1858}
1859
1860#[repr(C)]
1862#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1863pub struct BindVertexBufferIndirectCommandNV {
1864 pub buffer_address: DeviceAddress,
1865 pub size: u32,
1866 pub stride: u32,
1867}
1868
1869#[repr(C)]
1871#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1872pub struct BindVideoSessionMemoryInfoKHR {
1873 pub s_type: StructureType,
1874 pub next: *const c_void,
1875 pub memory_bind_index: u32,
1876 pub memory: DeviceMemory,
1877 pub memory_offset: DeviceSize,
1878 pub memory_size: DeviceSize,
1879}
1880
1881impl Default for BindVideoSessionMemoryInfoKHR {
1882 #[inline]
1883 fn default() -> Self {
1884 Self {
1885 s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
1886 next: ptr::null(),
1887 memory_bind_index: u32::default(),
1888 memory: DeviceMemory::default(),
1889 memory_offset: DeviceSize::default(),
1890 memory_size: DeviceSize::default(),
1891 }
1892 }
1893}
1894
1895unsafe impl Send for BindVideoSessionMemoryInfoKHR {}
1896unsafe impl Sync for BindVideoSessionMemoryInfoKHR {}
1897
1898#[repr(C)]
1900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1901pub struct BlitImageCubicWeightsInfoQCOM {
1902 pub s_type: StructureType,
1903 pub next: *const c_void,
1904 pub cubic_weights: CubicFilterWeightsQCOM,
1905}
1906
1907impl Default for BlitImageCubicWeightsInfoQCOM {
1908 #[inline]
1909 fn default() -> Self {
1910 Self {
1911 s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
1912 next: ptr::null(),
1913 cubic_weights: CubicFilterWeightsQCOM::default(),
1914 }
1915 }
1916}
1917
1918unsafe impl Send for BlitImageCubicWeightsInfoQCOM {}
1919unsafe impl Sync for BlitImageCubicWeightsInfoQCOM {}
1920
1921#[repr(C)]
1923#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1924pub struct BlitImageInfo2 {
1925 pub s_type: StructureType,
1926 pub next: *const c_void,
1927 pub src_image: Image,
1928 pub src_image_layout: ImageLayout,
1929 pub dst_image: Image,
1930 pub dst_image_layout: ImageLayout,
1931 pub region_count: u32,
1932 pub regions: *const ImageBlit2,
1933 pub filter: Filter,
1934}
1935
1936impl Default for BlitImageInfo2 {
1937 #[inline]
1938 fn default() -> Self {
1939 Self {
1940 s_type: StructureType::BLIT_IMAGE_INFO_2,
1941 next: ptr::null(),
1942 src_image: Image::default(),
1943 src_image_layout: ImageLayout::default(),
1944 dst_image: Image::default(),
1945 dst_image_layout: ImageLayout::default(),
1946 region_count: u32::default(),
1947 regions: ptr::null(),
1948 filter: Filter::default(),
1949 }
1950 }
1951}
1952
1953unsafe impl Send for BlitImageInfo2 {}
1954unsafe impl Sync for BlitImageInfo2 {}
1955
1956#[repr(C)]
1958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1959pub struct BufferCaptureDescriptorDataInfoEXT {
1960 pub s_type: StructureType,
1961 pub next: *const c_void,
1962 pub buffer: Buffer,
1963}
1964
1965impl Default for BufferCaptureDescriptorDataInfoEXT {
1966 #[inline]
1967 fn default() -> Self {
1968 Self {
1969 s_type: StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1970 next: ptr::null(),
1971 buffer: Buffer::default(),
1972 }
1973 }
1974}
1975
1976unsafe impl Send for BufferCaptureDescriptorDataInfoEXT {}
1977unsafe impl Sync for BufferCaptureDescriptorDataInfoEXT {}
1978
1979#[repr(C)]
1981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1982pub struct BufferCollectionBufferCreateInfoFUCHSIA {
1983 pub s_type: StructureType,
1984 pub next: *const c_void,
1985 pub collection: BufferCollectionFUCHSIA,
1986 pub index: u32,
1987}
1988
1989impl Default for BufferCollectionBufferCreateInfoFUCHSIA {
1990 #[inline]
1991 fn default() -> Self {
1992 Self {
1993 s_type: StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
1994 next: ptr::null(),
1995 collection: BufferCollectionFUCHSIA::default(),
1996 index: u32::default(),
1997 }
1998 }
1999}
2000
2001unsafe impl Send for BufferCollectionBufferCreateInfoFUCHSIA {}
2002unsafe impl Sync for BufferCollectionBufferCreateInfoFUCHSIA {}
2003
2004#[repr(C)]
2006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2007pub struct BufferCollectionConstraintsInfoFUCHSIA {
2008 pub s_type: StructureType,
2009 pub next: *const c_void,
2010 pub min_buffer_count: u32,
2011 pub max_buffer_count: u32,
2012 pub min_buffer_count_for_camping: u32,
2013 pub min_buffer_count_for_dedicated_slack: u32,
2014 pub min_buffer_count_for_shared_slack: u32,
2015}
2016
2017impl Default for BufferCollectionConstraintsInfoFUCHSIA {
2018 #[inline]
2019 fn default() -> Self {
2020 Self {
2021 s_type: StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
2022 next: ptr::null(),
2023 min_buffer_count: u32::default(),
2024 max_buffer_count: u32::default(),
2025 min_buffer_count_for_camping: u32::default(),
2026 min_buffer_count_for_dedicated_slack: u32::default(),
2027 min_buffer_count_for_shared_slack: u32::default(),
2028 }
2029 }
2030}
2031
2032unsafe impl Send for BufferCollectionConstraintsInfoFUCHSIA {}
2033unsafe impl Sync for BufferCollectionConstraintsInfoFUCHSIA {}
2034
2035#[repr(C)]
2037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2038pub struct BufferCollectionCreateInfoFUCHSIA {
2039 pub s_type: StructureType,
2040 pub next: *const c_void,
2041 pub collection_token: zx_handle_t,
2042}
2043
2044impl Default for BufferCollectionCreateInfoFUCHSIA {
2045 #[inline]
2046 fn default() -> Self {
2047 Self {
2048 s_type: StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
2049 next: ptr::null(),
2050 collection_token: zx_handle_t::default(),
2051 }
2052 }
2053}
2054
2055unsafe impl Send for BufferCollectionCreateInfoFUCHSIA {}
2056unsafe impl Sync for BufferCollectionCreateInfoFUCHSIA {}
2057
2058#[repr(C)]
2060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2061pub struct BufferCollectionImageCreateInfoFUCHSIA {
2062 pub s_type: StructureType,
2063 pub next: *const c_void,
2064 pub collection: BufferCollectionFUCHSIA,
2065 pub index: u32,
2066}
2067
2068impl Default for BufferCollectionImageCreateInfoFUCHSIA {
2069 #[inline]
2070 fn default() -> Self {
2071 Self {
2072 s_type: StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
2073 next: ptr::null(),
2074 collection: BufferCollectionFUCHSIA::default(),
2075 index: u32::default(),
2076 }
2077 }
2078}
2079
2080unsafe impl Send for BufferCollectionImageCreateInfoFUCHSIA {}
2081unsafe impl Sync for BufferCollectionImageCreateInfoFUCHSIA {}
2082
2083#[repr(C)]
2085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2086pub struct BufferCollectionPropertiesFUCHSIA {
2087 pub s_type: StructureType,
2088 pub next: *mut c_void,
2089 pub memory_type_bits: u32,
2090 pub buffer_count: u32,
2091 pub create_info_index: u32,
2092 pub sysmem_pixel_format: u64,
2093 pub format_features: FormatFeatureFlags,
2094 pub sysmem_color_space_index: SysmemColorSpaceFUCHSIA,
2095 pub sampler_ycbcr_conversion_components: ComponentMapping,
2096 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
2097 pub suggested_ycbcr_range: SamplerYcbcrRange,
2098 pub suggested_x_chroma_offset: ChromaLocation,
2099 pub suggested_y_chroma_offset: ChromaLocation,
2100}
2101
2102impl Default for BufferCollectionPropertiesFUCHSIA {
2103 #[inline]
2104 fn default() -> Self {
2105 Self {
2106 s_type: StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
2107 next: ptr::null_mut(),
2108 memory_type_bits: u32::default(),
2109 buffer_count: u32::default(),
2110 create_info_index: u32::default(),
2111 sysmem_pixel_format: u64::default(),
2112 format_features: FormatFeatureFlags::default(),
2113 sysmem_color_space_index: SysmemColorSpaceFUCHSIA::default(),
2114 sampler_ycbcr_conversion_components: ComponentMapping::default(),
2115 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
2116 suggested_ycbcr_range: SamplerYcbcrRange::default(),
2117 suggested_x_chroma_offset: ChromaLocation::default(),
2118 suggested_y_chroma_offset: ChromaLocation::default(),
2119 }
2120 }
2121}
2122
2123unsafe impl Send for BufferCollectionPropertiesFUCHSIA {}
2124unsafe impl Sync for BufferCollectionPropertiesFUCHSIA {}
2125
2126#[repr(C)]
2128#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2129pub struct BufferConstraintsInfoFUCHSIA {
2130 pub s_type: StructureType,
2131 pub next: *const c_void,
2132 pub create_info: BufferCreateInfo,
2133 pub required_format_features: FormatFeatureFlags,
2134 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
2135}
2136
2137impl Default for BufferConstraintsInfoFUCHSIA {
2138 #[inline]
2139 fn default() -> Self {
2140 Self {
2141 s_type: StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA,
2142 next: ptr::null(),
2143 create_info: BufferCreateInfo::default(),
2144 required_format_features: FormatFeatureFlags::default(),
2145 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
2146 }
2147 }
2148}
2149
2150unsafe impl Send for BufferConstraintsInfoFUCHSIA {}
2151unsafe impl Sync for BufferConstraintsInfoFUCHSIA {}
2152
2153#[repr(C)]
2155#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2156pub struct BufferCopy {
2157 pub src_offset: DeviceSize,
2158 pub dst_offset: DeviceSize,
2159 pub size: DeviceSize,
2160}
2161
2162#[repr(C)]
2164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2165pub struct BufferCopy2 {
2166 pub s_type: StructureType,
2167 pub next: *const c_void,
2168 pub src_offset: DeviceSize,
2169 pub dst_offset: DeviceSize,
2170 pub size: DeviceSize,
2171}
2172
2173impl Default for BufferCopy2 {
2174 #[inline]
2175 fn default() -> Self {
2176 Self {
2177 s_type: StructureType::BUFFER_COPY_2,
2178 next: ptr::null(),
2179 src_offset: DeviceSize::default(),
2180 dst_offset: DeviceSize::default(),
2181 size: DeviceSize::default(),
2182 }
2183 }
2184}
2185
2186unsafe impl Send for BufferCopy2 {}
2187unsafe impl Sync for BufferCopy2 {}
2188
2189#[repr(C)]
2191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2192pub struct BufferCreateInfo {
2193 pub s_type: StructureType,
2194 pub next: *const c_void,
2195 pub flags: BufferCreateFlags,
2196 pub size: DeviceSize,
2197 pub usage: BufferUsageFlags,
2198 pub sharing_mode: SharingMode,
2199 pub queue_family_index_count: u32,
2200 pub queue_family_indices: *const u32,
2201}
2202
2203impl Default for BufferCreateInfo {
2204 #[inline]
2205 fn default() -> Self {
2206 Self {
2207 s_type: StructureType::BUFFER_CREATE_INFO,
2208 next: ptr::null(),
2209 flags: BufferCreateFlags::default(),
2210 size: DeviceSize::default(),
2211 usage: BufferUsageFlags::default(),
2212 sharing_mode: SharingMode::default(),
2213 queue_family_index_count: u32::default(),
2214 queue_family_indices: ptr::null(),
2215 }
2216 }
2217}
2218
2219unsafe impl Send for BufferCreateInfo {}
2220unsafe impl Sync for BufferCreateInfo {}
2221
2222#[repr(C)]
2224#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2225pub struct BufferDeviceAddressCreateInfoEXT {
2226 pub s_type: StructureType,
2227 pub next: *const c_void,
2228 pub device_address: DeviceAddress,
2229}
2230
2231impl Default for BufferDeviceAddressCreateInfoEXT {
2232 #[inline]
2233 fn default() -> Self {
2234 Self {
2235 s_type: StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
2236 next: ptr::null(),
2237 device_address: DeviceAddress::default(),
2238 }
2239 }
2240}
2241
2242unsafe impl Send for BufferDeviceAddressCreateInfoEXT {}
2243unsafe impl Sync for BufferDeviceAddressCreateInfoEXT {}
2244
2245#[repr(C)]
2247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2248pub struct BufferDeviceAddressInfo {
2249 pub s_type: StructureType,
2250 pub next: *const c_void,
2251 pub buffer: Buffer,
2252}
2253
2254impl Default for BufferDeviceAddressInfo {
2255 #[inline]
2256 fn default() -> Self {
2257 Self {
2258 s_type: StructureType::BUFFER_DEVICE_ADDRESS_INFO,
2259 next: ptr::null(),
2260 buffer: Buffer::default(),
2261 }
2262 }
2263}
2264
2265unsafe impl Send for BufferDeviceAddressInfo {}
2266unsafe impl Sync for BufferDeviceAddressInfo {}
2267
2268#[repr(C)]
2270#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2271pub struct BufferImageCopy {
2272 pub buffer_offset: DeviceSize,
2273 pub buffer_row_length: u32,
2274 pub buffer_image_height: u32,
2275 pub image_subresource: ImageSubresourceLayers,
2276 pub image_offset: Offset3D,
2277 pub image_extent: Extent3D,
2278}
2279
2280#[repr(C)]
2282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2283pub struct BufferImageCopy2 {
2284 pub s_type: StructureType,
2285 pub next: *const c_void,
2286 pub buffer_offset: DeviceSize,
2287 pub buffer_row_length: u32,
2288 pub buffer_image_height: u32,
2289 pub image_subresource: ImageSubresourceLayers,
2290 pub image_offset: Offset3D,
2291 pub image_extent: Extent3D,
2292}
2293
2294impl Default for BufferImageCopy2 {
2295 #[inline]
2296 fn default() -> Self {
2297 Self {
2298 s_type: StructureType::BUFFER_IMAGE_COPY_2,
2299 next: ptr::null(),
2300 buffer_offset: DeviceSize::default(),
2301 buffer_row_length: u32::default(),
2302 buffer_image_height: u32::default(),
2303 image_subresource: ImageSubresourceLayers::default(),
2304 image_offset: Offset3D::default(),
2305 image_extent: Extent3D::default(),
2306 }
2307 }
2308}
2309
2310unsafe impl Send for BufferImageCopy2 {}
2311unsafe impl Sync for BufferImageCopy2 {}
2312
2313#[repr(C)]
2315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2316pub struct BufferMemoryBarrier {
2317 pub s_type: StructureType,
2318 pub next: *const c_void,
2319 pub src_access_mask: AccessFlags,
2320 pub dst_access_mask: AccessFlags,
2321 pub src_queue_family_index: u32,
2322 pub dst_queue_family_index: u32,
2323 pub buffer: Buffer,
2324 pub offset: DeviceSize,
2325 pub size: DeviceSize,
2326}
2327
2328impl Default for BufferMemoryBarrier {
2329 #[inline]
2330 fn default() -> Self {
2331 Self {
2332 s_type: StructureType::BUFFER_MEMORY_BARRIER,
2333 next: ptr::null(),
2334 src_access_mask: AccessFlags::default(),
2335 dst_access_mask: AccessFlags::default(),
2336 src_queue_family_index: u32::default(),
2337 dst_queue_family_index: u32::default(),
2338 buffer: Buffer::default(),
2339 offset: DeviceSize::default(),
2340 size: DeviceSize::default(),
2341 }
2342 }
2343}
2344
2345unsafe impl Send for BufferMemoryBarrier {}
2346unsafe impl Sync for BufferMemoryBarrier {}
2347
2348#[repr(C)]
2350#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2351pub struct BufferMemoryBarrier2 {
2352 pub s_type: StructureType,
2353 pub next: *const c_void,
2354 pub src_stage_mask: PipelineStageFlags2,
2355 pub src_access_mask: AccessFlags2,
2356 pub dst_stage_mask: PipelineStageFlags2,
2357 pub dst_access_mask: AccessFlags2,
2358 pub src_queue_family_index: u32,
2359 pub dst_queue_family_index: u32,
2360 pub buffer: Buffer,
2361 pub offset: DeviceSize,
2362 pub size: DeviceSize,
2363}
2364
2365impl Default for BufferMemoryBarrier2 {
2366 #[inline]
2367 fn default() -> Self {
2368 Self {
2369 s_type: StructureType::BUFFER_MEMORY_BARRIER_2,
2370 next: ptr::null(),
2371 src_stage_mask: PipelineStageFlags2::default(),
2372 src_access_mask: AccessFlags2::default(),
2373 dst_stage_mask: PipelineStageFlags2::default(),
2374 dst_access_mask: AccessFlags2::default(),
2375 src_queue_family_index: u32::default(),
2376 dst_queue_family_index: u32::default(),
2377 buffer: Buffer::default(),
2378 offset: DeviceSize::default(),
2379 size: DeviceSize::default(),
2380 }
2381 }
2382}
2383
2384unsafe impl Send for BufferMemoryBarrier2 {}
2385unsafe impl Sync for BufferMemoryBarrier2 {}
2386
2387#[repr(C)]
2389#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2390pub struct BufferMemoryRequirementsInfo2 {
2391 pub s_type: StructureType,
2392 pub next: *const c_void,
2393 pub buffer: Buffer,
2394}
2395
2396impl Default for BufferMemoryRequirementsInfo2 {
2397 #[inline]
2398 fn default() -> Self {
2399 Self {
2400 s_type: StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2401 next: ptr::null(),
2402 buffer: Buffer::default(),
2403 }
2404 }
2405}
2406
2407unsafe impl Send for BufferMemoryRequirementsInfo2 {}
2408unsafe impl Sync for BufferMemoryRequirementsInfo2 {}
2409
2410#[repr(C)]
2412#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2413pub struct BufferOpaqueCaptureAddressCreateInfo {
2414 pub s_type: StructureType,
2415 pub next: *const c_void,
2416 pub opaque_capture_address: u64,
2417}
2418
2419impl Default for BufferOpaqueCaptureAddressCreateInfo {
2420 #[inline]
2421 fn default() -> Self {
2422 Self {
2423 s_type: StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2424 next: ptr::null(),
2425 opaque_capture_address: u64::default(),
2426 }
2427 }
2428}
2429
2430unsafe impl Send for BufferOpaqueCaptureAddressCreateInfo {}
2431unsafe impl Sync for BufferOpaqueCaptureAddressCreateInfo {}
2432
2433#[repr(C)]
2435#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2436pub struct BufferUsageFlags2CreateInfo {
2437 pub s_type: StructureType,
2438 pub next: *const c_void,
2439 pub usage: BufferUsageFlags2,
2440}
2441
2442impl Default for BufferUsageFlags2CreateInfo {
2443 #[inline]
2444 fn default() -> Self {
2445 Self {
2446 s_type: StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO,
2447 next: ptr::null(),
2448 usage: BufferUsageFlags2::default(),
2449 }
2450 }
2451}
2452
2453unsafe impl Send for BufferUsageFlags2CreateInfo {}
2454unsafe impl Sync for BufferUsageFlags2CreateInfo {}
2455
2456#[repr(C)]
2458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2459pub struct BufferViewCreateInfo {
2460 pub s_type: StructureType,
2461 pub next: *const c_void,
2462 pub flags: BufferViewCreateFlags,
2463 pub buffer: Buffer,
2464 pub format: Format,
2465 pub offset: DeviceSize,
2466 pub range: DeviceSize,
2467}
2468
2469impl Default for BufferViewCreateInfo {
2470 #[inline]
2471 fn default() -> Self {
2472 Self {
2473 s_type: StructureType::BUFFER_VIEW_CREATE_INFO,
2474 next: ptr::null(),
2475 flags: BufferViewCreateFlags::default(),
2476 buffer: Buffer::default(),
2477 format: Format::default(),
2478 offset: DeviceSize::default(),
2479 range: DeviceSize::default(),
2480 }
2481 }
2482}
2483
2484unsafe impl Send for BufferViewCreateInfo {}
2485unsafe impl Sync for BufferViewCreateInfo {}
2486
2487#[repr(C)]
2489#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2490pub struct BuildPartitionedAccelerationStructureIndirectCommandNV {
2491 pub op_type: PartitionedAccelerationStructureOpTypeNV,
2492 pub arg_count: u32,
2493 pub arg_data: StridedDeviceAddressNV,
2494}
2495
2496#[repr(C)]
2498#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2499pub struct BuildPartitionedAccelerationStructureInfoNV {
2500 pub s_type: StructureType,
2501 pub next: *mut c_void,
2502 pub input: PartitionedAccelerationStructureInstancesInputNV,
2503 pub src_acceleration_structure_data: DeviceAddress,
2504 pub dst_acceleration_structure_data: DeviceAddress,
2505 pub scratch_data: DeviceAddress,
2506 pub src_infos: DeviceAddress,
2507 pub src_infos_count: DeviceAddress,
2508}
2509
2510impl Default for BuildPartitionedAccelerationStructureInfoNV {
2511 #[inline]
2512 fn default() -> Self {
2513 Self {
2514 s_type: StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
2515 next: ptr::null_mut(),
2516 input: PartitionedAccelerationStructureInstancesInputNV::default(),
2517 src_acceleration_structure_data: DeviceAddress::default(),
2518 dst_acceleration_structure_data: DeviceAddress::default(),
2519 scratch_data: DeviceAddress::default(),
2520 src_infos: DeviceAddress::default(),
2521 src_infos_count: DeviceAddress::default(),
2522 }
2523 }
2524}
2525
2526unsafe impl Send for BuildPartitionedAccelerationStructureInfoNV {}
2527unsafe impl Sync for BuildPartitionedAccelerationStructureInfoNV {}
2528
2529#[repr(C)]
2531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2532pub struct CalibratedTimestampInfoKHR {
2533 pub s_type: StructureType,
2534 pub next: *const c_void,
2535 pub time_domain: TimeDomainKHR,
2536}
2537
2538impl Default for CalibratedTimestampInfoKHR {
2539 #[inline]
2540 fn default() -> Self {
2541 Self {
2542 s_type: StructureType::CALIBRATED_TIMESTAMP_INFO_KHR,
2543 next: ptr::null(),
2544 time_domain: TimeDomainKHR::default(),
2545 }
2546 }
2547}
2548
2549unsafe impl Send for CalibratedTimestampInfoKHR {}
2550unsafe impl Sync for CalibratedTimestampInfoKHR {}
2551
2552#[repr(C)]
2554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2555pub struct CheckpointData2NV {
2556 pub s_type: StructureType,
2557 pub next: *mut c_void,
2558 pub stage: PipelineStageFlags2,
2559 pub checkpoint_marker: *mut c_void,
2560}
2561
2562impl Default for CheckpointData2NV {
2563 #[inline]
2564 fn default() -> Self {
2565 Self {
2566 s_type: StructureType::CHECKPOINT_DATA_2_NV,
2567 next: ptr::null_mut(),
2568 stage: PipelineStageFlags2::default(),
2569 checkpoint_marker: ptr::null_mut(),
2570 }
2571 }
2572}
2573
2574unsafe impl Send for CheckpointData2NV {}
2575unsafe impl Sync for CheckpointData2NV {}
2576
2577#[repr(C)]
2579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2580pub struct CheckpointDataNV {
2581 pub s_type: StructureType,
2582 pub next: *mut c_void,
2583 pub stage: PipelineStageFlags,
2584 pub checkpoint_marker: *mut c_void,
2585}
2586
2587impl Default for CheckpointDataNV {
2588 #[inline]
2589 fn default() -> Self {
2590 Self {
2591 s_type: StructureType::CHECKPOINT_DATA_NV,
2592 next: ptr::null_mut(),
2593 stage: PipelineStageFlags::default(),
2594 checkpoint_marker: ptr::null_mut(),
2595 }
2596 }
2597}
2598
2599unsafe impl Send for CheckpointDataNV {}
2600unsafe impl Sync for CheckpointDataNV {}
2601
2602#[repr(C)]
2604#[derive(Copy, Clone, Default, Debug)]
2605pub struct ClearAttachment {
2606 pub aspect_mask: ImageAspectFlags,
2607 pub color_attachment: u32,
2608 pub clear_value: ClearValue,
2609}
2610
2611#[repr(C)]
2613#[derive(Copy, Clone, Default, Debug, PartialEq)]
2614pub struct ClearDepthStencilValue {
2615 pub depth: f32,
2616 pub stencil: u32,
2617}
2618
2619#[repr(C)]
2621#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2622pub struct ClearRect {
2623 pub rect: Rect2D,
2624 pub base_array_layer: u32,
2625 pub layer_count: u32,
2626}
2627
2628#[repr(C)]
2630#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2631pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
2632 pub cluster_references_count: u32,
2633 pub cluster_references_stride: u32,
2634 pub cluster_references: DeviceAddress,
2635}
2636
2637bitfields32! {
2638 struct ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0 {
2639 (triangle_count, with_triangle_count)[0 .. 9],
2640 (vertex_count, with_vertex_count)[9 .. 18],
2641 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2642 (index_type, with_index_type)[24 .. 28],
2643 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2644 }
2645}
2646
2647#[repr(C)]
2649#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2650pub struct ClusterAccelerationStructureBuildTriangleClusterInfoNV {
2651 pub cluster_id: u32,
2652 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2653 pub base_geometry_index_and_geometry_flags:
2654 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2655 pub index_buffer_stride: u16,
2656 pub vertex_buffer_stride: u16,
2657 pub geometry_index_and_flags_buffer_stride: u16,
2658 pub opacity_micromap_index_buffer_stride: u16,
2659 pub index_buffer: DeviceAddress,
2660 pub vertex_buffer: DeviceAddress,
2661 pub geometry_index_and_flags_buffer: DeviceAddress,
2662 pub opacity_micromap_array: DeviceAddress,
2663 pub opacity_micromap_index_buffer: DeviceAddress,
2664 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0,
2665}
2666
2667bitfields32! {
2668 struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0 {
2669 (triangle_count, with_triangle_count)[0 .. 9],
2670 (vertex_count, with_vertex_count)[9 .. 18],
2671 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2672 (index_type, with_index_type)[24 .. 28],
2673 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2674 }
2675}
2676
2677#[repr(C)]
2679#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2680pub struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
2681 pub cluster_id: u32,
2682 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2683 pub base_geometry_index_and_geometry_flags:
2684 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2685 pub index_buffer_stride: u16,
2686 pub vertex_buffer_stride: u16,
2687 pub geometry_index_and_flags_buffer_stride: u16,
2688 pub opacity_micromap_index_buffer_stride: u16,
2689 pub index_buffer: DeviceAddress,
2690 pub vertex_buffer: DeviceAddress,
2691 pub geometry_index_and_flags_buffer: DeviceAddress,
2692 pub opacity_micromap_array: DeviceAddress,
2693 pub opacity_micromap_index_buffer: DeviceAddress,
2694 pub instantiation_bounding_box_limit: DeviceAddress,
2695 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0,
2696}
2697
2698#[repr(C)]
2700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2701pub struct ClusterAccelerationStructureClustersBottomLevelInputNV {
2702 pub s_type: StructureType,
2703 pub next: *mut c_void,
2704 pub max_total_cluster_count: u32,
2705 pub max_cluster_count_per_acceleration_structure: u32,
2706}
2707
2708impl Default for ClusterAccelerationStructureClustersBottomLevelInputNV {
2709 #[inline]
2710 fn default() -> Self {
2711 Self {
2712 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
2713 next: ptr::null_mut(),
2714 max_total_cluster_count: u32::default(),
2715 max_cluster_count_per_acceleration_structure: u32::default(),
2716 }
2717 }
2718}
2719
2720unsafe impl Send for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2721unsafe impl Sync for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2722
2723#[repr(C)]
2725#[derive(Copy, Clone, Debug)]
2726pub struct ClusterAccelerationStructureCommandsInfoNV {
2727 pub s_type: StructureType,
2728 pub next: *mut c_void,
2729 pub input: ClusterAccelerationStructureInputInfoNV,
2730 pub dst_implicit_data: DeviceAddress,
2731 pub scratch_data: DeviceAddress,
2732 pub dst_addresses_array: StridedDeviceAddressRegionKHR,
2733 pub dst_sizes_array: StridedDeviceAddressRegionKHR,
2734 pub src_infos_array: StridedDeviceAddressRegionKHR,
2735 pub src_infos_count: DeviceAddress,
2736 pub address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV,
2737}
2738
2739impl Default for ClusterAccelerationStructureCommandsInfoNV {
2740 #[inline]
2741 fn default() -> Self {
2742 Self {
2743 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
2744 next: ptr::null_mut(),
2745 input: ClusterAccelerationStructureInputInfoNV::default(),
2746 dst_implicit_data: DeviceAddress::default(),
2747 scratch_data: DeviceAddress::default(),
2748 dst_addresses_array: StridedDeviceAddressRegionKHR::default(),
2749 dst_sizes_array: StridedDeviceAddressRegionKHR::default(),
2750 src_infos_array: StridedDeviceAddressRegionKHR::default(),
2751 src_infos_count: DeviceAddress::default(),
2752 address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV::default(
2753 ),
2754 }
2755 }
2756}
2757
2758unsafe impl Send for ClusterAccelerationStructureCommandsInfoNV {}
2759unsafe impl Sync for ClusterAccelerationStructureCommandsInfoNV {}
2760
2761bitfields32! {
2762 struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0 {
2763 (geometry_index, with_geometry_index)[0 .. 24],
2764 (reserved, with_reserved)[24 .. 29],
2765 (geometry_flags, with_geometry_flags)[29 .. 32],
2766 }
2767}
2768
2769#[repr(C)]
2771#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2772pub struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
2773 pub bitfields0: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0,
2774}
2775
2776#[repr(C)]
2778#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2779pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNV {
2780 pub cluster_template_address: DeviceAddress,
2781}
2782
2783#[repr(C)]
2785#[derive(Copy, Clone, Debug)]
2786pub struct ClusterAccelerationStructureInputInfoNV {
2787 pub s_type: StructureType,
2788 pub next: *mut c_void,
2789 pub max_acceleration_structure_count: u32,
2790 pub flags: BuildAccelerationStructureFlagsKHR,
2791 pub op_type: ClusterAccelerationStructureOpTypeNV,
2792 pub op_mode: ClusterAccelerationStructureOpModeNV,
2793 pub op_input: ClusterAccelerationStructureOpInputNV,
2794}
2795
2796impl Default for ClusterAccelerationStructureInputInfoNV {
2797 #[inline]
2798 fn default() -> Self {
2799 Self {
2800 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
2801 next: ptr::null_mut(),
2802 max_acceleration_structure_count: u32::default(),
2803 flags: BuildAccelerationStructureFlagsKHR::default(),
2804 op_type: ClusterAccelerationStructureOpTypeNV::default(),
2805 op_mode: ClusterAccelerationStructureOpModeNV::default(),
2806 op_input: ClusterAccelerationStructureOpInputNV::default(),
2807 }
2808 }
2809}
2810
2811unsafe impl Send for ClusterAccelerationStructureInputInfoNV {}
2812unsafe impl Sync for ClusterAccelerationStructureInputInfoNV {}
2813
2814bitfields32! {
2815 struct ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0 {
2816 (geometry_index_offset, with_geometry_index_offset)[0 .. 24],
2817 (reserved, with_reserved)[24 .. 32],
2818 }
2819}
2820
2821#[repr(C)]
2823#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2824pub struct ClusterAccelerationStructureInstantiateClusterInfoNV {
2825 pub cluster_id_offset: u32,
2826 pub cluster_template_address: DeviceAddress,
2827 pub vertex_buffer: StridedDeviceAddressNV,
2828 pub bitfields0: ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0,
2829}
2830
2831#[repr(C)]
2833#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2834pub struct ClusterAccelerationStructureMoveObjectsInfoNV {
2835 pub src_acceleration_structure: DeviceAddress,
2836}
2837
2838#[repr(C)]
2840#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2841pub struct ClusterAccelerationStructureMoveObjectsInputNV {
2842 pub s_type: StructureType,
2843 pub next: *mut c_void,
2844 pub type_: ClusterAccelerationStructureTypeNV,
2845 pub no_move_overlap: Bool32,
2846 pub max_moved_bytes: DeviceSize,
2847}
2848
2849impl Default for ClusterAccelerationStructureMoveObjectsInputNV {
2850 #[inline]
2851 fn default() -> Self {
2852 Self {
2853 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
2854 next: ptr::null_mut(),
2855 type_: ClusterAccelerationStructureTypeNV::default(),
2856 no_move_overlap: Bool32::default(),
2857 max_moved_bytes: DeviceSize::default(),
2858 }
2859 }
2860}
2861
2862unsafe impl Send for ClusterAccelerationStructureMoveObjectsInputNV {}
2863unsafe impl Sync for ClusterAccelerationStructureMoveObjectsInputNV {}
2864
2865#[repr(C)]
2867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2868pub struct ClusterAccelerationStructureTriangleClusterInputNV {
2869 pub s_type: StructureType,
2870 pub next: *mut c_void,
2871 pub vertex_format: Format,
2872 pub max_geometry_index_value: u32,
2873 pub max_cluster_unique_geometry_count: u32,
2874 pub max_cluster_triangle_count: u32,
2875 pub max_cluster_vertex_count: u32,
2876 pub max_total_triangle_count: u32,
2877 pub max_total_vertex_count: u32,
2878 pub min_position_truncate_bit_count: u32,
2879}
2880
2881impl Default for ClusterAccelerationStructureTriangleClusterInputNV {
2882 #[inline]
2883 fn default() -> Self {
2884 Self {
2885 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
2886 next: ptr::null_mut(),
2887 vertex_format: Format::default(),
2888 max_geometry_index_value: u32::default(),
2889 max_cluster_unique_geometry_count: u32::default(),
2890 max_cluster_triangle_count: u32::default(),
2891 max_cluster_vertex_count: u32::default(),
2892 max_total_triangle_count: u32::default(),
2893 max_total_vertex_count: u32::default(),
2894 min_position_truncate_bit_count: u32::default(),
2895 }
2896 }
2897}
2898
2899unsafe impl Send for ClusterAccelerationStructureTriangleClusterInputNV {}
2900unsafe impl Sync for ClusterAccelerationStructureTriangleClusterInputNV {}
2901
2902#[repr(C)]
2904#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2905pub struct CoarseSampleLocationNV {
2906 pub pixel_x: u32,
2907 pub pixel_y: u32,
2908 pub sample: u32,
2909}
2910
2911#[repr(C)]
2913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2914pub struct CoarseSampleOrderCustomNV {
2915 pub shading_rate: ShadingRatePaletteEntryNV,
2916 pub sample_count: u32,
2917 pub sample_location_count: u32,
2918 pub sample_locations: *const CoarseSampleLocationNV,
2919}
2920
2921impl Default for CoarseSampleOrderCustomNV {
2922 #[inline]
2923 fn default() -> Self {
2924 Self {
2925 shading_rate: ShadingRatePaletteEntryNV::default(),
2926 sample_count: u32::default(),
2927 sample_location_count: u32::default(),
2928 sample_locations: ptr::null(),
2929 }
2930 }
2931}
2932
2933unsafe impl Send for CoarseSampleOrderCustomNV {}
2934unsafe impl Sync for CoarseSampleOrderCustomNV {}
2935
2936#[repr(C)]
2938#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2939pub struct ColorBlendAdvancedEXT {
2940 pub advanced_blend_op: BlendOp,
2941 pub src_premultiplied: Bool32,
2942 pub dst_premultiplied: Bool32,
2943 pub blend_overlap: BlendOverlapEXT,
2944 pub clamp_results: Bool32,
2945}
2946
2947#[repr(C)]
2949#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2950pub struct ColorBlendEquationEXT {
2951 pub src_color_blend_factor: BlendFactor,
2952 pub dst_color_blend_factor: BlendFactor,
2953 pub color_blend_op: BlendOp,
2954 pub src_alpha_blend_factor: BlendFactor,
2955 pub dst_alpha_blend_factor: BlendFactor,
2956 pub alpha_blend_op: BlendOp,
2957}
2958
2959#[repr(C)]
2961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2962pub struct CommandBufferAllocateInfo {
2963 pub s_type: StructureType,
2964 pub next: *const c_void,
2965 pub command_pool: CommandPool,
2966 pub level: CommandBufferLevel,
2967 pub command_buffer_count: u32,
2968}
2969
2970impl Default for CommandBufferAllocateInfo {
2971 #[inline]
2972 fn default() -> Self {
2973 Self {
2974 s_type: StructureType::COMMAND_BUFFER_ALLOCATE_INFO,
2975 next: ptr::null(),
2976 command_pool: CommandPool::default(),
2977 level: CommandBufferLevel::default(),
2978 command_buffer_count: u32::default(),
2979 }
2980 }
2981}
2982
2983unsafe impl Send for CommandBufferAllocateInfo {}
2984unsafe impl Sync for CommandBufferAllocateInfo {}
2985
2986#[repr(C)]
2988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2989pub struct CommandBufferBeginInfo {
2990 pub s_type: StructureType,
2991 pub next: *const c_void,
2992 pub flags: CommandBufferUsageFlags,
2993 pub inheritance_info: *const CommandBufferInheritanceInfo,
2994}
2995
2996impl Default for CommandBufferBeginInfo {
2997 #[inline]
2998 fn default() -> Self {
2999 Self {
3000 s_type: StructureType::COMMAND_BUFFER_BEGIN_INFO,
3001 next: ptr::null(),
3002 flags: CommandBufferUsageFlags::default(),
3003 inheritance_info: ptr::null(),
3004 }
3005 }
3006}
3007
3008unsafe impl Send for CommandBufferBeginInfo {}
3009unsafe impl Sync for CommandBufferBeginInfo {}
3010
3011#[repr(C)]
3013#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3014pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
3015 pub s_type: StructureType,
3016 pub next: *const c_void,
3017 pub conditional_rendering_enable: Bool32,
3018}
3019
3020impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
3021 #[inline]
3022 fn default() -> Self {
3023 Self {
3024 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
3025 next: ptr::null(),
3026 conditional_rendering_enable: Bool32::default(),
3027 }
3028 }
3029}
3030
3031unsafe impl Send for CommandBufferInheritanceConditionalRenderingInfoEXT {}
3032unsafe impl Sync for CommandBufferInheritanceConditionalRenderingInfoEXT {}
3033
3034#[repr(C)]
3036#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3037pub struct CommandBufferInheritanceDescriptorHeapInfoEXT {
3038 pub s_type: StructureType,
3039 pub next: *const c_void,
3040 pub sampler_heap_bind_info: *const BindHeapInfoEXT,
3041 pub resource_heap_bind_info: *const BindHeapInfoEXT,
3042}
3043
3044impl Default for CommandBufferInheritanceDescriptorHeapInfoEXT {
3045 #[inline]
3046 fn default() -> Self {
3047 Self {
3048 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT,
3049 next: ptr::null(),
3050 sampler_heap_bind_info: ptr::null(),
3051 resource_heap_bind_info: ptr::null(),
3052 }
3053 }
3054}
3055
3056unsafe impl Send for CommandBufferInheritanceDescriptorHeapInfoEXT {}
3057unsafe impl Sync for CommandBufferInheritanceDescriptorHeapInfoEXT {}
3058
3059#[repr(C)]
3061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3062pub struct CommandBufferInheritanceInfo {
3063 pub s_type: StructureType,
3064 pub next: *const c_void,
3065 pub render_pass: RenderPass,
3066 pub subpass: u32,
3067 pub framebuffer: Framebuffer,
3068 pub occlusion_query_enable: Bool32,
3069 pub query_flags: QueryControlFlags,
3070 pub pipeline_statistics: QueryPipelineStatisticFlags,
3071}
3072
3073impl Default for CommandBufferInheritanceInfo {
3074 #[inline]
3075 fn default() -> Self {
3076 Self {
3077 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_INFO,
3078 next: ptr::null(),
3079 render_pass: RenderPass::default(),
3080 subpass: u32::default(),
3081 framebuffer: Framebuffer::default(),
3082 occlusion_query_enable: Bool32::default(),
3083 query_flags: QueryControlFlags::default(),
3084 pipeline_statistics: QueryPipelineStatisticFlags::default(),
3085 }
3086 }
3087}
3088
3089unsafe impl Send for CommandBufferInheritanceInfo {}
3090unsafe impl Sync for CommandBufferInheritanceInfo {}
3091
3092#[repr(C)]
3094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3095pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
3096 pub s_type: StructureType,
3097 pub next: *const c_void,
3098 pub transform: SurfaceTransformFlagsKHR,
3099 pub render_area: Rect2D,
3100}
3101
3102impl Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
3103 #[inline]
3104 fn default() -> Self {
3105 Self {
3106 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
3107 next: ptr::null(),
3108 transform: SurfaceTransformFlagsKHR::default(),
3109 render_area: Rect2D::default(),
3110 }
3111 }
3112}
3113
3114unsafe impl Send for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3115unsafe impl Sync for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3116
3117#[repr(C)]
3119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3120pub struct CommandBufferInheritanceRenderingInfo {
3121 pub s_type: StructureType,
3122 pub next: *const c_void,
3123 pub flags: RenderingFlags,
3124 pub view_mask: u32,
3125 pub color_attachment_count: u32,
3126 pub color_attachment_formats: *const Format,
3127 pub depth_attachment_format: Format,
3128 pub stencil_attachment_format: Format,
3129 pub rasterization_samples: SampleCountFlags,
3130}
3131
3132impl Default for CommandBufferInheritanceRenderingInfo {
3133 #[inline]
3134 fn default() -> Self {
3135 Self {
3136 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
3137 next: ptr::null(),
3138 flags: RenderingFlags::default(),
3139 view_mask: u32::default(),
3140 color_attachment_count: u32::default(),
3141 color_attachment_formats: ptr::null(),
3142 depth_attachment_format: Format::default(),
3143 stencil_attachment_format: Format::default(),
3144 rasterization_samples: SampleCountFlags::default(),
3145 }
3146 }
3147}
3148
3149unsafe impl Send for CommandBufferInheritanceRenderingInfo {}
3150unsafe impl Sync for CommandBufferInheritanceRenderingInfo {}
3151
3152#[repr(C)]
3154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3155pub struct CommandBufferInheritanceViewportScissorInfoNV {
3156 pub s_type: StructureType,
3157 pub next: *const c_void,
3158 pub viewport_scissor_2d: Bool32,
3159 pub viewport_depth_count: u32,
3160 pub viewport_depths: *const Viewport,
3161}
3162
3163impl Default for CommandBufferInheritanceViewportScissorInfoNV {
3164 #[inline]
3165 fn default() -> Self {
3166 Self {
3167 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
3168 next: ptr::null(),
3169 viewport_scissor_2d: Bool32::default(),
3170 viewport_depth_count: u32::default(),
3171 viewport_depths: ptr::null(),
3172 }
3173 }
3174}
3175
3176unsafe impl Send for CommandBufferInheritanceViewportScissorInfoNV {}
3177unsafe impl Sync for CommandBufferInheritanceViewportScissorInfoNV {}
3178
3179#[repr(C)]
3181#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3182pub struct CommandBufferSubmitInfo {
3183 pub s_type: StructureType,
3184 pub next: *const c_void,
3185 pub command_buffer: CommandBuffer,
3186 pub device_mask: u32,
3187}
3188
3189impl Default for CommandBufferSubmitInfo {
3190 #[inline]
3191 fn default() -> Self {
3192 Self {
3193 s_type: StructureType::COMMAND_BUFFER_SUBMIT_INFO,
3194 next: ptr::null(),
3195 command_buffer: CommandBuffer::default(),
3196 device_mask: u32::default(),
3197 }
3198 }
3199}
3200
3201unsafe impl Send for CommandBufferSubmitInfo {}
3202unsafe impl Sync for CommandBufferSubmitInfo {}
3203
3204#[repr(C)]
3206#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3207pub struct CommandPoolCreateInfo {
3208 pub s_type: StructureType,
3209 pub next: *const c_void,
3210 pub flags: CommandPoolCreateFlags,
3211 pub queue_family_index: u32,
3212}
3213
3214impl Default for CommandPoolCreateInfo {
3215 #[inline]
3216 fn default() -> Self {
3217 Self {
3218 s_type: StructureType::COMMAND_POOL_CREATE_INFO,
3219 next: ptr::null(),
3220 flags: CommandPoolCreateFlags::default(),
3221 queue_family_index: u32::default(),
3222 }
3223 }
3224}
3225
3226unsafe impl Send for CommandPoolCreateInfo {}
3227unsafe impl Sync for CommandPoolCreateInfo {}
3228
3229#[repr(C)]
3231#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3232pub struct ComponentMapping {
3233 pub r: ComponentSwizzle,
3234 pub g: ComponentSwizzle,
3235 pub b: ComponentSwizzle,
3236 pub a: ComponentSwizzle,
3237}
3238
3239#[repr(C)]
3241#[derive(Copy, Clone, Debug, PartialEq)]
3242pub struct ComputeOccupancyPriorityParametersNV {
3243 pub s_type: StructureType,
3244 pub next: *const c_void,
3245 pub occupancy_priority: f32,
3246 pub occupancy_throttling: f32,
3247}
3248
3249impl Default for ComputeOccupancyPriorityParametersNV {
3250 #[inline]
3251 fn default() -> Self {
3252 Self {
3253 s_type: StructureType::COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV,
3254 next: ptr::null(),
3255 occupancy_priority: f32::default(),
3256 occupancy_throttling: f32::default(),
3257 }
3258 }
3259}
3260
3261unsafe impl Send for ComputeOccupancyPriorityParametersNV {}
3262unsafe impl Sync for ComputeOccupancyPriorityParametersNV {}
3263
3264#[repr(C)]
3266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3267pub struct ComputePipelineCreateInfo {
3268 pub s_type: StructureType,
3269 pub next: *const c_void,
3270 pub flags: PipelineCreateFlags,
3271 pub stage: PipelineShaderStageCreateInfo,
3272 pub layout: PipelineLayout,
3273 pub base_pipeline_handle: Pipeline,
3274 pub base_pipeline_index: i32,
3275}
3276
3277impl Default for ComputePipelineCreateInfo {
3278 #[inline]
3279 fn default() -> Self {
3280 Self {
3281 s_type: StructureType::COMPUTE_PIPELINE_CREATE_INFO,
3282 next: ptr::null(),
3283 flags: PipelineCreateFlags::default(),
3284 stage: PipelineShaderStageCreateInfo::default(),
3285 layout: PipelineLayout::default(),
3286 base_pipeline_handle: Pipeline::default(),
3287 base_pipeline_index: i32::default(),
3288 }
3289 }
3290}
3291
3292unsafe impl Send for ComputePipelineCreateInfo {}
3293unsafe impl Sync for ComputePipelineCreateInfo {}
3294
3295#[repr(C)]
3297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3298pub struct ComputePipelineIndirectBufferInfoNV {
3299 pub s_type: StructureType,
3300 pub next: *const c_void,
3301 pub device_address: DeviceAddress,
3302 pub size: DeviceSize,
3303 pub pipeline_device_address_capture_replay: DeviceAddress,
3304}
3305
3306impl Default for ComputePipelineIndirectBufferInfoNV {
3307 #[inline]
3308 fn default() -> Self {
3309 Self {
3310 s_type: StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
3311 next: ptr::null(),
3312 device_address: DeviceAddress::default(),
3313 size: DeviceSize::default(),
3314 pipeline_device_address_capture_replay: DeviceAddress::default(),
3315 }
3316 }
3317}
3318
3319unsafe impl Send for ComputePipelineIndirectBufferInfoNV {}
3320unsafe impl Sync for ComputePipelineIndirectBufferInfoNV {}
3321
3322#[repr(C)]
3324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3325pub struct ConditionalRenderingBeginInfoEXT {
3326 pub s_type: StructureType,
3327 pub next: *const c_void,
3328 pub buffer: Buffer,
3329 pub offset: DeviceSize,
3330 pub flags: ConditionalRenderingFlagsEXT,
3331}
3332
3333impl Default for ConditionalRenderingBeginInfoEXT {
3334 #[inline]
3335 fn default() -> Self {
3336 Self {
3337 s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
3338 next: ptr::null(),
3339 buffer: Buffer::default(),
3340 offset: DeviceSize::default(),
3341 flags: ConditionalRenderingFlagsEXT::default(),
3342 }
3343 }
3344}
3345
3346unsafe impl Send for ConditionalRenderingBeginInfoEXT {}
3347unsafe impl Sync for ConditionalRenderingBeginInfoEXT {}
3348
3349#[repr(C)]
3351#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3352pub struct ConformanceVersion {
3353 pub major: u8,
3354 pub minor: u8,
3355 pub subminor: u8,
3356 pub patch: u8,
3357}
3358
3359#[repr(C)]
3361#[derive(Copy, Clone, Debug)]
3362pub struct ConvertCooperativeVectorMatrixInfoNV {
3363 pub s_type: StructureType,
3364 pub next: *const c_void,
3365 pub src_size: usize,
3366 pub src_data: DeviceOrHostAddressConstKHR,
3367 pub dst_size: *mut usize,
3368 pub dst_data: DeviceOrHostAddressKHR,
3369 pub src_component_type: ComponentTypeKHR,
3370 pub dst_component_type: ComponentTypeKHR,
3371 pub num_rows: u32,
3372 pub num_columns: u32,
3373 pub src_layout: CooperativeVectorMatrixLayoutNV,
3374 pub src_stride: usize,
3375 pub dst_layout: CooperativeVectorMatrixLayoutNV,
3376 pub dst_stride: usize,
3377}
3378
3379impl Default for ConvertCooperativeVectorMatrixInfoNV {
3380 #[inline]
3381 fn default() -> Self {
3382 Self {
3383 s_type: StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
3384 next: ptr::null(),
3385 src_size: usize::default(),
3386 src_data: DeviceOrHostAddressConstKHR::default(),
3387 dst_size: ptr::null_mut(),
3388 dst_data: DeviceOrHostAddressKHR::default(),
3389 src_component_type: ComponentTypeKHR::default(),
3390 dst_component_type: ComponentTypeKHR::default(),
3391 num_rows: u32::default(),
3392 num_columns: u32::default(),
3393 src_layout: CooperativeVectorMatrixLayoutNV::default(),
3394 src_stride: usize::default(),
3395 dst_layout: CooperativeVectorMatrixLayoutNV::default(),
3396 dst_stride: usize::default(),
3397 }
3398 }
3399}
3400
3401unsafe impl Send for ConvertCooperativeVectorMatrixInfoNV {}
3402unsafe impl Sync for ConvertCooperativeVectorMatrixInfoNV {}
3403
3404#[repr(C)]
3406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3407pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV {
3408 pub s_type: StructureType,
3409 pub next: *mut c_void,
3410 pub m_granularity: u32,
3411 pub n_granularity: u32,
3412 pub k_granularity: u32,
3413 pub a_type: ComponentTypeKHR,
3414 pub b_type: ComponentTypeKHR,
3415 pub c_type: ComponentTypeKHR,
3416 pub result_type: ComponentTypeKHR,
3417 pub saturating_accumulation: Bool32,
3418 pub scope: ScopeKHR,
3419 pub workgroup_invocations: u32,
3420}
3421
3422impl Default for CooperativeMatrixFlexibleDimensionsPropertiesNV {
3423 #[inline]
3424 fn default() -> Self {
3425 Self {
3426 s_type: StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
3427 next: ptr::null_mut(),
3428 m_granularity: u32::default(),
3429 n_granularity: u32::default(),
3430 k_granularity: u32::default(),
3431 a_type: ComponentTypeKHR::default(),
3432 b_type: ComponentTypeKHR::default(),
3433 c_type: ComponentTypeKHR::default(),
3434 result_type: ComponentTypeKHR::default(),
3435 saturating_accumulation: Bool32::default(),
3436 scope: ScopeKHR::default(),
3437 workgroup_invocations: u32::default(),
3438 }
3439 }
3440}
3441
3442unsafe impl Send for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3443unsafe impl Sync for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3444
3445#[repr(C)]
3447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3448pub struct CooperativeMatrixPropertiesKHR {
3449 pub s_type: StructureType,
3450 pub next: *mut c_void,
3451 pub m_size: u32,
3452 pub n_size: u32,
3453 pub k_size: u32,
3454 pub a_type: ComponentTypeKHR,
3455 pub b_type: ComponentTypeKHR,
3456 pub c_type: ComponentTypeKHR,
3457 pub result_type: ComponentTypeKHR,
3458 pub saturating_accumulation: Bool32,
3459 pub scope: ScopeKHR,
3460}
3461
3462impl Default for CooperativeMatrixPropertiesKHR {
3463 #[inline]
3464 fn default() -> Self {
3465 Self {
3466 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR,
3467 next: ptr::null_mut(),
3468 m_size: u32::default(),
3469 n_size: u32::default(),
3470 k_size: u32::default(),
3471 a_type: ComponentTypeKHR::default(),
3472 b_type: ComponentTypeKHR::default(),
3473 c_type: ComponentTypeKHR::default(),
3474 result_type: ComponentTypeKHR::default(),
3475 saturating_accumulation: Bool32::default(),
3476 scope: ScopeKHR::default(),
3477 }
3478 }
3479}
3480
3481unsafe impl Send for CooperativeMatrixPropertiesKHR {}
3482unsafe impl Sync for CooperativeMatrixPropertiesKHR {}
3483
3484#[repr(C)]
3486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3487pub struct CooperativeMatrixPropertiesNV {
3488 pub s_type: StructureType,
3489 pub next: *mut c_void,
3490 pub m_size: u32,
3491 pub n_size: u32,
3492 pub k_size: u32,
3493 pub a_type: ComponentTypeNV,
3494 pub b_type: ComponentTypeNV,
3495 pub c_type: ComponentTypeNV,
3496 pub d_type: ComponentTypeNV,
3497 pub scope: ScopeNV,
3498}
3499
3500impl Default for CooperativeMatrixPropertiesNV {
3501 #[inline]
3502 fn default() -> Self {
3503 Self {
3504 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV,
3505 next: ptr::null_mut(),
3506 m_size: u32::default(),
3507 n_size: u32::default(),
3508 k_size: u32::default(),
3509 a_type: ComponentTypeNV::default(),
3510 b_type: ComponentTypeNV::default(),
3511 c_type: ComponentTypeNV::default(),
3512 d_type: ComponentTypeNV::default(),
3513 scope: ScopeNV::default(),
3514 }
3515 }
3516}
3517
3518unsafe impl Send for CooperativeMatrixPropertiesNV {}
3519unsafe impl Sync for CooperativeMatrixPropertiesNV {}
3520
3521#[repr(C)]
3523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3524pub struct CooperativeVectorPropertiesNV {
3525 pub s_type: StructureType,
3526 pub next: *mut c_void,
3527 pub input_type: ComponentTypeKHR,
3528 pub input_interpretation: ComponentTypeKHR,
3529 pub matrix_interpretation: ComponentTypeKHR,
3530 pub bias_interpretation: ComponentTypeKHR,
3531 pub result_type: ComponentTypeKHR,
3532 pub transpose: Bool32,
3533}
3534
3535impl Default for CooperativeVectorPropertiesNV {
3536 #[inline]
3537 fn default() -> Self {
3538 Self {
3539 s_type: StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV,
3540 next: ptr::null_mut(),
3541 input_type: ComponentTypeKHR::default(),
3542 input_interpretation: ComponentTypeKHR::default(),
3543 matrix_interpretation: ComponentTypeKHR::default(),
3544 bias_interpretation: ComponentTypeKHR::default(),
3545 result_type: ComponentTypeKHR::default(),
3546 transpose: Bool32::default(),
3547 }
3548 }
3549}
3550
3551unsafe impl Send for CooperativeVectorPropertiesNV {}
3552unsafe impl Sync for CooperativeVectorPropertiesNV {}
3553
3554#[repr(C)]
3556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3557pub struct CopyAccelerationStructureInfoKHR {
3558 pub s_type: StructureType,
3559 pub next: *const c_void,
3560 pub src: AccelerationStructureKHR,
3561 pub dst: AccelerationStructureKHR,
3562 pub mode: CopyAccelerationStructureModeKHR,
3563}
3564
3565impl Default for CopyAccelerationStructureInfoKHR {
3566 #[inline]
3567 fn default() -> Self {
3568 Self {
3569 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR,
3570 next: ptr::null(),
3571 src: AccelerationStructureKHR::default(),
3572 dst: AccelerationStructureKHR::default(),
3573 mode: CopyAccelerationStructureModeKHR::default(),
3574 }
3575 }
3576}
3577
3578unsafe impl Send for CopyAccelerationStructureInfoKHR {}
3579unsafe impl Sync for CopyAccelerationStructureInfoKHR {}
3580
3581#[repr(C)]
3583#[derive(Copy, Clone, Debug)]
3584pub struct CopyAccelerationStructureToMemoryInfoKHR {
3585 pub s_type: StructureType,
3586 pub next: *const c_void,
3587 pub src: AccelerationStructureKHR,
3588 pub dst: DeviceOrHostAddressKHR,
3589 pub mode: CopyAccelerationStructureModeKHR,
3590}
3591
3592impl Default for CopyAccelerationStructureToMemoryInfoKHR {
3593 #[inline]
3594 fn default() -> Self {
3595 Self {
3596 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
3597 next: ptr::null(),
3598 src: AccelerationStructureKHR::default(),
3599 dst: DeviceOrHostAddressKHR::default(),
3600 mode: CopyAccelerationStructureModeKHR::default(),
3601 }
3602 }
3603}
3604
3605unsafe impl Send for CopyAccelerationStructureToMemoryInfoKHR {}
3606unsafe impl Sync for CopyAccelerationStructureToMemoryInfoKHR {}
3607
3608#[repr(C)]
3610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3611pub struct CopyBufferInfo2 {
3612 pub s_type: StructureType,
3613 pub next: *const c_void,
3614 pub src_buffer: Buffer,
3615 pub dst_buffer: Buffer,
3616 pub region_count: u32,
3617 pub regions: *const BufferCopy2,
3618}
3619
3620impl Default for CopyBufferInfo2 {
3621 #[inline]
3622 fn default() -> Self {
3623 Self {
3624 s_type: StructureType::COPY_BUFFER_INFO_2,
3625 next: ptr::null(),
3626 src_buffer: Buffer::default(),
3627 dst_buffer: Buffer::default(),
3628 region_count: u32::default(),
3629 regions: ptr::null(),
3630 }
3631 }
3632}
3633
3634unsafe impl Send for CopyBufferInfo2 {}
3635unsafe impl Sync for CopyBufferInfo2 {}
3636
3637#[repr(C)]
3639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3640pub struct CopyBufferToImageInfo2 {
3641 pub s_type: StructureType,
3642 pub next: *const c_void,
3643 pub src_buffer: Buffer,
3644 pub dst_image: Image,
3645 pub dst_image_layout: ImageLayout,
3646 pub region_count: u32,
3647 pub regions: *const BufferImageCopy2,
3648}
3649
3650impl Default for CopyBufferToImageInfo2 {
3651 #[inline]
3652 fn default() -> Self {
3653 Self {
3654 s_type: StructureType::COPY_BUFFER_TO_IMAGE_INFO_2,
3655 next: ptr::null(),
3656 src_buffer: Buffer::default(),
3657 dst_image: Image::default(),
3658 dst_image_layout: ImageLayout::default(),
3659 region_count: u32::default(),
3660 regions: ptr::null(),
3661 }
3662 }
3663}
3664
3665unsafe impl Send for CopyBufferToImageInfo2 {}
3666unsafe impl Sync for CopyBufferToImageInfo2 {}
3667
3668#[repr(C)]
3670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3671pub struct CopyCommandTransformInfoQCOM {
3672 pub s_type: StructureType,
3673 pub next: *const c_void,
3674 pub transform: SurfaceTransformFlagsKHR,
3675}
3676
3677impl Default for CopyCommandTransformInfoQCOM {
3678 #[inline]
3679 fn default() -> Self {
3680 Self {
3681 s_type: StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM,
3682 next: ptr::null(),
3683 transform: SurfaceTransformFlagsKHR::default(),
3684 }
3685 }
3686}
3687
3688unsafe impl Send for CopyCommandTransformInfoQCOM {}
3689unsafe impl Sync for CopyCommandTransformInfoQCOM {}
3690
3691#[repr(C)]
3693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3694pub struct CopyDescriptorSet {
3695 pub s_type: StructureType,
3696 pub next: *const c_void,
3697 pub src_set: DescriptorSet,
3698 pub src_binding: u32,
3699 pub src_array_element: u32,
3700 pub dst_set: DescriptorSet,
3701 pub dst_binding: u32,
3702 pub dst_array_element: u32,
3703 pub descriptor_count: u32,
3704}
3705
3706impl Default for CopyDescriptorSet {
3707 #[inline]
3708 fn default() -> Self {
3709 Self {
3710 s_type: StructureType::COPY_DESCRIPTOR_SET,
3711 next: ptr::null(),
3712 src_set: DescriptorSet::default(),
3713 src_binding: u32::default(),
3714 src_array_element: u32::default(),
3715 dst_set: DescriptorSet::default(),
3716 dst_binding: u32::default(),
3717 dst_array_element: u32::default(),
3718 descriptor_count: u32::default(),
3719 }
3720 }
3721}
3722
3723unsafe impl Send for CopyDescriptorSet {}
3724unsafe impl Sync for CopyDescriptorSet {}
3725
3726#[repr(C)]
3728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3729pub struct CopyImageInfo2 {
3730 pub s_type: StructureType,
3731 pub next: *const c_void,
3732 pub src_image: Image,
3733 pub src_image_layout: ImageLayout,
3734 pub dst_image: Image,
3735 pub dst_image_layout: ImageLayout,
3736 pub region_count: u32,
3737 pub regions: *const ImageCopy2,
3738}
3739
3740impl Default for CopyImageInfo2 {
3741 #[inline]
3742 fn default() -> Self {
3743 Self {
3744 s_type: StructureType::COPY_IMAGE_INFO_2,
3745 next: ptr::null(),
3746 src_image: Image::default(),
3747 src_image_layout: ImageLayout::default(),
3748 dst_image: Image::default(),
3749 dst_image_layout: ImageLayout::default(),
3750 region_count: u32::default(),
3751 regions: ptr::null(),
3752 }
3753 }
3754}
3755
3756unsafe impl Send for CopyImageInfo2 {}
3757unsafe impl Sync for CopyImageInfo2 {}
3758
3759#[repr(C)]
3761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3762pub struct CopyImageToBufferInfo2 {
3763 pub s_type: StructureType,
3764 pub next: *const c_void,
3765 pub src_image: Image,
3766 pub src_image_layout: ImageLayout,
3767 pub dst_buffer: Buffer,
3768 pub region_count: u32,
3769 pub regions: *const BufferImageCopy2,
3770}
3771
3772impl Default for CopyImageToBufferInfo2 {
3773 #[inline]
3774 fn default() -> Self {
3775 Self {
3776 s_type: StructureType::COPY_IMAGE_TO_BUFFER_INFO_2,
3777 next: ptr::null(),
3778 src_image: Image::default(),
3779 src_image_layout: ImageLayout::default(),
3780 dst_buffer: Buffer::default(),
3781 region_count: u32::default(),
3782 regions: ptr::null(),
3783 }
3784 }
3785}
3786
3787unsafe impl Send for CopyImageToBufferInfo2 {}
3788unsafe impl Sync for CopyImageToBufferInfo2 {}
3789
3790#[repr(C)]
3792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3793pub struct CopyImageToImageInfo {
3794 pub s_type: StructureType,
3795 pub next: *const c_void,
3796 pub flags: HostImageCopyFlags,
3797 pub src_image: Image,
3798 pub src_image_layout: ImageLayout,
3799 pub dst_image: Image,
3800 pub dst_image_layout: ImageLayout,
3801 pub region_count: u32,
3802 pub regions: *const ImageCopy2,
3803}
3804
3805impl Default for CopyImageToImageInfo {
3806 #[inline]
3807 fn default() -> Self {
3808 Self {
3809 s_type: StructureType::COPY_IMAGE_TO_IMAGE_INFO,
3810 next: ptr::null(),
3811 flags: HostImageCopyFlags::default(),
3812 src_image: Image::default(),
3813 src_image_layout: ImageLayout::default(),
3814 dst_image: Image::default(),
3815 dst_image_layout: ImageLayout::default(),
3816 region_count: u32::default(),
3817 regions: ptr::null(),
3818 }
3819 }
3820}
3821
3822unsafe impl Send for CopyImageToImageInfo {}
3823unsafe impl Sync for CopyImageToImageInfo {}
3824
3825#[repr(C)]
3827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3828pub struct CopyImageToMemoryInfo {
3829 pub s_type: StructureType,
3830 pub next: *const c_void,
3831 pub flags: HostImageCopyFlags,
3832 pub src_image: Image,
3833 pub src_image_layout: ImageLayout,
3834 pub region_count: u32,
3835 pub regions: *const ImageToMemoryCopy,
3836}
3837
3838impl Default for CopyImageToMemoryInfo {
3839 #[inline]
3840 fn default() -> Self {
3841 Self {
3842 s_type: StructureType::COPY_IMAGE_TO_MEMORY_INFO,
3843 next: ptr::null(),
3844 flags: HostImageCopyFlags::default(),
3845 src_image: Image::default(),
3846 src_image_layout: ImageLayout::default(),
3847 region_count: u32::default(),
3848 regions: ptr::null(),
3849 }
3850 }
3851}
3852
3853unsafe impl Send for CopyImageToMemoryInfo {}
3854unsafe impl Sync for CopyImageToMemoryInfo {}
3855
3856#[repr(C)]
3858#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3859pub struct CopyMemoryIndirectCommandKHR {
3860 pub src_address: DeviceAddress,
3861 pub dst_address: DeviceAddress,
3862 pub size: DeviceSize,
3863}
3864
3865#[repr(C)]
3867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3868pub struct CopyMemoryIndirectInfoKHR {
3869 pub s_type: StructureType,
3870 pub next: *const c_void,
3871 pub src_copy_flags: AddressCopyFlagsKHR,
3872 pub dst_copy_flags: AddressCopyFlagsKHR,
3873 pub copy_count: u32,
3874 pub copy_address_range: StridedDeviceAddressRangeKHR,
3875}
3876
3877impl Default for CopyMemoryIndirectInfoKHR {
3878 #[inline]
3879 fn default() -> Self {
3880 Self {
3881 s_type: StructureType::COPY_MEMORY_INDIRECT_INFO_KHR,
3882 next: ptr::null(),
3883 src_copy_flags: AddressCopyFlagsKHR::default(),
3884 dst_copy_flags: AddressCopyFlagsKHR::default(),
3885 copy_count: u32::default(),
3886 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3887 }
3888 }
3889}
3890
3891unsafe impl Send for CopyMemoryIndirectInfoKHR {}
3892unsafe impl Sync for CopyMemoryIndirectInfoKHR {}
3893
3894#[repr(C)]
3896#[derive(Copy, Clone, Debug)]
3897pub struct CopyMemoryToAccelerationStructureInfoKHR {
3898 pub s_type: StructureType,
3899 pub next: *const c_void,
3900 pub src: DeviceOrHostAddressConstKHR,
3901 pub dst: AccelerationStructureKHR,
3902 pub mode: CopyAccelerationStructureModeKHR,
3903}
3904
3905impl Default for CopyMemoryToAccelerationStructureInfoKHR {
3906 #[inline]
3907 fn default() -> Self {
3908 Self {
3909 s_type: StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
3910 next: ptr::null(),
3911 src: DeviceOrHostAddressConstKHR::default(),
3912 dst: AccelerationStructureKHR::default(),
3913 mode: CopyAccelerationStructureModeKHR::default(),
3914 }
3915 }
3916}
3917
3918unsafe impl Send for CopyMemoryToAccelerationStructureInfoKHR {}
3919unsafe impl Sync for CopyMemoryToAccelerationStructureInfoKHR {}
3920
3921#[repr(C)]
3923#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3924pub struct CopyMemoryToImageIndirectCommandKHR {
3925 pub src_address: DeviceAddress,
3926 pub buffer_row_length: u32,
3927 pub buffer_image_height: u32,
3928 pub image_subresource: ImageSubresourceLayers,
3929 pub image_offset: Offset3D,
3930 pub image_extent: Extent3D,
3931}
3932
3933#[repr(C)]
3935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3936pub struct CopyMemoryToImageIndirectInfoKHR {
3937 pub s_type: StructureType,
3938 pub next: *const c_void,
3939 pub src_copy_flags: AddressCopyFlagsKHR,
3940 pub copy_count: u32,
3941 pub copy_address_range: StridedDeviceAddressRangeKHR,
3942 pub dst_image: Image,
3943 pub dst_image_layout: ImageLayout,
3944 pub image_subresources: *const ImageSubresourceLayers,
3945}
3946
3947impl Default for CopyMemoryToImageIndirectInfoKHR {
3948 #[inline]
3949 fn default() -> Self {
3950 Self {
3951 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR,
3952 next: ptr::null(),
3953 src_copy_flags: AddressCopyFlagsKHR::default(),
3954 copy_count: u32::default(),
3955 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3956 dst_image: Image::default(),
3957 dst_image_layout: ImageLayout::default(),
3958 image_subresources: ptr::null(),
3959 }
3960 }
3961}
3962
3963unsafe impl Send for CopyMemoryToImageIndirectInfoKHR {}
3964unsafe impl Sync for CopyMemoryToImageIndirectInfoKHR {}
3965
3966#[repr(C)]
3968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3969pub struct CopyMemoryToImageInfo {
3970 pub s_type: StructureType,
3971 pub next: *const c_void,
3972 pub flags: HostImageCopyFlags,
3973 pub dst_image: Image,
3974 pub dst_image_layout: ImageLayout,
3975 pub region_count: u32,
3976 pub regions: *const MemoryToImageCopy,
3977}
3978
3979impl Default for CopyMemoryToImageInfo {
3980 #[inline]
3981 fn default() -> Self {
3982 Self {
3983 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INFO,
3984 next: ptr::null(),
3985 flags: HostImageCopyFlags::default(),
3986 dst_image: Image::default(),
3987 dst_image_layout: ImageLayout::default(),
3988 region_count: u32::default(),
3989 regions: ptr::null(),
3990 }
3991 }
3992}
3993
3994unsafe impl Send for CopyMemoryToImageInfo {}
3995unsafe impl Sync for CopyMemoryToImageInfo {}
3996
3997#[repr(C)]
3999#[derive(Copy, Clone, Debug)]
4000pub struct CopyMemoryToMicromapInfoEXT {
4001 pub s_type: StructureType,
4002 pub next: *const c_void,
4003 pub src: DeviceOrHostAddressConstKHR,
4004 pub dst: MicromapEXT,
4005 pub mode: CopyMicromapModeEXT,
4006}
4007
4008impl Default for CopyMemoryToMicromapInfoEXT {
4009 #[inline]
4010 fn default() -> Self {
4011 Self {
4012 s_type: StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT,
4013 next: ptr::null(),
4014 src: DeviceOrHostAddressConstKHR::default(),
4015 dst: MicromapEXT::default(),
4016 mode: CopyMicromapModeEXT::default(),
4017 }
4018 }
4019}
4020
4021unsafe impl Send for CopyMemoryToMicromapInfoEXT {}
4022unsafe impl Sync for CopyMemoryToMicromapInfoEXT {}
4023
4024#[repr(C)]
4026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4027pub struct CopyMicromapInfoEXT {
4028 pub s_type: StructureType,
4029 pub next: *const c_void,
4030 pub src: MicromapEXT,
4031 pub dst: MicromapEXT,
4032 pub mode: CopyMicromapModeEXT,
4033}
4034
4035impl Default for CopyMicromapInfoEXT {
4036 #[inline]
4037 fn default() -> Self {
4038 Self {
4039 s_type: StructureType::COPY_MICROMAP_INFO_EXT,
4040 next: ptr::null(),
4041 src: MicromapEXT::default(),
4042 dst: MicromapEXT::default(),
4043 mode: CopyMicromapModeEXT::default(),
4044 }
4045 }
4046}
4047
4048unsafe impl Send for CopyMicromapInfoEXT {}
4049unsafe impl Sync for CopyMicromapInfoEXT {}
4050
4051#[repr(C)]
4053#[derive(Copy, Clone, Debug)]
4054pub struct CopyMicromapToMemoryInfoEXT {
4055 pub s_type: StructureType,
4056 pub next: *const c_void,
4057 pub src: MicromapEXT,
4058 pub dst: DeviceOrHostAddressKHR,
4059 pub mode: CopyMicromapModeEXT,
4060}
4061
4062impl Default for CopyMicromapToMemoryInfoEXT {
4063 #[inline]
4064 fn default() -> Self {
4065 Self {
4066 s_type: StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT,
4067 next: ptr::null(),
4068 src: MicromapEXT::default(),
4069 dst: DeviceOrHostAddressKHR::default(),
4070 mode: CopyMicromapModeEXT::default(),
4071 }
4072 }
4073}
4074
4075unsafe impl Send for CopyMicromapToMemoryInfoEXT {}
4076unsafe impl Sync for CopyMicromapToMemoryInfoEXT {}
4077
4078#[repr(C)]
4080#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4081pub struct CopyTensorInfoARM {
4082 pub s_type: StructureType,
4083 pub next: *const c_void,
4084 pub src_tensor: TensorARM,
4085 pub dst_tensor: TensorARM,
4086 pub region_count: u32,
4087 pub regions: *const TensorCopyARM,
4088}
4089
4090impl Default for CopyTensorInfoARM {
4091 #[inline]
4092 fn default() -> Self {
4093 Self {
4094 s_type: StructureType::COPY_TENSOR_INFO_ARM,
4095 next: ptr::null(),
4096 src_tensor: TensorARM::default(),
4097 dst_tensor: TensorARM::default(),
4098 region_count: u32::default(),
4099 regions: ptr::null(),
4100 }
4101 }
4102}
4103
4104unsafe impl Send for CopyTensorInfoARM {}
4105unsafe impl Sync for CopyTensorInfoARM {}
4106
4107#[repr(C)]
4109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4110pub struct CuFunctionCreateInfoNVX {
4111 pub s_type: StructureType,
4112 pub next: *const c_void,
4113 pub module: CuModuleNVX,
4114 pub name: *const c_char,
4115}
4116
4117impl Default for CuFunctionCreateInfoNVX {
4118 #[inline]
4119 fn default() -> Self {
4120 Self {
4121 s_type: StructureType::CU_FUNCTION_CREATE_INFO_NVX,
4122 next: ptr::null(),
4123 module: CuModuleNVX::default(),
4124 name: ptr::null(),
4125 }
4126 }
4127}
4128
4129unsafe impl Send for CuFunctionCreateInfoNVX {}
4130unsafe impl Sync for CuFunctionCreateInfoNVX {}
4131
4132#[repr(C)]
4134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4135pub struct CuLaunchInfoNVX {
4136 pub s_type: StructureType,
4137 pub next: *const c_void,
4138 pub function: CuFunctionNVX,
4139 pub grid_dim_x: u32,
4140 pub grid_dim_y: u32,
4141 pub grid_dim_z: u32,
4142 pub block_dim_x: u32,
4143 pub block_dim_y: u32,
4144 pub block_dim_z: u32,
4145 pub shared_mem_bytes: u32,
4146 pub param_count: usize,
4147 pub params: *const c_void,
4148 pub extra_count: usize,
4149 pub extras: *const c_void,
4150}
4151
4152impl Default for CuLaunchInfoNVX {
4153 #[inline]
4154 fn default() -> Self {
4155 Self {
4156 s_type: StructureType::CU_LAUNCH_INFO_NVX,
4157 next: ptr::null(),
4158 function: CuFunctionNVX::default(),
4159 grid_dim_x: u32::default(),
4160 grid_dim_y: u32::default(),
4161 grid_dim_z: u32::default(),
4162 block_dim_x: u32::default(),
4163 block_dim_y: u32::default(),
4164 block_dim_z: u32::default(),
4165 shared_mem_bytes: u32::default(),
4166 param_count: usize::default(),
4167 params: ptr::null(),
4168 extra_count: usize::default(),
4169 extras: ptr::null(),
4170 }
4171 }
4172}
4173
4174unsafe impl Send for CuLaunchInfoNVX {}
4175unsafe impl Sync for CuLaunchInfoNVX {}
4176
4177#[repr(C)]
4179#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4180pub struct CuModuleCreateInfoNVX {
4181 pub s_type: StructureType,
4182 pub next: *const c_void,
4183 pub data_size: usize,
4184 pub data: *const c_void,
4185}
4186
4187impl Default for CuModuleCreateInfoNVX {
4188 #[inline]
4189 fn default() -> Self {
4190 Self {
4191 s_type: StructureType::CU_MODULE_CREATE_INFO_NVX,
4192 next: ptr::null(),
4193 data_size: usize::default(),
4194 data: ptr::null(),
4195 }
4196 }
4197}
4198
4199unsafe impl Send for CuModuleCreateInfoNVX {}
4200unsafe impl Sync for CuModuleCreateInfoNVX {}
4201
4202#[repr(C)]
4204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4205pub struct CuModuleTexturingModeCreateInfoNVX {
4206 pub s_type: StructureType,
4207 pub next: *const c_void,
4208 pub use64bit_texturing: Bool32,
4209}
4210
4211impl Default for CuModuleTexturingModeCreateInfoNVX {
4212 #[inline]
4213 fn default() -> Self {
4214 Self {
4215 s_type: StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
4216 next: ptr::null(),
4217 use64bit_texturing: Bool32::default(),
4218 }
4219 }
4220}
4221
4222unsafe impl Send for CuModuleTexturingModeCreateInfoNVX {}
4223unsafe impl Sync for CuModuleTexturingModeCreateInfoNVX {}
4224
4225#[repr(C)]
4227#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4228pub struct CudaFunctionCreateInfoNV {
4229 pub s_type: StructureType,
4230 pub next: *const c_void,
4231 pub module: CudaModuleNV,
4232 pub name: *const c_char,
4233}
4234
4235impl Default for CudaFunctionCreateInfoNV {
4236 #[inline]
4237 fn default() -> Self {
4238 Self {
4239 s_type: StructureType::CUDA_FUNCTION_CREATE_INFO_NV,
4240 next: ptr::null(),
4241 module: CudaModuleNV::default(),
4242 name: ptr::null(),
4243 }
4244 }
4245}
4246
4247unsafe impl Send for CudaFunctionCreateInfoNV {}
4248unsafe impl Sync for CudaFunctionCreateInfoNV {}
4249
4250#[repr(C)]
4252#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4253pub struct CudaLaunchInfoNV {
4254 pub s_type: StructureType,
4255 pub next: *const c_void,
4256 pub function: CudaFunctionNV,
4257 pub grid_dim_x: u32,
4258 pub grid_dim_y: u32,
4259 pub grid_dim_z: u32,
4260 pub block_dim_x: u32,
4261 pub block_dim_y: u32,
4262 pub block_dim_z: u32,
4263 pub shared_mem_bytes: u32,
4264 pub param_count: usize,
4265 pub params: *const c_void,
4266 pub extra_count: usize,
4267 pub extras: *const c_void,
4268}
4269
4270impl Default for CudaLaunchInfoNV {
4271 #[inline]
4272 fn default() -> Self {
4273 Self {
4274 s_type: StructureType::CUDA_LAUNCH_INFO_NV,
4275 next: ptr::null(),
4276 function: CudaFunctionNV::default(),
4277 grid_dim_x: u32::default(),
4278 grid_dim_y: u32::default(),
4279 grid_dim_z: u32::default(),
4280 block_dim_x: u32::default(),
4281 block_dim_y: u32::default(),
4282 block_dim_z: u32::default(),
4283 shared_mem_bytes: u32::default(),
4284 param_count: usize::default(),
4285 params: ptr::null(),
4286 extra_count: usize::default(),
4287 extras: ptr::null(),
4288 }
4289 }
4290}
4291
4292unsafe impl Send for CudaLaunchInfoNV {}
4293unsafe impl Sync for CudaLaunchInfoNV {}
4294
4295#[repr(C)]
4297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4298pub struct CudaModuleCreateInfoNV {
4299 pub s_type: StructureType,
4300 pub next: *const c_void,
4301 pub data_size: usize,
4302 pub data: *const c_void,
4303}
4304
4305impl Default for CudaModuleCreateInfoNV {
4306 #[inline]
4307 fn default() -> Self {
4308 Self {
4309 s_type: StructureType::CUDA_MODULE_CREATE_INFO_NV,
4310 next: ptr::null(),
4311 data_size: usize::default(),
4312 data: ptr::null(),
4313 }
4314 }
4315}
4316
4317unsafe impl Send for CudaModuleCreateInfoNV {}
4318unsafe impl Sync for CudaModuleCreateInfoNV {}
4319
4320#[repr(C)]
4322#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4323pub struct CustomResolveCreateInfoEXT {
4324 pub s_type: StructureType,
4325 pub next: *const c_void,
4326 pub custom_resolve: Bool32,
4327 pub color_attachment_count: u32,
4328 pub color_attachment_formats: *const Format,
4329 pub depth_attachment_format: Format,
4330 pub stencil_attachment_format: Format,
4331}
4332
4333impl Default for CustomResolveCreateInfoEXT {
4334 #[inline]
4335 fn default() -> Self {
4336 Self {
4337 s_type: StructureType::CUSTOM_RESOLVE_CREATE_INFO_EXT,
4338 next: ptr::null(),
4339 custom_resolve: Bool32::default(),
4340 color_attachment_count: u32::default(),
4341 color_attachment_formats: ptr::null(),
4342 depth_attachment_format: Format::default(),
4343 stencil_attachment_format: Format::default(),
4344 }
4345 }
4346}
4347
4348unsafe impl Send for CustomResolveCreateInfoEXT {}
4349unsafe impl Sync for CustomResolveCreateInfoEXT {}
4350
4351#[repr(C)]
4353#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4354pub struct D3D12FenceSubmitInfoKHR {
4355 pub s_type: StructureType,
4356 pub next: *const c_void,
4357 pub wait_semaphore_values_count: u32,
4358 pub wait_semaphore_values: *const u64,
4359 pub signal_semaphore_values_count: u32,
4360 pub signal_semaphore_values: *const u64,
4361}
4362
4363impl Default for D3D12FenceSubmitInfoKHR {
4364 #[inline]
4365 fn default() -> Self {
4366 Self {
4367 s_type: StructureType::D3D12_FENCE_SUBMIT_INFO_KHR,
4368 next: ptr::null(),
4369 wait_semaphore_values_count: u32::default(),
4370 wait_semaphore_values: ptr::null(),
4371 signal_semaphore_values_count: u32::default(),
4372 signal_semaphore_values: ptr::null(),
4373 }
4374 }
4375}
4376
4377unsafe impl Send for D3D12FenceSubmitInfoKHR {}
4378unsafe impl Sync for D3D12FenceSubmitInfoKHR {}
4379
4380#[repr(C)]
4382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4383pub struct DataGraphPipelineBuiltinModelCreateInfoQCOM {
4384 pub s_type: StructureType,
4385 pub next: *const c_void,
4386 pub operation: *const PhysicalDeviceDataGraphOperationSupportARM,
4387}
4388
4389impl Default for DataGraphPipelineBuiltinModelCreateInfoQCOM {
4390 #[inline]
4391 fn default() -> Self {
4392 Self {
4393 s_type: StructureType::DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
4394 next: ptr::null(),
4395 operation: ptr::null(),
4396 }
4397 }
4398}
4399
4400unsafe impl Send for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4401unsafe impl Sync for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4402
4403#[repr(C)]
4405#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4406pub struct DataGraphPipelineCompilerControlCreateInfoARM {
4407 pub s_type: StructureType,
4408 pub next: *const c_void,
4409 pub vendor_options: *const c_char,
4410}
4411
4412impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
4413 #[inline]
4414 fn default() -> Self {
4415 Self {
4416 s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
4417 next: ptr::null(),
4418 vendor_options: ptr::null(),
4419 }
4420 }
4421}
4422
4423unsafe impl Send for DataGraphPipelineCompilerControlCreateInfoARM {}
4424unsafe impl Sync for DataGraphPipelineCompilerControlCreateInfoARM {}
4425
4426#[repr(C)]
4428#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4429pub struct DataGraphPipelineConstantARM {
4430 pub s_type: StructureType,
4431 pub next: *const c_void,
4432 pub id: u32,
4433 pub constant_data: *const c_void,
4434}
4435
4436impl Default for DataGraphPipelineConstantARM {
4437 #[inline]
4438 fn default() -> Self {
4439 Self {
4440 s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
4441 next: ptr::null(),
4442 id: u32::default(),
4443 constant_data: ptr::null(),
4444 }
4445 }
4446}
4447
4448unsafe impl Send for DataGraphPipelineConstantARM {}
4449unsafe impl Sync for DataGraphPipelineConstantARM {}
4450
4451#[repr(C)]
4453#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4454pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4455 pub s_type: StructureType,
4456 pub next: *const c_void,
4457 pub dimension: u32,
4458 pub zero_count: u32,
4459 pub group_size: u32,
4460}
4461
4462impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4463 #[inline]
4464 fn default() -> Self {
4465 Self {
4466 s_type:
4467 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
4468 next: ptr::null(),
4469 dimension: u32::default(),
4470 zero_count: u32::default(),
4471 group_size: u32::default(),
4472 }
4473 }
4474}
4475
4476unsafe impl Send for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4477unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4478
4479#[repr(C)]
4481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4482pub struct DataGraphPipelineCreateInfoARM {
4483 pub s_type: StructureType,
4484 pub next: *const c_void,
4485 pub flags: PipelineCreateFlags2KHR,
4486 pub layout: PipelineLayout,
4487 pub resource_info_count: u32,
4488 pub resource_infos: *const DataGraphPipelineResourceInfoARM,
4489}
4490
4491impl Default for DataGraphPipelineCreateInfoARM {
4492 #[inline]
4493 fn default() -> Self {
4494 Self {
4495 s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
4496 next: ptr::null(),
4497 flags: PipelineCreateFlags2KHR::default(),
4498 layout: PipelineLayout::default(),
4499 resource_info_count: u32::default(),
4500 resource_infos: ptr::null(),
4501 }
4502 }
4503}
4504
4505unsafe impl Send for DataGraphPipelineCreateInfoARM {}
4506unsafe impl Sync for DataGraphPipelineCreateInfoARM {}
4507
4508#[repr(C)]
4510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4511pub struct DataGraphPipelineDispatchInfoARM {
4512 pub s_type: StructureType,
4513 pub next: *mut c_void,
4514 pub flags: DataGraphPipelineDispatchFlagsARM,
4515}
4516
4517impl Default for DataGraphPipelineDispatchInfoARM {
4518 #[inline]
4519 fn default() -> Self {
4520 Self {
4521 s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
4522 next: ptr::null_mut(),
4523 flags: DataGraphPipelineDispatchFlagsARM::default(),
4524 }
4525 }
4526}
4527
4528unsafe impl Send for DataGraphPipelineDispatchInfoARM {}
4529unsafe impl Sync for DataGraphPipelineDispatchInfoARM {}
4530
4531#[repr(C)]
4533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4534pub struct DataGraphPipelineIdentifierCreateInfoARM {
4535 pub s_type: StructureType,
4536 pub next: *const c_void,
4537 pub identifier_size: u32,
4538 pub identifier: *const u8,
4539}
4540
4541impl Default for DataGraphPipelineIdentifierCreateInfoARM {
4542 #[inline]
4543 fn default() -> Self {
4544 Self {
4545 s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
4546 next: ptr::null(),
4547 identifier_size: u32::default(),
4548 identifier: ptr::null(),
4549 }
4550 }
4551}
4552
4553unsafe impl Send for DataGraphPipelineIdentifierCreateInfoARM {}
4554unsafe impl Sync for DataGraphPipelineIdentifierCreateInfoARM {}
4555
4556#[repr(C)]
4558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4559pub struct DataGraphPipelineInfoARM {
4560 pub s_type: StructureType,
4561 pub next: *const c_void,
4562 pub data_graph_pipeline: Pipeline,
4563}
4564
4565impl Default for DataGraphPipelineInfoARM {
4566 #[inline]
4567 fn default() -> Self {
4568 Self {
4569 s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
4570 next: ptr::null(),
4571 data_graph_pipeline: Pipeline::default(),
4572 }
4573 }
4574}
4575
4576unsafe impl Send for DataGraphPipelineInfoARM {}
4577unsafe impl Sync for DataGraphPipelineInfoARM {}
4578
4579#[repr(C)]
4581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4582pub struct DataGraphPipelinePropertyQueryResultARM {
4583 pub s_type: StructureType,
4584 pub next: *mut c_void,
4585 pub property: DataGraphPipelinePropertyARM,
4586 pub is_text: Bool32,
4587 pub data_size: usize,
4588 pub data: *mut c_void,
4589}
4590
4591impl Default for DataGraphPipelinePropertyQueryResultARM {
4592 #[inline]
4593 fn default() -> Self {
4594 Self {
4595 s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
4596 next: ptr::null_mut(),
4597 property: DataGraphPipelinePropertyARM::default(),
4598 is_text: Bool32::default(),
4599 data_size: usize::default(),
4600 data: ptr::null_mut(),
4601 }
4602 }
4603}
4604
4605unsafe impl Send for DataGraphPipelinePropertyQueryResultARM {}
4606unsafe impl Sync for DataGraphPipelinePropertyQueryResultARM {}
4607
4608#[repr(C)]
4610#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4611pub struct DataGraphPipelineResourceInfoARM {
4612 pub s_type: StructureType,
4613 pub next: *const c_void,
4614 pub descriptor_set: u32,
4615 pub binding: u32,
4616 pub array_element: u32,
4617}
4618
4619impl Default for DataGraphPipelineResourceInfoARM {
4620 #[inline]
4621 fn default() -> Self {
4622 Self {
4623 s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
4624 next: ptr::null(),
4625 descriptor_set: u32::default(),
4626 binding: u32::default(),
4627 array_element: u32::default(),
4628 }
4629 }
4630}
4631
4632unsafe impl Send for DataGraphPipelineResourceInfoARM {}
4633unsafe impl Sync for DataGraphPipelineResourceInfoARM {}
4634
4635#[repr(C)]
4637#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4638pub struct DataGraphPipelineSessionBindPointRequirementARM {
4639 pub s_type: StructureType,
4640 pub next: *mut c_void,
4641 pub bind_point: DataGraphPipelineSessionBindPointARM,
4642 pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
4643 pub num_objects: u32,
4644}
4645
4646impl Default for DataGraphPipelineSessionBindPointRequirementARM {
4647 #[inline]
4648 fn default() -> Self {
4649 Self {
4650 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
4651 next: ptr::null_mut(),
4652 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4653 bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
4654 num_objects: u32::default(),
4655 }
4656 }
4657}
4658
4659unsafe impl Send for DataGraphPipelineSessionBindPointRequirementARM {}
4660unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementARM {}
4661
4662#[repr(C)]
4664#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4665pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
4666 pub s_type: StructureType,
4667 pub next: *const c_void,
4668 pub session: DataGraphPipelineSessionARM,
4669}
4670
4671impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
4672 #[inline]
4673 fn default() -> Self {
4674 Self {
4675 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
4676 next: ptr::null(),
4677 session: DataGraphPipelineSessionARM::default(),
4678 }
4679 }
4680}
4681
4682unsafe impl Send for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4683unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4684
4685#[repr(C)]
4687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4688pub struct DataGraphPipelineSessionCreateInfoARM {
4689 pub s_type: StructureType,
4690 pub next: *const c_void,
4691 pub flags: DataGraphPipelineSessionCreateFlagsARM,
4692 pub data_graph_pipeline: Pipeline,
4693}
4694
4695impl Default for DataGraphPipelineSessionCreateInfoARM {
4696 #[inline]
4697 fn default() -> Self {
4698 Self {
4699 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
4700 next: ptr::null(),
4701 flags: DataGraphPipelineSessionCreateFlagsARM::default(),
4702 data_graph_pipeline: Pipeline::default(),
4703 }
4704 }
4705}
4706
4707unsafe impl Send for DataGraphPipelineSessionCreateInfoARM {}
4708unsafe impl Sync for DataGraphPipelineSessionCreateInfoARM {}
4709
4710#[repr(C)]
4712#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4713pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
4714 pub s_type: StructureType,
4715 pub next: *const c_void,
4716 pub session: DataGraphPipelineSessionARM,
4717 pub bind_point: DataGraphPipelineSessionBindPointARM,
4718 pub object_index: u32,
4719}
4720
4721impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
4722 #[inline]
4723 fn default() -> Self {
4724 Self {
4725 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
4726 next: ptr::null(),
4727 session: DataGraphPipelineSessionARM::default(),
4728 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4729 object_index: u32::default(),
4730 }
4731 }
4732}
4733
4734unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4735unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4736
4737#[repr(C)]
4739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4740pub struct DataGraphPipelineShaderModuleCreateInfoARM {
4741 pub s_type: StructureType,
4742 pub next: *const c_void,
4743 pub module: ShaderModule,
4744 pub name: *const c_char,
4745 pub specialization_info: *const SpecializationInfo,
4746 pub constant_count: u32,
4747 pub constants: *const DataGraphPipelineConstantARM,
4748}
4749
4750impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
4751 #[inline]
4752 fn default() -> Self {
4753 Self {
4754 s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
4755 next: ptr::null(),
4756 module: ShaderModule::default(),
4757 name: ptr::null(),
4758 specialization_info: ptr::null(),
4759 constant_count: u32::default(),
4760 constants: ptr::null(),
4761 }
4762 }
4763}
4764
4765unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {}
4766unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {}
4767
4768#[repr(C)]
4770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4771pub struct DataGraphProcessingEngineCreateInfoARM {
4772 pub s_type: StructureType,
4773 pub next: *const c_void,
4774 pub processing_engine_count: u32,
4775 pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
4776}
4777
4778impl Default for DataGraphProcessingEngineCreateInfoARM {
4779 #[inline]
4780 fn default() -> Self {
4781 Self {
4782 s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
4783 next: ptr::null(),
4784 processing_engine_count: u32::default(),
4785 processing_engines: ptr::null_mut(),
4786 }
4787 }
4788}
4789
4790unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {}
4791unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {}
4792
4793#[repr(C)]
4795#[derive(Copy, Clone, Debug, PartialEq)]
4796pub struct DebugMarkerMarkerInfoEXT {
4797 pub s_type: StructureType,
4798 pub next: *const c_void,
4799 pub marker_name: *const c_char,
4800 pub color: [f32; 4],
4801}
4802
4803impl Default for DebugMarkerMarkerInfoEXT {
4804 #[inline]
4805 fn default() -> Self {
4806 Self {
4807 s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
4808 next: ptr::null(),
4809 marker_name: ptr::null(),
4810 color: [f32::default(); 4],
4811 }
4812 }
4813}
4814
4815unsafe impl Send for DebugMarkerMarkerInfoEXT {}
4816unsafe impl Sync for DebugMarkerMarkerInfoEXT {}
4817
4818#[repr(C)]
4820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4821pub struct DebugMarkerObjectNameInfoEXT {
4822 pub s_type: StructureType,
4823 pub next: *const c_void,
4824 pub object_type: DebugReportObjectTypeEXT,
4825 pub object: u64,
4826 pub object_name: *const c_char,
4827}
4828
4829impl Default for DebugMarkerObjectNameInfoEXT {
4830 #[inline]
4831 fn default() -> Self {
4832 Self {
4833 s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
4834 next: ptr::null(),
4835 object_type: DebugReportObjectTypeEXT::default(),
4836 object: u64::default(),
4837 object_name: ptr::null(),
4838 }
4839 }
4840}
4841
4842unsafe impl Send for DebugMarkerObjectNameInfoEXT {}
4843unsafe impl Sync for DebugMarkerObjectNameInfoEXT {}
4844
4845#[repr(C)]
4847#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4848pub struct DebugMarkerObjectTagInfoEXT {
4849 pub s_type: StructureType,
4850 pub next: *const c_void,
4851 pub object_type: DebugReportObjectTypeEXT,
4852 pub object: u64,
4853 pub tag_name: u64,
4854 pub tag_size: usize,
4855 pub tag: *const c_void,
4856}
4857
4858impl Default for DebugMarkerObjectTagInfoEXT {
4859 #[inline]
4860 fn default() -> Self {
4861 Self {
4862 s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
4863 next: ptr::null(),
4864 object_type: DebugReportObjectTypeEXT::default(),
4865 object: u64::default(),
4866 tag_name: u64::default(),
4867 tag_size: usize::default(),
4868 tag: ptr::null(),
4869 }
4870 }
4871}
4872
4873unsafe impl Send for DebugMarkerObjectTagInfoEXT {}
4874unsafe impl Sync for DebugMarkerObjectTagInfoEXT {}
4875
4876#[repr(C)]
4878#[derive(Copy, Clone)]
4879pub struct DebugReportCallbackCreateInfoEXT {
4880 pub s_type: StructureType,
4881 pub next: *const c_void,
4882 pub flags: DebugReportFlagsEXT,
4883 pub callback: PFN_vkDebugReportCallbackEXT,
4884 pub user_data: *mut c_void,
4885}
4886
4887impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
4888 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4889 f.debug_struct("DebugReportCallbackCreateInfoEXT")
4890 .field("s_type", &self.s_type)
4891 .field("next", &self.next)
4892 .field("flags", &self.flags)
4893 .field("callback", &(self.callback.map(|f| f as *const u8)))
4894 .field("user_data", &self.user_data)
4895 .finish()
4896 }
4897}
4898
4899impl Default for DebugReportCallbackCreateInfoEXT {
4900 #[inline]
4901 fn default() -> Self {
4902 Self {
4903 s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
4904 next: ptr::null(),
4905 flags: DebugReportFlagsEXT::default(),
4906 callback: PFN_vkDebugReportCallbackEXT::default(),
4907 user_data: ptr::null_mut(),
4908 }
4909 }
4910}
4911
4912unsafe impl Send for DebugReportCallbackCreateInfoEXT {}
4913unsafe impl Sync for DebugReportCallbackCreateInfoEXT {}
4914
4915#[repr(C)]
4917#[derive(Copy, Clone, Debug, PartialEq)]
4918pub struct DebugUtilsLabelEXT {
4919 pub s_type: StructureType,
4920 pub next: *const c_void,
4921 pub label_name: *const c_char,
4922 pub color: [f32; 4],
4923}
4924
4925impl Default for DebugUtilsLabelEXT {
4926 #[inline]
4927 fn default() -> Self {
4928 Self {
4929 s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
4930 next: ptr::null(),
4931 label_name: ptr::null(),
4932 color: [f32::default(); 4],
4933 }
4934 }
4935}
4936
4937unsafe impl Send for DebugUtilsLabelEXT {}
4938unsafe impl Sync for DebugUtilsLabelEXT {}
4939
4940#[repr(C)]
4942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4943pub struct DebugUtilsMessengerCallbackDataEXT {
4944 pub s_type: StructureType,
4945 pub next: *const c_void,
4946 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
4947 pub message_id_name: *const c_char,
4948 pub message_id_number: i32,
4949 pub message: *const c_char,
4950 pub queue_label_count: u32,
4951 pub queue_labels: *const DebugUtilsLabelEXT,
4952 pub cmd_buf_label_count: u32,
4953 pub cmd_buf_labels: *const DebugUtilsLabelEXT,
4954 pub object_count: u32,
4955 pub objects: *const DebugUtilsObjectNameInfoEXT,
4956}
4957
4958impl Default for DebugUtilsMessengerCallbackDataEXT {
4959 #[inline]
4960 fn default() -> Self {
4961 Self {
4962 s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
4963 next: ptr::null(),
4964 flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
4965 message_id_name: ptr::null(),
4966 message_id_number: i32::default(),
4967 message: ptr::null(),
4968 queue_label_count: u32::default(),
4969 queue_labels: ptr::null(),
4970 cmd_buf_label_count: u32::default(),
4971 cmd_buf_labels: ptr::null(),
4972 object_count: u32::default(),
4973 objects: ptr::null(),
4974 }
4975 }
4976}
4977
4978unsafe impl Send for DebugUtilsMessengerCallbackDataEXT {}
4979unsafe impl Sync for DebugUtilsMessengerCallbackDataEXT {}
4980
4981#[repr(C)]
4983#[derive(Copy, Clone)]
4984pub struct DebugUtilsMessengerCreateInfoEXT {
4985 pub s_type: StructureType,
4986 pub next: *const c_void,
4987 pub flags: DebugUtilsMessengerCreateFlagsEXT,
4988 pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
4989 pub message_type: DebugUtilsMessageTypeFlagsEXT,
4990 pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
4991 pub user_data: *mut c_void,
4992}
4993
4994impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
4995 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4996 f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
4997 .field("s_type", &self.s_type)
4998 .field("next", &self.next)
4999 .field("flags", &self.flags)
5000 .field("message_severity", &self.message_severity)
5001 .field("message_type", &self.message_type)
5002 .field(
5003 "user_callback",
5004 &(self.user_callback.map(|f| f as *const u8)),
5005 )
5006 .field("user_data", &self.user_data)
5007 .finish()
5008 }
5009}
5010
5011impl Default for DebugUtilsMessengerCreateInfoEXT {
5012 #[inline]
5013 fn default() -> Self {
5014 Self {
5015 s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
5016 next: ptr::null(),
5017 flags: DebugUtilsMessengerCreateFlagsEXT::default(),
5018 message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
5019 message_type: DebugUtilsMessageTypeFlagsEXT::default(),
5020 user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
5021 user_data: ptr::null_mut(),
5022 }
5023 }
5024}
5025
5026unsafe impl Send for DebugUtilsMessengerCreateInfoEXT {}
5027unsafe impl Sync for DebugUtilsMessengerCreateInfoEXT {}
5028
5029#[repr(C)]
5031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5032pub struct DebugUtilsObjectNameInfoEXT {
5033 pub s_type: StructureType,
5034 pub next: *const c_void,
5035 pub object_type: ObjectType,
5036 pub object_handle: u64,
5037 pub object_name: *const c_char,
5038}
5039
5040impl Default for DebugUtilsObjectNameInfoEXT {
5041 #[inline]
5042 fn default() -> Self {
5043 Self {
5044 s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
5045 next: ptr::null(),
5046 object_type: ObjectType::default(),
5047 object_handle: u64::default(),
5048 object_name: ptr::null(),
5049 }
5050 }
5051}
5052
5053unsafe impl Send for DebugUtilsObjectNameInfoEXT {}
5054unsafe impl Sync for DebugUtilsObjectNameInfoEXT {}
5055
5056#[repr(C)]
5058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5059pub struct DebugUtilsObjectTagInfoEXT {
5060 pub s_type: StructureType,
5061 pub next: *const c_void,
5062 pub object_type: ObjectType,
5063 pub object_handle: u64,
5064 pub tag_name: u64,
5065 pub tag_size: usize,
5066 pub tag: *const c_void,
5067}
5068
5069impl Default for DebugUtilsObjectTagInfoEXT {
5070 #[inline]
5071 fn default() -> Self {
5072 Self {
5073 s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
5074 next: ptr::null(),
5075 object_type: ObjectType::default(),
5076 object_handle: u64::default(),
5077 tag_name: u64::default(),
5078 tag_size: usize::default(),
5079 tag: ptr::null(),
5080 }
5081 }
5082}
5083
5084unsafe impl Send for DebugUtilsObjectTagInfoEXT {}
5085unsafe impl Sync for DebugUtilsObjectTagInfoEXT {}
5086
5087#[repr(C)]
5089#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5090pub struct DecompressMemoryInfoEXT {
5091 pub s_type: StructureType,
5092 pub next: *const c_void,
5093 pub decompression_method: MemoryDecompressionMethodFlagsEXT,
5094 pub region_count: u32,
5095 pub regions: *const DecompressMemoryRegionEXT,
5096}
5097
5098impl Default for DecompressMemoryInfoEXT {
5099 #[inline]
5100 fn default() -> Self {
5101 Self {
5102 s_type: StructureType::DECOMPRESS_MEMORY_INFO_EXT,
5103 next: ptr::null(),
5104 decompression_method: MemoryDecompressionMethodFlagsEXT::default(),
5105 region_count: u32::default(),
5106 regions: ptr::null(),
5107 }
5108 }
5109}
5110
5111unsafe impl Send for DecompressMemoryInfoEXT {}
5112unsafe impl Sync for DecompressMemoryInfoEXT {}
5113
5114#[repr(C)]
5116#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5117pub struct DecompressMemoryRegionEXT {
5118 pub src_address: DeviceAddress,
5119 pub dst_address: DeviceAddress,
5120 pub compressed_size: DeviceSize,
5121 pub decompressed_size: DeviceSize,
5122}
5123
5124#[repr(C)]
5126#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5127pub struct DecompressMemoryRegionNV {
5128 pub src_address: DeviceAddress,
5129 pub dst_address: DeviceAddress,
5130 pub compressed_size: DeviceSize,
5131 pub decompressed_size: DeviceSize,
5132 pub decompression_method: MemoryDecompressionMethodFlagsNV,
5133}
5134
5135#[repr(C)]
5137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5138pub struct DedicatedAllocationBufferCreateInfoNV {
5139 pub s_type: StructureType,
5140 pub next: *const c_void,
5141 pub dedicated_allocation: Bool32,
5142}
5143
5144impl Default for DedicatedAllocationBufferCreateInfoNV {
5145 #[inline]
5146 fn default() -> Self {
5147 Self {
5148 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
5149 next: ptr::null(),
5150 dedicated_allocation: Bool32::default(),
5151 }
5152 }
5153}
5154
5155unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
5156unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
5157
5158#[repr(C)]
5160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5161pub struct DedicatedAllocationImageCreateInfoNV {
5162 pub s_type: StructureType,
5163 pub next: *const c_void,
5164 pub dedicated_allocation: Bool32,
5165}
5166
5167impl Default for DedicatedAllocationImageCreateInfoNV {
5168 #[inline]
5169 fn default() -> Self {
5170 Self {
5171 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
5172 next: ptr::null(),
5173 dedicated_allocation: Bool32::default(),
5174 }
5175 }
5176}
5177
5178unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
5179unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
5180
5181#[repr(C)]
5183#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5184pub struct DedicatedAllocationMemoryAllocateInfoNV {
5185 pub s_type: StructureType,
5186 pub next: *const c_void,
5187 pub image: Image,
5188 pub buffer: Buffer,
5189}
5190
5191impl Default for DedicatedAllocationMemoryAllocateInfoNV {
5192 #[inline]
5193 fn default() -> Self {
5194 Self {
5195 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
5196 next: ptr::null(),
5197 image: Image::default(),
5198 buffer: Buffer::default(),
5199 }
5200 }
5201}
5202
5203unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
5204unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
5205
5206#[repr(C)]
5208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5209pub struct DependencyInfo {
5210 pub s_type: StructureType,
5211 pub next: *const c_void,
5212 pub dependency_flags: DependencyFlags,
5213 pub memory_barrier_count: u32,
5214 pub memory_barriers: *const MemoryBarrier2,
5215 pub buffer_memory_barrier_count: u32,
5216 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
5217 pub image_memory_barrier_count: u32,
5218 pub image_memory_barriers: *const ImageMemoryBarrier2,
5219}
5220
5221impl Default for DependencyInfo {
5222 #[inline]
5223 fn default() -> Self {
5224 Self {
5225 s_type: StructureType::DEPENDENCY_INFO,
5226 next: ptr::null(),
5227 dependency_flags: DependencyFlags::default(),
5228 memory_barrier_count: u32::default(),
5229 memory_barriers: ptr::null(),
5230 buffer_memory_barrier_count: u32::default(),
5231 buffer_memory_barriers: ptr::null(),
5232 image_memory_barrier_count: u32::default(),
5233 image_memory_barriers: ptr::null(),
5234 }
5235 }
5236}
5237
5238unsafe impl Send for DependencyInfo {}
5239unsafe impl Sync for DependencyInfo {}
5240
5241#[repr(C)]
5243#[derive(Copy, Clone, Debug, PartialEq)]
5244pub struct DepthBiasInfoEXT {
5245 pub s_type: StructureType,
5246 pub next: *const c_void,
5247 pub depth_bias_constant_factor: f32,
5248 pub depth_bias_clamp: f32,
5249 pub depth_bias_slope_factor: f32,
5250}
5251
5252impl Default for DepthBiasInfoEXT {
5253 #[inline]
5254 fn default() -> Self {
5255 Self {
5256 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
5257 next: ptr::null(),
5258 depth_bias_constant_factor: f32::default(),
5259 depth_bias_clamp: f32::default(),
5260 depth_bias_slope_factor: f32::default(),
5261 }
5262 }
5263}
5264
5265unsafe impl Send for DepthBiasInfoEXT {}
5266unsafe impl Sync for DepthBiasInfoEXT {}
5267
5268#[repr(C)]
5270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5271pub struct DepthBiasRepresentationInfoEXT {
5272 pub s_type: StructureType,
5273 pub next: *const c_void,
5274 pub depth_bias_representation: DepthBiasRepresentationEXT,
5275 pub depth_bias_exact: Bool32,
5276}
5277
5278impl Default for DepthBiasRepresentationInfoEXT {
5279 #[inline]
5280 fn default() -> Self {
5281 Self {
5282 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
5283 next: ptr::null(),
5284 depth_bias_representation: DepthBiasRepresentationEXT::default(),
5285 depth_bias_exact: Bool32::default(),
5286 }
5287 }
5288}
5289
5290unsafe impl Send for DepthBiasRepresentationInfoEXT {}
5291unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
5292
5293#[repr(C)]
5295#[derive(Copy, Clone, Default, Debug, PartialEq)]
5296pub struct DepthClampRangeEXT {
5297 pub min_depth_clamp: f32,
5298 pub max_depth_clamp: f32,
5299}
5300
5301#[repr(C)]
5303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5304pub struct DescriptorAddressInfoEXT {
5305 pub s_type: StructureType,
5306 pub next: *mut c_void,
5307 pub address: DeviceAddress,
5308 pub range: DeviceSize,
5309 pub format: Format,
5310}
5311
5312impl Default for DescriptorAddressInfoEXT {
5313 #[inline]
5314 fn default() -> Self {
5315 Self {
5316 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
5317 next: ptr::null_mut(),
5318 address: DeviceAddress::default(),
5319 range: DeviceSize::default(),
5320 format: Format::default(),
5321 }
5322 }
5323}
5324
5325unsafe impl Send for DescriptorAddressInfoEXT {}
5326unsafe impl Sync for DescriptorAddressInfoEXT {}
5327
5328#[repr(C)]
5330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5331pub struct DescriptorBufferBindingInfoEXT {
5332 pub s_type: StructureType,
5333 pub next: *const c_void,
5334 pub address: DeviceAddress,
5335 pub usage: BufferUsageFlags,
5336}
5337
5338impl Default for DescriptorBufferBindingInfoEXT {
5339 #[inline]
5340 fn default() -> Self {
5341 Self {
5342 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
5343 next: ptr::null(),
5344 address: DeviceAddress::default(),
5345 usage: BufferUsageFlags::default(),
5346 }
5347 }
5348}
5349
5350unsafe impl Send for DescriptorBufferBindingInfoEXT {}
5351unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
5352
5353#[repr(C)]
5355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5356pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5357 pub s_type: StructureType,
5358 pub next: *const c_void,
5359 pub buffer: Buffer,
5360}
5361
5362impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5363 #[inline]
5364 fn default() -> Self {
5365 Self {
5366 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
5367 next: ptr::null(),
5368 buffer: Buffer::default(),
5369 }
5370 }
5371}
5372
5373unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5374unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5375
5376#[repr(C)]
5378#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5379pub struct DescriptorBufferInfo {
5380 pub buffer: Buffer,
5381 pub offset: DeviceSize,
5382 pub range: DeviceSize,
5383}
5384
5385#[repr(C)]
5387#[derive(Copy, Clone, Debug)]
5388pub struct DescriptorGetInfoEXT {
5389 pub s_type: StructureType,
5390 pub next: *const c_void,
5391 pub type_: DescriptorType,
5392 pub data: DescriptorDataEXT,
5393}
5394
5395impl Default for DescriptorGetInfoEXT {
5396 #[inline]
5397 fn default() -> Self {
5398 Self {
5399 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
5400 next: ptr::null(),
5401 type_: DescriptorType::default(),
5402 data: DescriptorDataEXT::default(),
5403 }
5404 }
5405}
5406
5407unsafe impl Send for DescriptorGetInfoEXT {}
5408unsafe impl Sync for DescriptorGetInfoEXT {}
5409
5410#[repr(C)]
5412#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5413pub struct DescriptorGetTensorInfoARM {
5414 pub s_type: StructureType,
5415 pub next: *const c_void,
5416 pub tensor_view: TensorViewARM,
5417}
5418
5419impl Default for DescriptorGetTensorInfoARM {
5420 #[inline]
5421 fn default() -> Self {
5422 Self {
5423 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
5424 next: ptr::null(),
5425 tensor_view: TensorViewARM::default(),
5426 }
5427 }
5428}
5429
5430unsafe impl Send for DescriptorGetTensorInfoARM {}
5431unsafe impl Sync for DescriptorGetTensorInfoARM {}
5432
5433#[repr(C)]
5435#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5436pub struct DescriptorImageInfo {
5437 pub sampler: Sampler,
5438 pub image_view: ImageView,
5439 pub image_layout: ImageLayout,
5440}
5441
5442#[repr(C)]
5444#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5445pub struct DescriptorMappingSourceConstantOffsetEXT {
5446 pub heap_offset: u32,
5447 pub heap_array_stride: u32,
5448 pub embedded_sampler: *const SamplerCreateInfo,
5449 pub sampler_heap_offset: u32,
5450 pub sampler_heap_array_stride: u32,
5451}
5452
5453impl Default for DescriptorMappingSourceConstantOffsetEXT {
5454 #[inline]
5455 fn default() -> Self {
5456 Self {
5457 heap_offset: u32::default(),
5458 heap_array_stride: u32::default(),
5459 embedded_sampler: ptr::null(),
5460 sampler_heap_offset: u32::default(),
5461 sampler_heap_array_stride: u32::default(),
5462 }
5463 }
5464}
5465
5466unsafe impl Send for DescriptorMappingSourceConstantOffsetEXT {}
5467unsafe impl Sync for DescriptorMappingSourceConstantOffsetEXT {}
5468
5469#[repr(C)]
5471#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5472pub struct DescriptorMappingSourceHeapDataEXT {
5473 pub heap_offset: u32,
5474 pub push_offset: u32,
5475}
5476
5477#[repr(C)]
5479#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5480pub struct DescriptorMappingSourceIndirectAddressEXT {
5481 pub push_offset: u32,
5482 pub address_offset: u32,
5483}
5484
5485#[repr(C)]
5487#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5488pub struct DescriptorMappingSourceIndirectIndexArrayEXT {
5489 pub heap_offset: u32,
5490 pub push_offset: u32,
5491 pub address_offset: u32,
5492 pub heap_index_stride: u32,
5493 pub embedded_sampler: *const SamplerCreateInfo,
5494 pub use_combined_image_sampler_index: Bool32,
5495 pub sampler_heap_offset: u32,
5496 pub sampler_push_offset: u32,
5497 pub sampler_address_offset: u32,
5498 pub sampler_heap_index_stride: u32,
5499}
5500
5501impl Default for DescriptorMappingSourceIndirectIndexArrayEXT {
5502 #[inline]
5503 fn default() -> Self {
5504 Self {
5505 heap_offset: u32::default(),
5506 push_offset: u32::default(),
5507 address_offset: u32::default(),
5508 heap_index_stride: u32::default(),
5509 embedded_sampler: ptr::null(),
5510 use_combined_image_sampler_index: Bool32::default(),
5511 sampler_heap_offset: u32::default(),
5512 sampler_push_offset: u32::default(),
5513 sampler_address_offset: u32::default(),
5514 sampler_heap_index_stride: u32::default(),
5515 }
5516 }
5517}
5518
5519unsafe impl Send for DescriptorMappingSourceIndirectIndexArrayEXT {}
5520unsafe impl Sync for DescriptorMappingSourceIndirectIndexArrayEXT {}
5521
5522#[repr(C)]
5524#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5525pub struct DescriptorMappingSourceIndirectIndexEXT {
5526 pub heap_offset: u32,
5527 pub push_offset: u32,
5528 pub address_offset: u32,
5529 pub heap_index_stride: u32,
5530 pub heap_array_stride: u32,
5531 pub embedded_sampler: *const SamplerCreateInfo,
5532 pub use_combined_image_sampler_index: Bool32,
5533 pub sampler_heap_offset: u32,
5534 pub sampler_push_offset: u32,
5535 pub sampler_address_offset: u32,
5536 pub sampler_heap_index_stride: u32,
5537 pub sampler_heap_array_stride: u32,
5538}
5539
5540impl Default for DescriptorMappingSourceIndirectIndexEXT {
5541 #[inline]
5542 fn default() -> Self {
5543 Self {
5544 heap_offset: u32::default(),
5545 push_offset: u32::default(),
5546 address_offset: u32::default(),
5547 heap_index_stride: u32::default(),
5548 heap_array_stride: u32::default(),
5549 embedded_sampler: ptr::null(),
5550 use_combined_image_sampler_index: Bool32::default(),
5551 sampler_heap_offset: u32::default(),
5552 sampler_push_offset: u32::default(),
5553 sampler_address_offset: u32::default(),
5554 sampler_heap_index_stride: u32::default(),
5555 sampler_heap_array_stride: u32::default(),
5556 }
5557 }
5558}
5559
5560unsafe impl Send for DescriptorMappingSourceIndirectIndexEXT {}
5561unsafe impl Sync for DescriptorMappingSourceIndirectIndexEXT {}
5562
5563#[repr(C)]
5565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5566pub struct DescriptorMappingSourcePushIndexEXT {
5567 pub heap_offset: u32,
5568 pub push_offset: u32,
5569 pub heap_index_stride: u32,
5570 pub heap_array_stride: u32,
5571 pub embedded_sampler: *const SamplerCreateInfo,
5572 pub use_combined_image_sampler_index: Bool32,
5573 pub sampler_heap_offset: u32,
5574 pub sampler_push_offset: u32,
5575 pub sampler_heap_index_stride: u32,
5576 pub sampler_heap_array_stride: u32,
5577}
5578
5579impl Default for DescriptorMappingSourcePushIndexEXT {
5580 #[inline]
5581 fn default() -> Self {
5582 Self {
5583 heap_offset: u32::default(),
5584 push_offset: u32::default(),
5585 heap_index_stride: u32::default(),
5586 heap_array_stride: u32::default(),
5587 embedded_sampler: ptr::null(),
5588 use_combined_image_sampler_index: Bool32::default(),
5589 sampler_heap_offset: u32::default(),
5590 sampler_push_offset: u32::default(),
5591 sampler_heap_index_stride: u32::default(),
5592 sampler_heap_array_stride: u32::default(),
5593 }
5594 }
5595}
5596
5597unsafe impl Send for DescriptorMappingSourcePushIndexEXT {}
5598unsafe impl Sync for DescriptorMappingSourcePushIndexEXT {}
5599
5600#[repr(C)]
5602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5603pub struct DescriptorMappingSourceShaderRecordIndexEXT {
5604 pub heap_offset: u32,
5605 pub shader_record_offset: u32,
5606 pub heap_index_stride: u32,
5607 pub heap_array_stride: u32,
5608 pub embedded_sampler: *const SamplerCreateInfo,
5609 pub use_combined_image_sampler_index: Bool32,
5610 pub sampler_heap_offset: u32,
5611 pub sampler_shader_record_offset: u32,
5612 pub sampler_heap_index_stride: u32,
5613 pub sampler_heap_array_stride: u32,
5614}
5615
5616impl Default for DescriptorMappingSourceShaderRecordIndexEXT {
5617 #[inline]
5618 fn default() -> Self {
5619 Self {
5620 heap_offset: u32::default(),
5621 shader_record_offset: u32::default(),
5622 heap_index_stride: u32::default(),
5623 heap_array_stride: u32::default(),
5624 embedded_sampler: ptr::null(),
5625 use_combined_image_sampler_index: Bool32::default(),
5626 sampler_heap_offset: u32::default(),
5627 sampler_shader_record_offset: u32::default(),
5628 sampler_heap_index_stride: u32::default(),
5629 sampler_heap_array_stride: u32::default(),
5630 }
5631 }
5632}
5633
5634unsafe impl Send for DescriptorMappingSourceShaderRecordIndexEXT {}
5635unsafe impl Sync for DescriptorMappingSourceShaderRecordIndexEXT {}
5636
5637#[repr(C)]
5639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5640pub struct DescriptorPoolCreateInfo {
5641 pub s_type: StructureType,
5642 pub next: *const c_void,
5643 pub flags: DescriptorPoolCreateFlags,
5644 pub max_sets: u32,
5645 pub pool_size_count: u32,
5646 pub pool_sizes: *const DescriptorPoolSize,
5647}
5648
5649impl Default for DescriptorPoolCreateInfo {
5650 #[inline]
5651 fn default() -> Self {
5652 Self {
5653 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
5654 next: ptr::null(),
5655 flags: DescriptorPoolCreateFlags::default(),
5656 max_sets: u32::default(),
5657 pool_size_count: u32::default(),
5658 pool_sizes: ptr::null(),
5659 }
5660 }
5661}
5662
5663unsafe impl Send for DescriptorPoolCreateInfo {}
5664unsafe impl Sync for DescriptorPoolCreateInfo {}
5665
5666#[repr(C)]
5668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5669pub struct DescriptorPoolInlineUniformBlockCreateInfo {
5670 pub s_type: StructureType,
5671 pub next: *const c_void,
5672 pub max_inline_uniform_block_bindings: u32,
5673}
5674
5675impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
5676 #[inline]
5677 fn default() -> Self {
5678 Self {
5679 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
5680 next: ptr::null(),
5681 max_inline_uniform_block_bindings: u32::default(),
5682 }
5683 }
5684}
5685
5686unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
5687unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
5688
5689#[repr(C)]
5691#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5692pub struct DescriptorPoolSize {
5693 pub type_: DescriptorType,
5694 pub descriptor_count: u32,
5695}
5696
5697#[repr(C)]
5699#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5700pub struct DescriptorSetAllocateInfo {
5701 pub s_type: StructureType,
5702 pub next: *const c_void,
5703 pub descriptor_pool: DescriptorPool,
5704 pub descriptor_set_count: u32,
5705 pub set_layouts: *const DescriptorSetLayout,
5706}
5707
5708impl Default for DescriptorSetAllocateInfo {
5709 #[inline]
5710 fn default() -> Self {
5711 Self {
5712 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
5713 next: ptr::null(),
5714 descriptor_pool: DescriptorPool::default(),
5715 descriptor_set_count: u32::default(),
5716 set_layouts: ptr::null(),
5717 }
5718 }
5719}
5720
5721unsafe impl Send for DescriptorSetAllocateInfo {}
5722unsafe impl Sync for DescriptorSetAllocateInfo {}
5723
5724#[repr(C)]
5726#[derive(Copy, Clone, Debug)]
5727pub struct DescriptorSetAndBindingMappingEXT {
5728 pub s_type: StructureType,
5729 pub next: *const c_void,
5730 pub descriptor_set: u32,
5731 pub first_binding: u32,
5732 pub binding_count: u32,
5733 pub resource_mask: SpirvResourceTypeFlagsEXT,
5734 pub source: DescriptorMappingSourceEXT,
5735 pub source_data: DescriptorMappingSourceDataEXT,
5736}
5737
5738impl Default for DescriptorSetAndBindingMappingEXT {
5739 #[inline]
5740 fn default() -> Self {
5741 Self {
5742 s_type: StructureType::DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT,
5743 next: ptr::null(),
5744 descriptor_set: u32::default(),
5745 first_binding: u32::default(),
5746 binding_count: u32::default(),
5747 resource_mask: SpirvResourceTypeFlagsEXT::default(),
5748 source: DescriptorMappingSourceEXT::default(),
5749 source_data: DescriptorMappingSourceDataEXT::default(),
5750 }
5751 }
5752}
5753
5754unsafe impl Send for DescriptorSetAndBindingMappingEXT {}
5755unsafe impl Sync for DescriptorSetAndBindingMappingEXT {}
5756
5757#[repr(C)]
5759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5760pub struct DescriptorSetBindingReferenceVALVE {
5761 pub s_type: StructureType,
5762 pub next: *const c_void,
5763 pub descriptor_set_layout: DescriptorSetLayout,
5764 pub binding: u32,
5765}
5766
5767impl Default for DescriptorSetBindingReferenceVALVE {
5768 #[inline]
5769 fn default() -> Self {
5770 Self {
5771 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
5772 next: ptr::null(),
5773 descriptor_set_layout: DescriptorSetLayout::default(),
5774 binding: u32::default(),
5775 }
5776 }
5777}
5778
5779unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
5780unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
5781
5782#[repr(C)]
5784#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5785pub struct DescriptorSetLayoutBinding {
5786 pub binding: u32,
5787 pub descriptor_type: DescriptorType,
5788 pub descriptor_count: u32,
5789 pub stage_flags: ShaderStageFlags,
5790 pub immutable_samplers: *const Sampler,
5791}
5792
5793impl Default for DescriptorSetLayoutBinding {
5794 #[inline]
5795 fn default() -> Self {
5796 Self {
5797 binding: u32::default(),
5798 descriptor_type: DescriptorType::default(),
5799 descriptor_count: u32::default(),
5800 stage_flags: ShaderStageFlags::default(),
5801 immutable_samplers: ptr::null(),
5802 }
5803 }
5804}
5805
5806unsafe impl Send for DescriptorSetLayoutBinding {}
5807unsafe impl Sync for DescriptorSetLayoutBinding {}
5808
5809#[repr(C)]
5811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5812pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
5813 pub s_type: StructureType,
5814 pub next: *const c_void,
5815 pub binding_count: u32,
5816 pub binding_flags: *const DescriptorBindingFlags,
5817}
5818
5819impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
5820 #[inline]
5821 fn default() -> Self {
5822 Self {
5823 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
5824 next: ptr::null(),
5825 binding_count: u32::default(),
5826 binding_flags: ptr::null(),
5827 }
5828 }
5829}
5830
5831unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
5832unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
5833
5834#[repr(C)]
5836#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5837pub struct DescriptorSetLayoutCreateInfo {
5838 pub s_type: StructureType,
5839 pub next: *const c_void,
5840 pub flags: DescriptorSetLayoutCreateFlags,
5841 pub binding_count: u32,
5842 pub bindings: *const DescriptorSetLayoutBinding,
5843}
5844
5845impl Default for DescriptorSetLayoutCreateInfo {
5846 #[inline]
5847 fn default() -> Self {
5848 Self {
5849 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
5850 next: ptr::null(),
5851 flags: DescriptorSetLayoutCreateFlags::default(),
5852 binding_count: u32::default(),
5853 bindings: ptr::null(),
5854 }
5855 }
5856}
5857
5858unsafe impl Send for DescriptorSetLayoutCreateInfo {}
5859unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
5860
5861#[repr(C)]
5863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5864pub struct DescriptorSetLayoutHostMappingInfoVALVE {
5865 pub s_type: StructureType,
5866 pub next: *mut c_void,
5867 pub descriptor_offset: usize,
5868 pub descriptor_size: u32,
5869}
5870
5871impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
5872 #[inline]
5873 fn default() -> Self {
5874 Self {
5875 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
5876 next: ptr::null_mut(),
5877 descriptor_offset: usize::default(),
5878 descriptor_size: u32::default(),
5879 }
5880 }
5881}
5882
5883unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
5884unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
5885
5886#[repr(C)]
5888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5889pub struct DescriptorSetLayoutSupport {
5890 pub s_type: StructureType,
5891 pub next: *mut c_void,
5892 pub supported: Bool32,
5893}
5894
5895impl Default for DescriptorSetLayoutSupport {
5896 #[inline]
5897 fn default() -> Self {
5898 Self {
5899 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
5900 next: ptr::null_mut(),
5901 supported: Bool32::default(),
5902 }
5903 }
5904}
5905
5906unsafe impl Send for DescriptorSetLayoutSupport {}
5907unsafe impl Sync for DescriptorSetLayoutSupport {}
5908
5909#[repr(C)]
5911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5912pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
5913 pub s_type: StructureType,
5914 pub next: *const c_void,
5915 pub descriptor_set_count: u32,
5916 pub descriptor_counts: *const u32,
5917}
5918
5919impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
5920 #[inline]
5921 fn default() -> Self {
5922 Self {
5923 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
5924 next: ptr::null(),
5925 descriptor_set_count: u32::default(),
5926 descriptor_counts: ptr::null(),
5927 }
5928 }
5929}
5930
5931unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
5932unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
5933
5934#[repr(C)]
5936#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5937pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
5938 pub s_type: StructureType,
5939 pub next: *mut c_void,
5940 pub max_variable_descriptor_count: u32,
5941}
5942
5943impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
5944 #[inline]
5945 fn default() -> Self {
5946 Self {
5947 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
5948 next: ptr::null_mut(),
5949 max_variable_descriptor_count: u32::default(),
5950 }
5951 }
5952}
5953
5954unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
5955unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
5956
5957#[repr(C)]
5959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5960pub struct DescriptorUpdateTemplateCreateInfo {
5961 pub s_type: StructureType,
5962 pub next: *const c_void,
5963 pub flags: DescriptorUpdateTemplateCreateFlags,
5964 pub descriptor_update_entry_count: u32,
5965 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
5966 pub template_type: DescriptorUpdateTemplateType,
5967 pub descriptor_set_layout: DescriptorSetLayout,
5968 pub pipeline_bind_point: PipelineBindPoint,
5969 pub pipeline_layout: PipelineLayout,
5970 pub set: u32,
5971}
5972
5973impl Default for DescriptorUpdateTemplateCreateInfo {
5974 #[inline]
5975 fn default() -> Self {
5976 Self {
5977 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
5978 next: ptr::null(),
5979 flags: DescriptorUpdateTemplateCreateFlags::default(),
5980 descriptor_update_entry_count: u32::default(),
5981 descriptor_update_entries: ptr::null(),
5982 template_type: DescriptorUpdateTemplateType::default(),
5983 descriptor_set_layout: DescriptorSetLayout::default(),
5984 pipeline_bind_point: PipelineBindPoint::default(),
5985 pipeline_layout: PipelineLayout::default(),
5986 set: u32::default(),
5987 }
5988 }
5989}
5990
5991unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
5992unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
5993
5994#[repr(C)]
5996#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5997pub struct DescriptorUpdateTemplateEntry {
5998 pub dst_binding: u32,
5999 pub dst_array_element: u32,
6000 pub descriptor_count: u32,
6001 pub descriptor_type: DescriptorType,
6002 pub offset: usize,
6003 pub stride: usize,
6004}
6005
6006#[repr(C)]
6008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6009pub struct DeviceAddressBindingCallbackDataEXT {
6010 pub s_type: StructureType,
6011 pub next: *mut c_void,
6012 pub flags: DeviceAddressBindingFlagsEXT,
6013 pub base_address: DeviceAddress,
6014 pub size: DeviceSize,
6015 pub binding_type: DeviceAddressBindingTypeEXT,
6016}
6017
6018impl Default for DeviceAddressBindingCallbackDataEXT {
6019 #[inline]
6020 fn default() -> Self {
6021 Self {
6022 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
6023 next: ptr::null_mut(),
6024 flags: DeviceAddressBindingFlagsEXT::default(),
6025 base_address: DeviceAddress::default(),
6026 size: DeviceSize::default(),
6027 binding_type: DeviceAddressBindingTypeEXT::default(),
6028 }
6029 }
6030}
6031
6032unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
6033unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
6034
6035#[repr(C)]
6037#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6038pub struct DeviceAddressRangeEXT {
6039 pub address: DeviceAddress,
6040 pub size: DeviceSize,
6041}
6042
6043#[repr(C)]
6045#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6046pub struct DeviceBufferMemoryRequirements {
6047 pub s_type: StructureType,
6048 pub next: *const c_void,
6049 pub create_info: *const BufferCreateInfo,
6050}
6051
6052impl Default for DeviceBufferMemoryRequirements {
6053 #[inline]
6054 fn default() -> Self {
6055 Self {
6056 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
6057 next: ptr::null(),
6058 create_info: ptr::null(),
6059 }
6060 }
6061}
6062
6063unsafe impl Send for DeviceBufferMemoryRequirements {}
6064unsafe impl Sync for DeviceBufferMemoryRequirements {}
6065
6066#[repr(C)]
6068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6069pub struct DeviceCreateInfo {
6070 pub s_type: StructureType,
6071 pub next: *const c_void,
6072 pub flags: DeviceCreateFlags,
6073 pub queue_create_info_count: u32,
6074 pub queue_create_infos: *const DeviceQueueCreateInfo,
6075 pub enabled_layer_count: u32,
6076 pub enabled_layer_names: *const *const c_char,
6077 pub enabled_extension_count: u32,
6078 pub enabled_extension_names: *const *const c_char,
6079 pub enabled_features: *const PhysicalDeviceFeatures,
6080}
6081
6082impl Default for DeviceCreateInfo {
6083 #[inline]
6084 fn default() -> Self {
6085 Self {
6086 s_type: StructureType::DEVICE_CREATE_INFO,
6087 next: ptr::null(),
6088 flags: DeviceCreateFlags::default(),
6089 queue_create_info_count: u32::default(),
6090 queue_create_infos: ptr::null(),
6091 enabled_layer_count: u32::default(),
6092 enabled_layer_names: ptr::null(),
6093 enabled_extension_count: u32::default(),
6094 enabled_extension_names: ptr::null(),
6095 enabled_features: ptr::null(),
6096 }
6097 }
6098}
6099
6100unsafe impl Send for DeviceCreateInfo {}
6101unsafe impl Sync for DeviceCreateInfo {}
6102
6103#[repr(C)]
6105#[derive(Copy, Clone)]
6106pub struct DeviceDeviceMemoryReportCreateInfoEXT {
6107 pub s_type: StructureType,
6108 pub next: *const c_void,
6109 pub flags: DeviceMemoryReportFlagsEXT,
6110 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
6111 pub user_data: *mut c_void,
6112}
6113
6114impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
6115 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6116 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
6117 .field("s_type", &self.s_type)
6118 .field("next", &self.next)
6119 .field("flags", &self.flags)
6120 .field(
6121 "user_callback",
6122 &(self.user_callback.map(|f| f as *const u8)),
6123 )
6124 .field("user_data", &self.user_data)
6125 .finish()
6126 }
6127}
6128
6129impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
6130 #[inline]
6131 fn default() -> Self {
6132 Self {
6133 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
6134 next: ptr::null(),
6135 flags: DeviceMemoryReportFlagsEXT::default(),
6136 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
6137 user_data: ptr::null_mut(),
6138 }
6139 }
6140}
6141
6142unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
6143unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
6144
6145#[repr(C)]
6147#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6148pub struct DeviceDiagnosticsConfigCreateInfoNV {
6149 pub s_type: StructureType,
6150 pub next: *const c_void,
6151 pub flags: DeviceDiagnosticsConfigFlagsNV,
6152}
6153
6154impl Default for DeviceDiagnosticsConfigCreateInfoNV {
6155 #[inline]
6156 fn default() -> Self {
6157 Self {
6158 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
6159 next: ptr::null(),
6160 flags: DeviceDiagnosticsConfigFlagsNV::default(),
6161 }
6162 }
6163}
6164
6165unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
6166unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
6167
6168#[repr(C)]
6170#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6171pub struct DeviceEventInfoEXT {
6172 pub s_type: StructureType,
6173 pub next: *const c_void,
6174 pub device_event: DeviceEventTypeEXT,
6175}
6176
6177impl Default for DeviceEventInfoEXT {
6178 #[inline]
6179 fn default() -> Self {
6180 Self {
6181 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
6182 next: ptr::null(),
6183 device_event: DeviceEventTypeEXT::default(),
6184 }
6185 }
6186}
6187
6188unsafe impl Send for DeviceEventInfoEXT {}
6189unsafe impl Sync for DeviceEventInfoEXT {}
6190
6191#[repr(C)]
6193#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6194pub struct DeviceFaultAddressInfoEXT {
6195 pub address_type: DeviceFaultAddressTypeEXT,
6196 pub reported_address: DeviceAddress,
6197 pub address_precision: DeviceSize,
6198}
6199
6200#[repr(C)]
6202#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6203pub struct DeviceFaultCountsEXT {
6204 pub s_type: StructureType,
6205 pub next: *mut c_void,
6206 pub address_info_count: u32,
6207 pub vendor_info_count: u32,
6208 pub vendor_binary_size: DeviceSize,
6209}
6210
6211impl Default for DeviceFaultCountsEXT {
6212 #[inline]
6213 fn default() -> Self {
6214 Self {
6215 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
6216 next: ptr::null_mut(),
6217 address_info_count: u32::default(),
6218 vendor_info_count: u32::default(),
6219 vendor_binary_size: DeviceSize::default(),
6220 }
6221 }
6222}
6223
6224unsafe impl Send for DeviceFaultCountsEXT {}
6225unsafe impl Sync for DeviceFaultCountsEXT {}
6226
6227#[repr(C)]
6229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6230pub struct DeviceFaultInfoEXT {
6231 pub s_type: StructureType,
6232 pub next: *mut c_void,
6233 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
6234 pub address_infos: *mut DeviceFaultAddressInfoEXT,
6235 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
6236 pub vendor_binary_data: *mut c_void,
6237}
6238
6239impl Default for DeviceFaultInfoEXT {
6240 #[inline]
6241 fn default() -> Self {
6242 Self {
6243 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
6244 next: ptr::null_mut(),
6245 description: StringArray::default(),
6246 address_infos: ptr::null_mut(),
6247 vendor_infos: ptr::null_mut(),
6248 vendor_binary_data: ptr::null_mut(),
6249 }
6250 }
6251}
6252
6253unsafe impl Send for DeviceFaultInfoEXT {}
6254unsafe impl Sync for DeviceFaultInfoEXT {}
6255
6256#[repr(C)]
6258#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6259pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
6260 pub header_size: u32,
6261 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
6262 pub vendor_id: u32,
6263 pub device_id: u32,
6264 pub driver_version: u32,
6265 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
6266 pub application_name_offset: u32,
6267 pub application_version: u32,
6268 pub engine_name_offset: u32,
6269 pub engine_version: u32,
6270 pub api_version: u32,
6271}
6272
6273#[repr(C)]
6275#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6276pub struct DeviceFaultVendorInfoEXT {
6277 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
6278 pub vendor_fault_code: u64,
6279 pub vendor_fault_data: u64,
6280}
6281
6282#[repr(C)]
6284#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6285pub struct DeviceGroupBindSparseInfo {
6286 pub s_type: StructureType,
6287 pub next: *const c_void,
6288 pub resource_device_index: u32,
6289 pub memory_device_index: u32,
6290}
6291
6292impl Default for DeviceGroupBindSparseInfo {
6293 #[inline]
6294 fn default() -> Self {
6295 Self {
6296 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
6297 next: ptr::null(),
6298 resource_device_index: u32::default(),
6299 memory_device_index: u32::default(),
6300 }
6301 }
6302}
6303
6304unsafe impl Send for DeviceGroupBindSparseInfo {}
6305unsafe impl Sync for DeviceGroupBindSparseInfo {}
6306
6307#[repr(C)]
6309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6310pub struct DeviceGroupCommandBufferBeginInfo {
6311 pub s_type: StructureType,
6312 pub next: *const c_void,
6313 pub device_mask: u32,
6314}
6315
6316impl Default for DeviceGroupCommandBufferBeginInfo {
6317 #[inline]
6318 fn default() -> Self {
6319 Self {
6320 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
6321 next: ptr::null(),
6322 device_mask: u32::default(),
6323 }
6324 }
6325}
6326
6327unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
6328unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
6329
6330#[repr(C)]
6332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6333pub struct DeviceGroupDeviceCreateInfo {
6334 pub s_type: StructureType,
6335 pub next: *const c_void,
6336 pub physical_device_count: u32,
6337 pub physical_devices: *const PhysicalDevice,
6338}
6339
6340impl Default for DeviceGroupDeviceCreateInfo {
6341 #[inline]
6342 fn default() -> Self {
6343 Self {
6344 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
6345 next: ptr::null(),
6346 physical_device_count: u32::default(),
6347 physical_devices: ptr::null(),
6348 }
6349 }
6350}
6351
6352unsafe impl Send for DeviceGroupDeviceCreateInfo {}
6353unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
6354
6355#[repr(C)]
6357#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6358pub struct DeviceGroupPresentCapabilitiesKHR {
6359 pub s_type: StructureType,
6360 pub next: *mut c_void,
6361 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE as usize],
6362 pub modes: DeviceGroupPresentModeFlagsKHR,
6363}
6364
6365impl Default for DeviceGroupPresentCapabilitiesKHR {
6366 #[inline]
6367 fn default() -> Self {
6368 Self {
6369 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
6370 next: ptr::null_mut(),
6371 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
6372 modes: DeviceGroupPresentModeFlagsKHR::default(),
6373 }
6374 }
6375}
6376
6377unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
6378unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
6379
6380#[repr(C)]
6382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6383pub struct DeviceGroupPresentInfoKHR {
6384 pub s_type: StructureType,
6385 pub next: *const c_void,
6386 pub swapchain_count: u32,
6387 pub device_masks: *const u32,
6388 pub mode: DeviceGroupPresentModeFlagsKHR,
6389}
6390
6391impl Default for DeviceGroupPresentInfoKHR {
6392 #[inline]
6393 fn default() -> Self {
6394 Self {
6395 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
6396 next: ptr::null(),
6397 swapchain_count: u32::default(),
6398 device_masks: ptr::null(),
6399 mode: DeviceGroupPresentModeFlagsKHR::default(),
6400 }
6401 }
6402}
6403
6404unsafe impl Send for DeviceGroupPresentInfoKHR {}
6405unsafe impl Sync for DeviceGroupPresentInfoKHR {}
6406
6407#[repr(C)]
6409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6410pub struct DeviceGroupRenderPassBeginInfo {
6411 pub s_type: StructureType,
6412 pub next: *const c_void,
6413 pub device_mask: u32,
6414 pub device_render_area_count: u32,
6415 pub device_render_areas: *const Rect2D,
6416}
6417
6418impl Default for DeviceGroupRenderPassBeginInfo {
6419 #[inline]
6420 fn default() -> Self {
6421 Self {
6422 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
6423 next: ptr::null(),
6424 device_mask: u32::default(),
6425 device_render_area_count: u32::default(),
6426 device_render_areas: ptr::null(),
6427 }
6428 }
6429}
6430
6431unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
6432unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
6433
6434#[repr(C)]
6436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6437pub struct DeviceGroupSubmitInfo {
6438 pub s_type: StructureType,
6439 pub next: *const c_void,
6440 pub wait_semaphore_count: u32,
6441 pub wait_semaphore_device_indices: *const u32,
6442 pub command_buffer_count: u32,
6443 pub command_buffer_device_masks: *const u32,
6444 pub signal_semaphore_count: u32,
6445 pub signal_semaphore_device_indices: *const u32,
6446}
6447
6448impl Default for DeviceGroupSubmitInfo {
6449 #[inline]
6450 fn default() -> Self {
6451 Self {
6452 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
6453 next: ptr::null(),
6454 wait_semaphore_count: u32::default(),
6455 wait_semaphore_device_indices: ptr::null(),
6456 command_buffer_count: u32::default(),
6457 command_buffer_device_masks: ptr::null(),
6458 signal_semaphore_count: u32::default(),
6459 signal_semaphore_device_indices: ptr::null(),
6460 }
6461 }
6462}
6463
6464unsafe impl Send for DeviceGroupSubmitInfo {}
6465unsafe impl Sync for DeviceGroupSubmitInfo {}
6466
6467#[repr(C)]
6469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6470pub struct DeviceGroupSwapchainCreateInfoKHR {
6471 pub s_type: StructureType,
6472 pub next: *const c_void,
6473 pub modes: DeviceGroupPresentModeFlagsKHR,
6474}
6475
6476impl Default for DeviceGroupSwapchainCreateInfoKHR {
6477 #[inline]
6478 fn default() -> Self {
6479 Self {
6480 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
6481 next: ptr::null(),
6482 modes: DeviceGroupPresentModeFlagsKHR::default(),
6483 }
6484 }
6485}
6486
6487unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
6488unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
6489
6490#[repr(C)]
6492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6493pub struct DeviceImageMemoryRequirements {
6494 pub s_type: StructureType,
6495 pub next: *const c_void,
6496 pub create_info: *const ImageCreateInfo,
6497 pub plane_aspect: ImageAspectFlags,
6498}
6499
6500impl Default for DeviceImageMemoryRequirements {
6501 #[inline]
6502 fn default() -> Self {
6503 Self {
6504 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
6505 next: ptr::null(),
6506 create_info: ptr::null(),
6507 plane_aspect: ImageAspectFlags::default(),
6508 }
6509 }
6510}
6511
6512unsafe impl Send for DeviceImageMemoryRequirements {}
6513unsafe impl Sync for DeviceImageMemoryRequirements {}
6514
6515#[repr(C)]
6517#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6518pub struct DeviceImageSubresourceInfo {
6519 pub s_type: StructureType,
6520 pub next: *const c_void,
6521 pub create_info: *const ImageCreateInfo,
6522 pub subresource: *const ImageSubresource2,
6523}
6524
6525impl Default for DeviceImageSubresourceInfo {
6526 #[inline]
6527 fn default() -> Self {
6528 Self {
6529 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
6530 next: ptr::null(),
6531 create_info: ptr::null(),
6532 subresource: ptr::null(),
6533 }
6534 }
6535}
6536
6537unsafe impl Send for DeviceImageSubresourceInfo {}
6538unsafe impl Sync for DeviceImageSubresourceInfo {}
6539
6540#[repr(C)]
6542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6543pub struct DeviceMemoryOpaqueCaptureAddressInfo {
6544 pub s_type: StructureType,
6545 pub next: *const c_void,
6546 pub memory: DeviceMemory,
6547}
6548
6549impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
6550 #[inline]
6551 fn default() -> Self {
6552 Self {
6553 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
6554 next: ptr::null(),
6555 memory: DeviceMemory::default(),
6556 }
6557 }
6558}
6559
6560unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
6561unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
6562
6563#[repr(C)]
6565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6566pub struct DeviceMemoryOverallocationCreateInfoAMD {
6567 pub s_type: StructureType,
6568 pub next: *const c_void,
6569 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
6570}
6571
6572impl Default for DeviceMemoryOverallocationCreateInfoAMD {
6573 #[inline]
6574 fn default() -> Self {
6575 Self {
6576 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
6577 next: ptr::null(),
6578 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
6579 }
6580 }
6581}
6582
6583unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
6584unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
6585
6586#[repr(C)]
6588#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6589pub struct DeviceMemoryReportCallbackDataEXT {
6590 pub s_type: StructureType,
6591 pub next: *mut c_void,
6592 pub flags: DeviceMemoryReportFlagsEXT,
6593 pub type_: DeviceMemoryReportEventTypeEXT,
6594 pub memory_object_id: u64,
6595 pub size: DeviceSize,
6596 pub object_type: ObjectType,
6597 pub object_handle: u64,
6598 pub heap_index: u32,
6599}
6600
6601impl Default for DeviceMemoryReportCallbackDataEXT {
6602 #[inline]
6603 fn default() -> Self {
6604 Self {
6605 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
6606 next: ptr::null_mut(),
6607 flags: DeviceMemoryReportFlagsEXT::default(),
6608 type_: DeviceMemoryReportEventTypeEXT::default(),
6609 memory_object_id: u64::default(),
6610 size: DeviceSize::default(),
6611 object_type: ObjectType::default(),
6612 object_handle: u64::default(),
6613 heap_index: u32::default(),
6614 }
6615 }
6616}
6617
6618unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
6619unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
6620
6621#[repr(C)]
6623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6624pub struct DevicePipelineBinaryInternalCacheControlKHR {
6625 pub s_type: StructureType,
6626 pub next: *const c_void,
6627 pub disable_internal_cache: Bool32,
6628}
6629
6630impl Default for DevicePipelineBinaryInternalCacheControlKHR {
6631 #[inline]
6632 fn default() -> Self {
6633 Self {
6634 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
6635 next: ptr::null(),
6636 disable_internal_cache: Bool32::default(),
6637 }
6638 }
6639}
6640
6641unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
6642unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
6643
6644#[repr(C)]
6646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6647pub struct DevicePrivateDataCreateInfo {
6648 pub s_type: StructureType,
6649 pub next: *const c_void,
6650 pub private_data_slot_request_count: u32,
6651}
6652
6653impl Default for DevicePrivateDataCreateInfo {
6654 #[inline]
6655 fn default() -> Self {
6656 Self {
6657 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
6658 next: ptr::null(),
6659 private_data_slot_request_count: u32::default(),
6660 }
6661 }
6662}
6663
6664unsafe impl Send for DevicePrivateDataCreateInfo {}
6665unsafe impl Sync for DevicePrivateDataCreateInfo {}
6666
6667#[repr(C)]
6669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6670pub struct DeviceQueueCreateInfo {
6671 pub s_type: StructureType,
6672 pub next: *const c_void,
6673 pub flags: DeviceQueueCreateFlags,
6674 pub queue_family_index: u32,
6675 pub queue_count: u32,
6676 pub queue_priorities: *const f32,
6677}
6678
6679impl Default for DeviceQueueCreateInfo {
6680 #[inline]
6681 fn default() -> Self {
6682 Self {
6683 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
6684 next: ptr::null(),
6685 flags: DeviceQueueCreateFlags::default(),
6686 queue_family_index: u32::default(),
6687 queue_count: u32::default(),
6688 queue_priorities: ptr::null(),
6689 }
6690 }
6691}
6692
6693unsafe impl Send for DeviceQueueCreateInfo {}
6694unsafe impl Sync for DeviceQueueCreateInfo {}
6695
6696#[repr(C)]
6698#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6699pub struct DeviceQueueGlobalPriorityCreateInfo {
6700 pub s_type: StructureType,
6701 pub next: *const c_void,
6702 pub global_priority: QueueGlobalPriority,
6703}
6704
6705impl Default for DeviceQueueGlobalPriorityCreateInfo {
6706 #[inline]
6707 fn default() -> Self {
6708 Self {
6709 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
6710 next: ptr::null(),
6711 global_priority: QueueGlobalPriority::default(),
6712 }
6713 }
6714}
6715
6716unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
6717unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
6718
6719#[repr(C)]
6721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6722pub struct DeviceQueueInfo2 {
6723 pub s_type: StructureType,
6724 pub next: *const c_void,
6725 pub flags: DeviceQueueCreateFlags,
6726 pub queue_family_index: u32,
6727 pub queue_index: u32,
6728}
6729
6730impl Default for DeviceQueueInfo2 {
6731 #[inline]
6732 fn default() -> Self {
6733 Self {
6734 s_type: StructureType::DEVICE_QUEUE_INFO_2,
6735 next: ptr::null(),
6736 flags: DeviceQueueCreateFlags::default(),
6737 queue_family_index: u32::default(),
6738 queue_index: u32::default(),
6739 }
6740 }
6741}
6742
6743unsafe impl Send for DeviceQueueInfo2 {}
6744unsafe impl Sync for DeviceQueueInfo2 {}
6745
6746#[repr(C)]
6748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6749pub struct DeviceQueueShaderCoreControlCreateInfoARM {
6750 pub s_type: StructureType,
6751 pub next: *mut c_void,
6752 pub shader_core_count: u32,
6753}
6754
6755impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
6756 #[inline]
6757 fn default() -> Self {
6758 Self {
6759 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
6760 next: ptr::null_mut(),
6761 shader_core_count: u32::default(),
6762 }
6763 }
6764}
6765
6766unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
6767unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
6768
6769#[repr(C)]
6771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6772pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6773 pub s_type: StructureType,
6774 pub next: *const c_void,
6775 pub semaphore_sci_sync_pool_request_count: u32,
6776}
6777
6778impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6779 #[inline]
6780 fn default() -> Self {
6781 Self {
6782 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
6783 next: ptr::null(),
6784 semaphore_sci_sync_pool_request_count: u32::default(),
6785 }
6786 }
6787}
6788
6789unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6790unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6791
6792#[repr(C)]
6794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6795pub struct DeviceTensorMemoryRequirementsARM {
6796 pub s_type: StructureType,
6797 pub next: *const c_void,
6798 pub create_info: *const TensorCreateInfoARM,
6799}
6800
6801impl Default for DeviceTensorMemoryRequirementsARM {
6802 #[inline]
6803 fn default() -> Self {
6804 Self {
6805 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
6806 next: ptr::null(),
6807 create_info: ptr::null(),
6808 }
6809 }
6810}
6811
6812unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
6813unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
6814
6815#[repr(C)]
6817#[derive(Copy, Clone)]
6818pub struct DirectDriverLoadingInfoLUNARG {
6819 pub s_type: StructureType,
6820 pub next: *mut c_void,
6821 pub flags: DirectDriverLoadingFlagsLUNARG,
6822 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
6823}
6824
6825impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
6826 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6827 f.debug_struct("DirectDriverLoadingInfoLUNARG")
6828 .field("s_type", &self.s_type)
6829 .field("next", &self.next)
6830 .field("flags", &self.flags)
6831 .field(
6832 "get_instance_proc_addr",
6833 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
6834 )
6835 .finish()
6836 }
6837}
6838
6839impl Default for DirectDriverLoadingInfoLUNARG {
6840 #[inline]
6841 fn default() -> Self {
6842 Self {
6843 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
6844 next: ptr::null_mut(),
6845 flags: DirectDriverLoadingFlagsLUNARG::default(),
6846 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
6847 }
6848 }
6849}
6850
6851unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
6852unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
6853
6854#[repr(C)]
6856#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6857pub struct DirectDriverLoadingListLUNARG {
6858 pub s_type: StructureType,
6859 pub next: *const c_void,
6860 pub mode: DirectDriverLoadingModeLUNARG,
6861 pub driver_count: u32,
6862 pub drivers: *const DirectDriverLoadingInfoLUNARG,
6863}
6864
6865impl Default for DirectDriverLoadingListLUNARG {
6866 #[inline]
6867 fn default() -> Self {
6868 Self {
6869 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
6870 next: ptr::null(),
6871 mode: DirectDriverLoadingModeLUNARG::default(),
6872 driver_count: u32::default(),
6873 drivers: ptr::null(),
6874 }
6875 }
6876}
6877
6878unsafe impl Send for DirectDriverLoadingListLUNARG {}
6879unsafe impl Sync for DirectDriverLoadingListLUNARG {}
6880
6881#[repr(C)]
6883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6884pub struct DirectFBSurfaceCreateInfoEXT {
6885 pub s_type: StructureType,
6886 pub next: *const c_void,
6887 pub flags: DirectFBSurfaceCreateFlagsEXT,
6888 pub dfb: *mut IDirectFB,
6889 pub surface: *mut IDirectFBSurface,
6890}
6891
6892impl Default for DirectFBSurfaceCreateInfoEXT {
6893 #[inline]
6894 fn default() -> Self {
6895 Self {
6896 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
6897 next: ptr::null(),
6898 flags: DirectFBSurfaceCreateFlagsEXT::default(),
6899 dfb: ptr::null_mut(),
6900 surface: ptr::null_mut(),
6901 }
6902 }
6903}
6904
6905unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
6906unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
6907
6908#[repr(C)]
6910#[derive(Copy, Clone, Default, Debug)]
6911pub struct DispatchGraphCountInfoAMDX {
6912 pub count: u32,
6913 pub infos: DeviceOrHostAddressConstAMDX,
6914 pub stride: u64,
6915}
6916
6917#[repr(C)]
6919#[derive(Copy, Clone, Default, Debug)]
6920pub struct DispatchGraphInfoAMDX {
6921 pub node_index: u32,
6922 pub payload_count: u32,
6923 pub payloads: DeviceOrHostAddressConstAMDX,
6924 pub payload_stride: u64,
6925}
6926
6927#[repr(C)]
6929#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6930pub struct DispatchIndirectCommand {
6931 pub x: u32,
6932 pub y: u32,
6933 pub z: u32,
6934}
6935
6936#[repr(C)]
6938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6939pub struct DispatchTileInfoQCOM {
6940 pub s_type: StructureType,
6941 pub next: *const c_void,
6942}
6943
6944impl Default for DispatchTileInfoQCOM {
6945 #[inline]
6946 fn default() -> Self {
6947 Self {
6948 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
6949 next: ptr::null(),
6950 }
6951 }
6952}
6953
6954unsafe impl Send for DispatchTileInfoQCOM {}
6955unsafe impl Sync for DispatchTileInfoQCOM {}
6956
6957#[repr(C)]
6959#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6960pub struct DisplayEventInfoEXT {
6961 pub s_type: StructureType,
6962 pub next: *const c_void,
6963 pub display_event: DisplayEventTypeEXT,
6964}
6965
6966impl Default for DisplayEventInfoEXT {
6967 #[inline]
6968 fn default() -> Self {
6969 Self {
6970 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
6971 next: ptr::null(),
6972 display_event: DisplayEventTypeEXT::default(),
6973 }
6974 }
6975}
6976
6977unsafe impl Send for DisplayEventInfoEXT {}
6978unsafe impl Sync for DisplayEventInfoEXT {}
6979
6980#[repr(C)]
6982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6983pub struct DisplayModeCreateInfoKHR {
6984 pub s_type: StructureType,
6985 pub next: *const c_void,
6986 pub flags: DisplayModeCreateFlagsKHR,
6987 pub parameters: DisplayModeParametersKHR,
6988}
6989
6990impl Default for DisplayModeCreateInfoKHR {
6991 #[inline]
6992 fn default() -> Self {
6993 Self {
6994 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
6995 next: ptr::null(),
6996 flags: DisplayModeCreateFlagsKHR::default(),
6997 parameters: DisplayModeParametersKHR::default(),
6998 }
6999 }
7000}
7001
7002unsafe impl Send for DisplayModeCreateInfoKHR {}
7003unsafe impl Sync for DisplayModeCreateInfoKHR {}
7004
7005#[repr(C)]
7007#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7008pub struct DisplayModeParametersKHR {
7009 pub visible_region: Extent2D,
7010 pub refresh_rate: u32,
7011}
7012
7013#[repr(C)]
7015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7016pub struct DisplayModeProperties2KHR {
7017 pub s_type: StructureType,
7018 pub next: *mut c_void,
7019 pub display_mode_properties: DisplayModePropertiesKHR,
7020}
7021
7022impl Default for DisplayModeProperties2KHR {
7023 #[inline]
7024 fn default() -> Self {
7025 Self {
7026 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
7027 next: ptr::null_mut(),
7028 display_mode_properties: DisplayModePropertiesKHR::default(),
7029 }
7030 }
7031}
7032
7033unsafe impl Send for DisplayModeProperties2KHR {}
7034unsafe impl Sync for DisplayModeProperties2KHR {}
7035
7036#[repr(C)]
7038#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7039pub struct DisplayModePropertiesKHR {
7040 pub display_mode: DisplayModeKHR,
7041 pub parameters: DisplayModeParametersKHR,
7042}
7043
7044#[repr(C)]
7046#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7047pub struct DisplayModeStereoPropertiesNV {
7048 pub s_type: StructureType,
7049 pub next: *mut c_void,
7050 pub hdmi_3d_supported: Bool32,
7051}
7052
7053impl Default for DisplayModeStereoPropertiesNV {
7054 #[inline]
7055 fn default() -> Self {
7056 Self {
7057 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
7058 next: ptr::null_mut(),
7059 hdmi_3d_supported: Bool32::default(),
7060 }
7061 }
7062}
7063
7064unsafe impl Send for DisplayModeStereoPropertiesNV {}
7065unsafe impl Sync for DisplayModeStereoPropertiesNV {}
7066
7067#[repr(C)]
7069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7070pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
7071 pub s_type: StructureType,
7072 pub next: *mut c_void,
7073 pub local_dimming_support: Bool32,
7074}
7075
7076impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
7077 #[inline]
7078 fn default() -> Self {
7079 Self {
7080 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
7081 next: ptr::null_mut(),
7082 local_dimming_support: Bool32::default(),
7083 }
7084 }
7085}
7086
7087unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
7088unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
7089
7090#[repr(C)]
7092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7093pub struct DisplayPlaneCapabilities2KHR {
7094 pub s_type: StructureType,
7095 pub next: *mut c_void,
7096 pub capabilities: DisplayPlaneCapabilitiesKHR,
7097}
7098
7099impl Default for DisplayPlaneCapabilities2KHR {
7100 #[inline]
7101 fn default() -> Self {
7102 Self {
7103 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
7104 next: ptr::null_mut(),
7105 capabilities: DisplayPlaneCapabilitiesKHR::default(),
7106 }
7107 }
7108}
7109
7110unsafe impl Send for DisplayPlaneCapabilities2KHR {}
7111unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
7112
7113#[repr(C)]
7115#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7116pub struct DisplayPlaneCapabilitiesKHR {
7117 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
7118 pub min_src_position: Offset2D,
7119 pub max_src_position: Offset2D,
7120 pub min_src_extent: Extent2D,
7121 pub max_src_extent: Extent2D,
7122 pub min_dst_position: Offset2D,
7123 pub max_dst_position: Offset2D,
7124 pub min_dst_extent: Extent2D,
7125 pub max_dst_extent: Extent2D,
7126}
7127
7128#[repr(C)]
7130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7131pub struct DisplayPlaneInfo2KHR {
7132 pub s_type: StructureType,
7133 pub next: *const c_void,
7134 pub mode: DisplayModeKHR,
7135 pub plane_index: u32,
7136}
7137
7138impl Default for DisplayPlaneInfo2KHR {
7139 #[inline]
7140 fn default() -> Self {
7141 Self {
7142 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
7143 next: ptr::null(),
7144 mode: DisplayModeKHR::default(),
7145 plane_index: u32::default(),
7146 }
7147 }
7148}
7149
7150unsafe impl Send for DisplayPlaneInfo2KHR {}
7151unsafe impl Sync for DisplayPlaneInfo2KHR {}
7152
7153#[repr(C)]
7155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7156pub struct DisplayPlaneProperties2KHR {
7157 pub s_type: StructureType,
7158 pub next: *mut c_void,
7159 pub display_plane_properties: DisplayPlanePropertiesKHR,
7160}
7161
7162impl Default for DisplayPlaneProperties2KHR {
7163 #[inline]
7164 fn default() -> Self {
7165 Self {
7166 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
7167 next: ptr::null_mut(),
7168 display_plane_properties: DisplayPlanePropertiesKHR::default(),
7169 }
7170 }
7171}
7172
7173unsafe impl Send for DisplayPlaneProperties2KHR {}
7174unsafe impl Sync for DisplayPlaneProperties2KHR {}
7175
7176#[repr(C)]
7178#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7179pub struct DisplayPlanePropertiesKHR {
7180 pub current_display: DisplayKHR,
7181 pub current_stack_index: u32,
7182}
7183
7184#[repr(C)]
7186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7187pub struct DisplayPowerInfoEXT {
7188 pub s_type: StructureType,
7189 pub next: *const c_void,
7190 pub power_state: DisplayPowerStateEXT,
7191}
7192
7193impl Default for DisplayPowerInfoEXT {
7194 #[inline]
7195 fn default() -> Self {
7196 Self {
7197 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
7198 next: ptr::null(),
7199 power_state: DisplayPowerStateEXT::default(),
7200 }
7201 }
7202}
7203
7204unsafe impl Send for DisplayPowerInfoEXT {}
7205unsafe impl Sync for DisplayPowerInfoEXT {}
7206
7207#[repr(C)]
7209#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7210pub struct DisplayPresentInfoKHR {
7211 pub s_type: StructureType,
7212 pub next: *const c_void,
7213 pub src_rect: Rect2D,
7214 pub dst_rect: Rect2D,
7215 pub persistent: Bool32,
7216}
7217
7218impl Default for DisplayPresentInfoKHR {
7219 #[inline]
7220 fn default() -> Self {
7221 Self {
7222 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
7223 next: ptr::null(),
7224 src_rect: Rect2D::default(),
7225 dst_rect: Rect2D::default(),
7226 persistent: Bool32::default(),
7227 }
7228 }
7229}
7230
7231unsafe impl Send for DisplayPresentInfoKHR {}
7232unsafe impl Sync for DisplayPresentInfoKHR {}
7233
7234#[repr(C)]
7236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7237pub struct DisplayProperties2KHR {
7238 pub s_type: StructureType,
7239 pub next: *mut c_void,
7240 pub display_properties: DisplayPropertiesKHR,
7241}
7242
7243impl Default for DisplayProperties2KHR {
7244 #[inline]
7245 fn default() -> Self {
7246 Self {
7247 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
7248 next: ptr::null_mut(),
7249 display_properties: DisplayPropertiesKHR::default(),
7250 }
7251 }
7252}
7253
7254unsafe impl Send for DisplayProperties2KHR {}
7255unsafe impl Sync for DisplayProperties2KHR {}
7256
7257#[repr(C)]
7259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7260pub struct DisplayPropertiesKHR {
7261 pub display: DisplayKHR,
7262 pub display_name: *const c_char,
7263 pub physical_dimensions: Extent2D,
7264 pub physical_resolution: Extent2D,
7265 pub supported_transforms: SurfaceTransformFlagsKHR,
7266 pub plane_reorder_possible: Bool32,
7267 pub persistent_content: Bool32,
7268}
7269
7270impl Default for DisplayPropertiesKHR {
7271 #[inline]
7272 fn default() -> Self {
7273 Self {
7274 display: DisplayKHR::default(),
7275 display_name: ptr::null(),
7276 physical_dimensions: Extent2D::default(),
7277 physical_resolution: Extent2D::default(),
7278 supported_transforms: SurfaceTransformFlagsKHR::default(),
7279 plane_reorder_possible: Bool32::default(),
7280 persistent_content: Bool32::default(),
7281 }
7282 }
7283}
7284
7285unsafe impl Send for DisplayPropertiesKHR {}
7286unsafe impl Sync for DisplayPropertiesKHR {}
7287
7288#[repr(C)]
7290#[derive(Copy, Clone, Debug, PartialEq)]
7291pub struct DisplaySurfaceCreateInfoKHR {
7292 pub s_type: StructureType,
7293 pub next: *const c_void,
7294 pub flags: DisplaySurfaceCreateFlagsKHR,
7295 pub display_mode: DisplayModeKHR,
7296 pub plane_index: u32,
7297 pub plane_stack_index: u32,
7298 pub transform: SurfaceTransformFlagsKHR,
7299 pub global_alpha: f32,
7300 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
7301 pub image_extent: Extent2D,
7302}
7303
7304impl Default for DisplaySurfaceCreateInfoKHR {
7305 #[inline]
7306 fn default() -> Self {
7307 Self {
7308 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
7309 next: ptr::null(),
7310 flags: DisplaySurfaceCreateFlagsKHR::default(),
7311 display_mode: DisplayModeKHR::default(),
7312 plane_index: u32::default(),
7313 plane_stack_index: u32::default(),
7314 transform: SurfaceTransformFlagsKHR::default(),
7315 global_alpha: f32::default(),
7316 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
7317 image_extent: Extent2D::default(),
7318 }
7319 }
7320}
7321
7322unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
7323unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
7324
7325#[repr(C)]
7327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7328pub struct DisplaySurfaceStereoCreateInfoNV {
7329 pub s_type: StructureType,
7330 pub next: *const c_void,
7331 pub stereo_type: DisplaySurfaceStereoTypeNV,
7332}
7333
7334impl Default for DisplaySurfaceStereoCreateInfoNV {
7335 #[inline]
7336 fn default() -> Self {
7337 Self {
7338 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
7339 next: ptr::null(),
7340 stereo_type: DisplaySurfaceStereoTypeNV::default(),
7341 }
7342 }
7343}
7344
7345unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
7346unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
7347
7348#[repr(C)]
7350#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7351pub struct DrawIndexedIndirectCommand {
7352 pub index_count: u32,
7353 pub instance_count: u32,
7354 pub first_index: u32,
7355 pub vertex_offset: i32,
7356 pub first_instance: u32,
7357}
7358
7359#[repr(C)]
7361#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7362pub struct DrawIndirectCommand {
7363 pub vertex_count: u32,
7364 pub instance_count: u32,
7365 pub first_vertex: u32,
7366 pub first_instance: u32,
7367}
7368
7369#[repr(C)]
7371#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7372pub struct DrawIndirectCountIndirectCommandEXT {
7373 pub buffer_address: DeviceAddress,
7374 pub stride: u32,
7375 pub command_count: u32,
7376}
7377
7378#[repr(C)]
7380#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7381pub struct DrawMeshTasksIndirectCommandEXT {
7382 pub group_count_x: u32,
7383 pub group_count_y: u32,
7384 pub group_count_z: u32,
7385}
7386
7387#[repr(C)]
7389#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7390pub struct DrawMeshTasksIndirectCommandNV {
7391 pub task_count: u32,
7392 pub first_task: u32,
7393}
7394
7395#[repr(C)]
7397#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7398pub struct DrmFormatModifierProperties2EXT {
7399 pub drm_format_modifier: u64,
7400 pub drm_format_modifier_plane_count: u32,
7401 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
7402}
7403
7404#[repr(C)]
7406#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7407pub struct DrmFormatModifierPropertiesEXT {
7408 pub drm_format_modifier: u64,
7409 pub drm_format_modifier_plane_count: u32,
7410 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
7411}
7412
7413#[repr(C)]
7415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7416pub struct DrmFormatModifierPropertiesList2EXT {
7417 pub s_type: StructureType,
7418 pub next: *mut c_void,
7419 pub drm_format_modifier_count: u32,
7420 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
7421}
7422
7423impl Default for DrmFormatModifierPropertiesList2EXT {
7424 #[inline]
7425 fn default() -> Self {
7426 Self {
7427 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
7428 next: ptr::null_mut(),
7429 drm_format_modifier_count: u32::default(),
7430 drm_format_modifier_properties: ptr::null_mut(),
7431 }
7432 }
7433}
7434
7435unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
7436unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
7437
7438#[repr(C)]
7440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7441pub struct DrmFormatModifierPropertiesListEXT {
7442 pub s_type: StructureType,
7443 pub next: *mut c_void,
7444 pub drm_format_modifier_count: u32,
7445 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
7446}
7447
7448impl Default for DrmFormatModifierPropertiesListEXT {
7449 #[inline]
7450 fn default() -> Self {
7451 Self {
7452 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
7453 next: ptr::null_mut(),
7454 drm_format_modifier_count: u32::default(),
7455 drm_format_modifier_properties: ptr::null_mut(),
7456 }
7457 }
7458}
7459
7460unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
7461unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
7462
7463#[repr(C)]
7465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7466pub struct EventCreateInfo {
7467 pub s_type: StructureType,
7468 pub next: *const c_void,
7469 pub flags: EventCreateFlags,
7470}
7471
7472impl Default for EventCreateInfo {
7473 #[inline]
7474 fn default() -> Self {
7475 Self {
7476 s_type: StructureType::EVENT_CREATE_INFO,
7477 next: ptr::null(),
7478 flags: EventCreateFlags::default(),
7479 }
7480 }
7481}
7482
7483unsafe impl Send for EventCreateInfo {}
7484unsafe impl Sync for EventCreateInfo {}
7485
7486#[repr(C)]
7488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7489pub struct ExecutionGraphPipelineCreateInfoAMDX {
7490 pub s_type: StructureType,
7491 pub next: *const c_void,
7492 pub flags: PipelineCreateFlags,
7493 pub stage_count: u32,
7494 pub stages: *const PipelineShaderStageCreateInfo,
7495 pub library_info: *const PipelineLibraryCreateInfoKHR,
7496 pub layout: PipelineLayout,
7497 pub base_pipeline_handle: Pipeline,
7498 pub base_pipeline_index: i32,
7499}
7500
7501impl Default for ExecutionGraphPipelineCreateInfoAMDX {
7502 #[inline]
7503 fn default() -> Self {
7504 Self {
7505 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
7506 next: ptr::null(),
7507 flags: PipelineCreateFlags::default(),
7508 stage_count: u32::default(),
7509 stages: ptr::null(),
7510 library_info: ptr::null(),
7511 layout: PipelineLayout::default(),
7512 base_pipeline_handle: Pipeline::default(),
7513 base_pipeline_index: i32::default(),
7514 }
7515 }
7516}
7517
7518unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
7519unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
7520
7521#[repr(C)]
7523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7524pub struct ExecutionGraphPipelineScratchSizeAMDX {
7525 pub s_type: StructureType,
7526 pub next: *mut c_void,
7527 pub min_size: DeviceSize,
7528 pub max_size: DeviceSize,
7529 pub size_granularity: DeviceSize,
7530}
7531
7532impl Default for ExecutionGraphPipelineScratchSizeAMDX {
7533 #[inline]
7534 fn default() -> Self {
7535 Self {
7536 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
7537 next: ptr::null_mut(),
7538 min_size: DeviceSize::default(),
7539 max_size: DeviceSize::default(),
7540 size_granularity: DeviceSize::default(),
7541 }
7542 }
7543}
7544
7545unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
7546unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
7547
7548#[repr(C)]
7550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7551pub struct ExportFenceCreateInfo {
7552 pub s_type: StructureType,
7553 pub next: *const c_void,
7554 pub handle_types: ExternalFenceHandleTypeFlags,
7555}
7556
7557impl Default for ExportFenceCreateInfo {
7558 #[inline]
7559 fn default() -> Self {
7560 Self {
7561 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
7562 next: ptr::null(),
7563 handle_types: ExternalFenceHandleTypeFlags::default(),
7564 }
7565 }
7566}
7567
7568unsafe impl Send for ExportFenceCreateInfo {}
7569unsafe impl Sync for ExportFenceCreateInfo {}
7570
7571#[repr(C)]
7573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7574pub struct ExportFenceSciSyncInfoNV {
7575 pub s_type: StructureType,
7576 pub next: *const c_void,
7577 pub attributes: NvSciSyncAttrList,
7578}
7579
7580impl Default for ExportFenceSciSyncInfoNV {
7581 #[inline]
7582 fn default() -> Self {
7583 Self {
7584 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
7585 next: ptr::null(),
7586 attributes: ptr::null_mut(),
7587 }
7588 }
7589}
7590
7591unsafe impl Send for ExportFenceSciSyncInfoNV {}
7592unsafe impl Sync for ExportFenceSciSyncInfoNV {}
7593
7594#[repr(C)]
7596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7597pub struct ExportFenceWin32HandleInfoKHR {
7598 pub s_type: StructureType,
7599 pub next: *const c_void,
7600 pub attributes: *const SECURITY_ATTRIBUTES,
7601 pub dw_access: DWORD,
7602 pub name: LPCWSTR,
7603}
7604
7605impl Default for ExportFenceWin32HandleInfoKHR {
7606 #[inline]
7607 fn default() -> Self {
7608 Self {
7609 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
7610 next: ptr::null(),
7611 attributes: ptr::null(),
7612 dw_access: DWORD::default(),
7613 name: ptr::null_mut(),
7614 }
7615 }
7616}
7617
7618unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
7619unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
7620
7621#[repr(C)]
7623#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7624pub struct ExportMemoryAllocateInfo {
7625 pub s_type: StructureType,
7626 pub next: *const c_void,
7627 pub handle_types: ExternalMemoryHandleTypeFlags,
7628}
7629
7630impl Default for ExportMemoryAllocateInfo {
7631 #[inline]
7632 fn default() -> Self {
7633 Self {
7634 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
7635 next: ptr::null(),
7636 handle_types: ExternalMemoryHandleTypeFlags::default(),
7637 }
7638 }
7639}
7640
7641unsafe impl Send for ExportMemoryAllocateInfo {}
7642unsafe impl Sync for ExportMemoryAllocateInfo {}
7643
7644#[repr(C)]
7646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7647pub struct ExportMemoryAllocateInfoNV {
7648 pub s_type: StructureType,
7649 pub next: *const c_void,
7650 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7651}
7652
7653impl Default for ExportMemoryAllocateInfoNV {
7654 #[inline]
7655 fn default() -> Self {
7656 Self {
7657 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
7658 next: ptr::null(),
7659 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7660 }
7661 }
7662}
7663
7664unsafe impl Send for ExportMemoryAllocateInfoNV {}
7665unsafe impl Sync for ExportMemoryAllocateInfoNV {}
7666
7667#[repr(C)]
7669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7670pub struct ExportMemorySciBufInfoNV {
7671 pub s_type: StructureType,
7672 pub next: *const c_void,
7673 pub attributes: NvSciBufAttrList,
7674}
7675
7676impl Default for ExportMemorySciBufInfoNV {
7677 #[inline]
7678 fn default() -> Self {
7679 Self {
7680 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
7681 next: ptr::null(),
7682 attributes: ptr::null_mut(),
7683 }
7684 }
7685}
7686
7687unsafe impl Send for ExportMemorySciBufInfoNV {}
7688unsafe impl Sync for ExportMemorySciBufInfoNV {}
7689
7690#[repr(C)]
7692#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7693pub struct ExportMemoryWin32HandleInfoKHR {
7694 pub s_type: StructureType,
7695 pub next: *const c_void,
7696 pub attributes: *const SECURITY_ATTRIBUTES,
7697 pub dw_access: DWORD,
7698 pub name: LPCWSTR,
7699}
7700
7701impl Default for ExportMemoryWin32HandleInfoKHR {
7702 #[inline]
7703 fn default() -> Self {
7704 Self {
7705 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
7706 next: ptr::null(),
7707 attributes: ptr::null(),
7708 dw_access: DWORD::default(),
7709 name: ptr::null_mut(),
7710 }
7711 }
7712}
7713
7714unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
7715unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
7716
7717#[repr(C)]
7719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7720pub struct ExportMemoryWin32HandleInfoNV {
7721 pub s_type: StructureType,
7722 pub next: *const c_void,
7723 pub attributes: *const SECURITY_ATTRIBUTES,
7724 pub dw_access: DWORD,
7725}
7726
7727impl Default for ExportMemoryWin32HandleInfoNV {
7728 #[inline]
7729 fn default() -> Self {
7730 Self {
7731 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
7732 next: ptr::null(),
7733 attributes: ptr::null(),
7734 dw_access: DWORD::default(),
7735 }
7736 }
7737}
7738
7739unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
7740unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
7741
7742#[repr(C)]
7744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7745pub struct ExportMetalBufferInfoEXT {
7746 pub s_type: StructureType,
7747 pub next: *const c_void,
7748 pub memory: DeviceMemory,
7749 pub mtl_buffer: MTLBuffer_id,
7750}
7751
7752impl Default for ExportMetalBufferInfoEXT {
7753 #[inline]
7754 fn default() -> Self {
7755 Self {
7756 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
7757 next: ptr::null(),
7758 memory: DeviceMemory::default(),
7759 mtl_buffer: ptr::null_mut(),
7760 }
7761 }
7762}
7763
7764unsafe impl Send for ExportMetalBufferInfoEXT {}
7765unsafe impl Sync for ExportMetalBufferInfoEXT {}
7766
7767#[repr(C)]
7769#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7770pub struct ExportMetalCommandQueueInfoEXT {
7771 pub s_type: StructureType,
7772 pub next: *const c_void,
7773 pub queue: Queue,
7774 pub mtl_command_queue: MTLCommandQueue_id,
7775}
7776
7777impl Default for ExportMetalCommandQueueInfoEXT {
7778 #[inline]
7779 fn default() -> Self {
7780 Self {
7781 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
7782 next: ptr::null(),
7783 queue: Queue::default(),
7784 mtl_command_queue: ptr::null_mut(),
7785 }
7786 }
7787}
7788
7789unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
7790unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
7791
7792#[repr(C)]
7794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7795pub struct ExportMetalDeviceInfoEXT {
7796 pub s_type: StructureType,
7797 pub next: *const c_void,
7798 pub mtl_device: MTLDevice_id,
7799}
7800
7801impl Default for ExportMetalDeviceInfoEXT {
7802 #[inline]
7803 fn default() -> Self {
7804 Self {
7805 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
7806 next: ptr::null(),
7807 mtl_device: ptr::null_mut(),
7808 }
7809 }
7810}
7811
7812unsafe impl Send for ExportMetalDeviceInfoEXT {}
7813unsafe impl Sync for ExportMetalDeviceInfoEXT {}
7814
7815#[repr(C)]
7817#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7818pub struct ExportMetalIOSurfaceInfoEXT {
7819 pub s_type: StructureType,
7820 pub next: *const c_void,
7821 pub image: Image,
7822 pub io_surface: IOSurfaceRef,
7823}
7824
7825impl Default for ExportMetalIOSurfaceInfoEXT {
7826 #[inline]
7827 fn default() -> Self {
7828 Self {
7829 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
7830 next: ptr::null(),
7831 image: Image::default(),
7832 io_surface: ptr::null_mut(),
7833 }
7834 }
7835}
7836
7837unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
7838unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
7839
7840#[repr(C)]
7842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7843pub struct ExportMetalObjectCreateInfoEXT {
7844 pub s_type: StructureType,
7845 pub next: *const c_void,
7846 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
7847}
7848
7849impl Default for ExportMetalObjectCreateInfoEXT {
7850 #[inline]
7851 fn default() -> Self {
7852 Self {
7853 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
7854 next: ptr::null(),
7855 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
7856 }
7857 }
7858}
7859
7860unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
7861unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
7862
7863#[repr(C)]
7865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7866pub struct ExportMetalObjectsInfoEXT {
7867 pub s_type: StructureType,
7868 pub next: *const c_void,
7869}
7870
7871impl Default for ExportMetalObjectsInfoEXT {
7872 #[inline]
7873 fn default() -> Self {
7874 Self {
7875 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
7876 next: ptr::null(),
7877 }
7878 }
7879}
7880
7881unsafe impl Send for ExportMetalObjectsInfoEXT {}
7882unsafe impl Sync for ExportMetalObjectsInfoEXT {}
7883
7884#[repr(C)]
7886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7887pub struct ExportMetalSharedEventInfoEXT {
7888 pub s_type: StructureType,
7889 pub next: *const c_void,
7890 pub semaphore: Semaphore,
7891 pub event: Event,
7892 pub mtl_shared_event: MTLSharedEvent_id,
7893}
7894
7895impl Default for ExportMetalSharedEventInfoEXT {
7896 #[inline]
7897 fn default() -> Self {
7898 Self {
7899 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
7900 next: ptr::null(),
7901 semaphore: Semaphore::default(),
7902 event: Event::default(),
7903 mtl_shared_event: ptr::null_mut(),
7904 }
7905 }
7906}
7907
7908unsafe impl Send for ExportMetalSharedEventInfoEXT {}
7909unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
7910
7911#[repr(C)]
7913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7914pub struct ExportMetalTextureInfoEXT {
7915 pub s_type: StructureType,
7916 pub next: *const c_void,
7917 pub image: Image,
7918 pub image_view: ImageView,
7919 pub buffer_view: BufferView,
7920 pub plane: ImageAspectFlags,
7921 pub mtl_texture: MTLTexture_id,
7922}
7923
7924impl Default for ExportMetalTextureInfoEXT {
7925 #[inline]
7926 fn default() -> Self {
7927 Self {
7928 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
7929 next: ptr::null(),
7930 image: Image::default(),
7931 image_view: ImageView::default(),
7932 buffer_view: BufferView::default(),
7933 plane: ImageAspectFlags::default(),
7934 mtl_texture: ptr::null_mut(),
7935 }
7936 }
7937}
7938
7939unsafe impl Send for ExportMetalTextureInfoEXT {}
7940unsafe impl Sync for ExportMetalTextureInfoEXT {}
7941
7942#[repr(C)]
7944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7945pub struct ExportSemaphoreCreateInfo {
7946 pub s_type: StructureType,
7947 pub next: *const c_void,
7948 pub handle_types: ExternalSemaphoreHandleTypeFlags,
7949}
7950
7951impl Default for ExportSemaphoreCreateInfo {
7952 #[inline]
7953 fn default() -> Self {
7954 Self {
7955 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
7956 next: ptr::null(),
7957 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7958 }
7959 }
7960}
7961
7962unsafe impl Send for ExportSemaphoreCreateInfo {}
7963unsafe impl Sync for ExportSemaphoreCreateInfo {}
7964
7965#[repr(C)]
7967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7968pub struct ExportSemaphoreSciSyncInfoNV {
7969 pub s_type: StructureType,
7970 pub next: *const c_void,
7971 pub attributes: NvSciSyncAttrList,
7972}
7973
7974impl Default for ExportSemaphoreSciSyncInfoNV {
7975 #[inline]
7976 fn default() -> Self {
7977 Self {
7978 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
7979 next: ptr::null(),
7980 attributes: ptr::null_mut(),
7981 }
7982 }
7983}
7984
7985unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
7986unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
7987
7988#[repr(C)]
7990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7991pub struct ExportSemaphoreWin32HandleInfoKHR {
7992 pub s_type: StructureType,
7993 pub next: *const c_void,
7994 pub attributes: *const SECURITY_ATTRIBUTES,
7995 pub dw_access: DWORD,
7996 pub name: LPCWSTR,
7997}
7998
7999impl Default for ExportSemaphoreWin32HandleInfoKHR {
8000 #[inline]
8001 fn default() -> Self {
8002 Self {
8003 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
8004 next: ptr::null(),
8005 attributes: ptr::null(),
8006 dw_access: DWORD::default(),
8007 name: ptr::null_mut(),
8008 }
8009 }
8010}
8011
8012unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
8013unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
8014
8015#[repr(C)]
8017#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8018pub struct ExtensionProperties {
8019 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
8020 pub spec_version: u32,
8021}
8022
8023#[repr(C)]
8025#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8026pub struct Extent2D {
8027 pub width: u32,
8028 pub height: u32,
8029}
8030
8031#[repr(C)]
8033#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8034pub struct Extent3D {
8035 pub width: u32,
8036 pub height: u32,
8037 pub depth: u32,
8038}
8039
8040#[repr(C)]
8042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8043pub struct ExternalBufferProperties {
8044 pub s_type: StructureType,
8045 pub next: *mut c_void,
8046 pub external_memory_properties: ExternalMemoryProperties,
8047}
8048
8049impl Default for ExternalBufferProperties {
8050 #[inline]
8051 fn default() -> Self {
8052 Self {
8053 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
8054 next: ptr::null_mut(),
8055 external_memory_properties: ExternalMemoryProperties::default(),
8056 }
8057 }
8058}
8059
8060unsafe impl Send for ExternalBufferProperties {}
8061unsafe impl Sync for ExternalBufferProperties {}
8062
8063#[repr(C)]
8065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8066pub struct ExternalComputeQueueCreateInfoNV {
8067 pub s_type: StructureType,
8068 pub next: *const c_void,
8069 pub preferred_queue: Queue,
8070}
8071
8072impl Default for ExternalComputeQueueCreateInfoNV {
8073 #[inline]
8074 fn default() -> Self {
8075 Self {
8076 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
8077 next: ptr::null(),
8078 preferred_queue: Queue::default(),
8079 }
8080 }
8081}
8082
8083unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
8084unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
8085
8086#[repr(C)]
8088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8089pub struct ExternalComputeQueueDataParamsNV {
8090 pub s_type: StructureType,
8091 pub next: *const c_void,
8092 pub device_index: u32,
8093}
8094
8095impl Default for ExternalComputeQueueDataParamsNV {
8096 #[inline]
8097 fn default() -> Self {
8098 Self {
8099 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
8100 next: ptr::null(),
8101 device_index: u32::default(),
8102 }
8103 }
8104}
8105
8106unsafe impl Send for ExternalComputeQueueDataParamsNV {}
8107unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
8108
8109#[repr(C)]
8111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8112pub struct ExternalComputeQueueDeviceCreateInfoNV {
8113 pub s_type: StructureType,
8114 pub next: *const c_void,
8115 pub reserved_external_queues: u32,
8116}
8117
8118impl Default for ExternalComputeQueueDeviceCreateInfoNV {
8119 #[inline]
8120 fn default() -> Self {
8121 Self {
8122 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
8123 next: ptr::null(),
8124 reserved_external_queues: u32::default(),
8125 }
8126 }
8127}
8128
8129unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
8130unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
8131
8132#[repr(C)]
8134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8135pub struct ExternalFenceProperties {
8136 pub s_type: StructureType,
8137 pub next: *mut c_void,
8138 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
8139 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
8140 pub external_fence_features: ExternalFenceFeatureFlags,
8141}
8142
8143impl Default for ExternalFenceProperties {
8144 #[inline]
8145 fn default() -> Self {
8146 Self {
8147 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
8148 next: ptr::null_mut(),
8149 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
8150 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
8151 external_fence_features: ExternalFenceFeatureFlags::default(),
8152 }
8153 }
8154}
8155
8156unsafe impl Send for ExternalFenceProperties {}
8157unsafe impl Sync for ExternalFenceProperties {}
8158
8159#[repr(C)]
8161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8162pub struct ExternalFormatANDROID {
8163 pub s_type: StructureType,
8164 pub next: *mut c_void,
8165 pub external_format: u64,
8166}
8167
8168impl Default for ExternalFormatANDROID {
8169 #[inline]
8170 fn default() -> Self {
8171 Self {
8172 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
8173 next: ptr::null_mut(),
8174 external_format: u64::default(),
8175 }
8176 }
8177}
8178
8179unsafe impl Send for ExternalFormatANDROID {}
8180unsafe impl Sync for ExternalFormatANDROID {}
8181
8182#[repr(C)]
8184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8185pub struct ExternalFormatOHOS {
8186 pub s_type: StructureType,
8187 pub next: *mut c_void,
8188 pub external_format: u64,
8189}
8190
8191impl Default for ExternalFormatOHOS {
8192 #[inline]
8193 fn default() -> Self {
8194 Self {
8195 s_type: StructureType::EXTERNAL_FORMAT_OHOS,
8196 next: ptr::null_mut(),
8197 external_format: u64::default(),
8198 }
8199 }
8200}
8201
8202unsafe impl Send for ExternalFormatOHOS {}
8203unsafe impl Sync for ExternalFormatOHOS {}
8204
8205#[repr(C)]
8207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8208pub struct ExternalFormatQNX {
8209 pub s_type: StructureType,
8210 pub next: *mut c_void,
8211 pub external_format: u64,
8212}
8213
8214impl Default for ExternalFormatQNX {
8215 #[inline]
8216 fn default() -> Self {
8217 Self {
8218 s_type: StructureType::EXTERNAL_FORMAT_QNX,
8219 next: ptr::null_mut(),
8220 external_format: u64::default(),
8221 }
8222 }
8223}
8224
8225unsafe impl Send for ExternalFormatQNX {}
8226unsafe impl Sync for ExternalFormatQNX {}
8227
8228#[repr(C)]
8230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8231pub struct ExternalImageFormatProperties {
8232 pub s_type: StructureType,
8233 pub next: *mut c_void,
8234 pub external_memory_properties: ExternalMemoryProperties,
8235}
8236
8237impl Default for ExternalImageFormatProperties {
8238 #[inline]
8239 fn default() -> Self {
8240 Self {
8241 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
8242 next: ptr::null_mut(),
8243 external_memory_properties: ExternalMemoryProperties::default(),
8244 }
8245 }
8246}
8247
8248unsafe impl Send for ExternalImageFormatProperties {}
8249unsafe impl Sync for ExternalImageFormatProperties {}
8250
8251#[repr(C)]
8253#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8254pub struct ExternalImageFormatPropertiesNV {
8255 pub image_format_properties: ImageFormatProperties,
8256 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
8257 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
8258 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
8259}
8260
8261#[repr(C)]
8263#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8264pub struct ExternalMemoryAcquireUnmodifiedEXT {
8265 pub s_type: StructureType,
8266 pub next: *const c_void,
8267 pub acquire_unmodified_memory: Bool32,
8268}
8269
8270impl Default for ExternalMemoryAcquireUnmodifiedEXT {
8271 #[inline]
8272 fn default() -> Self {
8273 Self {
8274 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
8275 next: ptr::null(),
8276 acquire_unmodified_memory: Bool32::default(),
8277 }
8278 }
8279}
8280
8281unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
8282unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
8283
8284#[repr(C)]
8286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8287pub struct ExternalMemoryBufferCreateInfo {
8288 pub s_type: StructureType,
8289 pub next: *const c_void,
8290 pub handle_types: ExternalMemoryHandleTypeFlags,
8291}
8292
8293impl Default for ExternalMemoryBufferCreateInfo {
8294 #[inline]
8295 fn default() -> Self {
8296 Self {
8297 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
8298 next: ptr::null(),
8299 handle_types: ExternalMemoryHandleTypeFlags::default(),
8300 }
8301 }
8302}
8303
8304unsafe impl Send for ExternalMemoryBufferCreateInfo {}
8305unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
8306
8307#[repr(C)]
8309#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8310pub struct ExternalMemoryImageCreateInfo {
8311 pub s_type: StructureType,
8312 pub next: *const c_void,
8313 pub handle_types: ExternalMemoryHandleTypeFlags,
8314}
8315
8316impl Default for ExternalMemoryImageCreateInfo {
8317 #[inline]
8318 fn default() -> Self {
8319 Self {
8320 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
8321 next: ptr::null(),
8322 handle_types: ExternalMemoryHandleTypeFlags::default(),
8323 }
8324 }
8325}
8326
8327unsafe impl Send for ExternalMemoryImageCreateInfo {}
8328unsafe impl Sync for ExternalMemoryImageCreateInfo {}
8329
8330#[repr(C)]
8332#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8333pub struct ExternalMemoryImageCreateInfoNV {
8334 pub s_type: StructureType,
8335 pub next: *const c_void,
8336 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
8337}
8338
8339impl Default for ExternalMemoryImageCreateInfoNV {
8340 #[inline]
8341 fn default() -> Self {
8342 Self {
8343 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
8344 next: ptr::null(),
8345 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
8346 }
8347 }
8348}
8349
8350unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
8351unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
8352
8353#[repr(C)]
8355#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8356pub struct ExternalMemoryProperties {
8357 pub external_memory_features: ExternalMemoryFeatureFlags,
8358 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
8359 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
8360}
8361
8362#[repr(C)]
8364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8365pub struct ExternalMemoryTensorCreateInfoARM {
8366 pub s_type: StructureType,
8367 pub next: *const c_void,
8368 pub handle_types: ExternalMemoryHandleTypeFlags,
8369}
8370
8371impl Default for ExternalMemoryTensorCreateInfoARM {
8372 #[inline]
8373 fn default() -> Self {
8374 Self {
8375 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
8376 next: ptr::null(),
8377 handle_types: ExternalMemoryHandleTypeFlags::default(),
8378 }
8379 }
8380}
8381
8382unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
8383unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
8384
8385#[repr(C)]
8387#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8388pub struct ExternalSemaphoreProperties {
8389 pub s_type: StructureType,
8390 pub next: *mut c_void,
8391 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
8392 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
8393 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
8394}
8395
8396impl Default for ExternalSemaphoreProperties {
8397 #[inline]
8398 fn default() -> Self {
8399 Self {
8400 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
8401 next: ptr::null_mut(),
8402 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8403 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8404 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
8405 }
8406 }
8407}
8408
8409unsafe impl Send for ExternalSemaphoreProperties {}
8410unsafe impl Sync for ExternalSemaphoreProperties {}
8411
8412#[repr(C)]
8414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8415pub struct ExternalTensorPropertiesARM {
8416 pub s_type: StructureType,
8417 pub next: *const c_void,
8418 pub external_memory_properties: ExternalMemoryProperties,
8419}
8420
8421impl Default for ExternalTensorPropertiesARM {
8422 #[inline]
8423 fn default() -> Self {
8424 Self {
8425 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
8426 next: ptr::null(),
8427 external_memory_properties: ExternalMemoryProperties::default(),
8428 }
8429 }
8430}
8431
8432unsafe impl Send for ExternalTensorPropertiesARM {}
8433unsafe impl Sync for ExternalTensorPropertiesARM {}
8434
8435#[repr(C)]
8437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8438pub struct FenceCreateInfo {
8439 pub s_type: StructureType,
8440 pub next: *const c_void,
8441 pub flags: FenceCreateFlags,
8442}
8443
8444impl Default for FenceCreateInfo {
8445 #[inline]
8446 fn default() -> Self {
8447 Self {
8448 s_type: StructureType::FENCE_CREATE_INFO,
8449 next: ptr::null(),
8450 flags: FenceCreateFlags::default(),
8451 }
8452 }
8453}
8454
8455unsafe impl Send for FenceCreateInfo {}
8456unsafe impl Sync for FenceCreateInfo {}
8457
8458#[repr(C)]
8460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8461pub struct FenceGetFdInfoKHR {
8462 pub s_type: StructureType,
8463 pub next: *const c_void,
8464 pub fence: Fence,
8465 pub handle_type: ExternalFenceHandleTypeFlags,
8466}
8467
8468impl Default for FenceGetFdInfoKHR {
8469 #[inline]
8470 fn default() -> Self {
8471 Self {
8472 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
8473 next: ptr::null(),
8474 fence: Fence::default(),
8475 handle_type: ExternalFenceHandleTypeFlags::default(),
8476 }
8477 }
8478}
8479
8480unsafe impl Send for FenceGetFdInfoKHR {}
8481unsafe impl Sync for FenceGetFdInfoKHR {}
8482
8483#[repr(C)]
8485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8486pub struct FenceGetSciSyncInfoNV {
8487 pub s_type: StructureType,
8488 pub next: *const c_void,
8489 pub fence: Fence,
8490 pub handle_type: ExternalFenceHandleTypeFlags,
8491}
8492
8493impl Default for FenceGetSciSyncInfoNV {
8494 #[inline]
8495 fn default() -> Self {
8496 Self {
8497 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
8498 next: ptr::null(),
8499 fence: Fence::default(),
8500 handle_type: ExternalFenceHandleTypeFlags::default(),
8501 }
8502 }
8503}
8504
8505unsafe impl Send for FenceGetSciSyncInfoNV {}
8506unsafe impl Sync for FenceGetSciSyncInfoNV {}
8507
8508#[repr(C)]
8510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8511pub struct FenceGetWin32HandleInfoKHR {
8512 pub s_type: StructureType,
8513 pub next: *const c_void,
8514 pub fence: Fence,
8515 pub handle_type: ExternalFenceHandleTypeFlags,
8516}
8517
8518impl Default for FenceGetWin32HandleInfoKHR {
8519 #[inline]
8520 fn default() -> Self {
8521 Self {
8522 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
8523 next: ptr::null(),
8524 fence: Fence::default(),
8525 handle_type: ExternalFenceHandleTypeFlags::default(),
8526 }
8527 }
8528}
8529
8530unsafe impl Send for FenceGetWin32HandleInfoKHR {}
8531unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
8532
8533#[repr(C)]
8535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8536pub struct FilterCubicImageViewImageFormatPropertiesEXT {
8537 pub s_type: StructureType,
8538 pub next: *mut c_void,
8539 pub filter_cubic: Bool32,
8540 pub filter_cubic_minmax: Bool32,
8541}
8542
8543impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
8544 #[inline]
8545 fn default() -> Self {
8546 Self {
8547 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
8548 next: ptr::null_mut(),
8549 filter_cubic: Bool32::default(),
8550 filter_cubic_minmax: Bool32::default(),
8551 }
8552 }
8553}
8554
8555unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
8556unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
8557
8558#[repr(C)]
8560#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8561pub struct FormatProperties {
8562 pub linear_tiling_features: FormatFeatureFlags,
8563 pub optimal_tiling_features: FormatFeatureFlags,
8564 pub buffer_features: FormatFeatureFlags,
8565}
8566
8567#[repr(C)]
8569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8570pub struct FormatProperties2 {
8571 pub s_type: StructureType,
8572 pub next: *mut c_void,
8573 pub format_properties: FormatProperties,
8574}
8575
8576impl Default for FormatProperties2 {
8577 #[inline]
8578 fn default() -> Self {
8579 Self {
8580 s_type: StructureType::FORMAT_PROPERTIES_2,
8581 next: ptr::null_mut(),
8582 format_properties: FormatProperties::default(),
8583 }
8584 }
8585}
8586
8587unsafe impl Send for FormatProperties2 {}
8588unsafe impl Sync for FormatProperties2 {}
8589
8590#[repr(C)]
8592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8593pub struct FormatProperties3 {
8594 pub s_type: StructureType,
8595 pub next: *mut c_void,
8596 pub linear_tiling_features: FormatFeatureFlags2,
8597 pub optimal_tiling_features: FormatFeatureFlags2,
8598 pub buffer_features: FormatFeatureFlags2,
8599}
8600
8601impl Default for FormatProperties3 {
8602 #[inline]
8603 fn default() -> Self {
8604 Self {
8605 s_type: StructureType::FORMAT_PROPERTIES_3,
8606 next: ptr::null_mut(),
8607 linear_tiling_features: FormatFeatureFlags2::default(),
8608 optimal_tiling_features: FormatFeatureFlags2::default(),
8609 buffer_features: FormatFeatureFlags2::default(),
8610 }
8611 }
8612}
8613
8614unsafe impl Send for FormatProperties3 {}
8615unsafe impl Sync for FormatProperties3 {}
8616
8617#[repr(C)]
8619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8620pub struct FragmentShadingRateAttachmentInfoKHR {
8621 pub s_type: StructureType,
8622 pub next: *const c_void,
8623 pub fragment_shading_rate_attachment: *const AttachmentReference2,
8624 pub shading_rate_attachment_texel_size: Extent2D,
8625}
8626
8627impl Default for FragmentShadingRateAttachmentInfoKHR {
8628 #[inline]
8629 fn default() -> Self {
8630 Self {
8631 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
8632 next: ptr::null(),
8633 fragment_shading_rate_attachment: ptr::null(),
8634 shading_rate_attachment_texel_size: Extent2D::default(),
8635 }
8636 }
8637}
8638
8639unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
8640unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
8641
8642#[repr(C)]
8644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8645pub struct FrameBoundaryEXT {
8646 pub s_type: StructureType,
8647 pub next: *const c_void,
8648 pub flags: FrameBoundaryFlagsEXT,
8649 pub frame_id: u64,
8650 pub image_count: u32,
8651 pub images: *const Image,
8652 pub buffer_count: u32,
8653 pub buffers: *const Buffer,
8654 pub tag_name: u64,
8655 pub tag_size: usize,
8656 pub tag: *const c_void,
8657}
8658
8659impl Default for FrameBoundaryEXT {
8660 #[inline]
8661 fn default() -> Self {
8662 Self {
8663 s_type: StructureType::FRAME_BOUNDARY_EXT,
8664 next: ptr::null(),
8665 flags: FrameBoundaryFlagsEXT::default(),
8666 frame_id: u64::default(),
8667 image_count: u32::default(),
8668 images: ptr::null(),
8669 buffer_count: u32::default(),
8670 buffers: ptr::null(),
8671 tag_name: u64::default(),
8672 tag_size: usize::default(),
8673 tag: ptr::null(),
8674 }
8675 }
8676}
8677
8678unsafe impl Send for FrameBoundaryEXT {}
8679unsafe impl Sync for FrameBoundaryEXT {}
8680
8681#[repr(C)]
8683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8684pub struct FrameBoundaryTensorsARM {
8685 pub s_type: StructureType,
8686 pub next: *const c_void,
8687 pub tensor_count: u32,
8688 pub tensors: *const TensorARM,
8689}
8690
8691impl Default for FrameBoundaryTensorsARM {
8692 #[inline]
8693 fn default() -> Self {
8694 Self {
8695 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
8696 next: ptr::null(),
8697 tensor_count: u32::default(),
8698 tensors: ptr::null(),
8699 }
8700 }
8701}
8702
8703unsafe impl Send for FrameBoundaryTensorsARM {}
8704unsafe impl Sync for FrameBoundaryTensorsARM {}
8705
8706#[repr(C)]
8708#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8709pub struct FramebufferAttachmentImageInfo {
8710 pub s_type: StructureType,
8711 pub next: *const c_void,
8712 pub flags: ImageCreateFlags,
8713 pub usage: ImageUsageFlags,
8714 pub width: u32,
8715 pub height: u32,
8716 pub layer_count: u32,
8717 pub view_format_count: u32,
8718 pub view_formats: *const Format,
8719}
8720
8721impl Default for FramebufferAttachmentImageInfo {
8722 #[inline]
8723 fn default() -> Self {
8724 Self {
8725 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
8726 next: ptr::null(),
8727 flags: ImageCreateFlags::default(),
8728 usage: ImageUsageFlags::default(),
8729 width: u32::default(),
8730 height: u32::default(),
8731 layer_count: u32::default(),
8732 view_format_count: u32::default(),
8733 view_formats: ptr::null(),
8734 }
8735 }
8736}
8737
8738unsafe impl Send for FramebufferAttachmentImageInfo {}
8739unsafe impl Sync for FramebufferAttachmentImageInfo {}
8740
8741#[repr(C)]
8743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8744pub struct FramebufferAttachmentsCreateInfo {
8745 pub s_type: StructureType,
8746 pub next: *const c_void,
8747 pub attachment_image_info_count: u32,
8748 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
8749}
8750
8751impl Default for FramebufferAttachmentsCreateInfo {
8752 #[inline]
8753 fn default() -> Self {
8754 Self {
8755 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
8756 next: ptr::null(),
8757 attachment_image_info_count: u32::default(),
8758 attachment_image_infos: ptr::null(),
8759 }
8760 }
8761}
8762
8763unsafe impl Send for FramebufferAttachmentsCreateInfo {}
8764unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
8765
8766#[repr(C)]
8768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8769pub struct FramebufferCreateInfo {
8770 pub s_type: StructureType,
8771 pub next: *const c_void,
8772 pub flags: FramebufferCreateFlags,
8773 pub render_pass: RenderPass,
8774 pub attachment_count: u32,
8775 pub attachments: *const ImageView,
8776 pub width: u32,
8777 pub height: u32,
8778 pub layers: u32,
8779}
8780
8781impl Default for FramebufferCreateInfo {
8782 #[inline]
8783 fn default() -> Self {
8784 Self {
8785 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
8786 next: ptr::null(),
8787 flags: FramebufferCreateFlags::default(),
8788 render_pass: RenderPass::default(),
8789 attachment_count: u32::default(),
8790 attachments: ptr::null(),
8791 width: u32::default(),
8792 height: u32::default(),
8793 layers: u32::default(),
8794 }
8795 }
8796}
8797
8798unsafe impl Send for FramebufferCreateInfo {}
8799unsafe impl Sync for FramebufferCreateInfo {}
8800
8801#[repr(C)]
8803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8804pub struct FramebufferMixedSamplesCombinationNV {
8805 pub s_type: StructureType,
8806 pub next: *mut c_void,
8807 pub coverage_reduction_mode: CoverageReductionModeNV,
8808 pub rasterization_samples: SampleCountFlags,
8809 pub depth_stencil_samples: SampleCountFlags,
8810 pub color_samples: SampleCountFlags,
8811}
8812
8813impl Default for FramebufferMixedSamplesCombinationNV {
8814 #[inline]
8815 fn default() -> Self {
8816 Self {
8817 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
8818 next: ptr::null_mut(),
8819 coverage_reduction_mode: CoverageReductionModeNV::default(),
8820 rasterization_samples: SampleCountFlags::default(),
8821 depth_stencil_samples: SampleCountFlags::default(),
8822 color_samples: SampleCountFlags::default(),
8823 }
8824 }
8825}
8826
8827unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
8828unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
8829
8830#[repr(C)]
8832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8833pub struct GeneratedCommandsInfoEXT {
8834 pub s_type: StructureType,
8835 pub next: *const c_void,
8836 pub shader_stages: ShaderStageFlags,
8837 pub indirect_execution_set: IndirectExecutionSetEXT,
8838 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8839 pub indirect_address: DeviceAddress,
8840 pub indirect_address_size: DeviceSize,
8841 pub preprocess_address: DeviceAddress,
8842 pub preprocess_size: DeviceSize,
8843 pub max_sequence_count: u32,
8844 pub sequence_count_address: DeviceAddress,
8845 pub max_draw_count: u32,
8846}
8847
8848impl Default for GeneratedCommandsInfoEXT {
8849 #[inline]
8850 fn default() -> Self {
8851 Self {
8852 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
8853 next: ptr::null(),
8854 shader_stages: ShaderStageFlags::default(),
8855 indirect_execution_set: IndirectExecutionSetEXT::default(),
8856 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8857 indirect_address: DeviceAddress::default(),
8858 indirect_address_size: DeviceSize::default(),
8859 preprocess_address: DeviceAddress::default(),
8860 preprocess_size: DeviceSize::default(),
8861 max_sequence_count: u32::default(),
8862 sequence_count_address: DeviceAddress::default(),
8863 max_draw_count: u32::default(),
8864 }
8865 }
8866}
8867
8868unsafe impl Send for GeneratedCommandsInfoEXT {}
8869unsafe impl Sync for GeneratedCommandsInfoEXT {}
8870
8871#[repr(C)]
8873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8874pub struct GeneratedCommandsInfoNV {
8875 pub s_type: StructureType,
8876 pub next: *const c_void,
8877 pub pipeline_bind_point: PipelineBindPoint,
8878 pub pipeline: Pipeline,
8879 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8880 pub stream_count: u32,
8881 pub streams: *const IndirectCommandsStreamNV,
8882 pub sequences_count: u32,
8883 pub preprocess_buffer: Buffer,
8884 pub preprocess_offset: DeviceSize,
8885 pub preprocess_size: DeviceSize,
8886 pub sequences_count_buffer: Buffer,
8887 pub sequences_count_offset: DeviceSize,
8888 pub sequences_index_buffer: Buffer,
8889 pub sequences_index_offset: DeviceSize,
8890}
8891
8892impl Default for GeneratedCommandsInfoNV {
8893 #[inline]
8894 fn default() -> Self {
8895 Self {
8896 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
8897 next: ptr::null(),
8898 pipeline_bind_point: PipelineBindPoint::default(),
8899 pipeline: Pipeline::default(),
8900 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8901 stream_count: u32::default(),
8902 streams: ptr::null(),
8903 sequences_count: u32::default(),
8904 preprocess_buffer: Buffer::default(),
8905 preprocess_offset: DeviceSize::default(),
8906 preprocess_size: DeviceSize::default(),
8907 sequences_count_buffer: Buffer::default(),
8908 sequences_count_offset: DeviceSize::default(),
8909 sequences_index_buffer: Buffer::default(),
8910 sequences_index_offset: DeviceSize::default(),
8911 }
8912 }
8913}
8914
8915unsafe impl Send for GeneratedCommandsInfoNV {}
8916unsafe impl Sync for GeneratedCommandsInfoNV {}
8917
8918#[repr(C)]
8920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8921pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
8922 pub s_type: StructureType,
8923 pub next: *const c_void,
8924 pub indirect_execution_set: IndirectExecutionSetEXT,
8925 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8926 pub max_sequence_count: u32,
8927 pub max_draw_count: u32,
8928}
8929
8930impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
8931 #[inline]
8932 fn default() -> Self {
8933 Self {
8934 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
8935 next: ptr::null(),
8936 indirect_execution_set: IndirectExecutionSetEXT::default(),
8937 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8938 max_sequence_count: u32::default(),
8939 max_draw_count: u32::default(),
8940 }
8941 }
8942}
8943
8944unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
8945unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
8946
8947#[repr(C)]
8949#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8950pub struct GeneratedCommandsMemoryRequirementsInfoNV {
8951 pub s_type: StructureType,
8952 pub next: *const c_void,
8953 pub pipeline_bind_point: PipelineBindPoint,
8954 pub pipeline: Pipeline,
8955 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8956 pub max_sequences_count: u32,
8957}
8958
8959impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
8960 #[inline]
8961 fn default() -> Self {
8962 Self {
8963 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
8964 next: ptr::null(),
8965 pipeline_bind_point: PipelineBindPoint::default(),
8966 pipeline: Pipeline::default(),
8967 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8968 max_sequences_count: u32::default(),
8969 }
8970 }
8971}
8972
8973unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
8974unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
8975
8976#[repr(C)]
8978#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8979pub struct GeneratedCommandsPipelineInfoEXT {
8980 pub s_type: StructureType,
8981 pub next: *mut c_void,
8982 pub pipeline: Pipeline,
8983}
8984
8985impl Default for GeneratedCommandsPipelineInfoEXT {
8986 #[inline]
8987 fn default() -> Self {
8988 Self {
8989 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
8990 next: ptr::null_mut(),
8991 pipeline: Pipeline::default(),
8992 }
8993 }
8994}
8995
8996unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
8997unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
8998
8999#[repr(C)]
9001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9002pub struct GeneratedCommandsShaderInfoEXT {
9003 pub s_type: StructureType,
9004 pub next: *mut c_void,
9005 pub shader_count: u32,
9006 pub shaders: *const ShaderEXT,
9007}
9008
9009impl Default for GeneratedCommandsShaderInfoEXT {
9010 #[inline]
9011 fn default() -> Self {
9012 Self {
9013 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
9014 next: ptr::null_mut(),
9015 shader_count: u32::default(),
9016 shaders: ptr::null(),
9017 }
9018 }
9019}
9020
9021unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
9022unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
9023
9024#[repr(C)]
9026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9027pub struct GeometryAABBNV {
9028 pub s_type: StructureType,
9029 pub next: *const c_void,
9030 pub aabb_data: Buffer,
9031 pub num_aab_bs: u32,
9032 pub stride: u32,
9033 pub offset: DeviceSize,
9034}
9035
9036impl Default for GeometryAABBNV {
9037 #[inline]
9038 fn default() -> Self {
9039 Self {
9040 s_type: StructureType::GEOMETRY_AABB_NV,
9041 next: ptr::null(),
9042 aabb_data: Buffer::default(),
9043 num_aab_bs: u32::default(),
9044 stride: u32::default(),
9045 offset: DeviceSize::default(),
9046 }
9047 }
9048}
9049
9050unsafe impl Send for GeometryAABBNV {}
9051unsafe impl Sync for GeometryAABBNV {}
9052
9053#[repr(C)]
9055#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9056pub struct GeometryDataNV {
9057 pub triangles: GeometryTrianglesNV,
9058 pub aabbs: GeometryAABBNV,
9059}
9060
9061#[repr(C)]
9063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9064pub struct GeometryNV {
9065 pub s_type: StructureType,
9066 pub next: *const c_void,
9067 pub geometry_type: GeometryTypeKHR,
9068 pub geometry: GeometryDataNV,
9069 pub flags: GeometryFlagsKHR,
9070}
9071
9072impl Default for GeometryNV {
9073 #[inline]
9074 fn default() -> Self {
9075 Self {
9076 s_type: StructureType::GEOMETRY_NV,
9077 next: ptr::null(),
9078 geometry_type: GeometryTypeKHR::default(),
9079 geometry: GeometryDataNV::default(),
9080 flags: GeometryFlagsKHR::default(),
9081 }
9082 }
9083}
9084
9085unsafe impl Send for GeometryNV {}
9086unsafe impl Sync for GeometryNV {}
9087
9088#[repr(C)]
9090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9091pub struct GeometryTrianglesNV {
9092 pub s_type: StructureType,
9093 pub next: *const c_void,
9094 pub vertex_data: Buffer,
9095 pub vertex_offset: DeviceSize,
9096 pub vertex_count: u32,
9097 pub vertex_stride: DeviceSize,
9098 pub vertex_format: Format,
9099 pub index_data: Buffer,
9100 pub index_offset: DeviceSize,
9101 pub index_count: u32,
9102 pub index_type: IndexType,
9103 pub transform_data: Buffer,
9104 pub transform_offset: DeviceSize,
9105}
9106
9107impl Default for GeometryTrianglesNV {
9108 #[inline]
9109 fn default() -> Self {
9110 Self {
9111 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
9112 next: ptr::null(),
9113 vertex_data: Buffer::default(),
9114 vertex_offset: DeviceSize::default(),
9115 vertex_count: u32::default(),
9116 vertex_stride: DeviceSize::default(),
9117 vertex_format: Format::default(),
9118 index_data: Buffer::default(),
9119 index_offset: DeviceSize::default(),
9120 index_count: u32::default(),
9121 index_type: IndexType::default(),
9122 transform_data: Buffer::default(),
9123 transform_offset: DeviceSize::default(),
9124 }
9125 }
9126}
9127
9128unsafe impl Send for GeometryTrianglesNV {}
9129unsafe impl Sync for GeometryTrianglesNV {}
9130
9131#[repr(C)]
9133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9134pub struct GetLatencyMarkerInfoNV {
9135 pub s_type: StructureType,
9136 pub next: *const c_void,
9137 pub timing_count: u32,
9138 pub timings: *mut LatencyTimingsFrameReportNV,
9139}
9140
9141impl Default for GetLatencyMarkerInfoNV {
9142 #[inline]
9143 fn default() -> Self {
9144 Self {
9145 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
9146 next: ptr::null(),
9147 timing_count: u32::default(),
9148 timings: ptr::null_mut(),
9149 }
9150 }
9151}
9152
9153unsafe impl Send for GetLatencyMarkerInfoNV {}
9154unsafe impl Sync for GetLatencyMarkerInfoNV {}
9155
9156#[repr(C)]
9158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9159pub struct GraphicsPipelineCreateInfo {
9160 pub s_type: StructureType,
9161 pub next: *const c_void,
9162 pub flags: PipelineCreateFlags,
9163 pub stage_count: u32,
9164 pub stages: *const PipelineShaderStageCreateInfo,
9165 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
9166 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
9167 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
9168 pub viewport_state: *const PipelineViewportStateCreateInfo,
9169 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
9170 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
9171 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
9172 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
9173 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
9174 pub layout: PipelineLayout,
9175 pub render_pass: RenderPass,
9176 pub subpass: u32,
9177 pub base_pipeline_handle: Pipeline,
9178 pub base_pipeline_index: i32,
9179}
9180
9181impl Default for GraphicsPipelineCreateInfo {
9182 #[inline]
9183 fn default() -> Self {
9184 Self {
9185 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
9186 next: ptr::null(),
9187 flags: PipelineCreateFlags::default(),
9188 stage_count: u32::default(),
9189 stages: ptr::null(),
9190 vertex_input_state: ptr::null(),
9191 input_assembly_state: ptr::null(),
9192 tessellation_state: ptr::null(),
9193 viewport_state: ptr::null(),
9194 rasterization_state: ptr::null(),
9195 multisample_state: ptr::null(),
9196 depth_stencil_state: ptr::null(),
9197 color_blend_state: ptr::null(),
9198 dynamic_state: ptr::null(),
9199 layout: PipelineLayout::default(),
9200 render_pass: RenderPass::default(),
9201 subpass: u32::default(),
9202 base_pipeline_handle: Pipeline::default(),
9203 base_pipeline_index: i32::default(),
9204 }
9205 }
9206}
9207
9208unsafe impl Send for GraphicsPipelineCreateInfo {}
9209unsafe impl Sync for GraphicsPipelineCreateInfo {}
9210
9211#[repr(C)]
9213#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9214pub struct GraphicsPipelineLibraryCreateInfoEXT {
9215 pub s_type: StructureType,
9216 pub next: *const c_void,
9217 pub flags: GraphicsPipelineLibraryFlagsEXT,
9218}
9219
9220impl Default for GraphicsPipelineLibraryCreateInfoEXT {
9221 #[inline]
9222 fn default() -> Self {
9223 Self {
9224 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
9225 next: ptr::null(),
9226 flags: GraphicsPipelineLibraryFlagsEXT::default(),
9227 }
9228 }
9229}
9230
9231unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
9232unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
9233
9234#[repr(C)]
9236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9237pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
9238 pub s_type: StructureType,
9239 pub next: *const c_void,
9240 pub group_count: u32,
9241 pub groups: *const GraphicsShaderGroupCreateInfoNV,
9242 pub pipeline_count: u32,
9243 pub pipelines: *const Pipeline,
9244}
9245
9246impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
9247 #[inline]
9248 fn default() -> Self {
9249 Self {
9250 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
9251 next: ptr::null(),
9252 group_count: u32::default(),
9253 groups: ptr::null(),
9254 pipeline_count: u32::default(),
9255 pipelines: ptr::null(),
9256 }
9257 }
9258}
9259
9260unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
9261unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
9262
9263#[repr(C)]
9265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9266pub struct GraphicsShaderGroupCreateInfoNV {
9267 pub s_type: StructureType,
9268 pub next: *const c_void,
9269 pub stage_count: u32,
9270 pub stages: *const PipelineShaderStageCreateInfo,
9271 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
9272 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
9273}
9274
9275impl Default for GraphicsShaderGroupCreateInfoNV {
9276 #[inline]
9277 fn default() -> Self {
9278 Self {
9279 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
9280 next: ptr::null(),
9281 stage_count: u32::default(),
9282 stages: ptr::null(),
9283 vertex_input_state: ptr::null(),
9284 tessellation_state: ptr::null(),
9285 }
9286 }
9287}
9288
9289unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
9290unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
9291
9292#[repr(C)]
9294#[derive(Copy, Clone, Debug, PartialEq)]
9295pub struct HdrMetadataEXT {
9296 pub s_type: StructureType,
9297 pub next: *const c_void,
9298 pub display_primary_red: XYColorEXT,
9299 pub display_primary_green: XYColorEXT,
9300 pub display_primary_blue: XYColorEXT,
9301 pub white_point: XYColorEXT,
9302 pub max_luminance: f32,
9303 pub min_luminance: f32,
9304 pub max_content_light_level: f32,
9305 pub max_frame_average_light_level: f32,
9306}
9307
9308impl Default for HdrMetadataEXT {
9309 #[inline]
9310 fn default() -> Self {
9311 Self {
9312 s_type: StructureType::HDR_METADATA_EXT,
9313 next: ptr::null(),
9314 display_primary_red: XYColorEXT::default(),
9315 display_primary_green: XYColorEXT::default(),
9316 display_primary_blue: XYColorEXT::default(),
9317 white_point: XYColorEXT::default(),
9318 max_luminance: f32::default(),
9319 min_luminance: f32::default(),
9320 max_content_light_level: f32::default(),
9321 max_frame_average_light_level: f32::default(),
9322 }
9323 }
9324}
9325
9326unsafe impl Send for HdrMetadataEXT {}
9327unsafe impl Sync for HdrMetadataEXT {}
9328
9329#[repr(C)]
9331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9332pub struct HdrVividDynamicMetadataHUAWEI {
9333 pub s_type: StructureType,
9334 pub next: *const c_void,
9335 pub dynamic_metadata_size: usize,
9336 pub dynamic_metadata: *const c_void,
9337}
9338
9339impl Default for HdrVividDynamicMetadataHUAWEI {
9340 #[inline]
9341 fn default() -> Self {
9342 Self {
9343 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
9344 next: ptr::null(),
9345 dynamic_metadata_size: usize::default(),
9346 dynamic_metadata: ptr::null(),
9347 }
9348 }
9349}
9350
9351unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
9352unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
9353
9354#[repr(C)]
9356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9357pub struct HeadlessSurfaceCreateInfoEXT {
9358 pub s_type: StructureType,
9359 pub next: *const c_void,
9360 pub flags: HeadlessSurfaceCreateFlagsEXT,
9361}
9362
9363impl Default for HeadlessSurfaceCreateInfoEXT {
9364 #[inline]
9365 fn default() -> Self {
9366 Self {
9367 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
9368 next: ptr::null(),
9369 flags: HeadlessSurfaceCreateFlagsEXT::default(),
9370 }
9371 }
9372}
9373
9374unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
9375unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
9376
9377#[repr(C)]
9379#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9380pub struct HostAddressRangeConstEXT {
9381 pub address: *const c_void,
9382 pub size: usize,
9383}
9384
9385impl Default for HostAddressRangeConstEXT {
9386 #[inline]
9387 fn default() -> Self {
9388 Self {
9389 address: ptr::null(),
9390 size: usize::default(),
9391 }
9392 }
9393}
9394
9395unsafe impl Send for HostAddressRangeConstEXT {}
9396unsafe impl Sync for HostAddressRangeConstEXT {}
9397
9398#[repr(C)]
9400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9401pub struct HostAddressRangeEXT {
9402 pub address: *mut c_void,
9403 pub size: usize,
9404}
9405
9406impl Default for HostAddressRangeEXT {
9407 #[inline]
9408 fn default() -> Self {
9409 Self {
9410 address: ptr::null_mut(),
9411 size: usize::default(),
9412 }
9413 }
9414}
9415
9416unsafe impl Send for HostAddressRangeEXT {}
9417unsafe impl Sync for HostAddressRangeEXT {}
9418
9419#[repr(C)]
9421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9422pub struct HostImageCopyDevicePerformanceQuery {
9423 pub s_type: StructureType,
9424 pub next: *mut c_void,
9425 pub optimal_device_access: Bool32,
9426 pub identical_memory_layout: Bool32,
9427}
9428
9429impl Default for HostImageCopyDevicePerformanceQuery {
9430 #[inline]
9431 fn default() -> Self {
9432 Self {
9433 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
9434 next: ptr::null_mut(),
9435 optimal_device_access: Bool32::default(),
9436 identical_memory_layout: Bool32::default(),
9437 }
9438 }
9439}
9440
9441unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
9442unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
9443
9444#[repr(C)]
9446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9447pub struct HostImageLayoutTransitionInfo {
9448 pub s_type: StructureType,
9449 pub next: *const c_void,
9450 pub image: Image,
9451 pub old_layout: ImageLayout,
9452 pub new_layout: ImageLayout,
9453 pub subresource_range: ImageSubresourceRange,
9454}
9455
9456impl Default for HostImageLayoutTransitionInfo {
9457 #[inline]
9458 fn default() -> Self {
9459 Self {
9460 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
9461 next: ptr::null(),
9462 image: Image::default(),
9463 old_layout: ImageLayout::default(),
9464 new_layout: ImageLayout::default(),
9465 subresource_range: ImageSubresourceRange::default(),
9466 }
9467 }
9468}
9469
9470unsafe impl Send for HostImageLayoutTransitionInfo {}
9471unsafe impl Sync for HostImageLayoutTransitionInfo {}
9472
9473#[repr(C)]
9475#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9476pub struct IOSSurfaceCreateInfoMVK {
9477 pub s_type: StructureType,
9478 pub next: *const c_void,
9479 pub flags: IOSSurfaceCreateFlagsMVK,
9480 pub view: *const c_void,
9481}
9482
9483impl Default for IOSSurfaceCreateInfoMVK {
9484 #[inline]
9485 fn default() -> Self {
9486 Self {
9487 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
9488 next: ptr::null(),
9489 flags: IOSSurfaceCreateFlagsMVK::default(),
9490 view: ptr::null(),
9491 }
9492 }
9493}
9494
9495unsafe impl Send for IOSSurfaceCreateInfoMVK {}
9496unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
9497
9498#[repr(C)]
9500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9501pub struct ImageAlignmentControlCreateInfoMESA {
9502 pub s_type: StructureType,
9503 pub next: *const c_void,
9504 pub maximum_requested_alignment: u32,
9505}
9506
9507impl Default for ImageAlignmentControlCreateInfoMESA {
9508 #[inline]
9509 fn default() -> Self {
9510 Self {
9511 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
9512 next: ptr::null(),
9513 maximum_requested_alignment: u32::default(),
9514 }
9515 }
9516}
9517
9518unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
9519unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
9520
9521#[repr(C)]
9523#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9524pub struct ImageBlit {
9525 pub src_subresource: ImageSubresourceLayers,
9526 pub src_offsets: [Offset3D; 2],
9527 pub dst_subresource: ImageSubresourceLayers,
9528 pub dst_offsets: [Offset3D; 2],
9529}
9530
9531#[repr(C)]
9533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9534pub struct ImageBlit2 {
9535 pub s_type: StructureType,
9536 pub next: *const c_void,
9537 pub src_subresource: ImageSubresourceLayers,
9538 pub src_offsets: [Offset3D; 2],
9539 pub dst_subresource: ImageSubresourceLayers,
9540 pub dst_offsets: [Offset3D; 2],
9541}
9542
9543impl Default for ImageBlit2 {
9544 #[inline]
9545 fn default() -> Self {
9546 Self {
9547 s_type: StructureType::IMAGE_BLIT_2,
9548 next: ptr::null(),
9549 src_subresource: ImageSubresourceLayers::default(),
9550 src_offsets: [Offset3D::default(); 2],
9551 dst_subresource: ImageSubresourceLayers::default(),
9552 dst_offsets: [Offset3D::default(); 2],
9553 }
9554 }
9555}
9556
9557unsafe impl Send for ImageBlit2 {}
9558unsafe impl Sync for ImageBlit2 {}
9559
9560#[repr(C)]
9562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9563pub struct ImageCaptureDescriptorDataInfoEXT {
9564 pub s_type: StructureType,
9565 pub next: *const c_void,
9566 pub image: Image,
9567}
9568
9569impl Default for ImageCaptureDescriptorDataInfoEXT {
9570 #[inline]
9571 fn default() -> Self {
9572 Self {
9573 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9574 next: ptr::null(),
9575 image: Image::default(),
9576 }
9577 }
9578}
9579
9580unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
9581unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
9582
9583#[repr(C)]
9585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9586pub struct ImageCompressionControlEXT {
9587 pub s_type: StructureType,
9588 pub next: *const c_void,
9589 pub flags: ImageCompressionFlagsEXT,
9590 pub compression_control_plane_count: u32,
9591 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
9592}
9593
9594impl Default for ImageCompressionControlEXT {
9595 #[inline]
9596 fn default() -> Self {
9597 Self {
9598 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
9599 next: ptr::null(),
9600 flags: ImageCompressionFlagsEXT::default(),
9601 compression_control_plane_count: u32::default(),
9602 fixed_rate_flags: ptr::null_mut(),
9603 }
9604 }
9605}
9606
9607unsafe impl Send for ImageCompressionControlEXT {}
9608unsafe impl Sync for ImageCompressionControlEXT {}
9609
9610#[repr(C)]
9612#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9613pub struct ImageCompressionPropertiesEXT {
9614 pub s_type: StructureType,
9615 pub next: *mut c_void,
9616 pub image_compression_flags: ImageCompressionFlagsEXT,
9617 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
9618}
9619
9620impl Default for ImageCompressionPropertiesEXT {
9621 #[inline]
9622 fn default() -> Self {
9623 Self {
9624 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
9625 next: ptr::null_mut(),
9626 image_compression_flags: ImageCompressionFlagsEXT::default(),
9627 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
9628 }
9629 }
9630}
9631
9632unsafe impl Send for ImageCompressionPropertiesEXT {}
9633unsafe impl Sync for ImageCompressionPropertiesEXT {}
9634
9635#[repr(C)]
9637#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9638pub struct ImageConstraintsInfoFUCHSIA {
9639 pub s_type: StructureType,
9640 pub next: *const c_void,
9641 pub format_constraints_count: u32,
9642 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
9643 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
9644 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
9645}
9646
9647impl Default for ImageConstraintsInfoFUCHSIA {
9648 #[inline]
9649 fn default() -> Self {
9650 Self {
9651 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
9652 next: ptr::null(),
9653 format_constraints_count: u32::default(),
9654 format_constraints: ptr::null(),
9655 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
9656 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
9657 }
9658 }
9659}
9660
9661unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
9662unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
9663
9664#[repr(C)]
9666#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9667pub struct ImageCopy {
9668 pub src_subresource: ImageSubresourceLayers,
9669 pub src_offset: Offset3D,
9670 pub dst_subresource: ImageSubresourceLayers,
9671 pub dst_offset: Offset3D,
9672 pub extent: Extent3D,
9673}
9674
9675#[repr(C)]
9677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9678pub struct ImageCopy2 {
9679 pub s_type: StructureType,
9680 pub next: *const c_void,
9681 pub src_subresource: ImageSubresourceLayers,
9682 pub src_offset: Offset3D,
9683 pub dst_subresource: ImageSubresourceLayers,
9684 pub dst_offset: Offset3D,
9685 pub extent: Extent3D,
9686}
9687
9688impl Default for ImageCopy2 {
9689 #[inline]
9690 fn default() -> Self {
9691 Self {
9692 s_type: StructureType::IMAGE_COPY_2,
9693 next: ptr::null(),
9694 src_subresource: ImageSubresourceLayers::default(),
9695 src_offset: Offset3D::default(),
9696 dst_subresource: ImageSubresourceLayers::default(),
9697 dst_offset: Offset3D::default(),
9698 extent: Extent3D::default(),
9699 }
9700 }
9701}
9702
9703unsafe impl Send for ImageCopy2 {}
9704unsafe impl Sync for ImageCopy2 {}
9705
9706#[repr(C)]
9708#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9709pub struct ImageCreateInfo {
9710 pub s_type: StructureType,
9711 pub next: *const c_void,
9712 pub flags: ImageCreateFlags,
9713 pub image_type: ImageType,
9714 pub format: Format,
9715 pub extent: Extent3D,
9716 pub mip_levels: u32,
9717 pub array_layers: u32,
9718 pub samples: SampleCountFlags,
9719 pub tiling: ImageTiling,
9720 pub usage: ImageUsageFlags,
9721 pub sharing_mode: SharingMode,
9722 pub queue_family_index_count: u32,
9723 pub queue_family_indices: *const u32,
9724 pub initial_layout: ImageLayout,
9725}
9726
9727impl Default for ImageCreateInfo {
9728 #[inline]
9729 fn default() -> Self {
9730 Self {
9731 s_type: StructureType::IMAGE_CREATE_INFO,
9732 next: ptr::null(),
9733 flags: ImageCreateFlags::default(),
9734 image_type: ImageType::default(),
9735 format: Format::default(),
9736 extent: Extent3D::default(),
9737 mip_levels: u32::default(),
9738 array_layers: u32::default(),
9739 samples: SampleCountFlags::default(),
9740 tiling: ImageTiling::default(),
9741 usage: ImageUsageFlags::default(),
9742 sharing_mode: SharingMode::default(),
9743 queue_family_index_count: u32::default(),
9744 queue_family_indices: ptr::null(),
9745 initial_layout: ImageLayout::default(),
9746 }
9747 }
9748}
9749
9750unsafe impl Send for ImageCreateInfo {}
9751unsafe impl Sync for ImageCreateInfo {}
9752
9753#[repr(C)]
9755#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9756pub struct ImageDescriptorInfoEXT {
9757 pub s_type: StructureType,
9758 pub next: *const c_void,
9759 pub view: *const ImageViewCreateInfo,
9760 pub layout: ImageLayout,
9761}
9762
9763impl Default for ImageDescriptorInfoEXT {
9764 #[inline]
9765 fn default() -> Self {
9766 Self {
9767 s_type: StructureType::IMAGE_DESCRIPTOR_INFO_EXT,
9768 next: ptr::null(),
9769 view: ptr::null(),
9770 layout: ImageLayout::default(),
9771 }
9772 }
9773}
9774
9775unsafe impl Send for ImageDescriptorInfoEXT {}
9776unsafe impl Sync for ImageDescriptorInfoEXT {}
9777
9778#[repr(C)]
9780#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9781pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
9782 pub s_type: StructureType,
9783 pub next: *const c_void,
9784 pub drm_format_modifier: u64,
9785 pub drm_format_modifier_plane_count: u32,
9786 pub plane_layouts: *const SubresourceLayout,
9787}
9788
9789impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
9790 #[inline]
9791 fn default() -> Self {
9792 Self {
9793 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
9794 next: ptr::null(),
9795 drm_format_modifier: u64::default(),
9796 drm_format_modifier_plane_count: u32::default(),
9797 plane_layouts: ptr::null(),
9798 }
9799 }
9800}
9801
9802unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9803unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9804
9805#[repr(C)]
9807#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9808pub struct ImageDrmFormatModifierListCreateInfoEXT {
9809 pub s_type: StructureType,
9810 pub next: *const c_void,
9811 pub drm_format_modifier_count: u32,
9812 pub drm_format_modifiers: *const u64,
9813}
9814
9815impl Default for ImageDrmFormatModifierListCreateInfoEXT {
9816 #[inline]
9817 fn default() -> Self {
9818 Self {
9819 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
9820 next: ptr::null(),
9821 drm_format_modifier_count: u32::default(),
9822 drm_format_modifiers: ptr::null(),
9823 }
9824 }
9825}
9826
9827unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
9828unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
9829
9830#[repr(C)]
9832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9833pub struct ImageDrmFormatModifierPropertiesEXT {
9834 pub s_type: StructureType,
9835 pub next: *mut c_void,
9836 pub drm_format_modifier: u64,
9837}
9838
9839impl Default for ImageDrmFormatModifierPropertiesEXT {
9840 #[inline]
9841 fn default() -> Self {
9842 Self {
9843 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
9844 next: ptr::null_mut(),
9845 drm_format_modifier: u64::default(),
9846 }
9847 }
9848}
9849
9850unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
9851unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
9852
9853#[repr(C)]
9855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9856pub struct ImageFormatConstraintsInfoFUCHSIA {
9857 pub s_type: StructureType,
9858 pub next: *const c_void,
9859 pub image_create_info: ImageCreateInfo,
9860 pub required_format_features: FormatFeatureFlags,
9861 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
9862 pub sysmem_pixel_format: u64,
9863 pub color_space_count: u32,
9864 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
9865}
9866
9867impl Default for ImageFormatConstraintsInfoFUCHSIA {
9868 #[inline]
9869 fn default() -> Self {
9870 Self {
9871 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
9872 next: ptr::null(),
9873 image_create_info: ImageCreateInfo::default(),
9874 required_format_features: FormatFeatureFlags::default(),
9875 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
9876 sysmem_pixel_format: u64::default(),
9877 color_space_count: u32::default(),
9878 color_spaces: ptr::null(),
9879 }
9880 }
9881}
9882
9883unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
9884unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
9885
9886#[repr(C)]
9888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9889pub struct ImageFormatListCreateInfo {
9890 pub s_type: StructureType,
9891 pub next: *const c_void,
9892 pub view_format_count: u32,
9893 pub view_formats: *const Format,
9894}
9895
9896impl Default for ImageFormatListCreateInfo {
9897 #[inline]
9898 fn default() -> Self {
9899 Self {
9900 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
9901 next: ptr::null(),
9902 view_format_count: u32::default(),
9903 view_formats: ptr::null(),
9904 }
9905 }
9906}
9907
9908unsafe impl Send for ImageFormatListCreateInfo {}
9909unsafe impl Sync for ImageFormatListCreateInfo {}
9910
9911#[repr(C)]
9913#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9914pub struct ImageFormatProperties {
9915 pub max_extent: Extent3D,
9916 pub max_mip_levels: u32,
9917 pub max_array_layers: u32,
9918 pub sample_counts: SampleCountFlags,
9919 pub max_resource_size: DeviceSize,
9920}
9921
9922#[repr(C)]
9924#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9925pub struct ImageFormatProperties2 {
9926 pub s_type: StructureType,
9927 pub next: *mut c_void,
9928 pub image_format_properties: ImageFormatProperties,
9929}
9930
9931impl Default for ImageFormatProperties2 {
9932 #[inline]
9933 fn default() -> Self {
9934 Self {
9935 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
9936 next: ptr::null_mut(),
9937 image_format_properties: ImageFormatProperties::default(),
9938 }
9939 }
9940}
9941
9942unsafe impl Send for ImageFormatProperties2 {}
9943unsafe impl Sync for ImageFormatProperties2 {}
9944
9945#[repr(C)]
9947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9948pub struct ImageMemoryBarrier {
9949 pub s_type: StructureType,
9950 pub next: *const c_void,
9951 pub src_access_mask: AccessFlags,
9952 pub dst_access_mask: AccessFlags,
9953 pub old_layout: ImageLayout,
9954 pub new_layout: ImageLayout,
9955 pub src_queue_family_index: u32,
9956 pub dst_queue_family_index: u32,
9957 pub image: Image,
9958 pub subresource_range: ImageSubresourceRange,
9959}
9960
9961impl Default for ImageMemoryBarrier {
9962 #[inline]
9963 fn default() -> Self {
9964 Self {
9965 s_type: StructureType::IMAGE_MEMORY_BARRIER,
9966 next: ptr::null(),
9967 src_access_mask: AccessFlags::default(),
9968 dst_access_mask: AccessFlags::default(),
9969 old_layout: ImageLayout::default(),
9970 new_layout: ImageLayout::default(),
9971 src_queue_family_index: u32::default(),
9972 dst_queue_family_index: u32::default(),
9973 image: Image::default(),
9974 subresource_range: ImageSubresourceRange::default(),
9975 }
9976 }
9977}
9978
9979unsafe impl Send for ImageMemoryBarrier {}
9980unsafe impl Sync for ImageMemoryBarrier {}
9981
9982#[repr(C)]
9984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9985pub struct ImageMemoryBarrier2 {
9986 pub s_type: StructureType,
9987 pub next: *const c_void,
9988 pub src_stage_mask: PipelineStageFlags2,
9989 pub src_access_mask: AccessFlags2,
9990 pub dst_stage_mask: PipelineStageFlags2,
9991 pub dst_access_mask: AccessFlags2,
9992 pub old_layout: ImageLayout,
9993 pub new_layout: ImageLayout,
9994 pub src_queue_family_index: u32,
9995 pub dst_queue_family_index: u32,
9996 pub image: Image,
9997 pub subresource_range: ImageSubresourceRange,
9998}
9999
10000impl Default for ImageMemoryBarrier2 {
10001 #[inline]
10002 fn default() -> Self {
10003 Self {
10004 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
10005 next: ptr::null(),
10006 src_stage_mask: PipelineStageFlags2::default(),
10007 src_access_mask: AccessFlags2::default(),
10008 dst_stage_mask: PipelineStageFlags2::default(),
10009 dst_access_mask: AccessFlags2::default(),
10010 old_layout: ImageLayout::default(),
10011 new_layout: ImageLayout::default(),
10012 src_queue_family_index: u32::default(),
10013 dst_queue_family_index: u32::default(),
10014 image: Image::default(),
10015 subresource_range: ImageSubresourceRange::default(),
10016 }
10017 }
10018}
10019
10020unsafe impl Send for ImageMemoryBarrier2 {}
10021unsafe impl Sync for ImageMemoryBarrier2 {}
10022
10023#[repr(C)]
10025#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10026pub struct ImageMemoryRequirementsInfo2 {
10027 pub s_type: StructureType,
10028 pub next: *const c_void,
10029 pub image: Image,
10030}
10031
10032impl Default for ImageMemoryRequirementsInfo2 {
10033 #[inline]
10034 fn default() -> Self {
10035 Self {
10036 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
10037 next: ptr::null(),
10038 image: Image::default(),
10039 }
10040 }
10041}
10042
10043unsafe impl Send for ImageMemoryRequirementsInfo2 {}
10044unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
10045
10046#[repr(C)]
10048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10049pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
10050 pub s_type: StructureType,
10051 pub next: *const c_void,
10052 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
10053 pub image_pipe_handle: zx_handle_t,
10054}
10055
10056impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
10057 #[inline]
10058 fn default() -> Self {
10059 Self {
10060 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
10061 next: ptr::null(),
10062 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
10063 image_pipe_handle: zx_handle_t::default(),
10064 }
10065 }
10066}
10067
10068unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
10069unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
10070
10071#[repr(C)]
10073#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10074pub struct ImagePlaneMemoryRequirementsInfo {
10075 pub s_type: StructureType,
10076 pub next: *const c_void,
10077 pub plane_aspect: ImageAspectFlags,
10078}
10079
10080impl Default for ImagePlaneMemoryRequirementsInfo {
10081 #[inline]
10082 fn default() -> Self {
10083 Self {
10084 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
10085 next: ptr::null(),
10086 plane_aspect: ImageAspectFlags::default(),
10087 }
10088 }
10089}
10090
10091unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
10092unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
10093
10094#[repr(C)]
10096#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10097pub struct ImageResolve {
10098 pub src_subresource: ImageSubresourceLayers,
10099 pub src_offset: Offset3D,
10100 pub dst_subresource: ImageSubresourceLayers,
10101 pub dst_offset: Offset3D,
10102 pub extent: Extent3D,
10103}
10104
10105#[repr(C)]
10107#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10108pub struct ImageResolve2 {
10109 pub s_type: StructureType,
10110 pub next: *const c_void,
10111 pub src_subresource: ImageSubresourceLayers,
10112 pub src_offset: Offset3D,
10113 pub dst_subresource: ImageSubresourceLayers,
10114 pub dst_offset: Offset3D,
10115 pub extent: Extent3D,
10116}
10117
10118impl Default for ImageResolve2 {
10119 #[inline]
10120 fn default() -> Self {
10121 Self {
10122 s_type: StructureType::IMAGE_RESOLVE_2,
10123 next: ptr::null(),
10124 src_subresource: ImageSubresourceLayers::default(),
10125 src_offset: Offset3D::default(),
10126 dst_subresource: ImageSubresourceLayers::default(),
10127 dst_offset: Offset3D::default(),
10128 extent: Extent3D::default(),
10129 }
10130 }
10131}
10132
10133unsafe impl Send for ImageResolve2 {}
10134unsafe impl Sync for ImageResolve2 {}
10135
10136#[repr(C)]
10138#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10139pub struct ImageSparseMemoryRequirementsInfo2 {
10140 pub s_type: StructureType,
10141 pub next: *const c_void,
10142 pub image: Image,
10143}
10144
10145impl Default for ImageSparseMemoryRequirementsInfo2 {
10146 #[inline]
10147 fn default() -> Self {
10148 Self {
10149 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
10150 next: ptr::null(),
10151 image: Image::default(),
10152 }
10153 }
10154}
10155
10156unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
10157unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
10158
10159#[repr(C)]
10161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10162pub struct ImageStencilUsageCreateInfo {
10163 pub s_type: StructureType,
10164 pub next: *const c_void,
10165 pub stencil_usage: ImageUsageFlags,
10166}
10167
10168impl Default for ImageStencilUsageCreateInfo {
10169 #[inline]
10170 fn default() -> Self {
10171 Self {
10172 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
10173 next: ptr::null(),
10174 stencil_usage: ImageUsageFlags::default(),
10175 }
10176 }
10177}
10178
10179unsafe impl Send for ImageStencilUsageCreateInfo {}
10180unsafe impl Sync for ImageStencilUsageCreateInfo {}
10181
10182#[repr(C)]
10184#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10185pub struct ImageSubresource {
10186 pub aspect_mask: ImageAspectFlags,
10187 pub mip_level: u32,
10188 pub array_layer: u32,
10189}
10190
10191#[repr(C)]
10193#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10194pub struct ImageSubresource2 {
10195 pub s_type: StructureType,
10196 pub next: *mut c_void,
10197 pub image_subresource: ImageSubresource,
10198}
10199
10200impl Default for ImageSubresource2 {
10201 #[inline]
10202 fn default() -> Self {
10203 Self {
10204 s_type: StructureType::IMAGE_SUBRESOURCE_2,
10205 next: ptr::null_mut(),
10206 image_subresource: ImageSubresource::default(),
10207 }
10208 }
10209}
10210
10211unsafe impl Send for ImageSubresource2 {}
10212unsafe impl Sync for ImageSubresource2 {}
10213
10214#[repr(C)]
10216#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10217pub struct ImageSubresourceLayers {
10218 pub aspect_mask: ImageAspectFlags,
10219 pub mip_level: u32,
10220 pub base_array_layer: u32,
10221 pub layer_count: u32,
10222}
10223
10224#[repr(C)]
10226#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10227pub struct ImageSubresourceRange {
10228 pub aspect_mask: ImageAspectFlags,
10229 pub base_mip_level: u32,
10230 pub level_count: u32,
10231 pub base_array_layer: u32,
10232 pub layer_count: u32,
10233}
10234
10235#[repr(C)]
10237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10238pub struct ImageSwapchainCreateInfoKHR {
10239 pub s_type: StructureType,
10240 pub next: *const c_void,
10241 pub swapchain: SwapchainKHR,
10242}
10243
10244impl Default for ImageSwapchainCreateInfoKHR {
10245 #[inline]
10246 fn default() -> Self {
10247 Self {
10248 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
10249 next: ptr::null(),
10250 swapchain: SwapchainKHR::default(),
10251 }
10252 }
10253}
10254
10255unsafe impl Send for ImageSwapchainCreateInfoKHR {}
10256unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
10257
10258#[repr(C)]
10260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10261pub struct ImageToMemoryCopy {
10262 pub s_type: StructureType,
10263 pub next: *const c_void,
10264 pub host_pointer: *mut c_void,
10265 pub memory_row_length: u32,
10266 pub memory_image_height: u32,
10267 pub image_subresource: ImageSubresourceLayers,
10268 pub image_offset: Offset3D,
10269 pub image_extent: Extent3D,
10270}
10271
10272impl Default for ImageToMemoryCopy {
10273 #[inline]
10274 fn default() -> Self {
10275 Self {
10276 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
10277 next: ptr::null(),
10278 host_pointer: ptr::null_mut(),
10279 memory_row_length: u32::default(),
10280 memory_image_height: u32::default(),
10281 image_subresource: ImageSubresourceLayers::default(),
10282 image_offset: Offset3D::default(),
10283 image_extent: Extent3D::default(),
10284 }
10285 }
10286}
10287
10288unsafe impl Send for ImageToMemoryCopy {}
10289unsafe impl Sync for ImageToMemoryCopy {}
10290
10291#[repr(C)]
10293#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10294pub struct ImageViewASTCDecodeModeEXT {
10295 pub s_type: StructureType,
10296 pub next: *const c_void,
10297 pub decode_mode: Format,
10298}
10299
10300impl Default for ImageViewASTCDecodeModeEXT {
10301 #[inline]
10302 fn default() -> Self {
10303 Self {
10304 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
10305 next: ptr::null(),
10306 decode_mode: Format::default(),
10307 }
10308 }
10309}
10310
10311unsafe impl Send for ImageViewASTCDecodeModeEXT {}
10312unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
10313
10314#[repr(C)]
10316#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10317pub struct ImageViewAddressPropertiesNVX {
10318 pub s_type: StructureType,
10319 pub next: *mut c_void,
10320 pub device_address: DeviceAddress,
10321 pub size: DeviceSize,
10322}
10323
10324impl Default for ImageViewAddressPropertiesNVX {
10325 #[inline]
10326 fn default() -> Self {
10327 Self {
10328 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
10329 next: ptr::null_mut(),
10330 device_address: DeviceAddress::default(),
10331 size: DeviceSize::default(),
10332 }
10333 }
10334}
10335
10336unsafe impl Send for ImageViewAddressPropertiesNVX {}
10337unsafe impl Sync for ImageViewAddressPropertiesNVX {}
10338
10339#[repr(C)]
10341#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10342pub struct ImageViewCaptureDescriptorDataInfoEXT {
10343 pub s_type: StructureType,
10344 pub next: *const c_void,
10345 pub image_view: ImageView,
10346}
10347
10348impl Default for ImageViewCaptureDescriptorDataInfoEXT {
10349 #[inline]
10350 fn default() -> Self {
10351 Self {
10352 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
10353 next: ptr::null(),
10354 image_view: ImageView::default(),
10355 }
10356 }
10357}
10358
10359unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
10360unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
10361
10362#[repr(C)]
10364#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10365pub struct ImageViewCreateInfo {
10366 pub s_type: StructureType,
10367 pub next: *const c_void,
10368 pub flags: ImageViewCreateFlags,
10369 pub image: Image,
10370 pub view_type: ImageViewType,
10371 pub format: Format,
10372 pub components: ComponentMapping,
10373 pub subresource_range: ImageSubresourceRange,
10374}
10375
10376impl Default for ImageViewCreateInfo {
10377 #[inline]
10378 fn default() -> Self {
10379 Self {
10380 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
10381 next: ptr::null(),
10382 flags: ImageViewCreateFlags::default(),
10383 image: Image::default(),
10384 view_type: ImageViewType::default(),
10385 format: Format::default(),
10386 components: ComponentMapping::default(),
10387 subresource_range: ImageSubresourceRange::default(),
10388 }
10389 }
10390}
10391
10392unsafe impl Send for ImageViewCreateInfo {}
10393unsafe impl Sync for ImageViewCreateInfo {}
10394
10395#[repr(C)]
10397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10398pub struct ImageViewHandleInfoNVX {
10399 pub s_type: StructureType,
10400 pub next: *const c_void,
10401 pub image_view: ImageView,
10402 pub descriptor_type: DescriptorType,
10403 pub sampler: Sampler,
10404}
10405
10406impl Default for ImageViewHandleInfoNVX {
10407 #[inline]
10408 fn default() -> Self {
10409 Self {
10410 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
10411 next: ptr::null(),
10412 image_view: ImageView::default(),
10413 descriptor_type: DescriptorType::default(),
10414 sampler: Sampler::default(),
10415 }
10416 }
10417}
10418
10419unsafe impl Send for ImageViewHandleInfoNVX {}
10420unsafe impl Sync for ImageViewHandleInfoNVX {}
10421
10422#[repr(C)]
10424#[derive(Copy, Clone, Debug, PartialEq)]
10425pub struct ImageViewMinLodCreateInfoEXT {
10426 pub s_type: StructureType,
10427 pub next: *const c_void,
10428 pub min_lod: f32,
10429}
10430
10431impl Default for ImageViewMinLodCreateInfoEXT {
10432 #[inline]
10433 fn default() -> Self {
10434 Self {
10435 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
10436 next: ptr::null(),
10437 min_lod: f32::default(),
10438 }
10439 }
10440}
10441
10442unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
10443unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
10444
10445#[repr(C)]
10447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10448pub struct ImageViewSampleWeightCreateInfoQCOM {
10449 pub s_type: StructureType,
10450 pub next: *const c_void,
10451 pub filter_center: Offset2D,
10452 pub filter_size: Extent2D,
10453 pub num_phases: u32,
10454}
10455
10456impl Default for ImageViewSampleWeightCreateInfoQCOM {
10457 #[inline]
10458 fn default() -> Self {
10459 Self {
10460 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
10461 next: ptr::null(),
10462 filter_center: Offset2D::default(),
10463 filter_size: Extent2D::default(),
10464 num_phases: u32::default(),
10465 }
10466 }
10467}
10468
10469unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
10470unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
10471
10472#[repr(C)]
10474#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10475pub struct ImageViewSlicedCreateInfoEXT {
10476 pub s_type: StructureType,
10477 pub next: *const c_void,
10478 pub slice_offset: u32,
10479 pub slice_count: u32,
10480}
10481
10482impl Default for ImageViewSlicedCreateInfoEXT {
10483 #[inline]
10484 fn default() -> Self {
10485 Self {
10486 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
10487 next: ptr::null(),
10488 slice_offset: u32::default(),
10489 slice_count: u32::default(),
10490 }
10491 }
10492}
10493
10494unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
10495unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
10496
10497#[repr(C)]
10499#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10500pub struct ImageViewUsageCreateInfo {
10501 pub s_type: StructureType,
10502 pub next: *const c_void,
10503 pub usage: ImageUsageFlags,
10504}
10505
10506impl Default for ImageViewUsageCreateInfo {
10507 #[inline]
10508 fn default() -> Self {
10509 Self {
10510 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
10511 next: ptr::null(),
10512 usage: ImageUsageFlags::default(),
10513 }
10514 }
10515}
10516
10517unsafe impl Send for ImageViewUsageCreateInfo {}
10518unsafe impl Sync for ImageViewUsageCreateInfo {}
10519
10520#[repr(C)]
10522#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10523pub struct ImportAndroidHardwareBufferInfoANDROID {
10524 pub s_type: StructureType,
10525 pub next: *const c_void,
10526 pub buffer: *mut AHardwareBuffer,
10527}
10528
10529impl Default for ImportAndroidHardwareBufferInfoANDROID {
10530 #[inline]
10531 fn default() -> Self {
10532 Self {
10533 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10534 next: ptr::null(),
10535 buffer: ptr::null_mut(),
10536 }
10537 }
10538}
10539
10540unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
10541unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
10542
10543#[repr(C)]
10545#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10546pub struct ImportFenceFdInfoKHR {
10547 pub s_type: StructureType,
10548 pub next: *const c_void,
10549 pub fence: Fence,
10550 pub flags: FenceImportFlags,
10551 pub handle_type: ExternalFenceHandleTypeFlags,
10552 pub fd: c_int,
10553}
10554
10555impl Default for ImportFenceFdInfoKHR {
10556 #[inline]
10557 fn default() -> Self {
10558 Self {
10559 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
10560 next: ptr::null(),
10561 fence: Fence::default(),
10562 flags: FenceImportFlags::default(),
10563 handle_type: ExternalFenceHandleTypeFlags::default(),
10564 fd: c_int::default(),
10565 }
10566 }
10567}
10568
10569unsafe impl Send for ImportFenceFdInfoKHR {}
10570unsafe impl Sync for ImportFenceFdInfoKHR {}
10571
10572#[repr(C)]
10574#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10575pub struct ImportFenceSciSyncInfoNV {
10576 pub s_type: StructureType,
10577 pub next: *const c_void,
10578 pub fence: Fence,
10579 pub handle_type: ExternalFenceHandleTypeFlags,
10580 pub handle: *mut c_void,
10581}
10582
10583impl Default for ImportFenceSciSyncInfoNV {
10584 #[inline]
10585 fn default() -> Self {
10586 Self {
10587 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
10588 next: ptr::null(),
10589 fence: Fence::default(),
10590 handle_type: ExternalFenceHandleTypeFlags::default(),
10591 handle: ptr::null_mut(),
10592 }
10593 }
10594}
10595
10596unsafe impl Send for ImportFenceSciSyncInfoNV {}
10597unsafe impl Sync for ImportFenceSciSyncInfoNV {}
10598
10599#[repr(C)]
10601#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10602pub struct ImportFenceWin32HandleInfoKHR {
10603 pub s_type: StructureType,
10604 pub next: *const c_void,
10605 pub fence: Fence,
10606 pub flags: FenceImportFlags,
10607 pub handle_type: ExternalFenceHandleTypeFlags,
10608 pub handle: HANDLE,
10609 pub name: LPCWSTR,
10610}
10611
10612impl Default for ImportFenceWin32HandleInfoKHR {
10613 #[inline]
10614 fn default() -> Self {
10615 Self {
10616 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
10617 next: ptr::null(),
10618 fence: Fence::default(),
10619 flags: FenceImportFlags::default(),
10620 handle_type: ExternalFenceHandleTypeFlags::default(),
10621 handle: ptr::null_mut(),
10622 name: ptr::null_mut(),
10623 }
10624 }
10625}
10626
10627unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
10628unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
10629
10630#[repr(C)]
10632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10633pub struct ImportMemoryBufferCollectionFUCHSIA {
10634 pub s_type: StructureType,
10635 pub next: *const c_void,
10636 pub collection: BufferCollectionFUCHSIA,
10637 pub index: u32,
10638}
10639
10640impl Default for ImportMemoryBufferCollectionFUCHSIA {
10641 #[inline]
10642 fn default() -> Self {
10643 Self {
10644 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
10645 next: ptr::null(),
10646 collection: BufferCollectionFUCHSIA::default(),
10647 index: u32::default(),
10648 }
10649 }
10650}
10651
10652unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
10653unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
10654
10655#[repr(C)]
10657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10658pub struct ImportMemoryFdInfoKHR {
10659 pub s_type: StructureType,
10660 pub next: *const c_void,
10661 pub handle_type: ExternalMemoryHandleTypeFlags,
10662 pub fd: c_int,
10663}
10664
10665impl Default for ImportMemoryFdInfoKHR {
10666 #[inline]
10667 fn default() -> Self {
10668 Self {
10669 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
10670 next: ptr::null(),
10671 handle_type: ExternalMemoryHandleTypeFlags::default(),
10672 fd: c_int::default(),
10673 }
10674 }
10675}
10676
10677unsafe impl Send for ImportMemoryFdInfoKHR {}
10678unsafe impl Sync for ImportMemoryFdInfoKHR {}
10679
10680#[repr(C)]
10682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10683pub struct ImportMemoryHostPointerInfoEXT {
10684 pub s_type: StructureType,
10685 pub next: *const c_void,
10686 pub handle_type: ExternalMemoryHandleTypeFlags,
10687 pub host_pointer: *mut c_void,
10688}
10689
10690impl Default for ImportMemoryHostPointerInfoEXT {
10691 #[inline]
10692 fn default() -> Self {
10693 Self {
10694 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
10695 next: ptr::null(),
10696 handle_type: ExternalMemoryHandleTypeFlags::default(),
10697 host_pointer: ptr::null_mut(),
10698 }
10699 }
10700}
10701
10702unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
10703unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
10704
10705#[repr(C)]
10707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10708pub struct ImportMemoryMetalHandleInfoEXT {
10709 pub s_type: StructureType,
10710 pub next: *const c_void,
10711 pub handle_type: ExternalMemoryHandleTypeFlags,
10712 pub handle: *mut c_void,
10713}
10714
10715impl Default for ImportMemoryMetalHandleInfoEXT {
10716 #[inline]
10717 fn default() -> Self {
10718 Self {
10719 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
10720 next: ptr::null(),
10721 handle_type: ExternalMemoryHandleTypeFlags::default(),
10722 handle: ptr::null_mut(),
10723 }
10724 }
10725}
10726
10727unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
10728unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
10729
10730#[repr(C)]
10732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10733pub struct ImportMemorySciBufInfoNV {
10734 pub s_type: StructureType,
10735 pub next: *const c_void,
10736 pub handle_type: ExternalMemoryHandleTypeFlags,
10737 pub handle: NvSciBufObj,
10738}
10739
10740impl Default for ImportMemorySciBufInfoNV {
10741 #[inline]
10742 fn default() -> Self {
10743 Self {
10744 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
10745 next: ptr::null(),
10746 handle_type: ExternalMemoryHandleTypeFlags::default(),
10747 handle: ptr::null_mut(),
10748 }
10749 }
10750}
10751
10752unsafe impl Send for ImportMemorySciBufInfoNV {}
10753unsafe impl Sync for ImportMemorySciBufInfoNV {}
10754
10755#[repr(C)]
10757#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10758pub struct ImportMemoryWin32HandleInfoKHR {
10759 pub s_type: StructureType,
10760 pub next: *const c_void,
10761 pub handle_type: ExternalMemoryHandleTypeFlags,
10762 pub handle: HANDLE,
10763 pub name: LPCWSTR,
10764}
10765
10766impl Default for ImportMemoryWin32HandleInfoKHR {
10767 #[inline]
10768 fn default() -> Self {
10769 Self {
10770 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
10771 next: ptr::null(),
10772 handle_type: ExternalMemoryHandleTypeFlags::default(),
10773 handle: ptr::null_mut(),
10774 name: ptr::null_mut(),
10775 }
10776 }
10777}
10778
10779unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
10780unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
10781
10782#[repr(C)]
10784#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10785pub struct ImportMemoryWin32HandleInfoNV {
10786 pub s_type: StructureType,
10787 pub next: *const c_void,
10788 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
10789 pub handle: HANDLE,
10790}
10791
10792impl Default for ImportMemoryWin32HandleInfoNV {
10793 #[inline]
10794 fn default() -> Self {
10795 Self {
10796 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
10797 next: ptr::null(),
10798 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
10799 handle: ptr::null_mut(),
10800 }
10801 }
10802}
10803
10804unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
10805unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
10806
10807#[repr(C)]
10809#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10810pub struct ImportMemoryZirconHandleInfoFUCHSIA {
10811 pub s_type: StructureType,
10812 pub next: *const c_void,
10813 pub handle_type: ExternalMemoryHandleTypeFlags,
10814 pub handle: zx_handle_t,
10815}
10816
10817impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
10818 #[inline]
10819 fn default() -> Self {
10820 Self {
10821 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
10822 next: ptr::null(),
10823 handle_type: ExternalMemoryHandleTypeFlags::default(),
10824 handle: zx_handle_t::default(),
10825 }
10826 }
10827}
10828
10829unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
10830unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
10831
10832#[repr(C)]
10834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10835pub struct ImportMetalBufferInfoEXT {
10836 pub s_type: StructureType,
10837 pub next: *const c_void,
10838 pub mtl_buffer: MTLBuffer_id,
10839}
10840
10841impl Default for ImportMetalBufferInfoEXT {
10842 #[inline]
10843 fn default() -> Self {
10844 Self {
10845 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
10846 next: ptr::null(),
10847 mtl_buffer: ptr::null_mut(),
10848 }
10849 }
10850}
10851
10852unsafe impl Send for ImportMetalBufferInfoEXT {}
10853unsafe impl Sync for ImportMetalBufferInfoEXT {}
10854
10855#[repr(C)]
10857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10858pub struct ImportMetalIOSurfaceInfoEXT {
10859 pub s_type: StructureType,
10860 pub next: *const c_void,
10861 pub io_surface: IOSurfaceRef,
10862}
10863
10864impl Default for ImportMetalIOSurfaceInfoEXT {
10865 #[inline]
10866 fn default() -> Self {
10867 Self {
10868 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
10869 next: ptr::null(),
10870 io_surface: ptr::null_mut(),
10871 }
10872 }
10873}
10874
10875unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
10876unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
10877
10878#[repr(C)]
10880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10881pub struct ImportMetalSharedEventInfoEXT {
10882 pub s_type: StructureType,
10883 pub next: *const c_void,
10884 pub mtl_shared_event: MTLSharedEvent_id,
10885}
10886
10887impl Default for ImportMetalSharedEventInfoEXT {
10888 #[inline]
10889 fn default() -> Self {
10890 Self {
10891 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
10892 next: ptr::null(),
10893 mtl_shared_event: ptr::null_mut(),
10894 }
10895 }
10896}
10897
10898unsafe impl Send for ImportMetalSharedEventInfoEXT {}
10899unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
10900
10901#[repr(C)]
10903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10904pub struct ImportMetalTextureInfoEXT {
10905 pub s_type: StructureType,
10906 pub next: *const c_void,
10907 pub plane: ImageAspectFlags,
10908 pub mtl_texture: MTLTexture_id,
10909}
10910
10911impl Default for ImportMetalTextureInfoEXT {
10912 #[inline]
10913 fn default() -> Self {
10914 Self {
10915 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
10916 next: ptr::null(),
10917 plane: ImageAspectFlags::default(),
10918 mtl_texture: ptr::null_mut(),
10919 }
10920 }
10921}
10922
10923unsafe impl Send for ImportMetalTextureInfoEXT {}
10924unsafe impl Sync for ImportMetalTextureInfoEXT {}
10925
10926#[repr(C)]
10928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10929pub struct ImportNativeBufferInfoOHOS {
10930 pub s_type: StructureType,
10931 pub next: *const c_void,
10932 pub buffer: *mut OH_NativeBuffer,
10933}
10934
10935impl Default for ImportNativeBufferInfoOHOS {
10936 #[inline]
10937 fn default() -> Self {
10938 Self {
10939 s_type: StructureType::IMPORT_NATIVE_BUFFER_INFO_OHOS,
10940 next: ptr::null(),
10941 buffer: ptr::null_mut(),
10942 }
10943 }
10944}
10945
10946unsafe impl Send for ImportNativeBufferInfoOHOS {}
10947unsafe impl Sync for ImportNativeBufferInfoOHOS {}
10948
10949#[repr(C)]
10951#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10952pub struct ImportScreenBufferInfoQNX {
10953 pub s_type: StructureType,
10954 pub next: *const c_void,
10955 pub buffer: *mut _screen_buffer,
10956}
10957
10958impl Default for ImportScreenBufferInfoQNX {
10959 #[inline]
10960 fn default() -> Self {
10961 Self {
10962 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
10963 next: ptr::null(),
10964 buffer: ptr::null_mut(),
10965 }
10966 }
10967}
10968
10969unsafe impl Send for ImportScreenBufferInfoQNX {}
10970unsafe impl Sync for ImportScreenBufferInfoQNX {}
10971
10972#[repr(C)]
10974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10975pub struct ImportSemaphoreFdInfoKHR {
10976 pub s_type: StructureType,
10977 pub next: *const c_void,
10978 pub semaphore: Semaphore,
10979 pub flags: SemaphoreImportFlags,
10980 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10981 pub fd: c_int,
10982}
10983
10984impl Default for ImportSemaphoreFdInfoKHR {
10985 #[inline]
10986 fn default() -> Self {
10987 Self {
10988 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
10989 next: ptr::null(),
10990 semaphore: Semaphore::default(),
10991 flags: SemaphoreImportFlags::default(),
10992 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10993 fd: c_int::default(),
10994 }
10995 }
10996}
10997
10998unsafe impl Send for ImportSemaphoreFdInfoKHR {}
10999unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
11000
11001#[repr(C)]
11003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11004pub struct ImportSemaphoreSciSyncInfoNV {
11005 pub s_type: StructureType,
11006 pub next: *const c_void,
11007 pub semaphore: Semaphore,
11008 pub handle_type: ExternalSemaphoreHandleTypeFlags,
11009 pub handle: *mut c_void,
11010}
11011
11012impl Default for ImportSemaphoreSciSyncInfoNV {
11013 #[inline]
11014 fn default() -> Self {
11015 Self {
11016 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
11017 next: ptr::null(),
11018 semaphore: Semaphore::default(),
11019 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
11020 handle: ptr::null_mut(),
11021 }
11022 }
11023}
11024
11025unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
11026unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
11027
11028#[repr(C)]
11030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11031pub struct ImportSemaphoreWin32HandleInfoKHR {
11032 pub s_type: StructureType,
11033 pub next: *const c_void,
11034 pub semaphore: Semaphore,
11035 pub flags: SemaphoreImportFlags,
11036 pub handle_type: ExternalSemaphoreHandleTypeFlags,
11037 pub handle: HANDLE,
11038 pub name: LPCWSTR,
11039}
11040
11041impl Default for ImportSemaphoreWin32HandleInfoKHR {
11042 #[inline]
11043 fn default() -> Self {
11044 Self {
11045 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
11046 next: ptr::null(),
11047 semaphore: Semaphore::default(),
11048 flags: SemaphoreImportFlags::default(),
11049 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
11050 handle: ptr::null_mut(),
11051 name: ptr::null_mut(),
11052 }
11053 }
11054}
11055
11056unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
11057unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
11058
11059#[repr(C)]
11061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11062pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
11063 pub s_type: StructureType,
11064 pub next: *const c_void,
11065 pub semaphore: Semaphore,
11066 pub flags: SemaphoreImportFlags,
11067 pub handle_type: ExternalSemaphoreHandleTypeFlags,
11068 pub zircon_handle: zx_handle_t,
11069}
11070
11071impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
11072 #[inline]
11073 fn default() -> Self {
11074 Self {
11075 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
11076 next: ptr::null(),
11077 semaphore: Semaphore::default(),
11078 flags: SemaphoreImportFlags::default(),
11079 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
11080 zircon_handle: zx_handle_t::default(),
11081 }
11082 }
11083}
11084
11085unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
11086unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
11087
11088#[repr(C)]
11090#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11091pub struct IndirectCommandsExecutionSetTokenEXT {
11092 pub type_: IndirectExecutionSetInfoTypeEXT,
11093 pub shader_stages: ShaderStageFlags,
11094}
11095
11096#[repr(C)]
11098#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11099pub struct IndirectCommandsIndexBufferTokenEXT {
11100 pub mode: IndirectCommandsInputModeFlagsEXT,
11101}
11102
11103#[repr(C)]
11105#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11106pub struct IndirectCommandsLayoutCreateInfoEXT {
11107 pub s_type: StructureType,
11108 pub next: *const c_void,
11109 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
11110 pub shader_stages: ShaderStageFlags,
11111 pub indirect_stride: u32,
11112 pub pipeline_layout: PipelineLayout,
11113 pub token_count: u32,
11114 pub tokens: *const IndirectCommandsLayoutTokenEXT,
11115}
11116
11117impl Default for IndirectCommandsLayoutCreateInfoEXT {
11118 #[inline]
11119 fn default() -> Self {
11120 Self {
11121 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
11122 next: ptr::null(),
11123 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
11124 shader_stages: ShaderStageFlags::default(),
11125 indirect_stride: u32::default(),
11126 pipeline_layout: PipelineLayout::default(),
11127 token_count: u32::default(),
11128 tokens: ptr::null(),
11129 }
11130 }
11131}
11132
11133unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
11134unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
11135
11136#[repr(C)]
11138#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11139pub struct IndirectCommandsLayoutCreateInfoNV {
11140 pub s_type: StructureType,
11141 pub next: *const c_void,
11142 pub flags: IndirectCommandsLayoutUsageFlagsNV,
11143 pub pipeline_bind_point: PipelineBindPoint,
11144 pub token_count: u32,
11145 pub tokens: *const IndirectCommandsLayoutTokenNV,
11146 pub stream_count: u32,
11147 pub stream_strides: *const u32,
11148}
11149
11150impl Default for IndirectCommandsLayoutCreateInfoNV {
11151 #[inline]
11152 fn default() -> Self {
11153 Self {
11154 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
11155 next: ptr::null(),
11156 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
11157 pipeline_bind_point: PipelineBindPoint::default(),
11158 token_count: u32::default(),
11159 tokens: ptr::null(),
11160 stream_count: u32::default(),
11161 stream_strides: ptr::null(),
11162 }
11163 }
11164}
11165
11166unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
11167unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
11168
11169#[repr(C)]
11171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11172pub struct IndirectCommandsLayoutPushDataTokenNV {
11173 pub s_type: StructureType,
11174 pub next: *const c_void,
11175 pub push_data_offset: u32,
11176 pub push_data_size: u32,
11177}
11178
11179impl Default for IndirectCommandsLayoutPushDataTokenNV {
11180 #[inline]
11181 fn default() -> Self {
11182 Self {
11183 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV,
11184 next: ptr::null(),
11185 push_data_offset: u32::default(),
11186 push_data_size: u32::default(),
11187 }
11188 }
11189}
11190
11191unsafe impl Send for IndirectCommandsLayoutPushDataTokenNV {}
11192unsafe impl Sync for IndirectCommandsLayoutPushDataTokenNV {}
11193
11194#[repr(C)]
11196#[derive(Copy, Clone, Debug)]
11197pub struct IndirectCommandsLayoutTokenEXT {
11198 pub s_type: StructureType,
11199 pub next: *const c_void,
11200 pub type_: IndirectCommandsTokenTypeEXT,
11201 pub data: IndirectCommandsTokenDataEXT,
11202 pub offset: u32,
11203}
11204
11205impl Default for IndirectCommandsLayoutTokenEXT {
11206 #[inline]
11207 fn default() -> Self {
11208 Self {
11209 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
11210 next: ptr::null(),
11211 type_: IndirectCommandsTokenTypeEXT::default(),
11212 data: IndirectCommandsTokenDataEXT::default(),
11213 offset: u32::default(),
11214 }
11215 }
11216}
11217
11218unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
11219unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
11220
11221#[repr(C)]
11223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11224pub struct IndirectCommandsLayoutTokenNV {
11225 pub s_type: StructureType,
11226 pub next: *const c_void,
11227 pub token_type: IndirectCommandsTokenTypeNV,
11228 pub stream: u32,
11229 pub offset: u32,
11230 pub vertex_binding_unit: u32,
11231 pub vertex_dynamic_stride: Bool32,
11232 pub pushconstant_pipeline_layout: PipelineLayout,
11233 pub pushconstant_shader_stage_flags: ShaderStageFlags,
11234 pub pushconstant_offset: u32,
11235 pub pushconstant_size: u32,
11236 pub indirect_state_flags: IndirectStateFlagsNV,
11237 pub index_type_count: u32,
11238 pub index_types: *const IndexType,
11239 pub index_type_values: *const u32,
11240}
11241
11242impl Default for IndirectCommandsLayoutTokenNV {
11243 #[inline]
11244 fn default() -> Self {
11245 Self {
11246 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
11247 next: ptr::null(),
11248 token_type: IndirectCommandsTokenTypeNV::default(),
11249 stream: u32::default(),
11250 offset: u32::default(),
11251 vertex_binding_unit: u32::default(),
11252 vertex_dynamic_stride: Bool32::default(),
11253 pushconstant_pipeline_layout: PipelineLayout::default(),
11254 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
11255 pushconstant_offset: u32::default(),
11256 pushconstant_size: u32::default(),
11257 indirect_state_flags: IndirectStateFlagsNV::default(),
11258 index_type_count: u32::default(),
11259 index_types: ptr::null(),
11260 index_type_values: ptr::null(),
11261 }
11262 }
11263}
11264
11265unsafe impl Send for IndirectCommandsLayoutTokenNV {}
11266unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
11267
11268#[repr(C)]
11270#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11271pub struct IndirectCommandsPushConstantTokenEXT {
11272 pub update_range: PushConstantRange,
11273}
11274
11275#[repr(C)]
11277#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11278pub struct IndirectCommandsStreamNV {
11279 pub buffer: Buffer,
11280 pub offset: DeviceSize,
11281}
11282
11283#[repr(C)]
11285#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11286pub struct IndirectCommandsVertexBufferTokenEXT {
11287 pub vertex_binding_unit: u32,
11288}
11289
11290#[repr(C)]
11292#[derive(Copy, Clone, Debug)]
11293pub struct IndirectExecutionSetCreateInfoEXT {
11294 pub s_type: StructureType,
11295 pub next: *const c_void,
11296 pub type_: IndirectExecutionSetInfoTypeEXT,
11297 pub info: IndirectExecutionSetInfoEXT,
11298}
11299
11300impl Default for IndirectExecutionSetCreateInfoEXT {
11301 #[inline]
11302 fn default() -> Self {
11303 Self {
11304 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
11305 next: ptr::null(),
11306 type_: IndirectExecutionSetInfoTypeEXT::default(),
11307 info: IndirectExecutionSetInfoEXT::default(),
11308 }
11309 }
11310}
11311
11312unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
11313unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
11314
11315#[repr(C)]
11317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11318pub struct IndirectExecutionSetPipelineInfoEXT {
11319 pub s_type: StructureType,
11320 pub next: *const c_void,
11321 pub initial_pipeline: Pipeline,
11322 pub max_pipeline_count: u32,
11323}
11324
11325impl Default for IndirectExecutionSetPipelineInfoEXT {
11326 #[inline]
11327 fn default() -> Self {
11328 Self {
11329 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
11330 next: ptr::null(),
11331 initial_pipeline: Pipeline::default(),
11332 max_pipeline_count: u32::default(),
11333 }
11334 }
11335}
11336
11337unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
11338unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
11339
11340#[repr(C)]
11342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11343pub struct IndirectExecutionSetShaderInfoEXT {
11344 pub s_type: StructureType,
11345 pub next: *const c_void,
11346 pub shader_count: u32,
11347 pub initial_shaders: *const ShaderEXT,
11348 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
11349 pub max_shader_count: u32,
11350 pub push_constant_range_count: u32,
11351 pub push_constant_ranges: *const PushConstantRange,
11352}
11353
11354impl Default for IndirectExecutionSetShaderInfoEXT {
11355 #[inline]
11356 fn default() -> Self {
11357 Self {
11358 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
11359 next: ptr::null(),
11360 shader_count: u32::default(),
11361 initial_shaders: ptr::null(),
11362 set_layout_infos: ptr::null(),
11363 max_shader_count: u32::default(),
11364 push_constant_range_count: u32::default(),
11365 push_constant_ranges: ptr::null(),
11366 }
11367 }
11368}
11369
11370unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
11371unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
11372
11373#[repr(C)]
11375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11376pub struct IndirectExecutionSetShaderLayoutInfoEXT {
11377 pub s_type: StructureType,
11378 pub next: *const c_void,
11379 pub set_layout_count: u32,
11380 pub set_layouts: *const DescriptorSetLayout,
11381}
11382
11383impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
11384 #[inline]
11385 fn default() -> Self {
11386 Self {
11387 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
11388 next: ptr::null(),
11389 set_layout_count: u32::default(),
11390 set_layouts: ptr::null(),
11391 }
11392 }
11393}
11394
11395unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
11396unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
11397
11398#[repr(C)]
11400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11401pub struct InitializePerformanceApiInfoINTEL {
11402 pub s_type: StructureType,
11403 pub next: *const c_void,
11404 pub user_data: *mut c_void,
11405}
11406
11407impl Default for InitializePerformanceApiInfoINTEL {
11408 #[inline]
11409 fn default() -> Self {
11410 Self {
11411 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
11412 next: ptr::null(),
11413 user_data: ptr::null_mut(),
11414 }
11415 }
11416}
11417
11418unsafe impl Send for InitializePerformanceApiInfoINTEL {}
11419unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
11420
11421#[repr(C)]
11423#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11424pub struct InputAttachmentAspectReference {
11425 pub subpass: u32,
11426 pub input_attachment_index: u32,
11427 pub aspect_mask: ImageAspectFlags,
11428}
11429
11430#[repr(C)]
11432#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11433pub struct InstanceCreateInfo {
11434 pub s_type: StructureType,
11435 pub next: *const c_void,
11436 pub flags: InstanceCreateFlags,
11437 pub application_info: *const ApplicationInfo,
11438 pub enabled_layer_count: u32,
11439 pub enabled_layer_names: *const *const c_char,
11440 pub enabled_extension_count: u32,
11441 pub enabled_extension_names: *const *const c_char,
11442}
11443
11444impl Default for InstanceCreateInfo {
11445 #[inline]
11446 fn default() -> Self {
11447 Self {
11448 s_type: StructureType::INSTANCE_CREATE_INFO,
11449 next: ptr::null(),
11450 flags: InstanceCreateFlags::default(),
11451 application_info: ptr::null(),
11452 enabled_layer_count: u32::default(),
11453 enabled_layer_names: ptr::null(),
11454 enabled_extension_count: u32::default(),
11455 enabled_extension_names: ptr::null(),
11456 }
11457 }
11458}
11459
11460unsafe impl Send for InstanceCreateInfo {}
11461unsafe impl Sync for InstanceCreateInfo {}
11462
11463#[repr(C)]
11465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11466pub struct LatencySleepInfoNV {
11467 pub s_type: StructureType,
11468 pub next: *const c_void,
11469 pub signal_semaphore: Semaphore,
11470 pub value: u64,
11471}
11472
11473impl Default for LatencySleepInfoNV {
11474 #[inline]
11475 fn default() -> Self {
11476 Self {
11477 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
11478 next: ptr::null(),
11479 signal_semaphore: Semaphore::default(),
11480 value: u64::default(),
11481 }
11482 }
11483}
11484
11485unsafe impl Send for LatencySleepInfoNV {}
11486unsafe impl Sync for LatencySleepInfoNV {}
11487
11488#[repr(C)]
11490#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11491pub struct LatencySleepModeInfoNV {
11492 pub s_type: StructureType,
11493 pub next: *const c_void,
11494 pub low_latency_mode: Bool32,
11495 pub low_latency_boost: Bool32,
11496 pub minimum_interval_us: u32,
11497}
11498
11499impl Default for LatencySleepModeInfoNV {
11500 #[inline]
11501 fn default() -> Self {
11502 Self {
11503 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
11504 next: ptr::null(),
11505 low_latency_mode: Bool32::default(),
11506 low_latency_boost: Bool32::default(),
11507 minimum_interval_us: u32::default(),
11508 }
11509 }
11510}
11511
11512unsafe impl Send for LatencySleepModeInfoNV {}
11513unsafe impl Sync for LatencySleepModeInfoNV {}
11514
11515#[repr(C)]
11517#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11518pub struct LatencySubmissionPresentIdNV {
11519 pub s_type: StructureType,
11520 pub next: *const c_void,
11521 pub present_id: u64,
11522}
11523
11524impl Default for LatencySubmissionPresentIdNV {
11525 #[inline]
11526 fn default() -> Self {
11527 Self {
11528 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
11529 next: ptr::null(),
11530 present_id: u64::default(),
11531 }
11532 }
11533}
11534
11535unsafe impl Send for LatencySubmissionPresentIdNV {}
11536unsafe impl Sync for LatencySubmissionPresentIdNV {}
11537
11538#[repr(C)]
11540#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11541pub struct LatencySurfaceCapabilitiesNV {
11542 pub s_type: StructureType,
11543 pub next: *const c_void,
11544 pub present_mode_count: u32,
11545 pub present_modes: *mut PresentModeKHR,
11546}
11547
11548impl Default for LatencySurfaceCapabilitiesNV {
11549 #[inline]
11550 fn default() -> Self {
11551 Self {
11552 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
11553 next: ptr::null(),
11554 present_mode_count: u32::default(),
11555 present_modes: ptr::null_mut(),
11556 }
11557 }
11558}
11559
11560unsafe impl Send for LatencySurfaceCapabilitiesNV {}
11561unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
11562
11563#[repr(C)]
11565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11566pub struct LatencyTimingsFrameReportNV {
11567 pub s_type: StructureType,
11568 pub next: *mut c_void,
11569 pub present_id: u64,
11570 pub input_sample_time_us: u64,
11571 pub sim_start_time_us: u64,
11572 pub sim_end_time_us: u64,
11573 pub render_submit_start_time_us: u64,
11574 pub render_submit_end_time_us: u64,
11575 pub present_start_time_us: u64,
11576 pub present_end_time_us: u64,
11577 pub driver_start_time_us: u64,
11578 pub driver_end_time_us: u64,
11579 pub os_render_queue_start_time_us: u64,
11580 pub os_render_queue_end_time_us: u64,
11581 pub gpu_render_start_time_us: u64,
11582 pub gpu_render_end_time_us: u64,
11583}
11584
11585impl Default for LatencyTimingsFrameReportNV {
11586 #[inline]
11587 fn default() -> Self {
11588 Self {
11589 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
11590 next: ptr::null_mut(),
11591 present_id: u64::default(),
11592 input_sample_time_us: u64::default(),
11593 sim_start_time_us: u64::default(),
11594 sim_end_time_us: u64::default(),
11595 render_submit_start_time_us: u64::default(),
11596 render_submit_end_time_us: u64::default(),
11597 present_start_time_us: u64::default(),
11598 present_end_time_us: u64::default(),
11599 driver_start_time_us: u64::default(),
11600 driver_end_time_us: u64::default(),
11601 os_render_queue_start_time_us: u64::default(),
11602 os_render_queue_end_time_us: u64::default(),
11603 gpu_render_start_time_us: u64::default(),
11604 gpu_render_end_time_us: u64::default(),
11605 }
11606 }
11607}
11608
11609unsafe impl Send for LatencyTimingsFrameReportNV {}
11610unsafe impl Sync for LatencyTimingsFrameReportNV {}
11611
11612#[repr(C)]
11614#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11615pub struct LayerProperties {
11616 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
11617 pub spec_version: u32,
11618 pub implementation_version: u32,
11619 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11620}
11621
11622#[repr(C)]
11624#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11625pub struct LayerSettingEXT {
11626 pub layer_name: *const c_char,
11627 pub setting_name: *const c_char,
11628 pub type_: LayerSettingTypeEXT,
11629 pub value_count: u32,
11630 pub values: *const c_void,
11631}
11632
11633impl Default for LayerSettingEXT {
11634 #[inline]
11635 fn default() -> Self {
11636 Self {
11637 layer_name: ptr::null(),
11638 setting_name: ptr::null(),
11639 type_: LayerSettingTypeEXT::default(),
11640 value_count: u32::default(),
11641 values: ptr::null(),
11642 }
11643 }
11644}
11645
11646unsafe impl Send for LayerSettingEXT {}
11647unsafe impl Sync for LayerSettingEXT {}
11648
11649#[repr(C)]
11651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11652pub struct LayerSettingsCreateInfoEXT {
11653 pub s_type: StructureType,
11654 pub next: *const c_void,
11655 pub setting_count: u32,
11656 pub settings: *const LayerSettingEXT,
11657}
11658
11659impl Default for LayerSettingsCreateInfoEXT {
11660 #[inline]
11661 fn default() -> Self {
11662 Self {
11663 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
11664 next: ptr::null(),
11665 setting_count: u32::default(),
11666 settings: ptr::null(),
11667 }
11668 }
11669}
11670
11671unsafe impl Send for LayerSettingsCreateInfoEXT {}
11672unsafe impl Sync for LayerSettingsCreateInfoEXT {}
11673
11674#[repr(C)]
11676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11677pub struct MacOSSurfaceCreateInfoMVK {
11678 pub s_type: StructureType,
11679 pub next: *const c_void,
11680 pub flags: MacOSSurfaceCreateFlagsMVK,
11681 pub view: *const c_void,
11682}
11683
11684impl Default for MacOSSurfaceCreateInfoMVK {
11685 #[inline]
11686 fn default() -> Self {
11687 Self {
11688 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
11689 next: ptr::null(),
11690 flags: MacOSSurfaceCreateFlagsMVK::default(),
11691 view: ptr::null(),
11692 }
11693 }
11694}
11695
11696unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
11697unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
11698
11699#[repr(C)]
11701#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11702pub struct MappedMemoryRange {
11703 pub s_type: StructureType,
11704 pub next: *const c_void,
11705 pub memory: DeviceMemory,
11706 pub offset: DeviceSize,
11707 pub size: DeviceSize,
11708}
11709
11710impl Default for MappedMemoryRange {
11711 #[inline]
11712 fn default() -> Self {
11713 Self {
11714 s_type: StructureType::MAPPED_MEMORY_RANGE,
11715 next: ptr::null(),
11716 memory: DeviceMemory::default(),
11717 offset: DeviceSize::default(),
11718 size: DeviceSize::default(),
11719 }
11720 }
11721}
11722
11723unsafe impl Send for MappedMemoryRange {}
11724unsafe impl Sync for MappedMemoryRange {}
11725
11726#[repr(C)]
11728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11729pub struct MemoryAllocateFlagsInfo {
11730 pub s_type: StructureType,
11731 pub next: *const c_void,
11732 pub flags: MemoryAllocateFlags,
11733 pub device_mask: u32,
11734}
11735
11736impl Default for MemoryAllocateFlagsInfo {
11737 #[inline]
11738 fn default() -> Self {
11739 Self {
11740 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
11741 next: ptr::null(),
11742 flags: MemoryAllocateFlags::default(),
11743 device_mask: u32::default(),
11744 }
11745 }
11746}
11747
11748unsafe impl Send for MemoryAllocateFlagsInfo {}
11749unsafe impl Sync for MemoryAllocateFlagsInfo {}
11750
11751#[repr(C)]
11753#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11754pub struct MemoryAllocateInfo {
11755 pub s_type: StructureType,
11756 pub next: *const c_void,
11757 pub allocation_size: DeviceSize,
11758 pub memory_type_index: u32,
11759}
11760
11761impl Default for MemoryAllocateInfo {
11762 #[inline]
11763 fn default() -> Self {
11764 Self {
11765 s_type: StructureType::MEMORY_ALLOCATE_INFO,
11766 next: ptr::null(),
11767 allocation_size: DeviceSize::default(),
11768 memory_type_index: u32::default(),
11769 }
11770 }
11771}
11772
11773unsafe impl Send for MemoryAllocateInfo {}
11774unsafe impl Sync for MemoryAllocateInfo {}
11775
11776#[repr(C)]
11778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11779pub struct MemoryBarrier {
11780 pub s_type: StructureType,
11781 pub next: *const c_void,
11782 pub src_access_mask: AccessFlags,
11783 pub dst_access_mask: AccessFlags,
11784}
11785
11786impl Default for MemoryBarrier {
11787 #[inline]
11788 fn default() -> Self {
11789 Self {
11790 s_type: StructureType::MEMORY_BARRIER,
11791 next: ptr::null(),
11792 src_access_mask: AccessFlags::default(),
11793 dst_access_mask: AccessFlags::default(),
11794 }
11795 }
11796}
11797
11798unsafe impl Send for MemoryBarrier {}
11799unsafe impl Sync for MemoryBarrier {}
11800
11801#[repr(C)]
11803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11804pub struct MemoryBarrier2 {
11805 pub s_type: StructureType,
11806 pub next: *const c_void,
11807 pub src_stage_mask: PipelineStageFlags2,
11808 pub src_access_mask: AccessFlags2,
11809 pub dst_stage_mask: PipelineStageFlags2,
11810 pub dst_access_mask: AccessFlags2,
11811}
11812
11813impl Default for MemoryBarrier2 {
11814 #[inline]
11815 fn default() -> Self {
11816 Self {
11817 s_type: StructureType::MEMORY_BARRIER_2,
11818 next: ptr::null(),
11819 src_stage_mask: PipelineStageFlags2::default(),
11820 src_access_mask: AccessFlags2::default(),
11821 dst_stage_mask: PipelineStageFlags2::default(),
11822 dst_access_mask: AccessFlags2::default(),
11823 }
11824 }
11825}
11826
11827unsafe impl Send for MemoryBarrier2 {}
11828unsafe impl Sync for MemoryBarrier2 {}
11829
11830#[repr(C)]
11832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11833pub struct MemoryBarrierAccessFlags3KHR {
11834 pub s_type: StructureType,
11835 pub next: *const c_void,
11836 pub src_access_mask3: AccessFlags3KHR,
11837 pub dst_access_mask3: AccessFlags3KHR,
11838}
11839
11840impl Default for MemoryBarrierAccessFlags3KHR {
11841 #[inline]
11842 fn default() -> Self {
11843 Self {
11844 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
11845 next: ptr::null(),
11846 src_access_mask3: AccessFlags3KHR::default(),
11847 dst_access_mask3: AccessFlags3KHR::default(),
11848 }
11849 }
11850}
11851
11852unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
11853unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
11854
11855#[repr(C)]
11857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11858pub struct MemoryDedicatedAllocateInfo {
11859 pub s_type: StructureType,
11860 pub next: *const c_void,
11861 pub image: Image,
11862 pub buffer: Buffer,
11863}
11864
11865impl Default for MemoryDedicatedAllocateInfo {
11866 #[inline]
11867 fn default() -> Self {
11868 Self {
11869 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
11870 next: ptr::null(),
11871 image: Image::default(),
11872 buffer: Buffer::default(),
11873 }
11874 }
11875}
11876
11877unsafe impl Send for MemoryDedicatedAllocateInfo {}
11878unsafe impl Sync for MemoryDedicatedAllocateInfo {}
11879
11880#[repr(C)]
11882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11883pub struct MemoryDedicatedAllocateInfoTensorARM {
11884 pub s_type: StructureType,
11885 pub next: *const c_void,
11886 pub tensor: TensorARM,
11887}
11888
11889impl Default for MemoryDedicatedAllocateInfoTensorARM {
11890 #[inline]
11891 fn default() -> Self {
11892 Self {
11893 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
11894 next: ptr::null(),
11895 tensor: TensorARM::default(),
11896 }
11897 }
11898}
11899
11900unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
11901unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
11902
11903#[repr(C)]
11905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11906pub struct MemoryDedicatedRequirements {
11907 pub s_type: StructureType,
11908 pub next: *mut c_void,
11909 pub prefers_dedicated_allocation: Bool32,
11910 pub requires_dedicated_allocation: Bool32,
11911}
11912
11913impl Default for MemoryDedicatedRequirements {
11914 #[inline]
11915 fn default() -> Self {
11916 Self {
11917 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
11918 next: ptr::null_mut(),
11919 prefers_dedicated_allocation: Bool32::default(),
11920 requires_dedicated_allocation: Bool32::default(),
11921 }
11922 }
11923}
11924
11925unsafe impl Send for MemoryDedicatedRequirements {}
11926unsafe impl Sync for MemoryDedicatedRequirements {}
11927
11928#[repr(C)]
11930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11931pub struct MemoryFdPropertiesKHR {
11932 pub s_type: StructureType,
11933 pub next: *mut c_void,
11934 pub memory_type_bits: u32,
11935}
11936
11937impl Default for MemoryFdPropertiesKHR {
11938 #[inline]
11939 fn default() -> Self {
11940 Self {
11941 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
11942 next: ptr::null_mut(),
11943 memory_type_bits: u32::default(),
11944 }
11945 }
11946}
11947
11948unsafe impl Send for MemoryFdPropertiesKHR {}
11949unsafe impl Sync for MemoryFdPropertiesKHR {}
11950
11951#[repr(C)]
11953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11954pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
11955 pub s_type: StructureType,
11956 pub next: *const c_void,
11957 pub memory: DeviceMemory,
11958}
11959
11960impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
11961 #[inline]
11962 fn default() -> Self {
11963 Self {
11964 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
11965 next: ptr::null(),
11966 memory: DeviceMemory::default(),
11967 }
11968 }
11969}
11970
11971unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
11972unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
11973
11974#[repr(C)]
11976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11977pub struct MemoryGetFdInfoKHR {
11978 pub s_type: StructureType,
11979 pub next: *const c_void,
11980 pub memory: DeviceMemory,
11981 pub handle_type: ExternalMemoryHandleTypeFlags,
11982}
11983
11984impl Default for MemoryGetFdInfoKHR {
11985 #[inline]
11986 fn default() -> Self {
11987 Self {
11988 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
11989 next: ptr::null(),
11990 memory: DeviceMemory::default(),
11991 handle_type: ExternalMemoryHandleTypeFlags::default(),
11992 }
11993 }
11994}
11995
11996unsafe impl Send for MemoryGetFdInfoKHR {}
11997unsafe impl Sync for MemoryGetFdInfoKHR {}
11998
11999#[repr(C)]
12001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12002pub struct MemoryGetMetalHandleInfoEXT {
12003 pub s_type: StructureType,
12004 pub next: *const c_void,
12005 pub memory: DeviceMemory,
12006 pub handle_type: ExternalMemoryHandleTypeFlags,
12007}
12008
12009impl Default for MemoryGetMetalHandleInfoEXT {
12010 #[inline]
12011 fn default() -> Self {
12012 Self {
12013 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
12014 next: ptr::null(),
12015 memory: DeviceMemory::default(),
12016 handle_type: ExternalMemoryHandleTypeFlags::default(),
12017 }
12018 }
12019}
12020
12021unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
12022unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
12023
12024#[repr(C)]
12026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12027pub struct MemoryGetNativeBufferInfoOHOS {
12028 pub s_type: StructureType,
12029 pub next: *const c_void,
12030 pub memory: DeviceMemory,
12031}
12032
12033impl Default for MemoryGetNativeBufferInfoOHOS {
12034 #[inline]
12035 fn default() -> Self {
12036 Self {
12037 s_type: StructureType::MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
12038 next: ptr::null(),
12039 memory: DeviceMemory::default(),
12040 }
12041 }
12042}
12043
12044unsafe impl Send for MemoryGetNativeBufferInfoOHOS {}
12045unsafe impl Sync for MemoryGetNativeBufferInfoOHOS {}
12046
12047#[repr(C)]
12049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12050pub struct MemoryGetRemoteAddressInfoNV {
12051 pub s_type: StructureType,
12052 pub next: *const c_void,
12053 pub memory: DeviceMemory,
12054 pub handle_type: ExternalMemoryHandleTypeFlags,
12055}
12056
12057impl Default for MemoryGetRemoteAddressInfoNV {
12058 #[inline]
12059 fn default() -> Self {
12060 Self {
12061 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
12062 next: ptr::null(),
12063 memory: DeviceMemory::default(),
12064 handle_type: ExternalMemoryHandleTypeFlags::default(),
12065 }
12066 }
12067}
12068
12069unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
12070unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
12071
12072#[repr(C)]
12074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12075pub struct MemoryGetSciBufInfoNV {
12076 pub s_type: StructureType,
12077 pub next: *const c_void,
12078 pub memory: DeviceMemory,
12079 pub handle_type: ExternalMemoryHandleTypeFlags,
12080}
12081
12082impl Default for MemoryGetSciBufInfoNV {
12083 #[inline]
12084 fn default() -> Self {
12085 Self {
12086 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
12087 next: ptr::null(),
12088 memory: DeviceMemory::default(),
12089 handle_type: ExternalMemoryHandleTypeFlags::default(),
12090 }
12091 }
12092}
12093
12094unsafe impl Send for MemoryGetSciBufInfoNV {}
12095unsafe impl Sync for MemoryGetSciBufInfoNV {}
12096
12097#[repr(C)]
12099#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12100pub struct MemoryGetWin32HandleInfoKHR {
12101 pub s_type: StructureType,
12102 pub next: *const c_void,
12103 pub memory: DeviceMemory,
12104 pub handle_type: ExternalMemoryHandleTypeFlags,
12105}
12106
12107impl Default for MemoryGetWin32HandleInfoKHR {
12108 #[inline]
12109 fn default() -> Self {
12110 Self {
12111 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
12112 next: ptr::null(),
12113 memory: DeviceMemory::default(),
12114 handle_type: ExternalMemoryHandleTypeFlags::default(),
12115 }
12116 }
12117}
12118
12119unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
12120unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
12121
12122#[repr(C)]
12124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12125pub struct MemoryGetZirconHandleInfoFUCHSIA {
12126 pub s_type: StructureType,
12127 pub next: *const c_void,
12128 pub memory: DeviceMemory,
12129 pub handle_type: ExternalMemoryHandleTypeFlags,
12130}
12131
12132impl Default for MemoryGetZirconHandleInfoFUCHSIA {
12133 #[inline]
12134 fn default() -> Self {
12135 Self {
12136 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
12137 next: ptr::null(),
12138 memory: DeviceMemory::default(),
12139 handle_type: ExternalMemoryHandleTypeFlags::default(),
12140 }
12141 }
12142}
12143
12144unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
12145unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
12146
12147#[repr(C)]
12149#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12150pub struct MemoryHeap {
12151 pub size: DeviceSize,
12152 pub flags: MemoryHeapFlags,
12153}
12154
12155#[repr(C)]
12157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12158pub struct MemoryHostPointerPropertiesEXT {
12159 pub s_type: StructureType,
12160 pub next: *mut c_void,
12161 pub memory_type_bits: u32,
12162}
12163
12164impl Default for MemoryHostPointerPropertiesEXT {
12165 #[inline]
12166 fn default() -> Self {
12167 Self {
12168 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
12169 next: ptr::null_mut(),
12170 memory_type_bits: u32::default(),
12171 }
12172 }
12173}
12174
12175unsafe impl Send for MemoryHostPointerPropertiesEXT {}
12176unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
12177
12178#[repr(C)]
12180#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12181pub struct MemoryMapInfo {
12182 pub s_type: StructureType,
12183 pub next: *const c_void,
12184 pub flags: MemoryMapFlags,
12185 pub memory: DeviceMemory,
12186 pub offset: DeviceSize,
12187 pub size: DeviceSize,
12188}
12189
12190impl Default for MemoryMapInfo {
12191 #[inline]
12192 fn default() -> Self {
12193 Self {
12194 s_type: StructureType::MEMORY_MAP_INFO,
12195 next: ptr::null(),
12196 flags: MemoryMapFlags::default(),
12197 memory: DeviceMemory::default(),
12198 offset: DeviceSize::default(),
12199 size: DeviceSize::default(),
12200 }
12201 }
12202}
12203
12204unsafe impl Send for MemoryMapInfo {}
12205unsafe impl Sync for MemoryMapInfo {}
12206
12207#[repr(C)]
12209#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12210pub struct MemoryMapPlacedInfoEXT {
12211 pub s_type: StructureType,
12212 pub next: *const c_void,
12213 pub placed_address: *mut c_void,
12214}
12215
12216impl Default for MemoryMapPlacedInfoEXT {
12217 #[inline]
12218 fn default() -> Self {
12219 Self {
12220 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
12221 next: ptr::null(),
12222 placed_address: ptr::null_mut(),
12223 }
12224 }
12225}
12226
12227unsafe impl Send for MemoryMapPlacedInfoEXT {}
12228unsafe impl Sync for MemoryMapPlacedInfoEXT {}
12229
12230#[repr(C)]
12232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12233pub struct MemoryMetalHandlePropertiesEXT {
12234 pub s_type: StructureType,
12235 pub next: *mut c_void,
12236 pub memory_type_bits: u32,
12237}
12238
12239impl Default for MemoryMetalHandlePropertiesEXT {
12240 #[inline]
12241 fn default() -> Self {
12242 Self {
12243 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
12244 next: ptr::null_mut(),
12245 memory_type_bits: u32::default(),
12246 }
12247 }
12248}
12249
12250unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
12251unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
12252
12253#[repr(C)]
12255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12256pub struct MemoryOpaqueCaptureAddressAllocateInfo {
12257 pub s_type: StructureType,
12258 pub next: *const c_void,
12259 pub opaque_capture_address: u64,
12260}
12261
12262impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
12263 #[inline]
12264 fn default() -> Self {
12265 Self {
12266 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
12267 next: ptr::null(),
12268 opaque_capture_address: u64::default(),
12269 }
12270 }
12271}
12272
12273unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
12274unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
12275
12276#[repr(C)]
12278#[derive(Copy, Clone, Debug, PartialEq)]
12279pub struct MemoryPriorityAllocateInfoEXT {
12280 pub s_type: StructureType,
12281 pub next: *const c_void,
12282 pub priority: f32,
12283}
12284
12285impl Default for MemoryPriorityAllocateInfoEXT {
12286 #[inline]
12287 fn default() -> Self {
12288 Self {
12289 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
12290 next: ptr::null(),
12291 priority: f32::default(),
12292 }
12293 }
12294}
12295
12296unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
12297unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
12298
12299#[repr(C)]
12301#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12302pub struct MemoryRequirements {
12303 pub size: DeviceSize,
12304 pub alignment: DeviceSize,
12305 pub memory_type_bits: u32,
12306}
12307
12308#[repr(C)]
12310#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12311pub struct MemoryRequirements2 {
12312 pub s_type: StructureType,
12313 pub next: *mut c_void,
12314 pub memory_requirements: MemoryRequirements,
12315}
12316
12317impl Default for MemoryRequirements2 {
12318 #[inline]
12319 fn default() -> Self {
12320 Self {
12321 s_type: StructureType::MEMORY_REQUIREMENTS_2,
12322 next: ptr::null_mut(),
12323 memory_requirements: MemoryRequirements::default(),
12324 }
12325 }
12326}
12327
12328unsafe impl Send for MemoryRequirements2 {}
12329unsafe impl Sync for MemoryRequirements2 {}
12330
12331#[repr(C)]
12333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12334pub struct MemorySciBufPropertiesNV {
12335 pub s_type: StructureType,
12336 pub next: *const c_void,
12337 pub memory_type_bits: u32,
12338}
12339
12340impl Default for MemorySciBufPropertiesNV {
12341 #[inline]
12342 fn default() -> Self {
12343 Self {
12344 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
12345 next: ptr::null(),
12346 memory_type_bits: u32::default(),
12347 }
12348 }
12349}
12350
12351unsafe impl Send for MemorySciBufPropertiesNV {}
12352unsafe impl Sync for MemorySciBufPropertiesNV {}
12353
12354#[repr(C)]
12356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12357pub struct MemoryToImageCopy {
12358 pub s_type: StructureType,
12359 pub next: *const c_void,
12360 pub host_pointer: *const c_void,
12361 pub memory_row_length: u32,
12362 pub memory_image_height: u32,
12363 pub image_subresource: ImageSubresourceLayers,
12364 pub image_offset: Offset3D,
12365 pub image_extent: Extent3D,
12366}
12367
12368impl Default for MemoryToImageCopy {
12369 #[inline]
12370 fn default() -> Self {
12371 Self {
12372 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
12373 next: ptr::null(),
12374 host_pointer: ptr::null(),
12375 memory_row_length: u32::default(),
12376 memory_image_height: u32::default(),
12377 image_subresource: ImageSubresourceLayers::default(),
12378 image_offset: Offset3D::default(),
12379 image_extent: Extent3D::default(),
12380 }
12381 }
12382}
12383
12384unsafe impl Send for MemoryToImageCopy {}
12385unsafe impl Sync for MemoryToImageCopy {}
12386
12387#[repr(C)]
12389#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12390pub struct MemoryType {
12391 pub property_flags: MemoryPropertyFlags,
12392 pub heap_index: u32,
12393}
12394
12395#[repr(C)]
12397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12398pub struct MemoryUnmapInfo {
12399 pub s_type: StructureType,
12400 pub next: *const c_void,
12401 pub flags: MemoryUnmapFlags,
12402 pub memory: DeviceMemory,
12403}
12404
12405impl Default for MemoryUnmapInfo {
12406 #[inline]
12407 fn default() -> Self {
12408 Self {
12409 s_type: StructureType::MEMORY_UNMAP_INFO,
12410 next: ptr::null(),
12411 flags: MemoryUnmapFlags::default(),
12412 memory: DeviceMemory::default(),
12413 }
12414 }
12415}
12416
12417unsafe impl Send for MemoryUnmapInfo {}
12418unsafe impl Sync for MemoryUnmapInfo {}
12419
12420#[repr(C)]
12422#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12423pub struct MemoryWin32HandlePropertiesKHR {
12424 pub s_type: StructureType,
12425 pub next: *mut c_void,
12426 pub memory_type_bits: u32,
12427}
12428
12429impl Default for MemoryWin32HandlePropertiesKHR {
12430 #[inline]
12431 fn default() -> Self {
12432 Self {
12433 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
12434 next: ptr::null_mut(),
12435 memory_type_bits: u32::default(),
12436 }
12437 }
12438}
12439
12440unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
12441unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
12442
12443#[repr(C)]
12445#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12446pub struct MemoryZirconHandlePropertiesFUCHSIA {
12447 pub s_type: StructureType,
12448 pub next: *mut c_void,
12449 pub memory_type_bits: u32,
12450}
12451
12452impl Default for MemoryZirconHandlePropertiesFUCHSIA {
12453 #[inline]
12454 fn default() -> Self {
12455 Self {
12456 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
12457 next: ptr::null_mut(),
12458 memory_type_bits: u32::default(),
12459 }
12460 }
12461}
12462
12463unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
12464unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
12465
12466#[repr(C)]
12468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12469pub struct MetalSurfaceCreateInfoEXT {
12470 pub s_type: StructureType,
12471 pub next: *const c_void,
12472 pub flags: MetalSurfaceCreateFlagsEXT,
12473 pub layer: *const CAMetalLayer,
12474}
12475
12476impl Default for MetalSurfaceCreateInfoEXT {
12477 #[inline]
12478 fn default() -> Self {
12479 Self {
12480 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
12481 next: ptr::null(),
12482 flags: MetalSurfaceCreateFlagsEXT::default(),
12483 layer: ptr::null(),
12484 }
12485 }
12486}
12487
12488unsafe impl Send for MetalSurfaceCreateInfoEXT {}
12489unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
12490
12491#[repr(C)]
12493#[derive(Copy, Clone, Debug)]
12494pub struct MicromapBuildInfoEXT {
12495 pub s_type: StructureType,
12496 pub next: *const c_void,
12497 pub type_: MicromapTypeEXT,
12498 pub flags: BuildMicromapFlagsEXT,
12499 pub mode: BuildMicromapModeEXT,
12500 pub dst_micromap: MicromapEXT,
12501 pub usage_counts_count: u32,
12502 pub usage_counts: *const MicromapUsageEXT,
12503 pub pointer_usage_counts: *const *const MicromapUsageEXT,
12504 pub data: DeviceOrHostAddressConstKHR,
12505 pub scratch_data: DeviceOrHostAddressKHR,
12506 pub triangle_array: DeviceOrHostAddressConstKHR,
12507 pub triangle_array_stride: DeviceSize,
12508}
12509
12510impl Default for MicromapBuildInfoEXT {
12511 #[inline]
12512 fn default() -> Self {
12513 Self {
12514 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
12515 next: ptr::null(),
12516 type_: MicromapTypeEXT::default(),
12517 flags: BuildMicromapFlagsEXT::default(),
12518 mode: BuildMicromapModeEXT::default(),
12519 dst_micromap: MicromapEXT::default(),
12520 usage_counts_count: u32::default(),
12521 usage_counts: ptr::null(),
12522 pointer_usage_counts: ptr::null(),
12523 data: DeviceOrHostAddressConstKHR::default(),
12524 scratch_data: DeviceOrHostAddressKHR::default(),
12525 triangle_array: DeviceOrHostAddressConstKHR::default(),
12526 triangle_array_stride: DeviceSize::default(),
12527 }
12528 }
12529}
12530
12531unsafe impl Send for MicromapBuildInfoEXT {}
12532unsafe impl Sync for MicromapBuildInfoEXT {}
12533
12534#[repr(C)]
12536#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12537pub struct MicromapBuildSizesInfoEXT {
12538 pub s_type: StructureType,
12539 pub next: *const c_void,
12540 pub micromap_size: DeviceSize,
12541 pub build_scratch_size: DeviceSize,
12542 pub discardable: Bool32,
12543}
12544
12545impl Default for MicromapBuildSizesInfoEXT {
12546 #[inline]
12547 fn default() -> Self {
12548 Self {
12549 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
12550 next: ptr::null(),
12551 micromap_size: DeviceSize::default(),
12552 build_scratch_size: DeviceSize::default(),
12553 discardable: Bool32::default(),
12554 }
12555 }
12556}
12557
12558unsafe impl Send for MicromapBuildSizesInfoEXT {}
12559unsafe impl Sync for MicromapBuildSizesInfoEXT {}
12560
12561#[repr(C)]
12563#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12564pub struct MicromapCreateInfoEXT {
12565 pub s_type: StructureType,
12566 pub next: *const c_void,
12567 pub create_flags: MicromapCreateFlagsEXT,
12568 pub buffer: Buffer,
12569 pub offset: DeviceSize,
12570 pub size: DeviceSize,
12571 pub type_: MicromapTypeEXT,
12572 pub device_address: DeviceAddress,
12573}
12574
12575impl Default for MicromapCreateInfoEXT {
12576 #[inline]
12577 fn default() -> Self {
12578 Self {
12579 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
12580 next: ptr::null(),
12581 create_flags: MicromapCreateFlagsEXT::default(),
12582 buffer: Buffer::default(),
12583 offset: DeviceSize::default(),
12584 size: DeviceSize::default(),
12585 type_: MicromapTypeEXT::default(),
12586 device_address: DeviceAddress::default(),
12587 }
12588 }
12589}
12590
12591unsafe impl Send for MicromapCreateInfoEXT {}
12592unsafe impl Sync for MicromapCreateInfoEXT {}
12593
12594#[repr(C)]
12596#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12597pub struct MicromapTriangleEXT {
12598 pub data_offset: u32,
12599 pub subdivision_level: u16,
12600 pub format: u16,
12601}
12602
12603#[repr(C)]
12605#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12606pub struct MicromapUsageEXT {
12607 pub count: u32,
12608 pub subdivision_level: u32,
12609 pub format: u32,
12610}
12611
12612#[repr(C)]
12614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12615pub struct MicromapVersionInfoEXT {
12616 pub s_type: StructureType,
12617 pub next: *const c_void,
12618 pub version_data: *const u8,
12619}
12620
12621impl Default for MicromapVersionInfoEXT {
12622 #[inline]
12623 fn default() -> Self {
12624 Self {
12625 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
12626 next: ptr::null(),
12627 version_data: ptr::null(),
12628 }
12629 }
12630}
12631
12632unsafe impl Send for MicromapVersionInfoEXT {}
12633unsafe impl Sync for MicromapVersionInfoEXT {}
12634
12635#[repr(C)]
12637#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12638pub struct MultiDrawIndexedInfoEXT {
12639 pub first_index: u32,
12640 pub index_count: u32,
12641 pub vertex_offset: i32,
12642}
12643
12644#[repr(C)]
12646#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12647pub struct MultiDrawInfoEXT {
12648 pub first_vertex: u32,
12649 pub vertex_count: u32,
12650}
12651
12652#[repr(C)]
12654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12655pub struct MultisamplePropertiesEXT {
12656 pub s_type: StructureType,
12657 pub next: *mut c_void,
12658 pub max_sample_location_grid_size: Extent2D,
12659}
12660
12661impl Default for MultisamplePropertiesEXT {
12662 #[inline]
12663 fn default() -> Self {
12664 Self {
12665 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
12666 next: ptr::null_mut(),
12667 max_sample_location_grid_size: Extent2D::default(),
12668 }
12669 }
12670}
12671
12672unsafe impl Send for MultisamplePropertiesEXT {}
12673unsafe impl Sync for MultisamplePropertiesEXT {}
12674
12675#[repr(C)]
12677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12678pub struct MultisampledRenderToSingleSampledInfoEXT {
12679 pub s_type: StructureType,
12680 pub next: *const c_void,
12681 pub multisampled_render_to_single_sampled_enable: Bool32,
12682 pub rasterization_samples: SampleCountFlags,
12683}
12684
12685impl Default for MultisampledRenderToSingleSampledInfoEXT {
12686 #[inline]
12687 fn default() -> Self {
12688 Self {
12689 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
12690 next: ptr::null(),
12691 multisampled_render_to_single_sampled_enable: Bool32::default(),
12692 rasterization_samples: SampleCountFlags::default(),
12693 }
12694 }
12695}
12696
12697unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
12698unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
12699
12700#[repr(C)]
12702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12703pub struct MultiviewPerViewAttributesInfoNVX {
12704 pub s_type: StructureType,
12705 pub next: *const c_void,
12706 pub per_view_attributes: Bool32,
12707 pub per_view_attributes_position_x_only: Bool32,
12708}
12709
12710impl Default for MultiviewPerViewAttributesInfoNVX {
12711 #[inline]
12712 fn default() -> Self {
12713 Self {
12714 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
12715 next: ptr::null(),
12716 per_view_attributes: Bool32::default(),
12717 per_view_attributes_position_x_only: Bool32::default(),
12718 }
12719 }
12720}
12721
12722unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
12723unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
12724
12725#[repr(C)]
12727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12728pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12729 pub s_type: StructureType,
12730 pub next: *const c_void,
12731 pub per_view_render_area_count: u32,
12732 pub per_view_render_areas: *const Rect2D,
12733}
12734
12735impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12736 #[inline]
12737 fn default() -> Self {
12738 Self {
12739 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
12740 next: ptr::null(),
12741 per_view_render_area_count: u32::default(),
12742 per_view_render_areas: ptr::null(),
12743 }
12744 }
12745}
12746
12747unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12748unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12749
12750#[repr(C)]
12752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12753pub struct MutableDescriptorTypeCreateInfoEXT {
12754 pub s_type: StructureType,
12755 pub next: *const c_void,
12756 pub mutable_descriptor_type_list_count: u32,
12757 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
12758}
12759
12760impl Default for MutableDescriptorTypeCreateInfoEXT {
12761 #[inline]
12762 fn default() -> Self {
12763 Self {
12764 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
12765 next: ptr::null(),
12766 mutable_descriptor_type_list_count: u32::default(),
12767 mutable_descriptor_type_lists: ptr::null(),
12768 }
12769 }
12770}
12771
12772unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
12773unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
12774
12775#[repr(C)]
12777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12778pub struct MutableDescriptorTypeListEXT {
12779 pub descriptor_type_count: u32,
12780 pub descriptor_types: *const DescriptorType,
12781}
12782
12783impl Default for MutableDescriptorTypeListEXT {
12784 #[inline]
12785 fn default() -> Self {
12786 Self {
12787 descriptor_type_count: u32::default(),
12788 descriptor_types: ptr::null(),
12789 }
12790 }
12791}
12792
12793unsafe impl Send for MutableDescriptorTypeListEXT {}
12794unsafe impl Sync for MutableDescriptorTypeListEXT {}
12795
12796#[repr(C)]
12798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12799pub struct NativeBufferFormatPropertiesOHOS {
12800 pub s_type: StructureType,
12801 pub next: *mut c_void,
12802 pub format: Format,
12803 pub external_format: u64,
12804 pub format_features: FormatFeatureFlags,
12805 pub sampler_ycbcr_conversion_components: ComponentMapping,
12806 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
12807 pub suggested_ycbcr_range: SamplerYcbcrRange,
12808 pub suggested_x_chroma_offset: ChromaLocation,
12809 pub suggested_y_chroma_offset: ChromaLocation,
12810}
12811
12812impl Default for NativeBufferFormatPropertiesOHOS {
12813 #[inline]
12814 fn default() -> Self {
12815 Self {
12816 s_type: StructureType::NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
12817 next: ptr::null_mut(),
12818 format: Format::default(),
12819 external_format: u64::default(),
12820 format_features: FormatFeatureFlags::default(),
12821 sampler_ycbcr_conversion_components: ComponentMapping::default(),
12822 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
12823 suggested_ycbcr_range: SamplerYcbcrRange::default(),
12824 suggested_x_chroma_offset: ChromaLocation::default(),
12825 suggested_y_chroma_offset: ChromaLocation::default(),
12826 }
12827 }
12828}
12829
12830unsafe impl Send for NativeBufferFormatPropertiesOHOS {}
12831unsafe impl Sync for NativeBufferFormatPropertiesOHOS {}
12832
12833#[repr(C)]
12835#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12836pub struct NativeBufferPropertiesOHOS {
12837 pub s_type: StructureType,
12838 pub next: *mut c_void,
12839 pub allocation_size: DeviceSize,
12840 pub memory_type_bits: u32,
12841}
12842
12843impl Default for NativeBufferPropertiesOHOS {
12844 #[inline]
12845 fn default() -> Self {
12846 Self {
12847 s_type: StructureType::NATIVE_BUFFER_PROPERTIES_OHOS,
12848 next: ptr::null_mut(),
12849 allocation_size: DeviceSize::default(),
12850 memory_type_bits: u32::default(),
12851 }
12852 }
12853}
12854
12855unsafe impl Send for NativeBufferPropertiesOHOS {}
12856unsafe impl Sync for NativeBufferPropertiesOHOS {}
12857
12858#[repr(C)]
12860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12861pub struct NativeBufferUsageOHOS {
12862 pub s_type: StructureType,
12863 pub next: *mut c_void,
12864 pub ohos_native_buffer_usage: u64,
12865}
12866
12867impl Default for NativeBufferUsageOHOS {
12868 #[inline]
12869 fn default() -> Self {
12870 Self {
12871 s_type: StructureType::NATIVE_BUFFER_USAGE_OHOS,
12872 next: ptr::null_mut(),
12873 ohos_native_buffer_usage: u64::default(),
12874 }
12875 }
12876}
12877
12878unsafe impl Send for NativeBufferUsageOHOS {}
12879unsafe impl Sync for NativeBufferUsageOHOS {}
12880
12881#[repr(C)]
12883#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12884pub struct Offset2D {
12885 pub x: i32,
12886 pub y: i32,
12887}
12888
12889#[repr(C)]
12891#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12892pub struct Offset3D {
12893 pub x: i32,
12894 pub y: i32,
12895 pub z: i32,
12896}
12897
12898#[repr(C)]
12900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12901pub struct OpaqueCaptureDataCreateInfoEXT {
12902 pub s_type: StructureType,
12903 pub next: *const c_void,
12904 pub data: *const HostAddressRangeConstEXT,
12905}
12906
12907impl Default for OpaqueCaptureDataCreateInfoEXT {
12908 #[inline]
12909 fn default() -> Self {
12910 Self {
12911 s_type: StructureType::OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT,
12912 next: ptr::null(),
12913 data: ptr::null(),
12914 }
12915 }
12916}
12917
12918unsafe impl Send for OpaqueCaptureDataCreateInfoEXT {}
12919unsafe impl Sync for OpaqueCaptureDataCreateInfoEXT {}
12920
12921#[repr(C)]
12923#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12924pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
12925 pub s_type: StructureType,
12926 pub next: *const c_void,
12927 pub opaque_capture_descriptor_data: *const c_void,
12928}
12929
12930impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
12931 #[inline]
12932 fn default() -> Self {
12933 Self {
12934 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
12935 next: ptr::null(),
12936 opaque_capture_descriptor_data: ptr::null(),
12937 }
12938 }
12939}
12940
12941unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12942unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12943
12944#[repr(C)]
12946#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12947pub struct OpticalFlowExecuteInfoNV {
12948 pub s_type: StructureType,
12949 pub next: *mut c_void,
12950 pub flags: OpticalFlowExecuteFlagsNV,
12951 pub region_count: u32,
12952 pub regions: *const Rect2D,
12953}
12954
12955impl Default for OpticalFlowExecuteInfoNV {
12956 #[inline]
12957 fn default() -> Self {
12958 Self {
12959 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
12960 next: ptr::null_mut(),
12961 flags: OpticalFlowExecuteFlagsNV::default(),
12962 region_count: u32::default(),
12963 regions: ptr::null(),
12964 }
12965 }
12966}
12967
12968unsafe impl Send for OpticalFlowExecuteInfoNV {}
12969unsafe impl Sync for OpticalFlowExecuteInfoNV {}
12970
12971#[repr(C)]
12973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12974pub struct OpticalFlowImageFormatInfoNV {
12975 pub s_type: StructureType,
12976 pub next: *const c_void,
12977 pub usage: OpticalFlowUsageFlagsNV,
12978}
12979
12980impl Default for OpticalFlowImageFormatInfoNV {
12981 #[inline]
12982 fn default() -> Self {
12983 Self {
12984 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
12985 next: ptr::null(),
12986 usage: OpticalFlowUsageFlagsNV::default(),
12987 }
12988 }
12989}
12990
12991unsafe impl Send for OpticalFlowImageFormatInfoNV {}
12992unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
12993
12994#[repr(C)]
12996#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12997pub struct OpticalFlowImageFormatPropertiesNV {
12998 pub s_type: StructureType,
12999 pub next: *mut c_void,
13000 pub format: Format,
13001}
13002
13003impl Default for OpticalFlowImageFormatPropertiesNV {
13004 #[inline]
13005 fn default() -> Self {
13006 Self {
13007 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
13008 next: ptr::null_mut(),
13009 format: Format::default(),
13010 }
13011 }
13012}
13013
13014unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
13015unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
13016
13017#[repr(C)]
13019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13020pub struct OpticalFlowSessionCreateInfoNV {
13021 pub s_type: StructureType,
13022 pub next: *mut c_void,
13023 pub width: u32,
13024 pub height: u32,
13025 pub image_format: Format,
13026 pub flow_vector_format: Format,
13027 pub cost_format: Format,
13028 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
13029 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
13030 pub performance_level: OpticalFlowPerformanceLevelNV,
13031 pub flags: OpticalFlowSessionCreateFlagsNV,
13032}
13033
13034impl Default for OpticalFlowSessionCreateInfoNV {
13035 #[inline]
13036 fn default() -> Self {
13037 Self {
13038 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
13039 next: ptr::null_mut(),
13040 width: u32::default(),
13041 height: u32::default(),
13042 image_format: Format::default(),
13043 flow_vector_format: Format::default(),
13044 cost_format: Format::default(),
13045 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
13046 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
13047 performance_level: OpticalFlowPerformanceLevelNV::default(),
13048 flags: OpticalFlowSessionCreateFlagsNV::default(),
13049 }
13050 }
13051}
13052
13053unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
13054unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
13055
13056#[repr(C)]
13058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13059pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
13060 pub s_type: StructureType,
13061 pub next: *mut c_void,
13062 pub id: u32,
13063 pub size: u32,
13064 pub private_data: *const c_void,
13065}
13066
13067impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
13068 #[inline]
13069 fn default() -> Self {
13070 Self {
13071 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
13072 next: ptr::null_mut(),
13073 id: u32::default(),
13074 size: u32::default(),
13075 private_data: ptr::null(),
13076 }
13077 }
13078}
13079
13080unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
13081unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
13082
13083#[repr(C)]
13085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13086pub struct OutOfBandQueueTypeInfoNV {
13087 pub s_type: StructureType,
13088 pub next: *const c_void,
13089 pub queue_type: OutOfBandQueueTypeNV,
13090}
13091
13092impl Default for OutOfBandQueueTypeInfoNV {
13093 #[inline]
13094 fn default() -> Self {
13095 Self {
13096 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
13097 next: ptr::null(),
13098 queue_type: OutOfBandQueueTypeNV::default(),
13099 }
13100 }
13101}
13102
13103unsafe impl Send for OutOfBandQueueTypeInfoNV {}
13104unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
13105
13106#[repr(C)]
13108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13109pub struct PartitionedAccelerationStructureFlagsNV {
13110 pub s_type: StructureType,
13111 pub next: *mut c_void,
13112 pub enable_partition_translation: Bool32,
13113}
13114
13115impl Default for PartitionedAccelerationStructureFlagsNV {
13116 #[inline]
13117 fn default() -> Self {
13118 Self {
13119 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
13120 next: ptr::null_mut(),
13121 enable_partition_translation: Bool32::default(),
13122 }
13123 }
13124}
13125
13126unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
13127unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
13128
13129#[repr(C)]
13131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13132pub struct PartitionedAccelerationStructureInstancesInputNV {
13133 pub s_type: StructureType,
13134 pub next: *mut c_void,
13135 pub flags: BuildAccelerationStructureFlagsKHR,
13136 pub instance_count: u32,
13137 pub max_instance_per_partition_count: u32,
13138 pub partition_count: u32,
13139 pub max_instance_in_global_partition_count: u32,
13140}
13141
13142impl Default for PartitionedAccelerationStructureInstancesInputNV {
13143 #[inline]
13144 fn default() -> Self {
13145 Self {
13146 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
13147 next: ptr::null_mut(),
13148 flags: BuildAccelerationStructureFlagsKHR::default(),
13149 instance_count: u32::default(),
13150 max_instance_per_partition_count: u32::default(),
13151 partition_count: u32::default(),
13152 max_instance_in_global_partition_count: u32::default(),
13153 }
13154 }
13155}
13156
13157unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
13158unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
13159
13160#[repr(C)]
13162#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
13163pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
13164 pub instance_index: u32,
13165 pub instance_contribution_to_hit_group_index: u32,
13166 pub acceleration_structure: DeviceAddress,
13167}
13168
13169#[repr(C)]
13171#[derive(Copy, Clone, Default, Debug, PartialEq)]
13172pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
13173 pub transform: TransformMatrixKHR,
13174 pub explicit_aabb: [f32; 6],
13175 pub instance_id: u32,
13176 pub instance_mask: u32,
13177 pub instance_contribution_to_hit_group_index: u32,
13178 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
13179 pub instance_index: u32,
13180 pub partition_index: u32,
13181 pub acceleration_structure: DeviceAddress,
13182}
13183
13184#[repr(C)]
13186#[derive(Copy, Clone, Default, Debug, PartialEq)]
13187pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
13188 pub partition_index: u32,
13189 pub partition_translation: [f32; 3],
13190}
13191
13192#[repr(C)]
13194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13195pub struct PastPresentationTimingEXT {
13196 pub s_type: StructureType,
13197 pub next: *mut c_void,
13198 pub present_id: u64,
13199 pub target_time: u64,
13200 pub present_stage_count: u32,
13201 pub present_stages: *mut PresentStageTimeEXT,
13202 pub time_domain: TimeDomainKHR,
13203 pub time_domain_id: u64,
13204 pub report_complete: Bool32,
13205}
13206
13207impl Default for PastPresentationTimingEXT {
13208 #[inline]
13209 fn default() -> Self {
13210 Self {
13211 s_type: StructureType::PAST_PRESENTATION_TIMING_EXT,
13212 next: ptr::null_mut(),
13213 present_id: u64::default(),
13214 target_time: u64::default(),
13215 present_stage_count: u32::default(),
13216 present_stages: ptr::null_mut(),
13217 time_domain: TimeDomainKHR::default(),
13218 time_domain_id: u64::default(),
13219 report_complete: Bool32::default(),
13220 }
13221 }
13222}
13223
13224unsafe impl Send for PastPresentationTimingEXT {}
13225unsafe impl Sync for PastPresentationTimingEXT {}
13226
13227#[repr(C)]
13229#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
13230pub struct PastPresentationTimingGOOGLE {
13231 pub present_id: u32,
13232 pub desired_present_time: u64,
13233 pub actual_present_time: u64,
13234 pub earliest_present_time: u64,
13235 pub present_margin: u64,
13236}
13237
13238#[repr(C)]
13240#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13241pub struct PastPresentationTimingInfoEXT {
13242 pub s_type: StructureType,
13243 pub next: *const c_void,
13244 pub flags: PastPresentationTimingFlagsEXT,
13245 pub swapchain: SwapchainKHR,
13246}
13247
13248impl Default for PastPresentationTimingInfoEXT {
13249 #[inline]
13250 fn default() -> Self {
13251 Self {
13252 s_type: StructureType::PAST_PRESENTATION_TIMING_INFO_EXT,
13253 next: ptr::null(),
13254 flags: PastPresentationTimingFlagsEXT::default(),
13255 swapchain: SwapchainKHR::default(),
13256 }
13257 }
13258}
13259
13260unsafe impl Send for PastPresentationTimingInfoEXT {}
13261unsafe impl Sync for PastPresentationTimingInfoEXT {}
13262
13263#[repr(C)]
13265#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13266pub struct PastPresentationTimingPropertiesEXT {
13267 pub s_type: StructureType,
13268 pub next: *mut c_void,
13269 pub timing_properties_counter: u64,
13270 pub time_domains_counter: u64,
13271 pub presentation_timing_count: u32,
13272 pub presentation_timings: *mut PastPresentationTimingEXT,
13273}
13274
13275impl Default for PastPresentationTimingPropertiesEXT {
13276 #[inline]
13277 fn default() -> Self {
13278 Self {
13279 s_type: StructureType::PAST_PRESENTATION_TIMING_PROPERTIES_EXT,
13280 next: ptr::null_mut(),
13281 timing_properties_counter: u64::default(),
13282 time_domains_counter: u64::default(),
13283 presentation_timing_count: u32::default(),
13284 presentation_timings: ptr::null_mut(),
13285 }
13286 }
13287}
13288
13289unsafe impl Send for PastPresentationTimingPropertiesEXT {}
13290unsafe impl Sync for PastPresentationTimingPropertiesEXT {}
13291
13292#[repr(C)]
13294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13295pub struct PerTileBeginInfoQCOM {
13296 pub s_type: StructureType,
13297 pub next: *const c_void,
13298}
13299
13300impl Default for PerTileBeginInfoQCOM {
13301 #[inline]
13302 fn default() -> Self {
13303 Self {
13304 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
13305 next: ptr::null(),
13306 }
13307 }
13308}
13309
13310unsafe impl Send for PerTileBeginInfoQCOM {}
13311unsafe impl Sync for PerTileBeginInfoQCOM {}
13312
13313#[repr(C)]
13315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13316pub struct PerTileEndInfoQCOM {
13317 pub s_type: StructureType,
13318 pub next: *const c_void,
13319}
13320
13321impl Default for PerTileEndInfoQCOM {
13322 #[inline]
13323 fn default() -> Self {
13324 Self {
13325 s_type: StructureType::PER_TILE_END_INFO_QCOM,
13326 next: ptr::null(),
13327 }
13328 }
13329}
13330
13331unsafe impl Send for PerTileEndInfoQCOM {}
13332unsafe impl Sync for PerTileEndInfoQCOM {}
13333
13334#[repr(C)]
13336#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13337pub struct PerformanceConfigurationAcquireInfoINTEL {
13338 pub s_type: StructureType,
13339 pub next: *const c_void,
13340 pub type_: PerformanceConfigurationTypeINTEL,
13341}
13342
13343impl Default for PerformanceConfigurationAcquireInfoINTEL {
13344 #[inline]
13345 fn default() -> Self {
13346 Self {
13347 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
13348 next: ptr::null(),
13349 type_: PerformanceConfigurationTypeINTEL::default(),
13350 }
13351 }
13352}
13353
13354unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
13355unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
13356
13357#[repr(C)]
13359#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13360pub struct PerformanceCounterARM {
13361 pub s_type: StructureType,
13362 pub next: *mut c_void,
13363 pub counter_id: u32,
13364}
13365
13366impl Default for PerformanceCounterARM {
13367 #[inline]
13368 fn default() -> Self {
13369 Self {
13370 s_type: StructureType::PERFORMANCE_COUNTER_ARM,
13371 next: ptr::null_mut(),
13372 counter_id: u32::default(),
13373 }
13374 }
13375}
13376
13377unsafe impl Send for PerformanceCounterARM {}
13378unsafe impl Sync for PerformanceCounterARM {}
13379
13380#[repr(C)]
13382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13383pub struct PerformanceCounterDescriptionARM {
13384 pub s_type: StructureType,
13385 pub next: *mut c_void,
13386 pub flags: PerformanceCounterDescriptionFlagsARM,
13387 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
13388}
13389
13390impl Default for PerformanceCounterDescriptionARM {
13391 #[inline]
13392 fn default() -> Self {
13393 Self {
13394 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_ARM,
13395 next: ptr::null_mut(),
13396 flags: PerformanceCounterDescriptionFlagsARM::default(),
13397 name: StringArray::default(),
13398 }
13399 }
13400}
13401
13402unsafe impl Send for PerformanceCounterDescriptionARM {}
13403unsafe impl Sync for PerformanceCounterDescriptionARM {}
13404
13405#[repr(C)]
13407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13408pub struct PerformanceCounterDescriptionKHR {
13409 pub s_type: StructureType,
13410 pub next: *mut c_void,
13411 pub flags: PerformanceCounterDescriptionFlagsKHR,
13412 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
13413 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
13414 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
13415}
13416
13417impl Default for PerformanceCounterDescriptionKHR {
13418 #[inline]
13419 fn default() -> Self {
13420 Self {
13421 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
13422 next: ptr::null_mut(),
13423 flags: PerformanceCounterDescriptionFlagsKHR::default(),
13424 name: StringArray::default(),
13425 category: StringArray::default(),
13426 description: StringArray::default(),
13427 }
13428 }
13429}
13430
13431unsafe impl Send for PerformanceCounterDescriptionKHR {}
13432unsafe impl Sync for PerformanceCounterDescriptionKHR {}
13433
13434#[repr(C)]
13436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13437pub struct PerformanceCounterKHR {
13438 pub s_type: StructureType,
13439 pub next: *mut c_void,
13440 pub unit: PerformanceCounterUnitKHR,
13441 pub scope: PerformanceCounterScopeKHR,
13442 pub storage: PerformanceCounterStorageKHR,
13443 pub uuid: ByteArray<UUID_SIZE>,
13444}
13445
13446impl Default for PerformanceCounterKHR {
13447 #[inline]
13448 fn default() -> Self {
13449 Self {
13450 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
13451 next: ptr::null_mut(),
13452 unit: PerformanceCounterUnitKHR::default(),
13453 scope: PerformanceCounterScopeKHR::default(),
13454 storage: PerformanceCounterStorageKHR::default(),
13455 uuid: ByteArray::default(),
13456 }
13457 }
13458}
13459
13460unsafe impl Send for PerformanceCounterKHR {}
13461unsafe impl Sync for PerformanceCounterKHR {}
13462
13463#[repr(C)]
13465#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13466pub struct PerformanceMarkerInfoINTEL {
13467 pub s_type: StructureType,
13468 pub next: *const c_void,
13469 pub marker: u64,
13470}
13471
13472impl Default for PerformanceMarkerInfoINTEL {
13473 #[inline]
13474 fn default() -> Self {
13475 Self {
13476 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
13477 next: ptr::null(),
13478 marker: u64::default(),
13479 }
13480 }
13481}
13482
13483unsafe impl Send for PerformanceMarkerInfoINTEL {}
13484unsafe impl Sync for PerformanceMarkerInfoINTEL {}
13485
13486#[repr(C)]
13488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13489pub struct PerformanceOverrideInfoINTEL {
13490 pub s_type: StructureType,
13491 pub next: *const c_void,
13492 pub type_: PerformanceOverrideTypeINTEL,
13493 pub enable: Bool32,
13494 pub parameter: u64,
13495}
13496
13497impl Default for PerformanceOverrideInfoINTEL {
13498 #[inline]
13499 fn default() -> Self {
13500 Self {
13501 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
13502 next: ptr::null(),
13503 type_: PerformanceOverrideTypeINTEL::default(),
13504 enable: Bool32::default(),
13505 parameter: u64::default(),
13506 }
13507 }
13508}
13509
13510unsafe impl Send for PerformanceOverrideInfoINTEL {}
13511unsafe impl Sync for PerformanceOverrideInfoINTEL {}
13512
13513#[repr(C)]
13515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13516pub struct PerformanceQueryReservationInfoKHR {
13517 pub s_type: StructureType,
13518 pub next: *const c_void,
13519 pub max_performance_queries_per_pool: u32,
13520}
13521
13522impl Default for PerformanceQueryReservationInfoKHR {
13523 #[inline]
13524 fn default() -> Self {
13525 Self {
13526 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
13527 next: ptr::null(),
13528 max_performance_queries_per_pool: u32::default(),
13529 }
13530 }
13531}
13532
13533unsafe impl Send for PerformanceQueryReservationInfoKHR {}
13534unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
13535
13536#[repr(C)]
13538#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13539pub struct PerformanceQuerySubmitInfoKHR {
13540 pub s_type: StructureType,
13541 pub next: *const c_void,
13542 pub counter_pass_index: u32,
13543}
13544
13545impl Default for PerformanceQuerySubmitInfoKHR {
13546 #[inline]
13547 fn default() -> Self {
13548 Self {
13549 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
13550 next: ptr::null(),
13551 counter_pass_index: u32::default(),
13552 }
13553 }
13554}
13555
13556unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
13557unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
13558
13559#[repr(C)]
13561#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13562pub struct PerformanceStreamMarkerInfoINTEL {
13563 pub s_type: StructureType,
13564 pub next: *const c_void,
13565 pub marker: u32,
13566}
13567
13568impl Default for PerformanceStreamMarkerInfoINTEL {
13569 #[inline]
13570 fn default() -> Self {
13571 Self {
13572 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
13573 next: ptr::null(),
13574 marker: u32::default(),
13575 }
13576 }
13577}
13578
13579unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
13580unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
13581
13582#[repr(C)]
13584#[derive(Copy, Clone, Default, Debug)]
13585pub struct PerformanceValueINTEL {
13586 pub type_: PerformanceValueTypeINTEL,
13587 pub data: PerformanceValueDataINTEL,
13588}
13589
13590#[repr(C)]
13592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13593pub struct PhysicalDevice16BitStorageFeatures {
13594 pub s_type: StructureType,
13595 pub next: *mut c_void,
13596 pub storage_buffer_16bit_access: Bool32,
13597 pub uniform_and_storage_buffer_16bit_access: Bool32,
13598 pub storage_push_constant16: Bool32,
13599 pub storage_input_output16: Bool32,
13600}
13601
13602impl Default for PhysicalDevice16BitStorageFeatures {
13603 #[inline]
13604 fn default() -> Self {
13605 Self {
13606 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
13607 next: ptr::null_mut(),
13608 storage_buffer_16bit_access: Bool32::default(),
13609 uniform_and_storage_buffer_16bit_access: Bool32::default(),
13610 storage_push_constant16: Bool32::default(),
13611 storage_input_output16: Bool32::default(),
13612 }
13613 }
13614}
13615
13616unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
13617unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
13618
13619#[repr(C)]
13621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13622pub struct PhysicalDevice4444FormatsFeaturesEXT {
13623 pub s_type: StructureType,
13624 pub next: *mut c_void,
13625 pub format_a4_r4_g4_b4: Bool32,
13626 pub format_a4_b4_g4_r4: Bool32,
13627}
13628
13629impl Default for PhysicalDevice4444FormatsFeaturesEXT {
13630 #[inline]
13631 fn default() -> Self {
13632 Self {
13633 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
13634 next: ptr::null_mut(),
13635 format_a4_r4_g4_b4: Bool32::default(),
13636 format_a4_b4_g4_r4: Bool32::default(),
13637 }
13638 }
13639}
13640
13641unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
13642unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
13643
13644#[repr(C)]
13646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13647pub struct PhysicalDevice8BitStorageFeatures {
13648 pub s_type: StructureType,
13649 pub next: *mut c_void,
13650 pub storage_buffer_8bit_access: Bool32,
13651 pub uniform_and_storage_buffer_8bit_access: Bool32,
13652 pub storage_push_constant8: Bool32,
13653}
13654
13655impl Default for PhysicalDevice8BitStorageFeatures {
13656 #[inline]
13657 fn default() -> Self {
13658 Self {
13659 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
13660 next: ptr::null_mut(),
13661 storage_buffer_8bit_access: Bool32::default(),
13662 uniform_and_storage_buffer_8bit_access: Bool32::default(),
13663 storage_push_constant8: Bool32::default(),
13664 }
13665 }
13666}
13667
13668unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
13669unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
13670
13671#[repr(C)]
13673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13674pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
13675 pub s_type: StructureType,
13676 pub next: *mut c_void,
13677 pub decode_mode_shared_exponent: Bool32,
13678}
13679
13680impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
13681 #[inline]
13682 fn default() -> Self {
13683 Self {
13684 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
13685 next: ptr::null_mut(),
13686 decode_mode_shared_exponent: Bool32::default(),
13687 }
13688 }
13689}
13690
13691unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
13692unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
13693
13694#[repr(C)]
13696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13697pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
13698 pub s_type: StructureType,
13699 pub next: *mut c_void,
13700 pub acceleration_structure: Bool32,
13701 pub acceleration_structure_capture_replay: Bool32,
13702 pub acceleration_structure_indirect_build: Bool32,
13703 pub acceleration_structure_host_commands: Bool32,
13704 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
13705}
13706
13707impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
13708 #[inline]
13709 fn default() -> Self {
13710 Self {
13711 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
13712 next: ptr::null_mut(),
13713 acceleration_structure: Bool32::default(),
13714 acceleration_structure_capture_replay: Bool32::default(),
13715 acceleration_structure_indirect_build: Bool32::default(),
13716 acceleration_structure_host_commands: Bool32::default(),
13717 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
13718 }
13719 }
13720}
13721
13722unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13723unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13724
13725#[repr(C)]
13727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13728pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
13729 pub s_type: StructureType,
13730 pub next: *mut c_void,
13731 pub max_geometry_count: u64,
13732 pub max_instance_count: u64,
13733 pub max_primitive_count: u64,
13734 pub max_per_stage_descriptor_acceleration_structures: u32,
13735 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
13736 pub max_descriptor_set_acceleration_structures: u32,
13737 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
13738 pub min_acceleration_structure_scratch_offset_alignment: u32,
13739}
13740
13741impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
13742 #[inline]
13743 fn default() -> Self {
13744 Self {
13745 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
13746 next: ptr::null_mut(),
13747 max_geometry_count: u64::default(),
13748 max_instance_count: u64::default(),
13749 max_primitive_count: u64::default(),
13750 max_per_stage_descriptor_acceleration_structures: u32::default(),
13751 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
13752 max_descriptor_set_acceleration_structures: u32::default(),
13753 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
13754 min_acceleration_structure_scratch_offset_alignment: u32::default(),
13755 }
13756 }
13757}
13758
13759unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13760unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13761
13762#[repr(C)]
13764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13765pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
13766 pub s_type: StructureType,
13767 pub next: *mut c_void,
13768 pub report_address_binding: Bool32,
13769}
13770
13771impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
13772 #[inline]
13773 fn default() -> Self {
13774 Self {
13775 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
13776 next: ptr::null_mut(),
13777 report_address_binding: Bool32::default(),
13778 }
13779 }
13780}
13781
13782unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13783unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13784
13785#[repr(C)]
13787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13788pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
13789 pub s_type: StructureType,
13790 pub next: *mut c_void,
13791 pub amigo_profiling: Bool32,
13792}
13793
13794impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
13795 #[inline]
13796 fn default() -> Self {
13797 Self {
13798 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
13799 next: ptr::null_mut(),
13800 amigo_profiling: Bool32::default(),
13801 }
13802 }
13803}
13804
13805unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13806unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13807
13808#[repr(C)]
13810#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13811pub struct PhysicalDeviceAntiLagFeaturesAMD {
13812 pub s_type: StructureType,
13813 pub next: *mut c_void,
13814 pub anti_lag: Bool32,
13815}
13816
13817impl Default for PhysicalDeviceAntiLagFeaturesAMD {
13818 #[inline]
13819 fn default() -> Self {
13820 Self {
13821 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
13822 next: ptr::null_mut(),
13823 anti_lag: Bool32::default(),
13824 }
13825 }
13826}
13827
13828unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
13829unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
13830
13831#[repr(C)]
13833#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13834pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13835 pub s_type: StructureType,
13836 pub next: *mut c_void,
13837 pub attachment_feedback_loop_dynamic_state: Bool32,
13838}
13839
13840impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13841 #[inline]
13842 fn default() -> Self {
13843 Self {
13844 s_type:
13845 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
13846 next: ptr::null_mut(),
13847 attachment_feedback_loop_dynamic_state: Bool32::default(),
13848 }
13849 }
13850}
13851
13852unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13853unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13854
13855#[repr(C)]
13857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13858pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13859 pub s_type: StructureType,
13860 pub next: *mut c_void,
13861 pub attachment_feedback_loop_layout: Bool32,
13862}
13863
13864impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13865 #[inline]
13866 fn default() -> Self {
13867 Self {
13868 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
13869 next: ptr::null_mut(),
13870 attachment_feedback_loop_layout: Bool32::default(),
13871 }
13872 }
13873}
13874
13875unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13876unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13877
13878#[repr(C)]
13880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13881pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13882 pub s_type: StructureType,
13883 pub next: *mut c_void,
13884 pub advanced_blend_coherent_operations: Bool32,
13885}
13886
13887impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13888 #[inline]
13889 fn default() -> Self {
13890 Self {
13891 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
13892 next: ptr::null_mut(),
13893 advanced_blend_coherent_operations: Bool32::default(),
13894 }
13895 }
13896}
13897
13898unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13899unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13900
13901#[repr(C)]
13903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13904pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13905 pub s_type: StructureType,
13906 pub next: *mut c_void,
13907 pub advanced_blend_max_color_attachments: u32,
13908 pub advanced_blend_independent_blend: Bool32,
13909 pub advanced_blend_non_premultiplied_src_color: Bool32,
13910 pub advanced_blend_non_premultiplied_dst_color: Bool32,
13911 pub advanced_blend_correlated_overlap: Bool32,
13912 pub advanced_blend_all_operations: Bool32,
13913}
13914
13915impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13916 #[inline]
13917 fn default() -> Self {
13918 Self {
13919 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
13920 next: ptr::null_mut(),
13921 advanced_blend_max_color_attachments: u32::default(),
13922 advanced_blend_independent_blend: Bool32::default(),
13923 advanced_blend_non_premultiplied_src_color: Bool32::default(),
13924 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
13925 advanced_blend_correlated_overlap: Bool32::default(),
13926 advanced_blend_all_operations: Bool32::default(),
13927 }
13928 }
13929}
13930
13931unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13932unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13933
13934#[repr(C)]
13936#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13937pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13938 pub s_type: StructureType,
13939 pub next: *mut c_void,
13940 pub border_color_swizzle: Bool32,
13941 pub border_color_swizzle_from_image: Bool32,
13942}
13943
13944impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13945 #[inline]
13946 fn default() -> Self {
13947 Self {
13948 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
13949 next: ptr::null_mut(),
13950 border_color_swizzle: Bool32::default(),
13951 border_color_swizzle_from_image: Bool32::default(),
13952 }
13953 }
13954}
13955
13956unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13957unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13958
13959#[repr(C)]
13961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13962pub struct PhysicalDeviceBufferDeviceAddressFeatures {
13963 pub s_type: StructureType,
13964 pub next: *mut c_void,
13965 pub buffer_device_address: Bool32,
13966 pub buffer_device_address_capture_replay: Bool32,
13967 pub buffer_device_address_multi_device: Bool32,
13968}
13969
13970impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
13971 #[inline]
13972 fn default() -> Self {
13973 Self {
13974 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
13975 next: ptr::null_mut(),
13976 buffer_device_address: Bool32::default(),
13977 buffer_device_address_capture_replay: Bool32::default(),
13978 buffer_device_address_multi_device: Bool32::default(),
13979 }
13980 }
13981}
13982
13983unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
13984unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
13985
13986#[repr(C)]
13988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13989pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13990 pub s_type: StructureType,
13991 pub next: *mut c_void,
13992 pub buffer_device_address: Bool32,
13993 pub buffer_device_address_capture_replay: Bool32,
13994 pub buffer_device_address_multi_device: Bool32,
13995}
13996
13997impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13998 #[inline]
13999 fn default() -> Self {
14000 Self {
14001 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
14002 next: ptr::null_mut(),
14003 buffer_device_address: Bool32::default(),
14004 buffer_device_address_capture_replay: Bool32::default(),
14005 buffer_device_address_multi_device: Bool32::default(),
14006 }
14007 }
14008}
14009
14010unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
14011unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
14012
14013#[repr(C)]
14015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14016pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
14017 pub s_type: StructureType,
14018 pub next: *mut c_void,
14019 pub cluster_acceleration_structure: Bool32,
14020}
14021
14022impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
14023 #[inline]
14024 fn default() -> Self {
14025 Self {
14026 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
14027 next: ptr::null_mut(),
14028 cluster_acceleration_structure: Bool32::default(),
14029 }
14030 }
14031}
14032
14033unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
14034unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
14035
14036#[repr(C)]
14038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14039pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
14040 pub s_type: StructureType,
14041 pub next: *mut c_void,
14042 pub max_vertices_per_cluster: u32,
14043 pub max_triangles_per_cluster: u32,
14044 pub cluster_scratch_byte_alignment: u32,
14045 pub cluster_byte_alignment: u32,
14046 pub cluster_template_byte_alignment: u32,
14047 pub cluster_bottom_level_byte_alignment: u32,
14048 pub cluster_template_bounds_byte_alignment: u32,
14049 pub max_cluster_geometry_index: u32,
14050}
14051
14052impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
14053 #[inline]
14054 fn default() -> Self {
14055 Self {
14056 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
14057 next: ptr::null_mut(),
14058 max_vertices_per_cluster: u32::default(),
14059 max_triangles_per_cluster: u32::default(),
14060 cluster_scratch_byte_alignment: u32::default(),
14061 cluster_byte_alignment: u32::default(),
14062 cluster_template_byte_alignment: u32::default(),
14063 cluster_bottom_level_byte_alignment: u32::default(),
14064 cluster_template_bounds_byte_alignment: u32::default(),
14065 max_cluster_geometry_index: u32::default(),
14066 }
14067 }
14068}
14069
14070unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
14071unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
14072
14073#[repr(C)]
14075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14076pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
14077 pub s_type: StructureType,
14078 pub next: *mut c_void,
14079 pub clusterculling_shader: Bool32,
14080 pub multiview_cluster_culling_shader: Bool32,
14081}
14082
14083impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
14084 #[inline]
14085 fn default() -> Self {
14086 Self {
14087 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
14088 next: ptr::null_mut(),
14089 clusterculling_shader: Bool32::default(),
14090 multiview_cluster_culling_shader: Bool32::default(),
14091 }
14092 }
14093}
14094
14095unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
14096unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
14097
14098#[repr(C)]
14100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14101pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
14102 pub s_type: StructureType,
14103 pub next: *mut c_void,
14104 pub max_work_group_count: [u32; 3],
14105 pub max_work_group_size: [u32; 3],
14106 pub max_output_cluster_count: u32,
14107 pub indirect_buffer_offset_alignment: DeviceSize,
14108}
14109
14110impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
14111 #[inline]
14112 fn default() -> Self {
14113 Self {
14114 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
14115 next: ptr::null_mut(),
14116 max_work_group_count: [u32::default(); 3],
14117 max_work_group_size: [u32::default(); 3],
14118 max_output_cluster_count: u32::default(),
14119 indirect_buffer_offset_alignment: DeviceSize::default(),
14120 }
14121 }
14122}
14123
14124unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
14125unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
14126
14127#[repr(C)]
14129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14130pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
14131 pub s_type: StructureType,
14132 pub next: *mut c_void,
14133 pub cluster_shading_rate: Bool32,
14134}
14135
14136impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
14137 #[inline]
14138 fn default() -> Self {
14139 Self {
14140 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
14141 next: ptr::null_mut(),
14142 cluster_shading_rate: Bool32::default(),
14143 }
14144 }
14145}
14146
14147unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
14148unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
14149
14150#[repr(C)]
14152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14153pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
14154 pub s_type: StructureType,
14155 pub next: *mut c_void,
14156 pub device_coherent_memory: Bool32,
14157}
14158
14159impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
14160 #[inline]
14161 fn default() -> Self {
14162 Self {
14163 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
14164 next: ptr::null_mut(),
14165 device_coherent_memory: Bool32::default(),
14166 }
14167 }
14168}
14169
14170unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
14171unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
14172
14173#[repr(C)]
14175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14176pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
14177 pub s_type: StructureType,
14178 pub next: *mut c_void,
14179 pub color_write_enable: Bool32,
14180}
14181
14182impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
14183 #[inline]
14184 fn default() -> Self {
14185 Self {
14186 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
14187 next: ptr::null_mut(),
14188 color_write_enable: Bool32::default(),
14189 }
14190 }
14191}
14192
14193unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
14194unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
14195
14196#[repr(C)]
14198#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14199pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
14200 pub s_type: StructureType,
14201 pub next: *mut c_void,
14202 pub command_buffer_inheritance: Bool32,
14203}
14204
14205impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
14206 #[inline]
14207 fn default() -> Self {
14208 Self {
14209 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
14210 next: ptr::null_mut(),
14211 command_buffer_inheritance: Bool32::default(),
14212 }
14213 }
14214}
14215
14216unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
14217unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
14218
14219#[repr(C)]
14221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14222pub struct PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
14223 pub s_type: StructureType,
14224 pub next: *mut c_void,
14225 pub compute_occupancy_priority: Bool32,
14226}
14227
14228impl Default for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
14229 #[inline]
14230 fn default() -> Self {
14231 Self {
14232 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV,
14233 next: ptr::null_mut(),
14234 compute_occupancy_priority: Bool32::default(),
14235 }
14236 }
14237}
14238
14239unsafe impl Send for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
14240unsafe impl Sync for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
14241
14242#[repr(C)]
14244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14245pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
14246 pub s_type: StructureType,
14247 pub next: *mut c_void,
14248 pub compute_derivative_group_quads: Bool32,
14249 pub compute_derivative_group_linear: Bool32,
14250}
14251
14252impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
14253 #[inline]
14254 fn default() -> Self {
14255 Self {
14256 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
14257 next: ptr::null_mut(),
14258 compute_derivative_group_quads: Bool32::default(),
14259 compute_derivative_group_linear: Bool32::default(),
14260 }
14261 }
14262}
14263
14264unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
14265unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
14266
14267#[repr(C)]
14269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14270pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
14271 pub s_type: StructureType,
14272 pub next: *mut c_void,
14273 pub mesh_and_task_shader_derivatives: Bool32,
14274}
14275
14276impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
14277 #[inline]
14278 fn default() -> Self {
14279 Self {
14280 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
14281 next: ptr::null_mut(),
14282 mesh_and_task_shader_derivatives: Bool32::default(),
14283 }
14284 }
14285}
14286
14287unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
14288unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
14289
14290#[repr(C)]
14292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14293pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
14294 pub s_type: StructureType,
14295 pub next: *mut c_void,
14296 pub conditional_rendering: Bool32,
14297 pub inherited_conditional_rendering: Bool32,
14298}
14299
14300impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
14301 #[inline]
14302 fn default() -> Self {
14303 Self {
14304 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
14305 next: ptr::null_mut(),
14306 conditional_rendering: Bool32::default(),
14307 inherited_conditional_rendering: Bool32::default(),
14308 }
14309 }
14310}
14311
14312unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
14313unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
14314
14315#[repr(C)]
14317#[derive(Copy, Clone, Debug, PartialEq)]
14318pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
14319 pub s_type: StructureType,
14320 pub next: *mut c_void,
14321 pub primitive_overestimation_size: f32,
14322 pub max_extra_primitive_overestimation_size: f32,
14323 pub extra_primitive_overestimation_size_granularity: f32,
14324 pub primitive_underestimation: Bool32,
14325 pub conservative_point_and_line_rasterization: Bool32,
14326 pub degenerate_triangles_rasterized: Bool32,
14327 pub degenerate_lines_rasterized: Bool32,
14328 pub fully_covered_fragment_shader_input_variable: Bool32,
14329 pub conservative_rasterization_post_depth_coverage: Bool32,
14330}
14331
14332impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
14333 #[inline]
14334 fn default() -> Self {
14335 Self {
14336 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
14337 next: ptr::null_mut(),
14338 primitive_overestimation_size: f32::default(),
14339 max_extra_primitive_overestimation_size: f32::default(),
14340 extra_primitive_overestimation_size_granularity: f32::default(),
14341 primitive_underestimation: Bool32::default(),
14342 conservative_point_and_line_rasterization: Bool32::default(),
14343 degenerate_triangles_rasterized: Bool32::default(),
14344 degenerate_lines_rasterized: Bool32::default(),
14345 fully_covered_fragment_shader_input_variable: Bool32::default(),
14346 conservative_rasterization_post_depth_coverage: Bool32::default(),
14347 }
14348 }
14349}
14350
14351unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
14352unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
14353
14354#[repr(C)]
14356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14357pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
14358 pub s_type: StructureType,
14359 pub next: *mut c_void,
14360 pub cooperative_matrix_workgroup_scope: Bool32,
14361 pub cooperative_matrix_flexible_dimensions: Bool32,
14362 pub cooperative_matrix_reductions: Bool32,
14363 pub cooperative_matrix_conversions: Bool32,
14364 pub cooperative_matrix_per_element_operations: Bool32,
14365 pub cooperative_matrix_tensor_addressing: Bool32,
14366 pub cooperative_matrix_block_loads: Bool32,
14367}
14368
14369impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
14370 #[inline]
14371 fn default() -> Self {
14372 Self {
14373 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
14374 next: ptr::null_mut(),
14375 cooperative_matrix_workgroup_scope: Bool32::default(),
14376 cooperative_matrix_flexible_dimensions: Bool32::default(),
14377 cooperative_matrix_reductions: Bool32::default(),
14378 cooperative_matrix_conversions: Bool32::default(),
14379 cooperative_matrix_per_element_operations: Bool32::default(),
14380 cooperative_matrix_tensor_addressing: Bool32::default(),
14381 cooperative_matrix_block_loads: Bool32::default(),
14382 }
14383 }
14384}
14385
14386unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
14387unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
14388
14389#[repr(C)]
14391#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14392pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
14393 pub s_type: StructureType,
14394 pub next: *mut c_void,
14395 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
14396 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
14397 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
14398}
14399
14400impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
14401 #[inline]
14402 fn default() -> Self {
14403 Self {
14404 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
14405 next: ptr::null_mut(),
14406 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
14407 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
14408 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
14409 }
14410 }
14411}
14412
14413unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
14414unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
14415
14416#[repr(C)]
14418#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14419pub struct PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {
14420 pub s_type: StructureType,
14421 pub next: *mut c_void,
14422 pub cooperative_matrix_conversion: Bool32,
14423}
14424
14425impl Default for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {
14426 #[inline]
14427 fn default() -> Self {
14428 Self {
14429 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM,
14430 next: ptr::null_mut(),
14431 cooperative_matrix_conversion: Bool32::default(),
14432 }
14433 }
14434}
14435
14436unsafe impl Send for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {}
14437unsafe impl Sync for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {}
14438
14439#[repr(C)]
14441#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14442pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
14443 pub s_type: StructureType,
14444 pub next: *mut c_void,
14445 pub cooperative_matrix: Bool32,
14446 pub cooperative_matrix_robust_buffer_access: Bool32,
14447}
14448
14449impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
14450 #[inline]
14451 fn default() -> Self {
14452 Self {
14453 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
14454 next: ptr::null_mut(),
14455 cooperative_matrix: Bool32::default(),
14456 cooperative_matrix_robust_buffer_access: Bool32::default(),
14457 }
14458 }
14459}
14460
14461unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
14462unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
14463
14464#[repr(C)]
14466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14467pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
14468 pub s_type: StructureType,
14469 pub next: *mut c_void,
14470 pub cooperative_matrix: Bool32,
14471 pub cooperative_matrix_robust_buffer_access: Bool32,
14472}
14473
14474impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
14475 #[inline]
14476 fn default() -> Self {
14477 Self {
14478 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
14479 next: ptr::null_mut(),
14480 cooperative_matrix: Bool32::default(),
14481 cooperative_matrix_robust_buffer_access: Bool32::default(),
14482 }
14483 }
14484}
14485
14486unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
14487unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
14488
14489#[repr(C)]
14491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14492pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
14493 pub s_type: StructureType,
14494 pub next: *mut c_void,
14495 pub cooperative_matrix_supported_stages: ShaderStageFlags,
14496}
14497
14498impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
14499 #[inline]
14500 fn default() -> Self {
14501 Self {
14502 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
14503 next: ptr::null_mut(),
14504 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
14505 }
14506 }
14507}
14508
14509unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
14510unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
14511
14512#[repr(C)]
14514#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14515pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
14516 pub s_type: StructureType,
14517 pub next: *mut c_void,
14518 pub cooperative_matrix_supported_stages: ShaderStageFlags,
14519}
14520
14521impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
14522 #[inline]
14523 fn default() -> Self {
14524 Self {
14525 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
14526 next: ptr::null_mut(),
14527 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
14528 }
14529 }
14530}
14531
14532unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
14533unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
14534
14535#[repr(C)]
14537#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14538pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
14539 pub s_type: StructureType,
14540 pub next: *mut c_void,
14541 pub cooperative_vector: Bool32,
14542 pub cooperative_vector_training: Bool32,
14543}
14544
14545impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
14546 #[inline]
14547 fn default() -> Self {
14548 Self {
14549 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
14550 next: ptr::null_mut(),
14551 cooperative_vector: Bool32::default(),
14552 cooperative_vector_training: Bool32::default(),
14553 }
14554 }
14555}
14556
14557unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
14558unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
14559
14560#[repr(C)]
14562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14563pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
14564 pub s_type: StructureType,
14565 pub next: *mut c_void,
14566 pub cooperative_vector_supported_stages: ShaderStageFlags,
14567 pub cooperative_vector_training_float16_accumulation: Bool32,
14568 pub cooperative_vector_training_float32_accumulation: Bool32,
14569 pub max_cooperative_vector_components: u32,
14570}
14571
14572impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
14573 #[inline]
14574 fn default() -> Self {
14575 Self {
14576 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
14577 next: ptr::null_mut(),
14578 cooperative_vector_supported_stages: ShaderStageFlags::default(),
14579 cooperative_vector_training_float16_accumulation: Bool32::default(),
14580 cooperative_vector_training_float32_accumulation: Bool32::default(),
14581 max_cooperative_vector_components: u32::default(),
14582 }
14583 }
14584}
14585
14586unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
14587unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
14588
14589#[repr(C)]
14591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14592pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14593 pub s_type: StructureType,
14594 pub next: *mut c_void,
14595 pub indirect_memory_copy: Bool32,
14596 pub indirect_memory_to_image_copy: Bool32,
14597}
14598
14599impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14600 #[inline]
14601 fn default() -> Self {
14602 Self {
14603 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
14604 next: ptr::null_mut(),
14605 indirect_memory_copy: Bool32::default(),
14606 indirect_memory_to_image_copy: Bool32::default(),
14607 }
14608 }
14609}
14610
14611unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14612unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14613
14614#[repr(C)]
14616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14617pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14618 pub s_type: StructureType,
14619 pub next: *mut c_void,
14620 pub indirect_copy: Bool32,
14621}
14622
14623impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14624 #[inline]
14625 fn default() -> Self {
14626 Self {
14627 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
14628 next: ptr::null_mut(),
14629 indirect_copy: Bool32::default(),
14630 }
14631 }
14632}
14633
14634unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14635unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14636
14637#[repr(C)]
14639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14640pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14641 pub s_type: StructureType,
14642 pub next: *mut c_void,
14643 pub supported_queues: QueueFlags,
14644}
14645
14646impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14647 #[inline]
14648 fn default() -> Self {
14649 Self {
14650 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
14651 next: ptr::null_mut(),
14652 supported_queues: QueueFlags::default(),
14653 }
14654 }
14655}
14656
14657unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14658unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14659
14660#[repr(C)]
14662#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14663pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
14664 pub s_type: StructureType,
14665 pub next: *mut c_void,
14666 pub corner_sampled_image: Bool32,
14667}
14668
14669impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
14670 #[inline]
14671 fn default() -> Self {
14672 Self {
14673 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
14674 next: ptr::null_mut(),
14675 corner_sampled_image: Bool32::default(),
14676 }
14677 }
14678}
14679
14680unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
14681unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
14682
14683#[repr(C)]
14685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14686pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
14687 pub s_type: StructureType,
14688 pub next: *mut c_void,
14689 pub coverage_reduction_mode: Bool32,
14690}
14691
14692impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
14693 #[inline]
14694 fn default() -> Self {
14695 Self {
14696 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
14697 next: ptr::null_mut(),
14698 coverage_reduction_mode: Bool32::default(),
14699 }
14700 }
14701}
14702
14703unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14704unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14705
14706#[repr(C)]
14708#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14709pub struct PhysicalDeviceCubicClampFeaturesQCOM {
14710 pub s_type: StructureType,
14711 pub next: *mut c_void,
14712 pub cubic_range_clamp: Bool32,
14713}
14714
14715impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
14716 #[inline]
14717 fn default() -> Self {
14718 Self {
14719 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
14720 next: ptr::null_mut(),
14721 cubic_range_clamp: Bool32::default(),
14722 }
14723 }
14724}
14725
14726unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
14727unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
14728
14729#[repr(C)]
14731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14732pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
14733 pub s_type: StructureType,
14734 pub next: *mut c_void,
14735 pub selectable_cubic_weights: Bool32,
14736}
14737
14738impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
14739 #[inline]
14740 fn default() -> Self {
14741 Self {
14742 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
14743 next: ptr::null_mut(),
14744 selectable_cubic_weights: Bool32::default(),
14745 }
14746 }
14747}
14748
14749unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14750unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14751
14752#[repr(C)]
14754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14755pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
14756 pub s_type: StructureType,
14757 pub next: *mut c_void,
14758 pub cuda_kernel_launch_features: Bool32,
14759}
14760
14761impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
14762 #[inline]
14763 fn default() -> Self {
14764 Self {
14765 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
14766 next: ptr::null_mut(),
14767 cuda_kernel_launch_features: Bool32::default(),
14768 }
14769 }
14770}
14771
14772unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14773unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14774
14775#[repr(C)]
14777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14778pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
14779 pub s_type: StructureType,
14780 pub next: *mut c_void,
14781 pub compute_capability_minor: u32,
14782 pub compute_capability_major: u32,
14783}
14784
14785impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
14786 #[inline]
14787 fn default() -> Self {
14788 Self {
14789 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
14790 next: ptr::null_mut(),
14791 compute_capability_minor: u32::default(),
14792 compute_capability_major: u32::default(),
14793 }
14794 }
14795}
14796
14797unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14798unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14799
14800#[repr(C)]
14802#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14803pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
14804 pub s_type: StructureType,
14805 pub next: *mut c_void,
14806 pub custom_border_colors: Bool32,
14807 pub custom_border_color_without_format: Bool32,
14808}
14809
14810impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
14811 #[inline]
14812 fn default() -> Self {
14813 Self {
14814 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
14815 next: ptr::null_mut(),
14816 custom_border_colors: Bool32::default(),
14817 custom_border_color_without_format: Bool32::default(),
14818 }
14819 }
14820}
14821
14822unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14823unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14824
14825#[repr(C)]
14827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14828pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
14829 pub s_type: StructureType,
14830 pub next: *mut c_void,
14831 pub max_custom_border_color_samplers: u32,
14832}
14833
14834impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
14835 #[inline]
14836 fn default() -> Self {
14837 Self {
14838 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
14839 next: ptr::null_mut(),
14840 max_custom_border_color_samplers: u32::default(),
14841 }
14842 }
14843}
14844
14845unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14846unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14847
14848#[repr(C)]
14850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14851pub struct PhysicalDeviceCustomResolveFeaturesEXT {
14852 pub s_type: StructureType,
14853 pub next: *mut c_void,
14854 pub custom_resolve: Bool32,
14855}
14856
14857impl Default for PhysicalDeviceCustomResolveFeaturesEXT {
14858 #[inline]
14859 fn default() -> Self {
14860 Self {
14861 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
14862 next: ptr::null_mut(),
14863 custom_resolve: Bool32::default(),
14864 }
14865 }
14866}
14867
14868unsafe impl Send for PhysicalDeviceCustomResolveFeaturesEXT {}
14869unsafe impl Sync for PhysicalDeviceCustomResolveFeaturesEXT {}
14870
14871#[repr(C)]
14873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14874pub struct PhysicalDeviceDataGraphFeaturesARM {
14875 pub s_type: StructureType,
14876 pub next: *mut c_void,
14877 pub data_graph: Bool32,
14878 pub data_graph_update_after_bind: Bool32,
14879 pub data_graph_specialization_constants: Bool32,
14880 pub data_graph_descriptor_buffer: Bool32,
14881 pub data_graph_shader_module: Bool32,
14882}
14883
14884impl Default for PhysicalDeviceDataGraphFeaturesARM {
14885 #[inline]
14886 fn default() -> Self {
14887 Self {
14888 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
14889 next: ptr::null_mut(),
14890 data_graph: Bool32::default(),
14891 data_graph_update_after_bind: Bool32::default(),
14892 data_graph_specialization_constants: Bool32::default(),
14893 data_graph_descriptor_buffer: Bool32::default(),
14894 data_graph_shader_module: Bool32::default(),
14895 }
14896 }
14897}
14898
14899unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
14900unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
14901
14902#[repr(C)]
14904#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14905pub struct PhysicalDeviceDataGraphModelFeaturesQCOM {
14906 pub s_type: StructureType,
14907 pub next: *mut c_void,
14908 pub data_graph_model: Bool32,
14909}
14910
14911impl Default for PhysicalDeviceDataGraphModelFeaturesQCOM {
14912 #[inline]
14913 fn default() -> Self {
14914 Self {
14915 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
14916 next: ptr::null_mut(),
14917 data_graph_model: Bool32::default(),
14918 }
14919 }
14920}
14921
14922unsafe impl Send for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14923unsafe impl Sync for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14924
14925#[repr(C)]
14927#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14928pub struct PhysicalDeviceDataGraphOperationSupportARM {
14929 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
14930 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
14931 pub version: u32,
14932}
14933
14934#[repr(C)]
14936#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14937pub struct PhysicalDeviceDataGraphProcessingEngineARM {
14938 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
14939 pub is_foreign: Bool32,
14940}
14941
14942#[repr(C)]
14944#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14945pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14946 pub s_type: StructureType,
14947 pub next: *mut c_void,
14948 pub dedicated_allocation_image_aliasing: Bool32,
14949}
14950
14951impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14952 #[inline]
14953 fn default() -> Self {
14954 Self {
14955 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
14956 next: ptr::null_mut(),
14957 dedicated_allocation_image_aliasing: Bool32::default(),
14958 }
14959 }
14960}
14961
14962unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14963unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14964
14965#[repr(C)]
14967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14968pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14969 pub s_type: StructureType,
14970 pub next: *mut c_void,
14971 pub dense_geometry_format: Bool32,
14972}
14973
14974impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14975 #[inline]
14976 fn default() -> Self {
14977 Self {
14978 s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
14979 next: ptr::null_mut(),
14980 dense_geometry_format: Bool32::default(),
14981 }
14982 }
14983}
14984
14985unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14986unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14987
14988#[repr(C)]
14990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14991pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
14992 pub s_type: StructureType,
14993 pub next: *mut c_void,
14994 pub depth_bias_control: Bool32,
14995 pub least_representable_value_force_unorm_representation: Bool32,
14996 pub float_representation: Bool32,
14997 pub depth_bias_exact: Bool32,
14998}
14999
15000impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
15001 #[inline]
15002 fn default() -> Self {
15003 Self {
15004 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
15005 next: ptr::null_mut(),
15006 depth_bias_control: Bool32::default(),
15007 least_representable_value_force_unorm_representation: Bool32::default(),
15008 float_representation: Bool32::default(),
15009 depth_bias_exact: Bool32::default(),
15010 }
15011 }
15012}
15013
15014unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
15015unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
15016
15017#[repr(C)]
15019#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15020pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
15021 pub s_type: StructureType,
15022 pub next: *mut c_void,
15023 pub depth_clamp_control: Bool32,
15024}
15025
15026impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
15027 #[inline]
15028 fn default() -> Self {
15029 Self {
15030 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
15031 next: ptr::null_mut(),
15032 depth_clamp_control: Bool32::default(),
15033 }
15034 }
15035}
15036
15037unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
15038unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
15039
15040#[repr(C)]
15042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15043pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
15044 pub s_type: StructureType,
15045 pub next: *mut c_void,
15046 pub depth_clamp_zero_one: Bool32,
15047}
15048
15049impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
15050 #[inline]
15051 fn default() -> Self {
15052 Self {
15053 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
15054 next: ptr::null_mut(),
15055 depth_clamp_zero_one: Bool32::default(),
15056 }
15057 }
15058}
15059
15060unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
15061unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
15062
15063#[repr(C)]
15065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15066pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
15067 pub s_type: StructureType,
15068 pub next: *mut c_void,
15069 pub depth_clip_control: Bool32,
15070}
15071
15072impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
15073 #[inline]
15074 fn default() -> Self {
15075 Self {
15076 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
15077 next: ptr::null_mut(),
15078 depth_clip_control: Bool32::default(),
15079 }
15080 }
15081}
15082
15083unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
15084unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
15085
15086#[repr(C)]
15088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15089pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
15090 pub s_type: StructureType,
15091 pub next: *mut c_void,
15092 pub depth_clip_enable: Bool32,
15093}
15094
15095impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
15096 #[inline]
15097 fn default() -> Self {
15098 Self {
15099 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
15100 next: ptr::null_mut(),
15101 depth_clip_enable: Bool32::default(),
15102 }
15103 }
15104}
15105
15106unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
15107unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
15108
15109#[repr(C)]
15111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15112pub struct PhysicalDeviceDepthStencilResolveProperties {
15113 pub s_type: StructureType,
15114 pub next: *mut c_void,
15115 pub supported_depth_resolve_modes: ResolveModeFlags,
15116 pub supported_stencil_resolve_modes: ResolveModeFlags,
15117 pub independent_resolve_none: Bool32,
15118 pub independent_resolve: Bool32,
15119}
15120
15121impl Default for PhysicalDeviceDepthStencilResolveProperties {
15122 #[inline]
15123 fn default() -> Self {
15124 Self {
15125 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
15126 next: ptr::null_mut(),
15127 supported_depth_resolve_modes: ResolveModeFlags::default(),
15128 supported_stencil_resolve_modes: ResolveModeFlags::default(),
15129 independent_resolve_none: Bool32::default(),
15130 independent_resolve: Bool32::default(),
15131 }
15132 }
15133}
15134
15135unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
15136unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
15137
15138#[repr(C)]
15140#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15141pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
15142 pub s_type: StructureType,
15143 pub next: *mut c_void,
15144 pub combined_image_sampler_density_map_descriptor_size: usize,
15145}
15146
15147impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
15148 #[inline]
15149 fn default() -> Self {
15150 Self {
15151 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
15152 next: ptr::null_mut(),
15153 combined_image_sampler_density_map_descriptor_size: usize::default(),
15154 }
15155 }
15156}
15157
15158unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
15159unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
15160
15161#[repr(C)]
15163#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15164pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
15165 pub s_type: StructureType,
15166 pub next: *mut c_void,
15167 pub descriptor_buffer: Bool32,
15168 pub descriptor_buffer_capture_replay: Bool32,
15169 pub descriptor_buffer_image_layout_ignored: Bool32,
15170 pub descriptor_buffer_push_descriptors: Bool32,
15171}
15172
15173impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
15174 #[inline]
15175 fn default() -> Self {
15176 Self {
15177 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
15178 next: ptr::null_mut(),
15179 descriptor_buffer: Bool32::default(),
15180 descriptor_buffer_capture_replay: Bool32::default(),
15181 descriptor_buffer_image_layout_ignored: Bool32::default(),
15182 descriptor_buffer_push_descriptors: Bool32::default(),
15183 }
15184 }
15185}
15186
15187unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
15188unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
15189
15190#[repr(C)]
15192#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15193pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
15194 pub s_type: StructureType,
15195 pub next: *mut c_void,
15196 pub combined_image_sampler_descriptor_single_array: Bool32,
15197 pub bufferless_push_descriptors: Bool32,
15198 pub allow_sampler_image_view_post_submit_creation: Bool32,
15199 pub descriptor_buffer_offset_alignment: DeviceSize,
15200 pub max_descriptor_buffer_bindings: u32,
15201 pub max_resource_descriptor_buffer_bindings: u32,
15202 pub max_sampler_descriptor_buffer_bindings: u32,
15203 pub max_embedded_immutable_sampler_bindings: u32,
15204 pub max_embedded_immutable_samplers: u32,
15205 pub buffer_capture_replay_descriptor_data_size: usize,
15206 pub image_capture_replay_descriptor_data_size: usize,
15207 pub image_view_capture_replay_descriptor_data_size: usize,
15208 pub sampler_capture_replay_descriptor_data_size: usize,
15209 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
15210 pub sampler_descriptor_size: usize,
15211 pub combined_image_sampler_descriptor_size: usize,
15212 pub sampled_image_descriptor_size: usize,
15213 pub storage_image_descriptor_size: usize,
15214 pub uniform_texel_buffer_descriptor_size: usize,
15215 pub robust_uniform_texel_buffer_descriptor_size: usize,
15216 pub storage_texel_buffer_descriptor_size: usize,
15217 pub robust_storage_texel_buffer_descriptor_size: usize,
15218 pub uniform_buffer_descriptor_size: usize,
15219 pub robust_uniform_buffer_descriptor_size: usize,
15220 pub storage_buffer_descriptor_size: usize,
15221 pub robust_storage_buffer_descriptor_size: usize,
15222 pub input_attachment_descriptor_size: usize,
15223 pub acceleration_structure_descriptor_size: usize,
15224 pub max_sampler_descriptor_buffer_range: DeviceSize,
15225 pub max_resource_descriptor_buffer_range: DeviceSize,
15226 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
15227 pub resource_descriptor_buffer_address_space_size: DeviceSize,
15228 pub descriptor_buffer_address_space_size: DeviceSize,
15229}
15230
15231impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
15232 #[inline]
15233 fn default() -> Self {
15234 Self {
15235 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
15236 next: ptr::null_mut(),
15237 combined_image_sampler_descriptor_single_array: Bool32::default(),
15238 bufferless_push_descriptors: Bool32::default(),
15239 allow_sampler_image_view_post_submit_creation: Bool32::default(),
15240 descriptor_buffer_offset_alignment: DeviceSize::default(),
15241 max_descriptor_buffer_bindings: u32::default(),
15242 max_resource_descriptor_buffer_bindings: u32::default(),
15243 max_sampler_descriptor_buffer_bindings: u32::default(),
15244 max_embedded_immutable_sampler_bindings: u32::default(),
15245 max_embedded_immutable_samplers: u32::default(),
15246 buffer_capture_replay_descriptor_data_size: usize::default(),
15247 image_capture_replay_descriptor_data_size: usize::default(),
15248 image_view_capture_replay_descriptor_data_size: usize::default(),
15249 sampler_capture_replay_descriptor_data_size: usize::default(),
15250 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
15251 sampler_descriptor_size: usize::default(),
15252 combined_image_sampler_descriptor_size: usize::default(),
15253 sampled_image_descriptor_size: usize::default(),
15254 storage_image_descriptor_size: usize::default(),
15255 uniform_texel_buffer_descriptor_size: usize::default(),
15256 robust_uniform_texel_buffer_descriptor_size: usize::default(),
15257 storage_texel_buffer_descriptor_size: usize::default(),
15258 robust_storage_texel_buffer_descriptor_size: usize::default(),
15259 uniform_buffer_descriptor_size: usize::default(),
15260 robust_uniform_buffer_descriptor_size: usize::default(),
15261 storage_buffer_descriptor_size: usize::default(),
15262 robust_storage_buffer_descriptor_size: usize::default(),
15263 input_attachment_descriptor_size: usize::default(),
15264 acceleration_structure_descriptor_size: usize::default(),
15265 max_sampler_descriptor_buffer_range: DeviceSize::default(),
15266 max_resource_descriptor_buffer_range: DeviceSize::default(),
15267 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
15268 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
15269 descriptor_buffer_address_space_size: DeviceSize::default(),
15270 }
15271 }
15272}
15273
15274unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
15275unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
15276
15277#[repr(C)]
15279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15280pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
15281 pub s_type: StructureType,
15282 pub next: *mut c_void,
15283 pub descriptor_buffer_tensor_descriptors: Bool32,
15284}
15285
15286impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
15287 #[inline]
15288 fn default() -> Self {
15289 Self {
15290 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
15291 next: ptr::null_mut(),
15292 descriptor_buffer_tensor_descriptors: Bool32::default(),
15293 }
15294 }
15295}
15296
15297unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
15298unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
15299
15300#[repr(C)]
15302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15303pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
15304 pub s_type: StructureType,
15305 pub next: *mut c_void,
15306 pub tensor_capture_replay_descriptor_data_size: usize,
15307 pub tensor_view_capture_replay_descriptor_data_size: usize,
15308 pub tensor_descriptor_size: usize,
15309}
15310
15311impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
15312 #[inline]
15313 fn default() -> Self {
15314 Self {
15315 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
15316 next: ptr::null_mut(),
15317 tensor_capture_replay_descriptor_data_size: usize::default(),
15318 tensor_view_capture_replay_descriptor_data_size: usize::default(),
15319 tensor_descriptor_size: usize::default(),
15320 }
15321 }
15322}
15323
15324unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
15325unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
15326
15327#[repr(C)]
15329#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15330pub struct PhysicalDeviceDescriptorHeapFeaturesEXT {
15331 pub s_type: StructureType,
15332 pub next: *mut c_void,
15333 pub descriptor_heap: Bool32,
15334 pub descriptor_heap_capture_replay: Bool32,
15335}
15336
15337impl Default for PhysicalDeviceDescriptorHeapFeaturesEXT {
15338 #[inline]
15339 fn default() -> Self {
15340 Self {
15341 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT,
15342 next: ptr::null_mut(),
15343 descriptor_heap: Bool32::default(),
15344 descriptor_heap_capture_replay: Bool32::default(),
15345 }
15346 }
15347}
15348
15349unsafe impl Send for PhysicalDeviceDescriptorHeapFeaturesEXT {}
15350unsafe impl Sync for PhysicalDeviceDescriptorHeapFeaturesEXT {}
15351
15352#[repr(C)]
15354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15355pub struct PhysicalDeviceDescriptorHeapPropertiesEXT {
15356 pub s_type: StructureType,
15357 pub next: *mut c_void,
15358 pub sampler_heap_alignment: DeviceSize,
15359 pub resource_heap_alignment: DeviceSize,
15360 pub max_sampler_heap_size: DeviceSize,
15361 pub max_resource_heap_size: DeviceSize,
15362 pub min_sampler_heap_reserved_range: DeviceSize,
15363 pub min_sampler_heap_reserved_range_with_embedded: DeviceSize,
15364 pub min_resource_heap_reserved_range: DeviceSize,
15365 pub sampler_descriptor_size: DeviceSize,
15366 pub image_descriptor_size: DeviceSize,
15367 pub buffer_descriptor_size: DeviceSize,
15368 pub sampler_descriptor_alignment: DeviceSize,
15369 pub image_descriptor_alignment: DeviceSize,
15370 pub buffer_descriptor_alignment: DeviceSize,
15371 pub max_push_data_size: DeviceSize,
15372 pub image_capture_replay_opaque_data_size: usize,
15373 pub max_descriptor_heap_embedded_samplers: u32,
15374 pub sampler_ycbcr_conversion_count: u32,
15375 pub sparse_descriptor_heaps: Bool32,
15376 pub protected_descriptor_heaps: Bool32,
15377}
15378
15379impl Default for PhysicalDeviceDescriptorHeapPropertiesEXT {
15380 #[inline]
15381 fn default() -> Self {
15382 Self {
15383 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT,
15384 next: ptr::null_mut(),
15385 sampler_heap_alignment: DeviceSize::default(),
15386 resource_heap_alignment: DeviceSize::default(),
15387 max_sampler_heap_size: DeviceSize::default(),
15388 max_resource_heap_size: DeviceSize::default(),
15389 min_sampler_heap_reserved_range: DeviceSize::default(),
15390 min_sampler_heap_reserved_range_with_embedded: DeviceSize::default(),
15391 min_resource_heap_reserved_range: DeviceSize::default(),
15392 sampler_descriptor_size: DeviceSize::default(),
15393 image_descriptor_size: DeviceSize::default(),
15394 buffer_descriptor_size: DeviceSize::default(),
15395 sampler_descriptor_alignment: DeviceSize::default(),
15396 image_descriptor_alignment: DeviceSize::default(),
15397 buffer_descriptor_alignment: DeviceSize::default(),
15398 max_push_data_size: DeviceSize::default(),
15399 image_capture_replay_opaque_data_size: usize::default(),
15400 max_descriptor_heap_embedded_samplers: u32::default(),
15401 sampler_ycbcr_conversion_count: u32::default(),
15402 sparse_descriptor_heaps: Bool32::default(),
15403 protected_descriptor_heaps: Bool32::default(),
15404 }
15405 }
15406}
15407
15408unsafe impl Send for PhysicalDeviceDescriptorHeapPropertiesEXT {}
15409unsafe impl Sync for PhysicalDeviceDescriptorHeapPropertiesEXT {}
15410
15411#[repr(C)]
15413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15414pub struct PhysicalDeviceDescriptorHeapTensorPropertiesARM {
15415 pub s_type: StructureType,
15416 pub next: *mut c_void,
15417 pub tensor_descriptor_size: DeviceSize,
15418 pub tensor_descriptor_alignment: DeviceSize,
15419 pub tensor_capture_replay_opaque_data_size: usize,
15420}
15421
15422impl Default for PhysicalDeviceDescriptorHeapTensorPropertiesARM {
15423 #[inline]
15424 fn default() -> Self {
15425 Self {
15426 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM,
15427 next: ptr::null_mut(),
15428 tensor_descriptor_size: DeviceSize::default(),
15429 tensor_descriptor_alignment: DeviceSize::default(),
15430 tensor_capture_replay_opaque_data_size: usize::default(),
15431 }
15432 }
15433}
15434
15435unsafe impl Send for PhysicalDeviceDescriptorHeapTensorPropertiesARM {}
15436unsafe impl Sync for PhysicalDeviceDescriptorHeapTensorPropertiesARM {}
15437
15438#[repr(C)]
15440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15441pub struct PhysicalDeviceDescriptorIndexingFeatures {
15442 pub s_type: StructureType,
15443 pub next: *mut c_void,
15444 pub shader_input_attachment_array_dynamic_indexing: Bool32,
15445 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
15446 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
15447 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
15448 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
15449 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
15450 pub shader_storage_image_array_non_uniform_indexing: Bool32,
15451 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
15452 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
15453 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
15454 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
15455 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
15456 pub descriptor_binding_storage_image_update_after_bind: Bool32,
15457 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
15458 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
15459 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
15460 pub descriptor_binding_update_unused_while_pending: Bool32,
15461 pub descriptor_binding_partially_bound: Bool32,
15462 pub descriptor_binding_variable_descriptor_count: Bool32,
15463 pub runtime_descriptor_array: Bool32,
15464}
15465
15466impl Default for PhysicalDeviceDescriptorIndexingFeatures {
15467 #[inline]
15468 fn default() -> Self {
15469 Self {
15470 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
15471 next: ptr::null_mut(),
15472 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
15473 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
15474 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
15475 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
15476 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
15477 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
15478 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
15479 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
15480 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
15481 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
15482 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
15483 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
15484 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
15485 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
15486 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
15487 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
15488 descriptor_binding_update_unused_while_pending: Bool32::default(),
15489 descriptor_binding_partially_bound: Bool32::default(),
15490 descriptor_binding_variable_descriptor_count: Bool32::default(),
15491 runtime_descriptor_array: Bool32::default(),
15492 }
15493 }
15494}
15495
15496unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
15497unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
15498
15499#[repr(C)]
15501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15502pub struct PhysicalDeviceDescriptorIndexingProperties {
15503 pub s_type: StructureType,
15504 pub next: *mut c_void,
15505 pub max_update_after_bind_descriptors_in_all_pools: u32,
15506 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
15507 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
15508 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
15509 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
15510 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
15511 pub robust_buffer_access_update_after_bind: Bool32,
15512 pub quad_divergent_implicit_lod: Bool32,
15513 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
15514 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
15515 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
15516 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
15517 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
15518 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
15519 pub max_per_stage_update_after_bind_resources: u32,
15520 pub max_descriptor_set_update_after_bind_samplers: u32,
15521 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
15522 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
15523 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
15524 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
15525 pub max_descriptor_set_update_after_bind_sampled_images: u32,
15526 pub max_descriptor_set_update_after_bind_storage_images: u32,
15527 pub max_descriptor_set_update_after_bind_input_attachments: u32,
15528}
15529
15530impl Default for PhysicalDeviceDescriptorIndexingProperties {
15531 #[inline]
15532 fn default() -> Self {
15533 Self {
15534 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
15535 next: ptr::null_mut(),
15536 max_update_after_bind_descriptors_in_all_pools: u32::default(),
15537 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
15538 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
15539 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
15540 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
15541 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
15542 robust_buffer_access_update_after_bind: Bool32::default(),
15543 quad_divergent_implicit_lod: Bool32::default(),
15544 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
15545 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
15546 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
15547 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
15548 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
15549 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
15550 max_per_stage_update_after_bind_resources: u32::default(),
15551 max_descriptor_set_update_after_bind_samplers: u32::default(),
15552 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
15553 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
15554 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
15555 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
15556 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
15557 max_descriptor_set_update_after_bind_storage_images: u32::default(),
15558 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
15559 }
15560 }
15561}
15562
15563unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
15564unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
15565
15566#[repr(C)]
15568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15569pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
15570 pub s_type: StructureType,
15571 pub next: *mut c_void,
15572 pub descriptor_pool_overallocation: Bool32,
15573}
15574
15575impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
15576 #[inline]
15577 fn default() -> Self {
15578 Self {
15579 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
15580 next: ptr::null_mut(),
15581 descriptor_pool_overallocation: Bool32::default(),
15582 }
15583 }
15584}
15585
15586unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
15587unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
15588
15589#[repr(C)]
15591#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15592pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15593 pub s_type: StructureType,
15594 pub next: *mut c_void,
15595 pub descriptor_set_host_mapping: Bool32,
15596}
15597
15598impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15599 #[inline]
15600 fn default() -> Self {
15601 Self {
15602 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
15603 next: ptr::null_mut(),
15604 descriptor_set_host_mapping: Bool32::default(),
15605 }
15606 }
15607}
15608
15609unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
15610unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
15611
15612#[repr(C)]
15614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15615pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
15616 pub s_type: StructureType,
15617 pub next: *mut c_void,
15618 pub device_generated_compute: Bool32,
15619 pub device_generated_compute_pipelines: Bool32,
15620 pub device_generated_compute_capture_replay: Bool32,
15621}
15622
15623impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
15624 #[inline]
15625 fn default() -> Self {
15626 Self {
15627 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
15628 next: ptr::null_mut(),
15629 device_generated_compute: Bool32::default(),
15630 device_generated_compute_pipelines: Bool32::default(),
15631 device_generated_compute_capture_replay: Bool32::default(),
15632 }
15633 }
15634}
15635
15636unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
15637unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
15638
15639#[repr(C)]
15641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15642pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
15643 pub s_type: StructureType,
15644 pub next: *mut c_void,
15645 pub device_generated_commands: Bool32,
15646 pub dynamic_generated_pipeline_layout: Bool32,
15647}
15648
15649impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
15650 #[inline]
15651 fn default() -> Self {
15652 Self {
15653 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
15654 next: ptr::null_mut(),
15655 device_generated_commands: Bool32::default(),
15656 dynamic_generated_pipeline_layout: Bool32::default(),
15657 }
15658 }
15659}
15660
15661unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
15662unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
15663
15664#[repr(C)]
15666#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15667pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15668 pub s_type: StructureType,
15669 pub next: *mut c_void,
15670 pub device_generated_commands: Bool32,
15671}
15672
15673impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15674 #[inline]
15675 fn default() -> Self {
15676 Self {
15677 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
15678 next: ptr::null_mut(),
15679 device_generated_commands: Bool32::default(),
15680 }
15681 }
15682}
15683
15684unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
15685unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
15686
15687#[repr(C)]
15689#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15690pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
15691 pub s_type: StructureType,
15692 pub next: *mut c_void,
15693 pub max_indirect_pipeline_count: u32,
15694 pub max_indirect_shader_object_count: u32,
15695 pub max_indirect_sequence_count: u32,
15696 pub max_indirect_commands_token_count: u32,
15697 pub max_indirect_commands_token_offset: u32,
15698 pub max_indirect_commands_indirect_stride: u32,
15699 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
15700 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
15701 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
15702 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
15703 pub device_generated_commands_transform_feedback: Bool32,
15704 pub device_generated_commands_multi_draw_indirect_count: Bool32,
15705}
15706
15707impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
15708 #[inline]
15709 fn default() -> Self {
15710 Self {
15711 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
15712 next: ptr::null_mut(),
15713 max_indirect_pipeline_count: u32::default(),
15714 max_indirect_shader_object_count: u32::default(),
15715 max_indirect_sequence_count: u32::default(),
15716 max_indirect_commands_token_count: u32::default(),
15717 max_indirect_commands_token_offset: u32::default(),
15718 max_indirect_commands_indirect_stride: u32::default(),
15719 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
15720 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
15721 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
15722 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
15723 device_generated_commands_transform_feedback: Bool32::default(),
15724 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
15725 }
15726 }
15727}
15728
15729unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15730unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15731
15732#[repr(C)]
15734#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15735pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15736 pub s_type: StructureType,
15737 pub next: *mut c_void,
15738 pub max_graphics_shader_group_count: u32,
15739 pub max_indirect_sequence_count: u32,
15740 pub max_indirect_commands_token_count: u32,
15741 pub max_indirect_commands_stream_count: u32,
15742 pub max_indirect_commands_token_offset: u32,
15743 pub max_indirect_commands_stream_stride: u32,
15744 pub min_sequences_count_buffer_offset_alignment: u32,
15745 pub min_sequences_index_buffer_offset_alignment: u32,
15746 pub min_indirect_commands_buffer_offset_alignment: u32,
15747}
15748
15749impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15750 #[inline]
15751 fn default() -> Self {
15752 Self {
15753 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
15754 next: ptr::null_mut(),
15755 max_graphics_shader_group_count: u32::default(),
15756 max_indirect_sequence_count: u32::default(),
15757 max_indirect_commands_token_count: u32::default(),
15758 max_indirect_commands_stream_count: u32::default(),
15759 max_indirect_commands_token_offset: u32::default(),
15760 max_indirect_commands_stream_stride: u32::default(),
15761 min_sequences_count_buffer_offset_alignment: u32::default(),
15762 min_sequences_index_buffer_offset_alignment: u32::default(),
15763 min_indirect_commands_buffer_offset_alignment: u32::default(),
15764 }
15765 }
15766}
15767
15768unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15769unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15770
15771#[repr(C)]
15773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15774pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15775 pub s_type: StructureType,
15776 pub next: *mut c_void,
15777 pub device_memory_report: Bool32,
15778}
15779
15780impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15781 #[inline]
15782 fn default() -> Self {
15783 Self {
15784 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
15785 next: ptr::null_mut(),
15786 device_memory_report: Bool32::default(),
15787 }
15788 }
15789}
15790
15791unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15792unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15793
15794#[repr(C)]
15796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15797pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
15798 pub s_type: StructureType,
15799 pub next: *mut c_void,
15800 pub diagnostics_config: Bool32,
15801}
15802
15803impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
15804 #[inline]
15805 fn default() -> Self {
15806 Self {
15807 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
15808 next: ptr::null_mut(),
15809 diagnostics_config: Bool32::default(),
15810 }
15811 }
15812}
15813
15814unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15815unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15816
15817#[repr(C)]
15819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15820pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
15821 pub s_type: StructureType,
15822 pub next: *mut c_void,
15823 pub max_discard_rectangles: u32,
15824}
15825
15826impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
15827 #[inline]
15828 fn default() -> Self {
15829 Self {
15830 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
15831 next: ptr::null_mut(),
15832 max_discard_rectangles: u32::default(),
15833 }
15834 }
15835}
15836
15837unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15838unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15839
15840#[repr(C)]
15842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15843pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
15844 pub s_type: StructureType,
15845 pub next: *mut c_void,
15846 pub displacement_micromap: Bool32,
15847}
15848
15849impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
15850 #[inline]
15851 fn default() -> Self {
15852 Self {
15853 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
15854 next: ptr::null_mut(),
15855 displacement_micromap: Bool32::default(),
15856 }
15857 }
15858}
15859
15860unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15861unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15862
15863#[repr(C)]
15865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15866pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
15867 pub s_type: StructureType,
15868 pub next: *mut c_void,
15869 pub max_displacement_micromap_subdivision_level: u32,
15870}
15871
15872impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
15873 #[inline]
15874 fn default() -> Self {
15875 Self {
15876 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
15877 next: ptr::null_mut(),
15878 max_displacement_micromap_subdivision_level: u32::default(),
15879 }
15880 }
15881}
15882
15883unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15884unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15885
15886#[repr(C)]
15888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15889pub struct PhysicalDeviceDriverProperties {
15890 pub s_type: StructureType,
15891 pub next: *mut c_void,
15892 pub driver_id: DriverId,
15893 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
15894 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
15895 pub conformance_version: ConformanceVersion,
15896}
15897
15898impl Default for PhysicalDeviceDriverProperties {
15899 #[inline]
15900 fn default() -> Self {
15901 Self {
15902 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
15903 next: ptr::null_mut(),
15904 driver_id: DriverId::default(),
15905 driver_name: StringArray::default(),
15906 driver_info: StringArray::default(),
15907 conformance_version: ConformanceVersion::default(),
15908 }
15909 }
15910}
15911
15912unsafe impl Send for PhysicalDeviceDriverProperties {}
15913unsafe impl Sync for PhysicalDeviceDriverProperties {}
15914
15915#[repr(C)]
15917#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15918pub struct PhysicalDeviceDrmPropertiesEXT {
15919 pub s_type: StructureType,
15920 pub next: *mut c_void,
15921 pub has_primary: Bool32,
15922 pub has_render: Bool32,
15923 pub primary_major: i64,
15924 pub primary_minor: i64,
15925 pub render_major: i64,
15926 pub render_minor: i64,
15927}
15928
15929impl Default for PhysicalDeviceDrmPropertiesEXT {
15930 #[inline]
15931 fn default() -> Self {
15932 Self {
15933 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
15934 next: ptr::null_mut(),
15935 has_primary: Bool32::default(),
15936 has_render: Bool32::default(),
15937 primary_major: i64::default(),
15938 primary_minor: i64::default(),
15939 render_major: i64::default(),
15940 render_minor: i64::default(),
15941 }
15942 }
15943}
15944
15945unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
15946unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
15947
15948#[repr(C)]
15950#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15951pub struct PhysicalDeviceDynamicRenderingFeatures {
15952 pub s_type: StructureType,
15953 pub next: *mut c_void,
15954 pub dynamic_rendering: Bool32,
15955}
15956
15957impl Default for PhysicalDeviceDynamicRenderingFeatures {
15958 #[inline]
15959 fn default() -> Self {
15960 Self {
15961 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
15962 next: ptr::null_mut(),
15963 dynamic_rendering: Bool32::default(),
15964 }
15965 }
15966}
15967
15968unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
15969unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
15970
15971#[repr(C)]
15973#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15974pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
15975 pub s_type: StructureType,
15976 pub next: *mut c_void,
15977 pub dynamic_rendering_local_read: Bool32,
15978}
15979
15980impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
15981 #[inline]
15982 fn default() -> Self {
15983 Self {
15984 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
15985 next: ptr::null_mut(),
15986 dynamic_rendering_local_read: Bool32::default(),
15987 }
15988 }
15989}
15990
15991unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15992unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15993
15994#[repr(C)]
15996#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15997pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15998 pub s_type: StructureType,
15999 pub next: *mut c_void,
16000 pub dynamic_rendering_unused_attachments: Bool32,
16001}
16002
16003impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
16004 #[inline]
16005 fn default() -> Self {
16006 Self {
16007 s_type:
16008 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
16009 next: ptr::null_mut(),
16010 dynamic_rendering_unused_attachments: Bool32::default(),
16011 }
16012 }
16013}
16014
16015unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
16016unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
16017
16018#[repr(C)]
16020#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16021pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
16022 pub s_type: StructureType,
16023 pub next: *mut c_void,
16024 pub exclusive_scissor: Bool32,
16025}
16026
16027impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
16028 #[inline]
16029 fn default() -> Self {
16030 Self {
16031 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
16032 next: ptr::null_mut(),
16033 exclusive_scissor: Bool32::default(),
16034 }
16035 }
16036}
16037
16038unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
16039unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
16040
16041#[repr(C)]
16043#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16044pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
16045 pub s_type: StructureType,
16046 pub next: *mut c_void,
16047 pub extended_dynamic_state2: Bool32,
16048 pub extended_dynamic_state2_logic_op: Bool32,
16049 pub extended_dynamic_state2_patch_control_points: Bool32,
16050}
16051
16052impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
16053 #[inline]
16054 fn default() -> Self {
16055 Self {
16056 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
16057 next: ptr::null_mut(),
16058 extended_dynamic_state2: Bool32::default(),
16059 extended_dynamic_state2_logic_op: Bool32::default(),
16060 extended_dynamic_state2_patch_control_points: Bool32::default(),
16061 }
16062 }
16063}
16064
16065unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
16066unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
16067
16068#[repr(C)]
16070#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16071pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
16072 pub s_type: StructureType,
16073 pub next: *mut c_void,
16074 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
16075 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
16076 pub extended_dynamic_state3_polygon_mode: Bool32,
16077 pub extended_dynamic_state3_rasterization_samples: Bool32,
16078 pub extended_dynamic_state3_sample_mask: Bool32,
16079 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
16080 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
16081 pub extended_dynamic_state3_logic_op_enable: Bool32,
16082 pub extended_dynamic_state3_color_blend_enable: Bool32,
16083 pub extended_dynamic_state3_color_blend_equation: Bool32,
16084 pub extended_dynamic_state3_color_write_mask: Bool32,
16085 pub extended_dynamic_state3_rasterization_stream: Bool32,
16086 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
16087 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
16088 pub extended_dynamic_state_3depth_clip_enable: Bool32,
16089 pub extended_dynamic_state3_sample_locations_enable: Bool32,
16090 pub extended_dynamic_state3_color_blend_advanced: Bool32,
16091 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
16092 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
16093 pub extended_dynamic_state3_line_stipple_enable: Bool32,
16094 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
16095 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
16096 pub extended_dynamic_state3_viewport_swizzle: Bool32,
16097 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
16098 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
16099 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
16100 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
16101 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
16102 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
16103 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
16104 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
16105}
16106
16107impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
16108 #[inline]
16109 fn default() -> Self {
16110 Self {
16111 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
16112 next: ptr::null_mut(),
16113 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
16114 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
16115 extended_dynamic_state3_polygon_mode: Bool32::default(),
16116 extended_dynamic_state3_rasterization_samples: Bool32::default(),
16117 extended_dynamic_state3_sample_mask: Bool32::default(),
16118 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
16119 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
16120 extended_dynamic_state3_logic_op_enable: Bool32::default(),
16121 extended_dynamic_state3_color_blend_enable: Bool32::default(),
16122 extended_dynamic_state3_color_blend_equation: Bool32::default(),
16123 extended_dynamic_state3_color_write_mask: Bool32::default(),
16124 extended_dynamic_state3_rasterization_stream: Bool32::default(),
16125 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
16126 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
16127 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
16128 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
16129 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
16130 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
16131 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
16132 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
16133 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
16134 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
16135 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
16136 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
16137 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
16138 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
16139 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
16140 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
16141 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
16142 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
16143 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
16144 }
16145 }
16146}
16147
16148unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
16149unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
16150
16151#[repr(C)]
16153#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16154pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
16155 pub s_type: StructureType,
16156 pub next: *mut c_void,
16157 pub dynamic_primitive_topology_unrestricted: Bool32,
16158}
16159
16160impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
16161 #[inline]
16162 fn default() -> Self {
16163 Self {
16164 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
16165 next: ptr::null_mut(),
16166 dynamic_primitive_topology_unrestricted: Bool32::default(),
16167 }
16168 }
16169}
16170
16171unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
16172unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
16173
16174#[repr(C)]
16176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16177pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
16178 pub s_type: StructureType,
16179 pub next: *mut c_void,
16180 pub extended_dynamic_state: Bool32,
16181}
16182
16183impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
16184 #[inline]
16185 fn default() -> Self {
16186 Self {
16187 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
16188 next: ptr::null_mut(),
16189 extended_dynamic_state: Bool32::default(),
16190 }
16191 }
16192}
16193
16194unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
16195unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
16196
16197#[repr(C)]
16199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16200pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
16201 pub s_type: StructureType,
16202 pub next: *mut c_void,
16203 pub extended_sparse_address_space: Bool32,
16204}
16205
16206impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
16207 #[inline]
16208 fn default() -> Self {
16209 Self {
16210 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
16211 next: ptr::null_mut(),
16212 extended_sparse_address_space: Bool32::default(),
16213 }
16214 }
16215}
16216
16217unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
16218unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
16219
16220#[repr(C)]
16222#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16223pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
16224 pub s_type: StructureType,
16225 pub next: *mut c_void,
16226 pub extended_sparse_address_space_size: DeviceSize,
16227 pub extended_sparse_image_usage_flags: ImageUsageFlags,
16228 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
16229}
16230
16231impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
16232 #[inline]
16233 fn default() -> Self {
16234 Self {
16235 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
16236 next: ptr::null_mut(),
16237 extended_sparse_address_space_size: DeviceSize::default(),
16238 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
16239 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
16240 }
16241 }
16242}
16243
16244unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
16245unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
16246
16247#[repr(C)]
16249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16250pub struct PhysicalDeviceExternalBufferInfo {
16251 pub s_type: StructureType,
16252 pub next: *const c_void,
16253 pub flags: BufferCreateFlags,
16254 pub usage: BufferUsageFlags,
16255 pub handle_type: ExternalMemoryHandleTypeFlags,
16256}
16257
16258impl Default for PhysicalDeviceExternalBufferInfo {
16259 #[inline]
16260 fn default() -> Self {
16261 Self {
16262 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
16263 next: ptr::null(),
16264 flags: BufferCreateFlags::default(),
16265 usage: BufferUsageFlags::default(),
16266 handle_type: ExternalMemoryHandleTypeFlags::default(),
16267 }
16268 }
16269}
16270
16271unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
16272unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
16273
16274#[repr(C)]
16276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16277pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
16278 pub s_type: StructureType,
16279 pub next: *mut c_void,
16280 pub external_data_size: u32,
16281 pub max_external_queues: u32,
16282}
16283
16284impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
16285 #[inline]
16286 fn default() -> Self {
16287 Self {
16288 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
16289 next: ptr::null_mut(),
16290 external_data_size: u32::default(),
16291 max_external_queues: u32::default(),
16292 }
16293 }
16294}
16295
16296unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
16297unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
16298
16299#[repr(C)]
16301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16302pub struct PhysicalDeviceExternalFenceInfo {
16303 pub s_type: StructureType,
16304 pub next: *const c_void,
16305 pub handle_type: ExternalFenceHandleTypeFlags,
16306}
16307
16308impl Default for PhysicalDeviceExternalFenceInfo {
16309 #[inline]
16310 fn default() -> Self {
16311 Self {
16312 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
16313 next: ptr::null(),
16314 handle_type: ExternalFenceHandleTypeFlags::default(),
16315 }
16316 }
16317}
16318
16319unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
16320unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
16321
16322#[repr(C)]
16324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16325pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
16326 pub s_type: StructureType,
16327 pub next: *mut c_void,
16328 pub external_format_resolve: Bool32,
16329}
16330
16331impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
16332 #[inline]
16333 fn default() -> Self {
16334 Self {
16335 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
16336 next: ptr::null_mut(),
16337 external_format_resolve: Bool32::default(),
16338 }
16339 }
16340}
16341
16342unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
16343unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
16344
16345#[repr(C)]
16347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16348pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
16349 pub s_type: StructureType,
16350 pub next: *mut c_void,
16351 pub null_color_attachment_with_external_format_resolve: Bool32,
16352 pub external_format_resolve_chroma_offset_x: ChromaLocation,
16353 pub external_format_resolve_chroma_offset_y: ChromaLocation,
16354}
16355
16356impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
16357 #[inline]
16358 fn default() -> Self {
16359 Self {
16360 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
16361 next: ptr::null_mut(),
16362 null_color_attachment_with_external_format_resolve: Bool32::default(),
16363 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
16364 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
16365 }
16366 }
16367}
16368
16369unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
16370unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
16371
16372#[repr(C)]
16374#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16375pub struct PhysicalDeviceExternalImageFormatInfo {
16376 pub s_type: StructureType,
16377 pub next: *const c_void,
16378 pub handle_type: ExternalMemoryHandleTypeFlags,
16379}
16380
16381impl Default for PhysicalDeviceExternalImageFormatInfo {
16382 #[inline]
16383 fn default() -> Self {
16384 Self {
16385 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
16386 next: ptr::null(),
16387 handle_type: ExternalMemoryHandleTypeFlags::default(),
16388 }
16389 }
16390}
16391
16392unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
16393unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
16394
16395#[repr(C)]
16397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16398pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
16399 pub s_type: StructureType,
16400 pub next: *mut c_void,
16401 pub min_imported_host_pointer_alignment: DeviceSize,
16402}
16403
16404impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
16405 #[inline]
16406 fn default() -> Self {
16407 Self {
16408 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
16409 next: ptr::null_mut(),
16410 min_imported_host_pointer_alignment: DeviceSize::default(),
16411 }
16412 }
16413}
16414
16415unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
16416unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
16417
16418#[repr(C)]
16420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16421pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
16422 pub s_type: StructureType,
16423 pub next: *mut c_void,
16424 pub external_memory_rdma: Bool32,
16425}
16426
16427impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
16428 #[inline]
16429 fn default() -> Self {
16430 Self {
16431 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
16432 next: ptr::null_mut(),
16433 external_memory_rdma: Bool32::default(),
16434 }
16435 }
16436}
16437
16438unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
16439unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
16440
16441#[repr(C)]
16443#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16444pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
16445 pub s_type: StructureType,
16446 pub next: *mut c_void,
16447 pub sci_buf_import: Bool32,
16448 pub sci_buf_export: Bool32,
16449}
16450
16451impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
16452 #[inline]
16453 fn default() -> Self {
16454 Self {
16455 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
16456 next: ptr::null_mut(),
16457 sci_buf_import: Bool32::default(),
16458 sci_buf_export: Bool32::default(),
16459 }
16460 }
16461}
16462
16463unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
16464unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
16465
16466#[repr(C)]
16468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16469pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
16470 pub s_type: StructureType,
16471 pub next: *mut c_void,
16472 pub screen_buffer_import: Bool32,
16473}
16474
16475impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
16476 #[inline]
16477 fn default() -> Self {
16478 Self {
16479 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
16480 next: ptr::null_mut(),
16481 screen_buffer_import: Bool32::default(),
16482 }
16483 }
16484}
16485
16486unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
16487unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
16488
16489#[repr(C)]
16491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16492pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
16493 pub s_type: StructureType,
16494 pub next: *mut c_void,
16495 pub sci_sync_fence: Bool32,
16496 pub sci_sync_semaphore2: Bool32,
16497 pub sci_sync_import: Bool32,
16498 pub sci_sync_export: Bool32,
16499}
16500
16501impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
16502 #[inline]
16503 fn default() -> Self {
16504 Self {
16505 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
16506 next: ptr::null_mut(),
16507 sci_sync_fence: Bool32::default(),
16508 sci_sync_semaphore2: Bool32::default(),
16509 sci_sync_import: Bool32::default(),
16510 sci_sync_export: Bool32::default(),
16511 }
16512 }
16513}
16514
16515unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
16516unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
16517
16518#[repr(C)]
16520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16521pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
16522 pub s_type: StructureType,
16523 pub next: *mut c_void,
16524 pub sci_sync_fence: Bool32,
16525 pub sci_sync_semaphore: Bool32,
16526 pub sci_sync_import: Bool32,
16527 pub sci_sync_export: Bool32,
16528}
16529
16530impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
16531 #[inline]
16532 fn default() -> Self {
16533 Self {
16534 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
16535 next: ptr::null_mut(),
16536 sci_sync_fence: Bool32::default(),
16537 sci_sync_semaphore: Bool32::default(),
16538 sci_sync_import: Bool32::default(),
16539 sci_sync_export: Bool32::default(),
16540 }
16541 }
16542}
16543
16544unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
16545unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
16546
16547#[repr(C)]
16549#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16550pub struct PhysicalDeviceExternalSemaphoreInfo {
16551 pub s_type: StructureType,
16552 pub next: *const c_void,
16553 pub handle_type: ExternalSemaphoreHandleTypeFlags,
16554}
16555
16556impl Default for PhysicalDeviceExternalSemaphoreInfo {
16557 #[inline]
16558 fn default() -> Self {
16559 Self {
16560 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
16561 next: ptr::null(),
16562 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
16563 }
16564 }
16565}
16566
16567unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
16568unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
16569
16570#[repr(C)]
16572#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16573pub struct PhysicalDeviceExternalTensorInfoARM {
16574 pub s_type: StructureType,
16575 pub next: *const c_void,
16576 pub flags: TensorCreateFlagsARM,
16577 pub description: *const TensorDescriptionARM,
16578 pub handle_type: ExternalMemoryHandleTypeFlags,
16579}
16580
16581impl Default for PhysicalDeviceExternalTensorInfoARM {
16582 #[inline]
16583 fn default() -> Self {
16584 Self {
16585 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
16586 next: ptr::null(),
16587 flags: TensorCreateFlagsARM::default(),
16588 description: ptr::null(),
16589 handle_type: ExternalMemoryHandleTypeFlags::default(),
16590 }
16591 }
16592}
16593
16594unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
16595unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
16596
16597#[repr(C)]
16599#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16600pub struct PhysicalDeviceFaultFeaturesEXT {
16601 pub s_type: StructureType,
16602 pub next: *mut c_void,
16603 pub device_fault: Bool32,
16604 pub device_fault_vendor_binary: Bool32,
16605}
16606
16607impl Default for PhysicalDeviceFaultFeaturesEXT {
16608 #[inline]
16609 fn default() -> Self {
16610 Self {
16611 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
16612 next: ptr::null_mut(),
16613 device_fault: Bool32::default(),
16614 device_fault_vendor_binary: Bool32::default(),
16615 }
16616 }
16617}
16618
16619unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
16620unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
16621
16622#[repr(C)]
16624#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
16625pub struct PhysicalDeviceFeatures {
16626 pub robust_buffer_access: Bool32,
16627 pub full_draw_index_uint32: Bool32,
16628 pub image_cube_array: Bool32,
16629 pub independent_blend: Bool32,
16630 pub geometry_shader: Bool32,
16631 pub tessellation_shader: Bool32,
16632 pub sample_rate_shading: Bool32,
16633 pub dual_src_blend: Bool32,
16634 pub logic_op: Bool32,
16635 pub multi_draw_indirect: Bool32,
16636 pub draw_indirect_first_instance: Bool32,
16637 pub depth_clamp: Bool32,
16638 pub depth_bias_clamp: Bool32,
16639 pub fill_mode_non_solid: Bool32,
16640 pub depth_bounds: Bool32,
16641 pub wide_lines: Bool32,
16642 pub large_points: Bool32,
16643 pub alpha_to_one: Bool32,
16644 pub multi_viewport: Bool32,
16645 pub sampler_anisotropy: Bool32,
16646 pub texture_compression_etc2: Bool32,
16647 pub texture_compression_astc_ldr: Bool32,
16648 pub texture_compression_bc: Bool32,
16649 pub occlusion_query_precise: Bool32,
16650 pub pipeline_statistics_query: Bool32,
16651 pub vertex_pipeline_stores_and_atomics: Bool32,
16652 pub fragment_stores_and_atomics: Bool32,
16653 pub shader_tessellation_and_geometry_point_size: Bool32,
16654 pub shader_image_gather_extended: Bool32,
16655 pub shader_storage_image_extended_formats: Bool32,
16656 pub shader_storage_image_multisample: Bool32,
16657 pub shader_storage_image_read_without_format: Bool32,
16658 pub shader_storage_image_write_without_format: Bool32,
16659 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
16660 pub shader_sampled_image_array_dynamic_indexing: Bool32,
16661 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
16662 pub shader_storage_image_array_dynamic_indexing: Bool32,
16663 pub shader_clip_distance: Bool32,
16664 pub shader_cull_distance: Bool32,
16665 pub shader_float64: Bool32,
16666 pub shader_int64: Bool32,
16667 pub shader_int16: Bool32,
16668 pub shader_resource_residency: Bool32,
16669 pub shader_resource_min_lod: Bool32,
16670 pub sparse_binding: Bool32,
16671 pub sparse_residency_buffer: Bool32,
16672 pub sparse_residency_image_2d: Bool32,
16673 pub sparse_residency_image_3d: Bool32,
16674 pub sparse_residency2_samples: Bool32,
16675 pub sparse_residency4_samples: Bool32,
16676 pub sparse_residency8_samples: Bool32,
16677 pub sparse_residency16_samples: Bool32,
16678 pub sparse_residency_aliased: Bool32,
16679 pub variable_multisample_rate: Bool32,
16680 pub inherited_queries: Bool32,
16681}
16682
16683#[repr(C)]
16685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16686pub struct PhysicalDeviceFeatures2 {
16687 pub s_type: StructureType,
16688 pub next: *mut c_void,
16689 pub features: PhysicalDeviceFeatures,
16690}
16691
16692impl Default for PhysicalDeviceFeatures2 {
16693 #[inline]
16694 fn default() -> Self {
16695 Self {
16696 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
16697 next: ptr::null_mut(),
16698 features: PhysicalDeviceFeatures::default(),
16699 }
16700 }
16701}
16702
16703unsafe impl Send for PhysicalDeviceFeatures2 {}
16704unsafe impl Sync for PhysicalDeviceFeatures2 {}
16705
16706#[repr(C)]
16708#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16709pub struct PhysicalDeviceFloatControlsProperties {
16710 pub s_type: StructureType,
16711 pub next: *mut c_void,
16712 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
16713 pub rounding_mode_independence: ShaderFloatControlsIndependence,
16714 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
16715 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
16716 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
16717 pub shader_denorm_preserve_float16: Bool32,
16718 pub shader_denorm_preserve_float32: Bool32,
16719 pub shader_denorm_preserve_float64: Bool32,
16720 pub shader_denorm_flush_to_zero_float16: Bool32,
16721 pub shader_denorm_flush_to_zero_float32: Bool32,
16722 pub shader_denorm_flush_to_zero_float64: Bool32,
16723 pub shader_rounding_mode_rte_float16: Bool32,
16724 pub shader_rounding_mode_rte_float32: Bool32,
16725 pub shader_rounding_mode_rte_float64: Bool32,
16726 pub shader_rounding_mode_rtz_float16: Bool32,
16727 pub shader_rounding_mode_rtz_float32: Bool32,
16728 pub shader_rounding_mode_rtz_float64: Bool32,
16729}
16730
16731impl Default for PhysicalDeviceFloatControlsProperties {
16732 #[inline]
16733 fn default() -> Self {
16734 Self {
16735 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
16736 next: ptr::null_mut(),
16737 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
16738 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
16739 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
16740 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
16741 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
16742 shader_denorm_preserve_float16: Bool32::default(),
16743 shader_denorm_preserve_float32: Bool32::default(),
16744 shader_denorm_preserve_float64: Bool32::default(),
16745 shader_denorm_flush_to_zero_float16: Bool32::default(),
16746 shader_denorm_flush_to_zero_float32: Bool32::default(),
16747 shader_denorm_flush_to_zero_float64: Bool32::default(),
16748 shader_rounding_mode_rte_float16: Bool32::default(),
16749 shader_rounding_mode_rte_float32: Bool32::default(),
16750 shader_rounding_mode_rte_float64: Bool32::default(),
16751 shader_rounding_mode_rtz_float16: Bool32::default(),
16752 shader_rounding_mode_rtz_float32: Bool32::default(),
16753 shader_rounding_mode_rtz_float64: Bool32::default(),
16754 }
16755 }
16756}
16757
16758unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
16759unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
16760
16761#[repr(C)]
16763#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16764pub struct PhysicalDeviceFormatPackFeaturesARM {
16765 pub s_type: StructureType,
16766 pub next: *mut c_void,
16767 pub format_pack: Bool32,
16768}
16769
16770impl Default for PhysicalDeviceFormatPackFeaturesARM {
16771 #[inline]
16772 fn default() -> Self {
16773 Self {
16774 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
16775 next: ptr::null_mut(),
16776 format_pack: Bool32::default(),
16777 }
16778 }
16779}
16780
16781unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
16782unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
16783
16784#[repr(C)]
16786#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16787pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16788 pub s_type: StructureType,
16789 pub next: *mut c_void,
16790 pub fragment_density_map_deferred: Bool32,
16791}
16792
16793impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16794 #[inline]
16795 fn default() -> Self {
16796 Self {
16797 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
16798 next: ptr::null_mut(),
16799 fragment_density_map_deferred: Bool32::default(),
16800 }
16801 }
16802}
16803
16804unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16805unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16806
16807#[repr(C)]
16809#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16810pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16811 pub s_type: StructureType,
16812 pub next: *mut c_void,
16813 pub subsampled_loads: Bool32,
16814 pub subsampled_coarse_reconstruction_early_access: Bool32,
16815 pub max_subsampled_array_layers: u32,
16816 pub max_descriptor_set_subsampled_samplers: u32,
16817}
16818
16819impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16820 #[inline]
16821 fn default() -> Self {
16822 Self {
16823 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
16824 next: ptr::null_mut(),
16825 subsampled_loads: Bool32::default(),
16826 subsampled_coarse_reconstruction_early_access: Bool32::default(),
16827 max_subsampled_array_layers: u32::default(),
16828 max_descriptor_set_subsampled_samplers: u32::default(),
16829 }
16830 }
16831}
16832
16833unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16834unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16835
16836#[repr(C)]
16838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16839pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
16840 pub s_type: StructureType,
16841 pub next: *mut c_void,
16842 pub fragment_density_map: Bool32,
16843 pub fragment_density_map_dynamic: Bool32,
16844 pub fragment_density_map_non_subsampled_images: Bool32,
16845}
16846
16847impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
16848 #[inline]
16849 fn default() -> Self {
16850 Self {
16851 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
16852 next: ptr::null_mut(),
16853 fragment_density_map: Bool32::default(),
16854 fragment_density_map_dynamic: Bool32::default(),
16855 fragment_density_map_non_subsampled_images: Bool32::default(),
16856 }
16857 }
16858}
16859
16860unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16861unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16862
16863#[repr(C)]
16865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16866pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16867 pub s_type: StructureType,
16868 pub next: *mut c_void,
16869 pub fragment_density_map_layered: Bool32,
16870}
16871
16872impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16873 #[inline]
16874 fn default() -> Self {
16875 Self {
16876 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
16877 next: ptr::null_mut(),
16878 fragment_density_map_layered: Bool32::default(),
16879 }
16880 }
16881}
16882
16883unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16884unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16885
16886#[repr(C)]
16888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16889pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16890 pub s_type: StructureType,
16891 pub next: *mut c_void,
16892 pub max_fragment_density_map_layers: u32,
16893}
16894
16895impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16896 #[inline]
16897 fn default() -> Self {
16898 Self {
16899 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
16900 next: ptr::null_mut(),
16901 max_fragment_density_map_layers: u32::default(),
16902 }
16903 }
16904}
16905
16906unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16907unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16908
16909#[repr(C)]
16911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16912pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16913 pub s_type: StructureType,
16914 pub next: *mut c_void,
16915 pub fragment_density_map_offset: Bool32,
16916}
16917
16918impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16919 #[inline]
16920 fn default() -> Self {
16921 Self {
16922 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
16923 next: ptr::null_mut(),
16924 fragment_density_map_offset: Bool32::default(),
16925 }
16926 }
16927}
16928
16929unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16930unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16931
16932#[repr(C)]
16934#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16935pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16936 pub s_type: StructureType,
16937 pub next: *mut c_void,
16938 pub fragment_density_offset_granularity: Extent2D,
16939}
16940
16941impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16942 #[inline]
16943 fn default() -> Self {
16944 Self {
16945 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
16946 next: ptr::null_mut(),
16947 fragment_density_offset_granularity: Extent2D::default(),
16948 }
16949 }
16950}
16951
16952unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16953unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16954
16955#[repr(C)]
16957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16958pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
16959 pub s_type: StructureType,
16960 pub next: *mut c_void,
16961 pub min_fragment_density_texel_size: Extent2D,
16962 pub max_fragment_density_texel_size: Extent2D,
16963 pub fragment_density_invocations: Bool32,
16964}
16965
16966impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
16967 #[inline]
16968 fn default() -> Self {
16969 Self {
16970 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
16971 next: ptr::null_mut(),
16972 min_fragment_density_texel_size: Extent2D::default(),
16973 max_fragment_density_texel_size: Extent2D::default(),
16974 fragment_density_invocations: Bool32::default(),
16975 }
16976 }
16977}
16978
16979unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16980unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16981
16982#[repr(C)]
16984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16985pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16986 pub s_type: StructureType,
16987 pub next: *mut c_void,
16988 pub fragment_shader_barycentric: Bool32,
16989}
16990
16991impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16992 #[inline]
16993 fn default() -> Self {
16994 Self {
16995 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
16996 next: ptr::null_mut(),
16997 fragment_shader_barycentric: Bool32::default(),
16998 }
16999 }
17000}
17001
17002unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
17003unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
17004
17005#[repr(C)]
17007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17008pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
17009 pub s_type: StructureType,
17010 pub next: *mut c_void,
17011 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
17012}
17013
17014impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
17015 #[inline]
17016 fn default() -> Self {
17017 Self {
17018 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
17019 next: ptr::null_mut(),
17020 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
17021 }
17022 }
17023}
17024
17025unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
17026unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
17027
17028#[repr(C)]
17030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17031pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
17032 pub s_type: StructureType,
17033 pub next: *mut c_void,
17034 pub fragment_shader_sample_interlock: Bool32,
17035 pub fragment_shader_pixel_interlock: Bool32,
17036 pub fragment_shader_shading_rate_interlock: Bool32,
17037}
17038
17039impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
17040 #[inline]
17041 fn default() -> Self {
17042 Self {
17043 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
17044 next: ptr::null_mut(),
17045 fragment_shader_sample_interlock: Bool32::default(),
17046 fragment_shader_pixel_interlock: Bool32::default(),
17047 fragment_shader_shading_rate_interlock: Bool32::default(),
17048 }
17049 }
17050}
17051
17052unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
17053unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
17054
17055#[repr(C)]
17057#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17058pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
17059 pub s_type: StructureType,
17060 pub next: *mut c_void,
17061 pub fragment_shading_rate_enums: Bool32,
17062 pub supersample_fragment_shading_rates: Bool32,
17063 pub no_invocation_fragment_shading_rates: Bool32,
17064}
17065
17066impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
17067 #[inline]
17068 fn default() -> Self {
17069 Self {
17070 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
17071 next: ptr::null_mut(),
17072 fragment_shading_rate_enums: Bool32::default(),
17073 supersample_fragment_shading_rates: Bool32::default(),
17074 no_invocation_fragment_shading_rates: Bool32::default(),
17075 }
17076 }
17077}
17078
17079unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
17080unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
17081
17082#[repr(C)]
17084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17085pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
17086 pub s_type: StructureType,
17087 pub next: *mut c_void,
17088 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
17089}
17090
17091impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
17092 #[inline]
17093 fn default() -> Self {
17094 Self {
17095 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
17096 next: ptr::null_mut(),
17097 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
17098 }
17099 }
17100}
17101
17102unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
17103unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
17104
17105#[repr(C)]
17107#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17108pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
17109 pub s_type: StructureType,
17110 pub next: *mut c_void,
17111 pub pipeline_fragment_shading_rate: Bool32,
17112 pub primitive_fragment_shading_rate: Bool32,
17113 pub attachment_fragment_shading_rate: Bool32,
17114}
17115
17116impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
17117 #[inline]
17118 fn default() -> Self {
17119 Self {
17120 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
17121 next: ptr::null_mut(),
17122 pipeline_fragment_shading_rate: Bool32::default(),
17123 primitive_fragment_shading_rate: Bool32::default(),
17124 attachment_fragment_shading_rate: Bool32::default(),
17125 }
17126 }
17127}
17128
17129unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
17130unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
17131
17132#[repr(C)]
17134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17135pub struct PhysicalDeviceFragmentShadingRateKHR {
17136 pub s_type: StructureType,
17137 pub next: *mut c_void,
17138 pub sample_counts: SampleCountFlags,
17139 pub fragment_size: Extent2D,
17140}
17141
17142impl Default for PhysicalDeviceFragmentShadingRateKHR {
17143 #[inline]
17144 fn default() -> Self {
17145 Self {
17146 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
17147 next: ptr::null_mut(),
17148 sample_counts: SampleCountFlags::default(),
17149 fragment_size: Extent2D::default(),
17150 }
17151 }
17152}
17153
17154unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
17155unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
17156
17157#[repr(C)]
17159#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17160pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
17161 pub s_type: StructureType,
17162 pub next: *mut c_void,
17163 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
17164 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
17165 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
17166 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
17167 pub layered_shading_rate_attachments: Bool32,
17168 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
17169 pub max_fragment_size: Extent2D,
17170 pub max_fragment_size_aspect_ratio: u32,
17171 pub max_fragment_shading_rate_coverage_samples: u32,
17172 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
17173 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
17174 pub fragment_shading_rate_with_sample_mask: Bool32,
17175 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
17176 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
17177 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
17178 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
17179 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
17180}
17181
17182impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
17183 #[inline]
17184 fn default() -> Self {
17185 Self {
17186 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
17187 next: ptr::null_mut(),
17188 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
17189 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
17190 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
17191 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
17192 layered_shading_rate_attachments: Bool32::default(),
17193 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
17194 max_fragment_size: Extent2D::default(),
17195 max_fragment_size_aspect_ratio: u32::default(),
17196 max_fragment_shading_rate_coverage_samples: u32::default(),
17197 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
17198 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
17199 fragment_shading_rate_with_sample_mask: Bool32::default(),
17200 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
17201 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
17202 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
17203 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
17204 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
17205 }
17206 }
17207}
17208
17209unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
17210unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
17211
17212#[repr(C)]
17214#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17215pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
17216 pub s_type: StructureType,
17217 pub next: *mut c_void,
17218 pub frame_boundary: Bool32,
17219}
17220
17221impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
17222 #[inline]
17223 fn default() -> Self {
17224 Self {
17225 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
17226 next: ptr::null_mut(),
17227 frame_boundary: Bool32::default(),
17228 }
17229 }
17230}
17231
17232unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
17233unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
17234
17235#[repr(C)]
17237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17238pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
17239 pub s_type: StructureType,
17240 pub next: *mut c_void,
17241 pub global_priority_query: Bool32,
17242}
17243
17244impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
17245 #[inline]
17246 fn default() -> Self {
17247 Self {
17248 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
17249 next: ptr::null_mut(),
17250 global_priority_query: Bool32::default(),
17251 }
17252 }
17253}
17254
17255unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
17256unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
17257
17258#[repr(C)]
17260#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17261pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
17262 pub s_type: StructureType,
17263 pub next: *mut c_void,
17264 pub graphics_pipeline_library: Bool32,
17265}
17266
17267impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
17268 #[inline]
17269 fn default() -> Self {
17270 Self {
17271 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
17272 next: ptr::null_mut(),
17273 graphics_pipeline_library: Bool32::default(),
17274 }
17275 }
17276}
17277
17278unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
17279unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
17280
17281#[repr(C)]
17283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17284pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
17285 pub s_type: StructureType,
17286 pub next: *mut c_void,
17287 pub graphics_pipeline_library_fast_linking: Bool32,
17288 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
17289}
17290
17291impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
17292 #[inline]
17293 fn default() -> Self {
17294 Self {
17295 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
17296 next: ptr::null_mut(),
17297 graphics_pipeline_library_fast_linking: Bool32::default(),
17298 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
17299 }
17300 }
17301}
17302
17303unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
17304unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
17305
17306#[repr(C)]
17308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17309pub struct PhysicalDeviceGroupProperties {
17310 pub s_type: StructureType,
17311 pub next: *mut c_void,
17312 pub physical_device_count: u32,
17313 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE as usize],
17314 pub subset_allocation: Bool32,
17315}
17316
17317impl Default for PhysicalDeviceGroupProperties {
17318 #[inline]
17319 fn default() -> Self {
17320 Self {
17321 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
17322 next: ptr::null_mut(),
17323 physical_device_count: u32::default(),
17324 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
17325 subset_allocation: Bool32::default(),
17326 }
17327 }
17328}
17329
17330unsafe impl Send for PhysicalDeviceGroupProperties {}
17331unsafe impl Sync for PhysicalDeviceGroupProperties {}
17332
17333#[repr(C)]
17335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17336pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
17337 pub s_type: StructureType,
17338 pub next: *mut c_void,
17339 pub hdr_vivid: Bool32,
17340}
17341
17342impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
17343 #[inline]
17344 fn default() -> Self {
17345 Self {
17346 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
17347 next: ptr::null_mut(),
17348 hdr_vivid: Bool32::default(),
17349 }
17350 }
17351}
17352
17353unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
17354unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
17355
17356#[repr(C)]
17358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17359pub struct PhysicalDeviceHostImageCopyFeatures {
17360 pub s_type: StructureType,
17361 pub next: *mut c_void,
17362 pub host_image_copy: Bool32,
17363}
17364
17365impl Default for PhysicalDeviceHostImageCopyFeatures {
17366 #[inline]
17367 fn default() -> Self {
17368 Self {
17369 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
17370 next: ptr::null_mut(),
17371 host_image_copy: Bool32::default(),
17372 }
17373 }
17374}
17375
17376unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
17377unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
17378
17379#[repr(C)]
17381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17382pub struct PhysicalDeviceHostImageCopyProperties {
17383 pub s_type: StructureType,
17384 pub next: *mut c_void,
17385 pub copy_src_layout_count: u32,
17386 pub copy_src_layouts: *mut ImageLayout,
17387 pub copy_dst_layout_count: u32,
17388 pub copy_dst_layouts: *mut ImageLayout,
17389 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
17390 pub identical_memory_type_requirements: Bool32,
17391}
17392
17393impl Default for PhysicalDeviceHostImageCopyProperties {
17394 #[inline]
17395 fn default() -> Self {
17396 Self {
17397 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
17398 next: ptr::null_mut(),
17399 copy_src_layout_count: u32::default(),
17400 copy_src_layouts: ptr::null_mut(),
17401 copy_dst_layout_count: u32::default(),
17402 copy_dst_layouts: ptr::null_mut(),
17403 optimal_tiling_layout_uuid: ByteArray::default(),
17404 identical_memory_type_requirements: Bool32::default(),
17405 }
17406 }
17407}
17408
17409unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
17410unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
17411
17412#[repr(C)]
17414#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17415pub struct PhysicalDeviceHostQueryResetFeatures {
17416 pub s_type: StructureType,
17417 pub next: *mut c_void,
17418 pub host_query_reset: Bool32,
17419}
17420
17421impl Default for PhysicalDeviceHostQueryResetFeatures {
17422 #[inline]
17423 fn default() -> Self {
17424 Self {
17425 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
17426 next: ptr::null_mut(),
17427 host_query_reset: Bool32::default(),
17428 }
17429 }
17430}
17431
17432unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
17433unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
17434
17435#[repr(C)]
17437#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17438pub struct PhysicalDeviceIDProperties {
17439 pub s_type: StructureType,
17440 pub next: *mut c_void,
17441 pub device_uuid: ByteArray<UUID_SIZE>,
17442 pub driver_uuid: ByteArray<UUID_SIZE>,
17443 pub device_luid: ByteArray<LUID_SIZE>,
17444 pub device_node_mask: u32,
17445 pub device_luid_valid: Bool32,
17446}
17447
17448impl Default for PhysicalDeviceIDProperties {
17449 #[inline]
17450 fn default() -> Self {
17451 Self {
17452 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
17453 next: ptr::null_mut(),
17454 device_uuid: ByteArray::default(),
17455 driver_uuid: ByteArray::default(),
17456 device_luid: ByteArray::default(),
17457 device_node_mask: u32::default(),
17458 device_luid_valid: Bool32::default(),
17459 }
17460 }
17461}
17462
17463unsafe impl Send for PhysicalDeviceIDProperties {}
17464unsafe impl Sync for PhysicalDeviceIDProperties {}
17465
17466#[repr(C)]
17468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17469pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
17470 pub s_type: StructureType,
17471 pub next: *mut c_void,
17472 pub image_2d_view_of_3d: Bool32,
17473 pub sampler_2d_view_of_3d: Bool32,
17474}
17475
17476impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
17477 #[inline]
17478 fn default() -> Self {
17479 Self {
17480 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
17481 next: ptr::null_mut(),
17482 image_2d_view_of_3d: Bool32::default(),
17483 sampler_2d_view_of_3d: Bool32::default(),
17484 }
17485 }
17486}
17487
17488unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
17489unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
17490
17491#[repr(C)]
17493#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17494pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
17495 pub s_type: StructureType,
17496 pub next: *mut c_void,
17497 pub image_alignment_control: Bool32,
17498}
17499
17500impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
17501 #[inline]
17502 fn default() -> Self {
17503 Self {
17504 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
17505 next: ptr::null_mut(),
17506 image_alignment_control: Bool32::default(),
17507 }
17508 }
17509}
17510
17511unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
17512unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
17513
17514#[repr(C)]
17516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17517pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
17518 pub s_type: StructureType,
17519 pub next: *mut c_void,
17520 pub supported_image_alignment_mask: u32,
17521}
17522
17523impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
17524 #[inline]
17525 fn default() -> Self {
17526 Self {
17527 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
17528 next: ptr::null_mut(),
17529 supported_image_alignment_mask: u32::default(),
17530 }
17531 }
17532}
17533
17534unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
17535unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
17536
17537#[repr(C)]
17539#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17540pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
17541 pub s_type: StructureType,
17542 pub next: *mut c_void,
17543 pub image_compression_control: Bool32,
17544}
17545
17546impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
17547 #[inline]
17548 fn default() -> Self {
17549 Self {
17550 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
17551 next: ptr::null_mut(),
17552 image_compression_control: Bool32::default(),
17553 }
17554 }
17555}
17556
17557unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
17558unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
17559
17560#[repr(C)]
17562#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17563pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17564 pub s_type: StructureType,
17565 pub next: *mut c_void,
17566 pub image_compression_control_swapchain: Bool32,
17567}
17568
17569impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17570 #[inline]
17571 fn default() -> Self {
17572 Self {
17573 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
17574 next: ptr::null_mut(),
17575 image_compression_control_swapchain: Bool32::default(),
17576 }
17577 }
17578}
17579
17580unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
17581unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
17582
17583#[repr(C)]
17585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17586pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
17587 pub s_type: StructureType,
17588 pub next: *const c_void,
17589 pub drm_format_modifier: u64,
17590 pub sharing_mode: SharingMode,
17591 pub queue_family_index_count: u32,
17592 pub queue_family_indices: *const u32,
17593}
17594
17595impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
17596 #[inline]
17597 fn default() -> Self {
17598 Self {
17599 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
17600 next: ptr::null(),
17601 drm_format_modifier: u64::default(),
17602 sharing_mode: SharingMode::default(),
17603 queue_family_index_count: u32::default(),
17604 queue_family_indices: ptr::null(),
17605 }
17606 }
17607}
17608
17609unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
17610unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
17611
17612#[repr(C)]
17614#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17615pub struct PhysicalDeviceImageFormatInfo2 {
17616 pub s_type: StructureType,
17617 pub next: *const c_void,
17618 pub format: Format,
17619 pub type_: ImageType,
17620 pub tiling: ImageTiling,
17621 pub usage: ImageUsageFlags,
17622 pub flags: ImageCreateFlags,
17623}
17624
17625impl Default for PhysicalDeviceImageFormatInfo2 {
17626 #[inline]
17627 fn default() -> Self {
17628 Self {
17629 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
17630 next: ptr::null(),
17631 format: Format::default(),
17632 type_: ImageType::default(),
17633 tiling: ImageTiling::default(),
17634 usage: ImageUsageFlags::default(),
17635 flags: ImageCreateFlags::default(),
17636 }
17637 }
17638}
17639
17640unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
17641unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
17642
17643#[repr(C)]
17645#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17646pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
17647 pub s_type: StructureType,
17648 pub next: *mut c_void,
17649 pub texture_block_match2: Bool32,
17650}
17651
17652impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
17653 #[inline]
17654 fn default() -> Self {
17655 Self {
17656 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
17657 next: ptr::null_mut(),
17658 texture_block_match2: Bool32::default(),
17659 }
17660 }
17661}
17662
17663unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
17664unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
17665
17666#[repr(C)]
17668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17669pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
17670 pub s_type: StructureType,
17671 pub next: *mut c_void,
17672 pub max_block_match_window: Extent2D,
17673}
17674
17675impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
17676 #[inline]
17677 fn default() -> Self {
17678 Self {
17679 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
17680 next: ptr::null_mut(),
17681 max_block_match_window: Extent2D::default(),
17682 }
17683 }
17684}
17685
17686unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
17687unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
17688
17689#[repr(C)]
17691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17692pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
17693 pub s_type: StructureType,
17694 pub next: *mut c_void,
17695 pub texture_sample_weighted: Bool32,
17696 pub texture_box_filter: Bool32,
17697 pub texture_block_match: Bool32,
17698}
17699
17700impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
17701 #[inline]
17702 fn default() -> Self {
17703 Self {
17704 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
17705 next: ptr::null_mut(),
17706 texture_sample_weighted: Bool32::default(),
17707 texture_box_filter: Bool32::default(),
17708 texture_block_match: Bool32::default(),
17709 }
17710 }
17711}
17712
17713unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
17714unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
17715
17716#[repr(C)]
17718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17719pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
17720 pub s_type: StructureType,
17721 pub next: *mut c_void,
17722 pub max_weight_filter_phases: u32,
17723 pub max_weight_filter_dimension: Extent2D,
17724 pub max_block_match_region: Extent2D,
17725 pub max_box_filter_block_size: Extent2D,
17726}
17727
17728impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
17729 #[inline]
17730 fn default() -> Self {
17731 Self {
17732 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
17733 next: ptr::null_mut(),
17734 max_weight_filter_phases: u32::default(),
17735 max_weight_filter_dimension: Extent2D::default(),
17736 max_block_match_region: Extent2D::default(),
17737 max_box_filter_block_size: Extent2D::default(),
17738 }
17739 }
17740}
17741
17742unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
17743unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
17744
17745#[repr(C)]
17747#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17748pub struct PhysicalDeviceImageRobustnessFeatures {
17749 pub s_type: StructureType,
17750 pub next: *mut c_void,
17751 pub robust_image_access: Bool32,
17752}
17753
17754impl Default for PhysicalDeviceImageRobustnessFeatures {
17755 #[inline]
17756 fn default() -> Self {
17757 Self {
17758 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
17759 next: ptr::null_mut(),
17760 robust_image_access: Bool32::default(),
17761 }
17762 }
17763}
17764
17765unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
17766unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
17767
17768#[repr(C)]
17770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17771pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17772 pub s_type: StructureType,
17773 pub next: *mut c_void,
17774 pub image_sliced_view_of_3d: Bool32,
17775}
17776
17777impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17778 #[inline]
17779 fn default() -> Self {
17780 Self {
17781 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
17782 next: ptr::null_mut(),
17783 image_sliced_view_of_3d: Bool32::default(),
17784 }
17785 }
17786}
17787
17788unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17789unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17790
17791#[repr(C)]
17793#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17794pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
17795 pub s_type: StructureType,
17796 pub next: *mut c_void,
17797 pub image_view_type: ImageViewType,
17798}
17799
17800impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
17801 #[inline]
17802 fn default() -> Self {
17803 Self {
17804 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
17805 next: ptr::null_mut(),
17806 image_view_type: ImageViewType::default(),
17807 }
17808 }
17809}
17810
17811unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
17812unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
17813
17814#[repr(C)]
17816#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17817pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
17818 pub s_type: StructureType,
17819 pub next: *mut c_void,
17820 pub min_lod: Bool32,
17821}
17822
17823impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
17824 #[inline]
17825 fn default() -> Self {
17826 Self {
17827 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
17828 next: ptr::null_mut(),
17829 min_lod: Bool32::default(),
17830 }
17831 }
17832}
17833
17834unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17835unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17836
17837#[repr(C)]
17839#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17840pub struct PhysicalDeviceImagelessFramebufferFeatures {
17841 pub s_type: StructureType,
17842 pub next: *mut c_void,
17843 pub imageless_framebuffer: Bool32,
17844}
17845
17846impl Default for PhysicalDeviceImagelessFramebufferFeatures {
17847 #[inline]
17848 fn default() -> Self {
17849 Self {
17850 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
17851 next: ptr::null_mut(),
17852 imageless_framebuffer: Bool32::default(),
17853 }
17854 }
17855}
17856
17857unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
17858unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
17859
17860#[repr(C)]
17862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17863pub struct PhysicalDeviceIndexTypeUint8Features {
17864 pub s_type: StructureType,
17865 pub next: *mut c_void,
17866 pub index_type_uint8: Bool32,
17867}
17868
17869impl Default for PhysicalDeviceIndexTypeUint8Features {
17870 #[inline]
17871 fn default() -> Self {
17872 Self {
17873 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
17874 next: ptr::null_mut(),
17875 index_type_uint8: Bool32::default(),
17876 }
17877 }
17878}
17879
17880unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
17881unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
17882
17883#[repr(C)]
17885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17886pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
17887 pub s_type: StructureType,
17888 pub next: *mut c_void,
17889 pub inherited_viewport_scissor_2d: Bool32,
17890}
17891
17892impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
17893 #[inline]
17894 fn default() -> Self {
17895 Self {
17896 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
17897 next: ptr::null_mut(),
17898 inherited_viewport_scissor_2d: Bool32::default(),
17899 }
17900 }
17901}
17902
17903unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17904unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17905
17906#[repr(C)]
17908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17909pub struct PhysicalDeviceInlineUniformBlockFeatures {
17910 pub s_type: StructureType,
17911 pub next: *mut c_void,
17912 pub inline_uniform_block: Bool32,
17913 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
17914}
17915
17916impl Default for PhysicalDeviceInlineUniformBlockFeatures {
17917 #[inline]
17918 fn default() -> Self {
17919 Self {
17920 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
17921 next: ptr::null_mut(),
17922 inline_uniform_block: Bool32::default(),
17923 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
17924 }
17925 }
17926}
17927
17928unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
17929unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
17930
17931#[repr(C)]
17933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17934pub struct PhysicalDeviceInlineUniformBlockProperties {
17935 pub s_type: StructureType,
17936 pub next: *mut c_void,
17937 pub max_inline_uniform_block_size: u32,
17938 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
17939 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
17940 pub max_descriptor_set_inline_uniform_blocks: u32,
17941 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
17942}
17943
17944impl Default for PhysicalDeviceInlineUniformBlockProperties {
17945 #[inline]
17946 fn default() -> Self {
17947 Self {
17948 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
17949 next: ptr::null_mut(),
17950 max_inline_uniform_block_size: u32::default(),
17951 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
17952 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
17953 max_descriptor_set_inline_uniform_blocks: u32::default(),
17954 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
17955 }
17956 }
17957}
17958
17959unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
17960unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
17961
17962#[repr(C)]
17964#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17965pub struct PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {
17966 pub s_type: StructureType,
17967 pub next: *mut c_void,
17968 pub internally_synchronized_queues: Bool32,
17969}
17970
17971impl Default for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {
17972 #[inline]
17973 fn default() -> Self {
17974 Self {
17975 s_type: StructureType::PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR,
17976 next: ptr::null_mut(),
17977 internally_synchronized_queues: Bool32::default(),
17978 }
17979 }
17980}
17981
17982unsafe impl Send for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {}
17983unsafe impl Sync for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {}
17984
17985#[repr(C)]
17987#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17988pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17989 pub s_type: StructureType,
17990 pub next: *mut c_void,
17991 pub invocation_mask: Bool32,
17992}
17993
17994impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17995 #[inline]
17996 fn default() -> Self {
17997 Self {
17998 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
17999 next: ptr::null_mut(),
18000 invocation_mask: Bool32::default(),
18001 }
18002 }
18003}
18004
18005unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
18006unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
18007
18008#[repr(C)]
18010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18011pub struct PhysicalDeviceLayeredApiPropertiesKHR {
18012 pub s_type: StructureType,
18013 pub next: *mut c_void,
18014 pub vendor_id: u32,
18015 pub device_id: u32,
18016 pub layered_api: PhysicalDeviceLayeredApiKHR,
18017 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
18018}
18019
18020impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
18021 #[inline]
18022 fn default() -> Self {
18023 Self {
18024 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
18025 next: ptr::null_mut(),
18026 vendor_id: u32::default(),
18027 device_id: u32::default(),
18028 layered_api: PhysicalDeviceLayeredApiKHR::default(),
18029 device_name: StringArray::default(),
18030 }
18031 }
18032}
18033
18034unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
18035unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
18036
18037#[repr(C)]
18039#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18040pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
18041 pub s_type: StructureType,
18042 pub next: *mut c_void,
18043 pub layered_api_count: u32,
18044 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
18045}
18046
18047impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
18048 #[inline]
18049 fn default() -> Self {
18050 Self {
18051 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
18052 next: ptr::null_mut(),
18053 layered_api_count: u32::default(),
18054 layered_apis: ptr::null_mut(),
18055 }
18056 }
18057}
18058
18059unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
18060unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
18061
18062#[repr(C)]
18064#[derive(Copy, Clone, Debug, PartialEq)]
18065pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
18066 pub s_type: StructureType,
18067 pub next: *mut c_void,
18068 pub properties: PhysicalDeviceProperties2,
18069}
18070
18071impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
18072 #[inline]
18073 fn default() -> Self {
18074 Self {
18075 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
18076 next: ptr::null_mut(),
18077 properties: PhysicalDeviceProperties2::default(),
18078 }
18079 }
18080}
18081
18082unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
18083unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
18084
18085#[repr(C)]
18087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18088pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
18089 pub s_type: StructureType,
18090 pub next: *mut c_void,
18091 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
18092}
18093
18094impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
18095 #[inline]
18096 fn default() -> Self {
18097 Self {
18098 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
18099 next: ptr::null_mut(),
18100 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
18101 }
18102 }
18103}
18104
18105unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
18106unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
18107
18108#[repr(C)]
18110#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18111pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
18112 pub s_type: StructureType,
18113 pub next: *mut c_void,
18114 pub legacy_dithering: Bool32,
18115}
18116
18117impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
18118 #[inline]
18119 fn default() -> Self {
18120 Self {
18121 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
18122 next: ptr::null_mut(),
18123 legacy_dithering: Bool32::default(),
18124 }
18125 }
18126}
18127
18128unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
18129unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
18130
18131#[repr(C)]
18133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18134pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
18135 pub s_type: StructureType,
18136 pub next: *mut c_void,
18137 pub legacy_vertex_attributes: Bool32,
18138}
18139
18140impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
18141 #[inline]
18142 fn default() -> Self {
18143 Self {
18144 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
18145 next: ptr::null_mut(),
18146 legacy_vertex_attributes: Bool32::default(),
18147 }
18148 }
18149}
18150
18151unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
18152unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
18153
18154#[repr(C)]
18156#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18157pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
18158 pub s_type: StructureType,
18159 pub next: *mut c_void,
18160 pub native_unaligned_performance: Bool32,
18161}
18162
18163impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
18164 #[inline]
18165 fn default() -> Self {
18166 Self {
18167 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
18168 next: ptr::null_mut(),
18169 native_unaligned_performance: Bool32::default(),
18170 }
18171 }
18172}
18173
18174unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
18175unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
18176
18177#[repr(C)]
18179#[derive(Copy, Clone, Default, Debug, PartialEq)]
18180pub struct PhysicalDeviceLimits {
18181 pub max_image_dimension_1d: u32,
18182 pub max_image_dimension_2d: u32,
18183 pub max_image_dimension_3d: u32,
18184 pub max_image_dimension_cube: u32,
18185 pub max_image_array_layers: u32,
18186 pub max_texel_buffer_elements: u32,
18187 pub max_uniform_buffer_range: u32,
18188 pub max_storage_buffer_range: u32,
18189 pub max_push_constants_size: u32,
18190 pub max_memory_allocation_count: u32,
18191 pub max_sampler_allocation_count: u32,
18192 pub buffer_image_granularity: DeviceSize,
18193 pub sparse_address_space_size: DeviceSize,
18194 pub max_bound_descriptor_sets: u32,
18195 pub max_per_stage_descriptor_samplers: u32,
18196 pub max_per_stage_descriptor_uniform_buffers: u32,
18197 pub max_per_stage_descriptor_storage_buffers: u32,
18198 pub max_per_stage_descriptor_sampled_images: u32,
18199 pub max_per_stage_descriptor_storage_images: u32,
18200 pub max_per_stage_descriptor_input_attachments: u32,
18201 pub max_per_stage_resources: u32,
18202 pub max_descriptor_set_samplers: u32,
18203 pub max_descriptor_set_uniform_buffers: u32,
18204 pub max_descriptor_set_uniform_buffers_dynamic: u32,
18205 pub max_descriptor_set_storage_buffers: u32,
18206 pub max_descriptor_set_storage_buffers_dynamic: u32,
18207 pub max_descriptor_set_sampled_images: u32,
18208 pub max_descriptor_set_storage_images: u32,
18209 pub max_descriptor_set_input_attachments: u32,
18210 pub max_vertex_input_attributes: u32,
18211 pub max_vertex_input_bindings: u32,
18212 pub max_vertex_input_attribute_offset: u32,
18213 pub max_vertex_input_binding_stride: u32,
18214 pub max_vertex_output_components: u32,
18215 pub max_tessellation_generation_level: u32,
18216 pub max_tessellation_patch_size: u32,
18217 pub max_tessellation_control_per_vertex_input_components: u32,
18218 pub max_tessellation_control_per_vertex_output_components: u32,
18219 pub max_tessellation_control_per_patch_output_components: u32,
18220 pub max_tessellation_control_total_output_components: u32,
18221 pub max_tessellation_evaluation_input_components: u32,
18222 pub max_tessellation_evaluation_output_components: u32,
18223 pub max_geometry_shader_invocations: u32,
18224 pub max_geometry_input_components: u32,
18225 pub max_geometry_output_components: u32,
18226 pub max_geometry_output_vertices: u32,
18227 pub max_geometry_total_output_components: u32,
18228 pub max_fragment_input_components: u32,
18229 pub max_fragment_output_attachments: u32,
18230 pub max_fragment_dual_src_attachments: u32,
18231 pub max_fragment_combined_output_resources: u32,
18232 pub max_compute_shared_memory_size: u32,
18233 pub max_compute_work_group_count: [u32; 3],
18234 pub max_compute_work_group_invocations: u32,
18235 pub max_compute_work_group_size: [u32; 3],
18236 pub sub_pixel_precision_bits: u32,
18237 pub sub_texel_precision_bits: u32,
18238 pub mipmap_precision_bits: u32,
18239 pub max_draw_indexed_index_value: u32,
18240 pub max_draw_indirect_count: u32,
18241 pub max_sampler_lod_bias: f32,
18242 pub max_sampler_anisotropy: f32,
18243 pub max_viewports: u32,
18244 pub max_viewport_dimensions: [u32; 2],
18245 pub viewport_bounds_range: [f32; 2],
18246 pub viewport_sub_pixel_bits: u32,
18247 pub min_memory_map_alignment: usize,
18248 pub min_texel_buffer_offset_alignment: DeviceSize,
18249 pub min_uniform_buffer_offset_alignment: DeviceSize,
18250 pub min_storage_buffer_offset_alignment: DeviceSize,
18251 pub min_texel_offset: i32,
18252 pub max_texel_offset: u32,
18253 pub min_texel_gather_offset: i32,
18254 pub max_texel_gather_offset: u32,
18255 pub min_interpolation_offset: f32,
18256 pub max_interpolation_offset: f32,
18257 pub sub_pixel_interpolation_offset_bits: u32,
18258 pub max_framebuffer_width: u32,
18259 pub max_framebuffer_height: u32,
18260 pub max_framebuffer_layers: u32,
18261 pub framebuffer_color_sample_counts: SampleCountFlags,
18262 pub framebuffer_depth_sample_counts: SampleCountFlags,
18263 pub framebuffer_stencil_sample_counts: SampleCountFlags,
18264 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
18265 pub max_color_attachments: u32,
18266 pub sampled_image_color_sample_counts: SampleCountFlags,
18267 pub sampled_image_integer_sample_counts: SampleCountFlags,
18268 pub sampled_image_depth_sample_counts: SampleCountFlags,
18269 pub sampled_image_stencil_sample_counts: SampleCountFlags,
18270 pub storage_image_sample_counts: SampleCountFlags,
18271 pub max_sample_mask_words: u32,
18272 pub timestamp_compute_and_graphics: Bool32,
18273 pub timestamp_period: f32,
18274 pub max_clip_distances: u32,
18275 pub max_cull_distances: u32,
18276 pub max_combined_clip_and_cull_distances: u32,
18277 pub discrete_queue_priorities: u32,
18278 pub point_size_range: [f32; 2],
18279 pub line_width_range: [f32; 2],
18280 pub point_size_granularity: f32,
18281 pub line_width_granularity: f32,
18282 pub strict_lines: Bool32,
18283 pub standard_sample_locations: Bool32,
18284 pub optimal_buffer_copy_offset_alignment: DeviceSize,
18285 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
18286 pub non_coherent_atom_size: DeviceSize,
18287}
18288
18289#[repr(C)]
18291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18292pub struct PhysicalDeviceLineRasterizationFeatures {
18293 pub s_type: StructureType,
18294 pub next: *mut c_void,
18295 pub rectangular_lines: Bool32,
18296 pub bresenham_lines: Bool32,
18297 pub smooth_lines: Bool32,
18298 pub stippled_rectangular_lines: Bool32,
18299 pub stippled_bresenham_lines: Bool32,
18300 pub stippled_smooth_lines: Bool32,
18301}
18302
18303impl Default for PhysicalDeviceLineRasterizationFeatures {
18304 #[inline]
18305 fn default() -> Self {
18306 Self {
18307 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
18308 next: ptr::null_mut(),
18309 rectangular_lines: Bool32::default(),
18310 bresenham_lines: Bool32::default(),
18311 smooth_lines: Bool32::default(),
18312 stippled_rectangular_lines: Bool32::default(),
18313 stippled_bresenham_lines: Bool32::default(),
18314 stippled_smooth_lines: Bool32::default(),
18315 }
18316 }
18317}
18318
18319unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
18320unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
18321
18322#[repr(C)]
18324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18325pub struct PhysicalDeviceLineRasterizationProperties {
18326 pub s_type: StructureType,
18327 pub next: *mut c_void,
18328 pub line_sub_pixel_precision_bits: u32,
18329}
18330
18331impl Default for PhysicalDeviceLineRasterizationProperties {
18332 #[inline]
18333 fn default() -> Self {
18334 Self {
18335 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
18336 next: ptr::null_mut(),
18337 line_sub_pixel_precision_bits: u32::default(),
18338 }
18339 }
18340}
18341
18342unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
18343unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
18344
18345#[repr(C)]
18347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18348pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
18349 pub s_type: StructureType,
18350 pub next: *mut c_void,
18351 pub linear_color_attachment: Bool32,
18352}
18353
18354impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
18355 #[inline]
18356 fn default() -> Self {
18357 Self {
18358 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
18359 next: ptr::null_mut(),
18360 linear_color_attachment: Bool32::default(),
18361 }
18362 }
18363}
18364
18365unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
18366unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
18367
18368#[repr(C)]
18370#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18371pub struct PhysicalDeviceMaintenance10FeaturesKHR {
18372 pub s_type: StructureType,
18373 pub next: *mut c_void,
18374 pub maintenance10: Bool32,
18375}
18376
18377impl Default for PhysicalDeviceMaintenance10FeaturesKHR {
18378 #[inline]
18379 fn default() -> Self {
18380 Self {
18381 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
18382 next: ptr::null_mut(),
18383 maintenance10: Bool32::default(),
18384 }
18385 }
18386}
18387
18388unsafe impl Send for PhysicalDeviceMaintenance10FeaturesKHR {}
18389unsafe impl Sync for PhysicalDeviceMaintenance10FeaturesKHR {}
18390
18391#[repr(C)]
18393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18394pub struct PhysicalDeviceMaintenance10PropertiesKHR {
18395 pub s_type: StructureType,
18396 pub next: *mut c_void,
18397 pub rgba4_opaque_black_swizzled: Bool32,
18398 pub resolve_srgb_format_applies_transfer_function: Bool32,
18399 pub resolve_srgb_format_supports_transfer_function_control: Bool32,
18400}
18401
18402impl Default for PhysicalDeviceMaintenance10PropertiesKHR {
18403 #[inline]
18404 fn default() -> Self {
18405 Self {
18406 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
18407 next: ptr::null_mut(),
18408 rgba4_opaque_black_swizzled: Bool32::default(),
18409 resolve_srgb_format_applies_transfer_function: Bool32::default(),
18410 resolve_srgb_format_supports_transfer_function_control: Bool32::default(),
18411 }
18412 }
18413}
18414
18415unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {}
18416unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {}
18417
18418#[repr(C)]
18420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18421pub struct PhysicalDeviceMaintenance3Properties {
18422 pub s_type: StructureType,
18423 pub next: *mut c_void,
18424 pub max_per_set_descriptors: u32,
18425 pub max_memory_allocation_size: DeviceSize,
18426}
18427
18428impl Default for PhysicalDeviceMaintenance3Properties {
18429 #[inline]
18430 fn default() -> Self {
18431 Self {
18432 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
18433 next: ptr::null_mut(),
18434 max_per_set_descriptors: u32::default(),
18435 max_memory_allocation_size: DeviceSize::default(),
18436 }
18437 }
18438}
18439
18440unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
18441unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
18442
18443#[repr(C)]
18445#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18446pub struct PhysicalDeviceMaintenance4Features {
18447 pub s_type: StructureType,
18448 pub next: *mut c_void,
18449 pub maintenance4: Bool32,
18450}
18451
18452impl Default for PhysicalDeviceMaintenance4Features {
18453 #[inline]
18454 fn default() -> Self {
18455 Self {
18456 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
18457 next: ptr::null_mut(),
18458 maintenance4: Bool32::default(),
18459 }
18460 }
18461}
18462
18463unsafe impl Send for PhysicalDeviceMaintenance4Features {}
18464unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
18465
18466#[repr(C)]
18468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18469pub struct PhysicalDeviceMaintenance4Properties {
18470 pub s_type: StructureType,
18471 pub next: *mut c_void,
18472 pub max_buffer_size: DeviceSize,
18473}
18474
18475impl Default for PhysicalDeviceMaintenance4Properties {
18476 #[inline]
18477 fn default() -> Self {
18478 Self {
18479 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
18480 next: ptr::null_mut(),
18481 max_buffer_size: DeviceSize::default(),
18482 }
18483 }
18484}
18485
18486unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
18487unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
18488
18489#[repr(C)]
18491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18492pub struct PhysicalDeviceMaintenance5Features {
18493 pub s_type: StructureType,
18494 pub next: *mut c_void,
18495 pub maintenance5: Bool32,
18496}
18497
18498impl Default for PhysicalDeviceMaintenance5Features {
18499 #[inline]
18500 fn default() -> Self {
18501 Self {
18502 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
18503 next: ptr::null_mut(),
18504 maintenance5: Bool32::default(),
18505 }
18506 }
18507}
18508
18509unsafe impl Send for PhysicalDeviceMaintenance5Features {}
18510unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
18511
18512#[repr(C)]
18514#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18515pub struct PhysicalDeviceMaintenance5Properties {
18516 pub s_type: StructureType,
18517 pub next: *mut c_void,
18518 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
18519 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
18520 pub depth_stencil_swizzle_one_support: Bool32,
18521 pub polygon_mode_point_size: Bool32,
18522 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
18523 pub non_strict_wide_lines_use_parallelogram: Bool32,
18524}
18525
18526impl Default for PhysicalDeviceMaintenance5Properties {
18527 #[inline]
18528 fn default() -> Self {
18529 Self {
18530 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
18531 next: ptr::null_mut(),
18532 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
18533 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
18534 depth_stencil_swizzle_one_support: Bool32::default(),
18535 polygon_mode_point_size: Bool32::default(),
18536 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
18537 non_strict_wide_lines_use_parallelogram: Bool32::default(),
18538 }
18539 }
18540}
18541
18542unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
18543unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
18544
18545#[repr(C)]
18547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18548pub struct PhysicalDeviceMaintenance6Features {
18549 pub s_type: StructureType,
18550 pub next: *mut c_void,
18551 pub maintenance6: Bool32,
18552}
18553
18554impl Default for PhysicalDeviceMaintenance6Features {
18555 #[inline]
18556 fn default() -> Self {
18557 Self {
18558 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
18559 next: ptr::null_mut(),
18560 maintenance6: Bool32::default(),
18561 }
18562 }
18563}
18564
18565unsafe impl Send for PhysicalDeviceMaintenance6Features {}
18566unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
18567
18568#[repr(C)]
18570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18571pub struct PhysicalDeviceMaintenance6Properties {
18572 pub s_type: StructureType,
18573 pub next: *mut c_void,
18574 pub block_texel_view_compatible_multiple_layers: Bool32,
18575 pub max_combined_image_sampler_descriptor_count: u32,
18576 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
18577}
18578
18579impl Default for PhysicalDeviceMaintenance6Properties {
18580 #[inline]
18581 fn default() -> Self {
18582 Self {
18583 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
18584 next: ptr::null_mut(),
18585 block_texel_view_compatible_multiple_layers: Bool32::default(),
18586 max_combined_image_sampler_descriptor_count: u32::default(),
18587 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
18588 }
18589 }
18590}
18591
18592unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
18593unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
18594
18595#[repr(C)]
18597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18598pub struct PhysicalDeviceMaintenance7FeaturesKHR {
18599 pub s_type: StructureType,
18600 pub next: *mut c_void,
18601 pub maintenance7: Bool32,
18602}
18603
18604impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
18605 #[inline]
18606 fn default() -> Self {
18607 Self {
18608 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
18609 next: ptr::null_mut(),
18610 maintenance7: Bool32::default(),
18611 }
18612 }
18613}
18614
18615unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
18616unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
18617
18618#[repr(C)]
18620#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18621pub struct PhysicalDeviceMaintenance7PropertiesKHR {
18622 pub s_type: StructureType,
18623 pub next: *mut c_void,
18624 pub robust_fragment_shading_rate_attachment_access: Bool32,
18625 pub separate_depth_stencil_attachment_access: Bool32,
18626 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
18627 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
18628 pub max_descriptor_set_total_buffers_dynamic: u32,
18629 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
18630 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
18631 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
18632}
18633
18634impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
18635 #[inline]
18636 fn default() -> Self {
18637 Self {
18638 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
18639 next: ptr::null_mut(),
18640 robust_fragment_shading_rate_attachment_access: Bool32::default(),
18641 separate_depth_stencil_attachment_access: Bool32::default(),
18642 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
18643 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
18644 max_descriptor_set_total_buffers_dynamic: u32::default(),
18645 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
18646 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
18647 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
18648 }
18649 }
18650}
18651
18652unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
18653unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
18654
18655#[repr(C)]
18657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18658pub struct PhysicalDeviceMaintenance8FeaturesKHR {
18659 pub s_type: StructureType,
18660 pub next: *mut c_void,
18661 pub maintenance8: Bool32,
18662}
18663
18664impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
18665 #[inline]
18666 fn default() -> Self {
18667 Self {
18668 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
18669 next: ptr::null_mut(),
18670 maintenance8: Bool32::default(),
18671 }
18672 }
18673}
18674
18675unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
18676unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
18677
18678#[repr(C)]
18680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18681pub struct PhysicalDeviceMaintenance9FeaturesKHR {
18682 pub s_type: StructureType,
18683 pub next: *mut c_void,
18684 pub maintenance9: Bool32,
18685}
18686
18687impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
18688 #[inline]
18689 fn default() -> Self {
18690 Self {
18691 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
18692 next: ptr::null_mut(),
18693 maintenance9: Bool32::default(),
18694 }
18695 }
18696}
18697
18698unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
18699unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
18700
18701#[repr(C)]
18703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18704pub struct PhysicalDeviceMaintenance9PropertiesKHR {
18705 pub s_type: StructureType,
18706 pub next: *mut c_void,
18707 pub image_2d_view_of_3d_sparse: Bool32,
18708 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
18709}
18710
18711impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
18712 #[inline]
18713 fn default() -> Self {
18714 Self {
18715 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
18716 next: ptr::null_mut(),
18717 image_2d_view_of_3d_sparse: Bool32::default(),
18718 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
18719 }
18720 }
18721}
18722
18723unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
18724unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
18725
18726#[repr(C)]
18728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18729pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
18730 pub s_type: StructureType,
18731 pub next: *mut c_void,
18732 pub memory_map_placed: Bool32,
18733 pub memory_map_range_placed: Bool32,
18734 pub memory_unmap_reserve: Bool32,
18735}
18736
18737impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
18738 #[inline]
18739 fn default() -> Self {
18740 Self {
18741 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
18742 next: ptr::null_mut(),
18743 memory_map_placed: Bool32::default(),
18744 memory_map_range_placed: Bool32::default(),
18745 memory_unmap_reserve: Bool32::default(),
18746 }
18747 }
18748}
18749
18750unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18751unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18752
18753#[repr(C)]
18755#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18756pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18757 pub s_type: StructureType,
18758 pub next: *mut c_void,
18759 pub min_placed_memory_map_alignment: DeviceSize,
18760}
18761
18762impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18763 #[inline]
18764 fn default() -> Self {
18765 Self {
18766 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
18767 next: ptr::null_mut(),
18768 min_placed_memory_map_alignment: DeviceSize::default(),
18769 }
18770 }
18771}
18772
18773unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18774unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18775
18776#[repr(C)]
18778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18779pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
18780 pub s_type: StructureType,
18781 pub next: *mut c_void,
18782 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18783 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18784}
18785
18786impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
18787 #[inline]
18788 fn default() -> Self {
18789 Self {
18790 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
18791 next: ptr::null_mut(),
18792 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18793 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18794 }
18795 }
18796}
18797
18798unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18799unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18800
18801#[repr(C)]
18803#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18804pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT {
18805 pub s_type: StructureType,
18806 pub next: *mut c_void,
18807 pub memory_decompression: Bool32,
18808}
18809
18810impl Default for PhysicalDeviceMemoryDecompressionFeaturesEXT {
18811 #[inline]
18812 fn default() -> Self {
18813 Self {
18814 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
18815 next: ptr::null_mut(),
18816 memory_decompression: Bool32::default(),
18817 }
18818 }
18819}
18820
18821unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18822unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18823
18824#[repr(C)]
18826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18827pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT {
18828 pub s_type: StructureType,
18829 pub next: *mut c_void,
18830 pub decompression_methods: MemoryDecompressionMethodFlagsEXT,
18831 pub max_decompression_indirect_count: u64,
18832}
18833
18834impl Default for PhysicalDeviceMemoryDecompressionPropertiesEXT {
18835 #[inline]
18836 fn default() -> Self {
18837 Self {
18838 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
18839 next: ptr::null_mut(),
18840 decompression_methods: MemoryDecompressionMethodFlagsEXT::default(),
18841 max_decompression_indirect_count: u64::default(),
18842 }
18843 }
18844}
18845
18846unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18847unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18848
18849#[repr(C)]
18851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18852pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
18853 pub s_type: StructureType,
18854 pub next: *mut c_void,
18855 pub memory_priority: Bool32,
18856}
18857
18858impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
18859 #[inline]
18860 fn default() -> Self {
18861 Self {
18862 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
18863 next: ptr::null_mut(),
18864 memory_priority: Bool32::default(),
18865 }
18866 }
18867}
18868
18869unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18870unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18871
18872#[repr(C)]
18874#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
18875pub struct PhysicalDeviceMemoryProperties {
18876 pub memory_type_count: u32,
18877 pub memory_types: [MemoryType; MAX_MEMORY_TYPES as usize],
18878 pub memory_heap_count: u32,
18879 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
18880}
18881
18882#[repr(C)]
18884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18885pub struct PhysicalDeviceMemoryProperties2 {
18886 pub s_type: StructureType,
18887 pub next: *mut c_void,
18888 pub memory_properties: PhysicalDeviceMemoryProperties,
18889}
18890
18891impl Default for PhysicalDeviceMemoryProperties2 {
18892 #[inline]
18893 fn default() -> Self {
18894 Self {
18895 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
18896 next: ptr::null_mut(),
18897 memory_properties: PhysicalDeviceMemoryProperties::default(),
18898 }
18899 }
18900}
18901
18902unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
18903unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
18904
18905#[repr(C)]
18907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18908pub struct PhysicalDeviceMeshShaderFeaturesEXT {
18909 pub s_type: StructureType,
18910 pub next: *mut c_void,
18911 pub task_shader: Bool32,
18912 pub mesh_shader: Bool32,
18913 pub multiview_mesh_shader: Bool32,
18914 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
18915 pub mesh_shader_queries: Bool32,
18916}
18917
18918impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
18919 #[inline]
18920 fn default() -> Self {
18921 Self {
18922 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
18923 next: ptr::null_mut(),
18924 task_shader: Bool32::default(),
18925 mesh_shader: Bool32::default(),
18926 multiview_mesh_shader: Bool32::default(),
18927 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
18928 mesh_shader_queries: Bool32::default(),
18929 }
18930 }
18931}
18932
18933unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
18934unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
18935
18936#[repr(C)]
18938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18939pub struct PhysicalDeviceMeshShaderFeaturesNV {
18940 pub s_type: StructureType,
18941 pub next: *mut c_void,
18942 pub task_shader: Bool32,
18943 pub mesh_shader: Bool32,
18944}
18945
18946impl Default for PhysicalDeviceMeshShaderFeaturesNV {
18947 #[inline]
18948 fn default() -> Self {
18949 Self {
18950 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
18951 next: ptr::null_mut(),
18952 task_shader: Bool32::default(),
18953 mesh_shader: Bool32::default(),
18954 }
18955 }
18956}
18957
18958unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
18959unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
18960
18961#[repr(C)]
18963#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18964pub struct PhysicalDeviceMeshShaderPropertiesEXT {
18965 pub s_type: StructureType,
18966 pub next: *mut c_void,
18967 pub max_task_work_group_total_count: u32,
18968 pub max_task_work_group_count: [u32; 3],
18969 pub max_task_work_group_invocations: u32,
18970 pub max_task_work_group_size: [u32; 3],
18971 pub max_task_payload_size: u32,
18972 pub max_task_shared_memory_size: u32,
18973 pub max_task_payload_and_shared_memory_size: u32,
18974 pub max_mesh_work_group_total_count: u32,
18975 pub max_mesh_work_group_count: [u32; 3],
18976 pub max_mesh_work_group_invocations: u32,
18977 pub max_mesh_work_group_size: [u32; 3],
18978 pub max_mesh_shared_memory_size: u32,
18979 pub max_mesh_payload_and_shared_memory_size: u32,
18980 pub max_mesh_output_memory_size: u32,
18981 pub max_mesh_payload_and_output_memory_size: u32,
18982 pub max_mesh_output_components: u32,
18983 pub max_mesh_output_vertices: u32,
18984 pub max_mesh_output_primitives: u32,
18985 pub max_mesh_output_layers: u32,
18986 pub max_mesh_multiview_view_count: u32,
18987 pub mesh_output_per_vertex_granularity: u32,
18988 pub mesh_output_per_primitive_granularity: u32,
18989 pub max_preferred_task_work_group_invocations: u32,
18990 pub max_preferred_mesh_work_group_invocations: u32,
18991 pub prefers_local_invocation_vertex_output: Bool32,
18992 pub prefers_local_invocation_primitive_output: Bool32,
18993 pub prefers_compact_vertex_output: Bool32,
18994 pub prefers_compact_primitive_output: Bool32,
18995}
18996
18997impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
18998 #[inline]
18999 fn default() -> Self {
19000 Self {
19001 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
19002 next: ptr::null_mut(),
19003 max_task_work_group_total_count: u32::default(),
19004 max_task_work_group_count: [u32::default(); 3],
19005 max_task_work_group_invocations: u32::default(),
19006 max_task_work_group_size: [u32::default(); 3],
19007 max_task_payload_size: u32::default(),
19008 max_task_shared_memory_size: u32::default(),
19009 max_task_payload_and_shared_memory_size: u32::default(),
19010 max_mesh_work_group_total_count: u32::default(),
19011 max_mesh_work_group_count: [u32::default(); 3],
19012 max_mesh_work_group_invocations: u32::default(),
19013 max_mesh_work_group_size: [u32::default(); 3],
19014 max_mesh_shared_memory_size: u32::default(),
19015 max_mesh_payload_and_shared_memory_size: u32::default(),
19016 max_mesh_output_memory_size: u32::default(),
19017 max_mesh_payload_and_output_memory_size: u32::default(),
19018 max_mesh_output_components: u32::default(),
19019 max_mesh_output_vertices: u32::default(),
19020 max_mesh_output_primitives: u32::default(),
19021 max_mesh_output_layers: u32::default(),
19022 max_mesh_multiview_view_count: u32::default(),
19023 mesh_output_per_vertex_granularity: u32::default(),
19024 mesh_output_per_primitive_granularity: u32::default(),
19025 max_preferred_task_work_group_invocations: u32::default(),
19026 max_preferred_mesh_work_group_invocations: u32::default(),
19027 prefers_local_invocation_vertex_output: Bool32::default(),
19028 prefers_local_invocation_primitive_output: Bool32::default(),
19029 prefers_compact_vertex_output: Bool32::default(),
19030 prefers_compact_primitive_output: Bool32::default(),
19031 }
19032 }
19033}
19034
19035unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
19036unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
19037
19038#[repr(C)]
19040#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19041pub struct PhysicalDeviceMeshShaderPropertiesNV {
19042 pub s_type: StructureType,
19043 pub next: *mut c_void,
19044 pub max_draw_mesh_tasks_count: u32,
19045 pub max_task_work_group_invocations: u32,
19046 pub max_task_work_group_size: [u32; 3],
19047 pub max_task_total_memory_size: u32,
19048 pub max_task_output_count: u32,
19049 pub max_mesh_work_group_invocations: u32,
19050 pub max_mesh_work_group_size: [u32; 3],
19051 pub max_mesh_total_memory_size: u32,
19052 pub max_mesh_output_vertices: u32,
19053 pub max_mesh_output_primitives: u32,
19054 pub max_mesh_multiview_view_count: u32,
19055 pub mesh_output_per_vertex_granularity: u32,
19056 pub mesh_output_per_primitive_granularity: u32,
19057}
19058
19059impl Default for PhysicalDeviceMeshShaderPropertiesNV {
19060 #[inline]
19061 fn default() -> Self {
19062 Self {
19063 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
19064 next: ptr::null_mut(),
19065 max_draw_mesh_tasks_count: u32::default(),
19066 max_task_work_group_invocations: u32::default(),
19067 max_task_work_group_size: [u32::default(); 3],
19068 max_task_total_memory_size: u32::default(),
19069 max_task_output_count: u32::default(),
19070 max_mesh_work_group_invocations: u32::default(),
19071 max_mesh_work_group_size: [u32::default(); 3],
19072 max_mesh_total_memory_size: u32::default(),
19073 max_mesh_output_vertices: u32::default(),
19074 max_mesh_output_primitives: u32::default(),
19075 max_mesh_multiview_view_count: u32::default(),
19076 mesh_output_per_vertex_granularity: u32::default(),
19077 mesh_output_per_primitive_granularity: u32::default(),
19078 }
19079 }
19080}
19081
19082unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
19083unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
19084
19085#[repr(C)]
19087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19088pub struct PhysicalDeviceMultiDrawFeaturesEXT {
19089 pub s_type: StructureType,
19090 pub next: *mut c_void,
19091 pub multi_draw: Bool32,
19092}
19093
19094impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
19095 #[inline]
19096 fn default() -> Self {
19097 Self {
19098 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
19099 next: ptr::null_mut(),
19100 multi_draw: Bool32::default(),
19101 }
19102 }
19103}
19104
19105unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
19106unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
19107
19108#[repr(C)]
19110#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19111pub struct PhysicalDeviceMultiDrawPropertiesEXT {
19112 pub s_type: StructureType,
19113 pub next: *mut c_void,
19114 pub max_multi_draw_count: u32,
19115}
19116
19117impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
19118 #[inline]
19119 fn default() -> Self {
19120 Self {
19121 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
19122 next: ptr::null_mut(),
19123 max_multi_draw_count: u32::default(),
19124 }
19125 }
19126}
19127
19128unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
19129unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
19130
19131#[repr(C)]
19133#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19134pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
19135 pub s_type: StructureType,
19136 pub next: *mut c_void,
19137 pub multisampled_render_to_single_sampled: Bool32,
19138}
19139
19140impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
19141 #[inline]
19142 fn default() -> Self {
19143 Self {
19144 s_type:
19145 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
19146 next: ptr::null_mut(),
19147 multisampled_render_to_single_sampled: Bool32::default(),
19148 }
19149 }
19150}
19151
19152unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
19153unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
19154
19155#[repr(C)]
19157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19158pub struct PhysicalDeviceMultiviewFeatures {
19159 pub s_type: StructureType,
19160 pub next: *mut c_void,
19161 pub multiview: Bool32,
19162 pub multiview_geometry_shader: Bool32,
19163 pub multiview_tessellation_shader: Bool32,
19164}
19165
19166impl Default for PhysicalDeviceMultiviewFeatures {
19167 #[inline]
19168 fn default() -> Self {
19169 Self {
19170 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
19171 next: ptr::null_mut(),
19172 multiview: Bool32::default(),
19173 multiview_geometry_shader: Bool32::default(),
19174 multiview_tessellation_shader: Bool32::default(),
19175 }
19176 }
19177}
19178
19179unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
19180unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
19181
19182#[repr(C)]
19184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19185pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
19186 pub s_type: StructureType,
19187 pub next: *mut c_void,
19188 pub per_view_position_all_components: Bool32,
19189}
19190
19191impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
19192 #[inline]
19193 fn default() -> Self {
19194 Self {
19195 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
19196 next: ptr::null_mut(),
19197 per_view_position_all_components: Bool32::default(),
19198 }
19199 }
19200}
19201
19202unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
19203unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
19204
19205#[repr(C)]
19207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19208pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
19209 pub s_type: StructureType,
19210 pub next: *mut c_void,
19211 pub multiview_per_view_render_areas: Bool32,
19212}
19213
19214impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
19215 #[inline]
19216 fn default() -> Self {
19217 Self {
19218 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
19219 next: ptr::null_mut(),
19220 multiview_per_view_render_areas: Bool32::default(),
19221 }
19222 }
19223}
19224
19225unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
19226unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
19227
19228#[repr(C)]
19230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19231pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
19232 pub s_type: StructureType,
19233 pub next: *mut c_void,
19234 pub multiview_per_view_viewports: Bool32,
19235}
19236
19237impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
19238 #[inline]
19239 fn default() -> Self {
19240 Self {
19241 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
19242 next: ptr::null_mut(),
19243 multiview_per_view_viewports: Bool32::default(),
19244 }
19245 }
19246}
19247
19248unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
19249unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
19250
19251#[repr(C)]
19253#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19254pub struct PhysicalDeviceMultiviewProperties {
19255 pub s_type: StructureType,
19256 pub next: *mut c_void,
19257 pub max_multiview_view_count: u32,
19258 pub max_multiview_instance_index: u32,
19259}
19260
19261impl Default for PhysicalDeviceMultiviewProperties {
19262 #[inline]
19263 fn default() -> Self {
19264 Self {
19265 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
19266 next: ptr::null_mut(),
19267 max_multiview_view_count: u32::default(),
19268 max_multiview_instance_index: u32::default(),
19269 }
19270 }
19271}
19272
19273unsafe impl Send for PhysicalDeviceMultiviewProperties {}
19274unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
19275
19276#[repr(C)]
19278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19279pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
19280 pub s_type: StructureType,
19281 pub next: *mut c_void,
19282 pub mutable_descriptor_type: Bool32,
19283}
19284
19285impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
19286 #[inline]
19287 fn default() -> Self {
19288 Self {
19289 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
19290 next: ptr::null_mut(),
19291 mutable_descriptor_type: Bool32::default(),
19292 }
19293 }
19294}
19295
19296unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
19297unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
19298
19299#[repr(C)]
19301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19302pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
19303 pub s_type: StructureType,
19304 pub next: *mut c_void,
19305 pub nested_command_buffer: Bool32,
19306 pub nested_command_buffer_rendering: Bool32,
19307 pub nested_command_buffer_simultaneous_use: Bool32,
19308}
19309
19310impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
19311 #[inline]
19312 fn default() -> Self {
19313 Self {
19314 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
19315 next: ptr::null_mut(),
19316 nested_command_buffer: Bool32::default(),
19317 nested_command_buffer_rendering: Bool32::default(),
19318 nested_command_buffer_simultaneous_use: Bool32::default(),
19319 }
19320 }
19321}
19322
19323unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
19324unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
19325
19326#[repr(C)]
19328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19329pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
19330 pub s_type: StructureType,
19331 pub next: *mut c_void,
19332 pub max_command_buffer_nesting_level: u32,
19333}
19334
19335impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
19336 #[inline]
19337 fn default() -> Self {
19338 Self {
19339 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
19340 next: ptr::null_mut(),
19341 max_command_buffer_nesting_level: u32::default(),
19342 }
19343 }
19344}
19345
19346unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
19347unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
19348
19349#[repr(C)]
19351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19352pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
19353 pub s_type: StructureType,
19354 pub next: *mut c_void,
19355 pub non_seamless_cube_map: Bool32,
19356}
19357
19358impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
19359 #[inline]
19360 fn default() -> Self {
19361 Self {
19362 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
19363 next: ptr::null_mut(),
19364 non_seamless_cube_map: Bool32::default(),
19365 }
19366 }
19367}
19368
19369unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
19370unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
19371
19372#[repr(C)]
19374#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19375pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
19376 pub s_type: StructureType,
19377 pub next: *mut c_void,
19378 pub micromap: Bool32,
19379 pub micromap_capture_replay: Bool32,
19380 pub micromap_host_commands: Bool32,
19381}
19382
19383impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
19384 #[inline]
19385 fn default() -> Self {
19386 Self {
19387 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
19388 next: ptr::null_mut(),
19389 micromap: Bool32::default(),
19390 micromap_capture_replay: Bool32::default(),
19391 micromap_host_commands: Bool32::default(),
19392 }
19393 }
19394}
19395
19396unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
19397unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
19398
19399#[repr(C)]
19401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19402pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
19403 pub s_type: StructureType,
19404 pub next: *mut c_void,
19405 pub max_opacity2_state_subdivision_level: u32,
19406 pub max_opacity4_state_subdivision_level: u32,
19407}
19408
19409impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
19410 #[inline]
19411 fn default() -> Self {
19412 Self {
19413 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
19414 next: ptr::null_mut(),
19415 max_opacity2_state_subdivision_level: u32::default(),
19416 max_opacity4_state_subdivision_level: u32::default(),
19417 }
19418 }
19419}
19420
19421unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
19422unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
19423
19424#[repr(C)]
19426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19427pub struct PhysicalDeviceOpticalFlowFeaturesNV {
19428 pub s_type: StructureType,
19429 pub next: *mut c_void,
19430 pub optical_flow: Bool32,
19431}
19432
19433impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
19434 #[inline]
19435 fn default() -> Self {
19436 Self {
19437 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
19438 next: ptr::null_mut(),
19439 optical_flow: Bool32::default(),
19440 }
19441 }
19442}
19443
19444unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
19445unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
19446
19447#[repr(C)]
19449#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19450pub struct PhysicalDeviceOpticalFlowPropertiesNV {
19451 pub s_type: StructureType,
19452 pub next: *mut c_void,
19453 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
19454 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
19455 pub hint_supported: Bool32,
19456 pub cost_supported: Bool32,
19457 pub bidirectional_flow_supported: Bool32,
19458 pub global_flow_supported: Bool32,
19459 pub min_width: u32,
19460 pub min_height: u32,
19461 pub max_width: u32,
19462 pub max_height: u32,
19463 pub max_num_regions_of_interest: u32,
19464}
19465
19466impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
19467 #[inline]
19468 fn default() -> Self {
19469 Self {
19470 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
19471 next: ptr::null_mut(),
19472 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
19473 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
19474 hint_supported: Bool32::default(),
19475 cost_supported: Bool32::default(),
19476 bidirectional_flow_supported: Bool32::default(),
19477 global_flow_supported: Bool32::default(),
19478 min_width: u32::default(),
19479 min_height: u32::default(),
19480 max_width: u32::default(),
19481 max_height: u32::default(),
19482 max_num_regions_of_interest: u32::default(),
19483 }
19484 }
19485}
19486
19487unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
19488unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
19489
19490#[repr(C)]
19492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19493pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
19494 pub s_type: StructureType,
19495 pub next: *mut c_void,
19496 pub pci_domain: u32,
19497 pub pci_bus: u32,
19498 pub pci_device: u32,
19499 pub pci_function: u32,
19500}
19501
19502impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
19503 #[inline]
19504 fn default() -> Self {
19505 Self {
19506 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
19507 next: ptr::null_mut(),
19508 pci_domain: u32::default(),
19509 pci_bus: u32::default(),
19510 pci_device: u32::default(),
19511 pci_function: u32::default(),
19512 }
19513 }
19514}
19515
19516unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
19517unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
19518
19519#[repr(C)]
19521#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19522pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
19523 pub s_type: StructureType,
19524 pub next: *mut c_void,
19525 pub pageable_device_local_memory: Bool32,
19526}
19527
19528impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
19529 #[inline]
19530 fn default() -> Self {
19531 Self {
19532 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
19533 next: ptr::null_mut(),
19534 pageable_device_local_memory: Bool32::default(),
19535 }
19536 }
19537}
19538
19539unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
19540unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
19541
19542#[repr(C)]
19544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19545pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
19546 pub s_type: StructureType,
19547 pub next: *mut c_void,
19548 pub partitioned_acceleration_structure: Bool32,
19549}
19550
19551impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
19552 #[inline]
19553 fn default() -> Self {
19554 Self {
19555 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
19556 next: ptr::null_mut(),
19557 partitioned_acceleration_structure: Bool32::default(),
19558 }
19559 }
19560}
19561
19562unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
19563unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
19564
19565#[repr(C)]
19567#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19568pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
19569 pub s_type: StructureType,
19570 pub next: *mut c_void,
19571 pub max_partition_count: u32,
19572}
19573
19574impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
19575 #[inline]
19576 fn default() -> Self {
19577 Self {
19578 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
19579 next: ptr::null_mut(),
19580 max_partition_count: u32::default(),
19581 }
19582 }
19583}
19584
19585unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
19586unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
19587
19588#[repr(C)]
19590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19591pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
19592 pub s_type: StructureType,
19593 pub next: *mut c_void,
19594 pub per_stage_descriptor_set: Bool32,
19595 pub dynamic_pipeline_layout: Bool32,
19596}
19597
19598impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
19599 #[inline]
19600 fn default() -> Self {
19601 Self {
19602 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
19603 next: ptr::null_mut(),
19604 per_stage_descriptor_set: Bool32::default(),
19605 dynamic_pipeline_layout: Bool32::default(),
19606 }
19607 }
19608}
19609
19610unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
19611unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
19612
19613#[repr(C)]
19615#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19616pub struct PhysicalDevicePerformanceCountersByRegionFeaturesARM {
19617 pub s_type: StructureType,
19618 pub next: *mut c_void,
19619 pub performance_counters_by_region: Bool32,
19620}
19621
19622impl Default for PhysicalDevicePerformanceCountersByRegionFeaturesARM {
19623 #[inline]
19624 fn default() -> Self {
19625 Self {
19626 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
19627 next: ptr::null_mut(),
19628 performance_counters_by_region: Bool32::default(),
19629 }
19630 }
19631}
19632
19633unsafe impl Send for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
19634unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
19635
19636#[repr(C)]
19638#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19639pub struct PhysicalDevicePerformanceCountersByRegionPropertiesARM {
19640 pub s_type: StructureType,
19641 pub next: *mut c_void,
19642 pub max_per_region_performance_counters: u32,
19643 pub performance_counter_region_size: Extent2D,
19644 pub row_stride_alignment: u32,
19645 pub region_alignment: u32,
19646 pub identity_transform_order: Bool32,
19647}
19648
19649impl Default for PhysicalDevicePerformanceCountersByRegionPropertiesARM {
19650 #[inline]
19651 fn default() -> Self {
19652 Self {
19653 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
19654 next: ptr::null_mut(),
19655 max_per_region_performance_counters: u32::default(),
19656 performance_counter_region_size: Extent2D::default(),
19657 row_stride_alignment: u32::default(),
19658 region_alignment: u32::default(),
19659 identity_transform_order: Bool32::default(),
19660 }
19661 }
19662}
19663
19664unsafe impl Send for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
19665unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
19666
19667#[repr(C)]
19669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19670pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
19671 pub s_type: StructureType,
19672 pub next: *mut c_void,
19673 pub performance_counter_query_pools: Bool32,
19674 pub performance_counter_multiple_query_pools: Bool32,
19675}
19676
19677impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
19678 #[inline]
19679 fn default() -> Self {
19680 Self {
19681 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
19682 next: ptr::null_mut(),
19683 performance_counter_query_pools: Bool32::default(),
19684 performance_counter_multiple_query_pools: Bool32::default(),
19685 }
19686 }
19687}
19688
19689unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
19690unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
19691
19692#[repr(C)]
19694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19695pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
19696 pub s_type: StructureType,
19697 pub next: *mut c_void,
19698 pub allow_command_buffer_query_copies: Bool32,
19699}
19700
19701impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
19702 #[inline]
19703 fn default() -> Self {
19704 Self {
19705 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
19706 next: ptr::null_mut(),
19707 allow_command_buffer_query_copies: Bool32::default(),
19708 }
19709 }
19710}
19711
19712unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
19713unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
19714
19715#[repr(C)]
19717#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19718pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
19719 pub s_type: StructureType,
19720 pub next: *mut c_void,
19721 pub pipeline_binaries: Bool32,
19722}
19723
19724impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
19725 #[inline]
19726 fn default() -> Self {
19727 Self {
19728 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
19729 next: ptr::null_mut(),
19730 pipeline_binaries: Bool32::default(),
19731 }
19732 }
19733}
19734
19735unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
19736unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
19737
19738#[repr(C)]
19740#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19741pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
19742 pub s_type: StructureType,
19743 pub next: *mut c_void,
19744 pub pipeline_binary_internal_cache: Bool32,
19745 pub pipeline_binary_internal_cache_control: Bool32,
19746 pub pipeline_binary_prefers_internal_cache: Bool32,
19747 pub pipeline_binary_precompiled_internal_cache: Bool32,
19748 pub pipeline_binary_compressed_data: Bool32,
19749}
19750
19751impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
19752 #[inline]
19753 fn default() -> Self {
19754 Self {
19755 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
19756 next: ptr::null_mut(),
19757 pipeline_binary_internal_cache: Bool32::default(),
19758 pipeline_binary_internal_cache_control: Bool32::default(),
19759 pipeline_binary_prefers_internal_cache: Bool32::default(),
19760 pipeline_binary_precompiled_internal_cache: Bool32::default(),
19761 pipeline_binary_compressed_data: Bool32::default(),
19762 }
19763 }
19764}
19765
19766unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
19767unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
19768
19769#[repr(C)]
19771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19772pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19773 pub s_type: StructureType,
19774 pub next: *mut c_void,
19775 pub pipeline_cache_incremental_mode: Bool32,
19776}
19777
19778impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19779 #[inline]
19780 fn default() -> Self {
19781 Self {
19782 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
19783 next: ptr::null_mut(),
19784 pipeline_cache_incremental_mode: Bool32::default(),
19785 }
19786 }
19787}
19788
19789unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19790unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19791
19792#[repr(C)]
19794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19795pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
19796 pub s_type: StructureType,
19797 pub next: *mut c_void,
19798 pub pipeline_creation_cache_control: Bool32,
19799}
19800
19801impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
19802 #[inline]
19803 fn default() -> Self {
19804 Self {
19805 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
19806 next: ptr::null_mut(),
19807 pipeline_creation_cache_control: Bool32::default(),
19808 }
19809 }
19810}
19811
19812unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
19813unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
19814
19815#[repr(C)]
19817#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19818pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19819 pub s_type: StructureType,
19820 pub next: *mut c_void,
19821 pub pipeline_executable_info: Bool32,
19822}
19823
19824impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19825 #[inline]
19826 fn default() -> Self {
19827 Self {
19828 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
19829 next: ptr::null_mut(),
19830 pipeline_executable_info: Bool32::default(),
19831 }
19832 }
19833}
19834
19835unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19836unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19837
19838#[repr(C)]
19840#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19841pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19842 pub s_type: StructureType,
19843 pub next: *mut c_void,
19844 pub pipeline_library_group_handles: Bool32,
19845}
19846
19847impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19848 #[inline]
19849 fn default() -> Self {
19850 Self {
19851 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
19852 next: ptr::null_mut(),
19853 pipeline_library_group_handles: Bool32::default(),
19854 }
19855 }
19856}
19857
19858unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19859unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19860
19861#[repr(C)]
19863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19864pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19865 pub s_type: StructureType,
19866 pub next: *mut c_void,
19867 pub pipeline_opacity_micromap: Bool32,
19868}
19869
19870impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19871 #[inline]
19872 fn default() -> Self {
19873 Self {
19874 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
19875 next: ptr::null_mut(),
19876 pipeline_opacity_micromap: Bool32::default(),
19877 }
19878 }
19879}
19880
19881unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19882unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19883
19884#[repr(C)]
19886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19887pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
19888 pub s_type: StructureType,
19889 pub next: *mut c_void,
19890 pub pipeline_properties_identifier: Bool32,
19891}
19892
19893impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
19894 #[inline]
19895 fn default() -> Self {
19896 Self {
19897 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
19898 next: ptr::null_mut(),
19899 pipeline_properties_identifier: Bool32::default(),
19900 }
19901 }
19902}
19903
19904unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19905unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19906
19907#[repr(C)]
19909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19910pub struct PhysicalDevicePipelineProtectedAccessFeatures {
19911 pub s_type: StructureType,
19912 pub next: *mut c_void,
19913 pub pipeline_protected_access: Bool32,
19914}
19915
19916impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
19917 #[inline]
19918 fn default() -> Self {
19919 Self {
19920 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
19921 next: ptr::null_mut(),
19922 pipeline_protected_access: Bool32::default(),
19923 }
19924 }
19925}
19926
19927unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
19928unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
19929
19930#[repr(C)]
19932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19933pub struct PhysicalDevicePipelineRobustnessFeatures {
19934 pub s_type: StructureType,
19935 pub next: *mut c_void,
19936 pub pipeline_robustness: Bool32,
19937}
19938
19939impl Default for PhysicalDevicePipelineRobustnessFeatures {
19940 #[inline]
19941 fn default() -> Self {
19942 Self {
19943 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
19944 next: ptr::null_mut(),
19945 pipeline_robustness: Bool32::default(),
19946 }
19947 }
19948}
19949
19950unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
19951unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
19952
19953#[repr(C)]
19955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19956pub struct PhysicalDevicePipelineRobustnessProperties {
19957 pub s_type: StructureType,
19958 pub next: *mut c_void,
19959 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
19960 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
19961 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
19962 pub default_robustness_images: PipelineRobustnessImageBehavior,
19963}
19964
19965impl Default for PhysicalDevicePipelineRobustnessProperties {
19966 #[inline]
19967 fn default() -> Self {
19968 Self {
19969 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
19970 next: ptr::null_mut(),
19971 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
19972 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
19973 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
19974 default_robustness_images: PipelineRobustnessImageBehavior::default(),
19975 }
19976 }
19977}
19978
19979unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
19980unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
19981
19982#[repr(C)]
19984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19985pub struct PhysicalDevicePointClippingProperties {
19986 pub s_type: StructureType,
19987 pub next: *mut c_void,
19988 pub point_clipping_behavior: PointClippingBehavior,
19989}
19990
19991impl Default for PhysicalDevicePointClippingProperties {
19992 #[inline]
19993 fn default() -> Self {
19994 Self {
19995 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
19996 next: ptr::null_mut(),
19997 point_clipping_behavior: PointClippingBehavior::default(),
19998 }
19999 }
20000}
20001
20002unsafe impl Send for PhysicalDevicePointClippingProperties {}
20003unsafe impl Sync for PhysicalDevicePointClippingProperties {}
20004
20005#[repr(C)]
20007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20008pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
20009 pub s_type: StructureType,
20010 pub next: *mut c_void,
20011 pub constant_alpha_color_blend_factors: Bool32,
20012 pub events: Bool32,
20013 pub image_view_format_reinterpretation: Bool32,
20014 pub image_view_format_swizzle: Bool32,
20015 pub image_view_2d_on_3d_image: Bool32,
20016 pub multisample_array_image: Bool32,
20017 pub mutable_comparison_samplers: Bool32,
20018 pub point_polygons: Bool32,
20019 pub sampler_mip_lod_bias: Bool32,
20020 pub separate_stencil_mask_ref: Bool32,
20021 pub shader_sample_rate_interpolation_functions: Bool32,
20022 pub tessellation_isolines: Bool32,
20023 pub tessellation_point_mode: Bool32,
20024 pub triangle_fans: Bool32,
20025 pub vertex_attribute_access_beyond_stride: Bool32,
20026}
20027
20028impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
20029 #[inline]
20030 fn default() -> Self {
20031 Self {
20032 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
20033 next: ptr::null_mut(),
20034 constant_alpha_color_blend_factors: Bool32::default(),
20035 events: Bool32::default(),
20036 image_view_format_reinterpretation: Bool32::default(),
20037 image_view_format_swizzle: Bool32::default(),
20038 image_view_2d_on_3d_image: Bool32::default(),
20039 multisample_array_image: Bool32::default(),
20040 mutable_comparison_samplers: Bool32::default(),
20041 point_polygons: Bool32::default(),
20042 sampler_mip_lod_bias: Bool32::default(),
20043 separate_stencil_mask_ref: Bool32::default(),
20044 shader_sample_rate_interpolation_functions: Bool32::default(),
20045 tessellation_isolines: Bool32::default(),
20046 tessellation_point_mode: Bool32::default(),
20047 triangle_fans: Bool32::default(),
20048 vertex_attribute_access_beyond_stride: Bool32::default(),
20049 }
20050 }
20051}
20052
20053unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
20054unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
20055
20056#[repr(C)]
20058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20059pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
20060 pub s_type: StructureType,
20061 pub next: *mut c_void,
20062 pub min_vertex_input_binding_stride_alignment: u32,
20063}
20064
20065impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
20066 #[inline]
20067 fn default() -> Self {
20068 Self {
20069 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
20070 next: ptr::null_mut(),
20071 min_vertex_input_binding_stride_alignment: u32::default(),
20072 }
20073 }
20074}
20075
20076unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
20077unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
20078
20079#[repr(C)]
20081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20082pub struct PhysicalDevicePresentBarrierFeaturesNV {
20083 pub s_type: StructureType,
20084 pub next: *mut c_void,
20085 pub present_barrier: Bool32,
20086}
20087
20088impl Default for PhysicalDevicePresentBarrierFeaturesNV {
20089 #[inline]
20090 fn default() -> Self {
20091 Self {
20092 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
20093 next: ptr::null_mut(),
20094 present_barrier: Bool32::default(),
20095 }
20096 }
20097}
20098
20099unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
20100unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
20101
20102#[repr(C)]
20104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20105pub struct PhysicalDevicePresentId2FeaturesKHR {
20106 pub s_type: StructureType,
20107 pub next: *mut c_void,
20108 pub present_id2: Bool32,
20109}
20110
20111impl Default for PhysicalDevicePresentId2FeaturesKHR {
20112 #[inline]
20113 fn default() -> Self {
20114 Self {
20115 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
20116 next: ptr::null_mut(),
20117 present_id2: Bool32::default(),
20118 }
20119 }
20120}
20121
20122unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
20123unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
20124
20125#[repr(C)]
20127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20128pub struct PhysicalDevicePresentIdFeaturesKHR {
20129 pub s_type: StructureType,
20130 pub next: *mut c_void,
20131 pub present_id: Bool32,
20132}
20133
20134impl Default for PhysicalDevicePresentIdFeaturesKHR {
20135 #[inline]
20136 fn default() -> Self {
20137 Self {
20138 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
20139 next: ptr::null_mut(),
20140 present_id: Bool32::default(),
20141 }
20142 }
20143}
20144
20145unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
20146unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
20147
20148#[repr(C)]
20150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20151pub struct PhysicalDevicePresentMeteringFeaturesNV {
20152 pub s_type: StructureType,
20153 pub next: *mut c_void,
20154 pub present_metering: Bool32,
20155}
20156
20157impl Default for PhysicalDevicePresentMeteringFeaturesNV {
20158 #[inline]
20159 fn default() -> Self {
20160 Self {
20161 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
20162 next: ptr::null_mut(),
20163 present_metering: Bool32::default(),
20164 }
20165 }
20166}
20167
20168unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
20169unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
20170
20171#[repr(C)]
20173#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20174pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
20175 pub s_type: StructureType,
20176 pub next: *mut c_void,
20177 pub present_mode_fifo_latest_ready: Bool32,
20178}
20179
20180impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
20181 #[inline]
20182 fn default() -> Self {
20183 Self {
20184 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
20185 next: ptr::null_mut(),
20186 present_mode_fifo_latest_ready: Bool32::default(),
20187 }
20188 }
20189}
20190
20191unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
20192unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
20193
20194#[repr(C)]
20196#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20197pub struct PhysicalDevicePresentTimingFeaturesEXT {
20198 pub s_type: StructureType,
20199 pub next: *mut c_void,
20200 pub present_timing: Bool32,
20201 pub present_at_absolute_time: Bool32,
20202 pub present_at_relative_time: Bool32,
20203}
20204
20205impl Default for PhysicalDevicePresentTimingFeaturesEXT {
20206 #[inline]
20207 fn default() -> Self {
20208 Self {
20209 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT,
20210 next: ptr::null_mut(),
20211 present_timing: Bool32::default(),
20212 present_at_absolute_time: Bool32::default(),
20213 present_at_relative_time: Bool32::default(),
20214 }
20215 }
20216}
20217
20218unsafe impl Send for PhysicalDevicePresentTimingFeaturesEXT {}
20219unsafe impl Sync for PhysicalDevicePresentTimingFeaturesEXT {}
20220
20221#[repr(C)]
20223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20224pub struct PhysicalDevicePresentWait2FeaturesKHR {
20225 pub s_type: StructureType,
20226 pub next: *mut c_void,
20227 pub present_wait2: Bool32,
20228}
20229
20230impl Default for PhysicalDevicePresentWait2FeaturesKHR {
20231 #[inline]
20232 fn default() -> Self {
20233 Self {
20234 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
20235 next: ptr::null_mut(),
20236 present_wait2: Bool32::default(),
20237 }
20238 }
20239}
20240
20241unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
20242unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
20243
20244#[repr(C)]
20246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20247pub struct PhysicalDevicePresentWaitFeaturesKHR {
20248 pub s_type: StructureType,
20249 pub next: *mut c_void,
20250 pub present_wait: Bool32,
20251}
20252
20253impl Default for PhysicalDevicePresentWaitFeaturesKHR {
20254 #[inline]
20255 fn default() -> Self {
20256 Self {
20257 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
20258 next: ptr::null_mut(),
20259 present_wait: Bool32::default(),
20260 }
20261 }
20262}
20263
20264unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
20265unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
20266
20267#[repr(C)]
20269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20270pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
20271 pub s_type: StructureType,
20272 pub next: *mut c_void,
20273 pub primitive_topology_list_restart: Bool32,
20274 pub primitive_topology_patch_list_restart: Bool32,
20275}
20276
20277impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
20278 #[inline]
20279 fn default() -> Self {
20280 Self {
20281 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
20282 next: ptr::null_mut(),
20283 primitive_topology_list_restart: Bool32::default(),
20284 primitive_topology_patch_list_restart: Bool32::default(),
20285 }
20286 }
20287}
20288
20289unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
20290unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
20291
20292#[repr(C)]
20294#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20295pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
20296 pub s_type: StructureType,
20297 pub next: *mut c_void,
20298 pub primitives_generated_query: Bool32,
20299 pub primitives_generated_query_with_rasterizer_discard: Bool32,
20300 pub primitives_generated_query_with_non_zero_streams: Bool32,
20301}
20302
20303impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
20304 #[inline]
20305 fn default() -> Self {
20306 Self {
20307 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
20308 next: ptr::null_mut(),
20309 primitives_generated_query: Bool32::default(),
20310 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
20311 primitives_generated_query_with_non_zero_streams: Bool32::default(),
20312 }
20313 }
20314}
20315
20316unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
20317unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
20318
20319#[repr(C)]
20321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20322pub struct PhysicalDevicePrivateDataFeatures {
20323 pub s_type: StructureType,
20324 pub next: *mut c_void,
20325 pub private_data: Bool32,
20326}
20327
20328impl Default for PhysicalDevicePrivateDataFeatures {
20329 #[inline]
20330 fn default() -> Self {
20331 Self {
20332 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
20333 next: ptr::null_mut(),
20334 private_data: Bool32::default(),
20335 }
20336 }
20337}
20338
20339unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
20340unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
20341
20342#[repr(C)]
20344#[derive(Copy, Clone, Default, Debug, PartialEq)]
20345pub struct PhysicalDeviceProperties {
20346 pub api_version: u32,
20347 pub driver_version: u32,
20348 pub vendor_id: u32,
20349 pub device_id: u32,
20350 pub device_type: PhysicalDeviceType,
20351 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
20352 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
20353 pub limits: PhysicalDeviceLimits,
20354 pub sparse_properties: PhysicalDeviceSparseProperties,
20355}
20356
20357#[repr(C)]
20359#[derive(Copy, Clone, Debug, PartialEq)]
20360pub struct PhysicalDeviceProperties2 {
20361 pub s_type: StructureType,
20362 pub next: *mut c_void,
20363 pub properties: PhysicalDeviceProperties,
20364}
20365
20366impl Default for PhysicalDeviceProperties2 {
20367 #[inline]
20368 fn default() -> Self {
20369 Self {
20370 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
20371 next: ptr::null_mut(),
20372 properties: PhysicalDeviceProperties::default(),
20373 }
20374 }
20375}
20376
20377unsafe impl Send for PhysicalDeviceProperties2 {}
20378unsafe impl Sync for PhysicalDeviceProperties2 {}
20379
20380#[repr(C)]
20382#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20383pub struct PhysicalDeviceProtectedMemoryFeatures {
20384 pub s_type: StructureType,
20385 pub next: *mut c_void,
20386 pub protected_memory: Bool32,
20387}
20388
20389impl Default for PhysicalDeviceProtectedMemoryFeatures {
20390 #[inline]
20391 fn default() -> Self {
20392 Self {
20393 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
20394 next: ptr::null_mut(),
20395 protected_memory: Bool32::default(),
20396 }
20397 }
20398}
20399
20400unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
20401unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
20402
20403#[repr(C)]
20405#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20406pub struct PhysicalDeviceProtectedMemoryProperties {
20407 pub s_type: StructureType,
20408 pub next: *mut c_void,
20409 pub protected_no_fault: Bool32,
20410}
20411
20412impl Default for PhysicalDeviceProtectedMemoryProperties {
20413 #[inline]
20414 fn default() -> Self {
20415 Self {
20416 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
20417 next: ptr::null_mut(),
20418 protected_no_fault: Bool32::default(),
20419 }
20420 }
20421}
20422
20423unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
20424unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
20425
20426#[repr(C)]
20428#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20429pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
20430 pub s_type: StructureType,
20431 pub next: *mut c_void,
20432 pub provoking_vertex_last: Bool32,
20433 pub transform_feedback_preserves_provoking_vertex: Bool32,
20434}
20435
20436impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
20437 #[inline]
20438 fn default() -> Self {
20439 Self {
20440 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
20441 next: ptr::null_mut(),
20442 provoking_vertex_last: Bool32::default(),
20443 transform_feedback_preserves_provoking_vertex: Bool32::default(),
20444 }
20445 }
20446}
20447
20448unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
20449unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
20450
20451#[repr(C)]
20453#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20454pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
20455 pub s_type: StructureType,
20456 pub next: *mut c_void,
20457 pub provoking_vertex_mode_per_pipeline: Bool32,
20458 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
20459}
20460
20461impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
20462 #[inline]
20463 fn default() -> Self {
20464 Self {
20465 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
20466 next: ptr::null_mut(),
20467 provoking_vertex_mode_per_pipeline: Bool32::default(),
20468 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
20469 }
20470 }
20471}
20472
20473unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
20474unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
20475
20476#[repr(C)]
20478#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20479pub struct PhysicalDevicePushConstantBankFeaturesNV {
20480 pub s_type: StructureType,
20481 pub next: *mut c_void,
20482 pub push_constant_bank: Bool32,
20483}
20484
20485impl Default for PhysicalDevicePushConstantBankFeaturesNV {
20486 #[inline]
20487 fn default() -> Self {
20488 Self {
20489 s_type: StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV,
20490 next: ptr::null_mut(),
20491 push_constant_bank: Bool32::default(),
20492 }
20493 }
20494}
20495
20496unsafe impl Send for PhysicalDevicePushConstantBankFeaturesNV {}
20497unsafe impl Sync for PhysicalDevicePushConstantBankFeaturesNV {}
20498
20499#[repr(C)]
20501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20502pub struct PhysicalDevicePushConstantBankPropertiesNV {
20503 pub s_type: StructureType,
20504 pub next: *mut c_void,
20505 pub max_graphics_push_constant_banks: u32,
20506 pub max_compute_push_constant_banks: u32,
20507 pub max_graphics_push_data_banks: u32,
20508 pub max_compute_push_data_banks: u32,
20509}
20510
20511impl Default for PhysicalDevicePushConstantBankPropertiesNV {
20512 #[inline]
20513 fn default() -> Self {
20514 Self {
20515 s_type: StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV,
20516 next: ptr::null_mut(),
20517 max_graphics_push_constant_banks: u32::default(),
20518 max_compute_push_constant_banks: u32::default(),
20519 max_graphics_push_data_banks: u32::default(),
20520 max_compute_push_data_banks: u32::default(),
20521 }
20522 }
20523}
20524
20525unsafe impl Send for PhysicalDevicePushConstantBankPropertiesNV {}
20526unsafe impl Sync for PhysicalDevicePushConstantBankPropertiesNV {}
20527
20528#[repr(C)]
20530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20531pub struct PhysicalDevicePushDescriptorProperties {
20532 pub s_type: StructureType,
20533 pub next: *mut c_void,
20534 pub max_push_descriptors: u32,
20535}
20536
20537impl Default for PhysicalDevicePushDescriptorProperties {
20538 #[inline]
20539 fn default() -> Self {
20540 Self {
20541 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
20542 next: ptr::null_mut(),
20543 max_push_descriptors: u32::default(),
20544 }
20545 }
20546}
20547
20548unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
20549unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
20550
20551#[repr(C)]
20553#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20554pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
20555 pub s_type: StructureType,
20556 pub next: *const c_void,
20557 pub queue_family_index: u32,
20558 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
20559}
20560
20561impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
20562 #[inline]
20563 fn default() -> Self {
20564 Self {
20565 s_type:
20566 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
20567 next: ptr::null(),
20568 queue_family_index: u32::default(),
20569 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
20570 }
20571 }
20572}
20573
20574unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
20575unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
20576
20577#[repr(C)]
20579#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20580pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
20581 pub s_type: StructureType,
20582 pub next: *mut c_void,
20583 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
20584}
20585
20586impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
20587 #[inline]
20588 fn default() -> Self {
20589 Self {
20590 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
20591 next: ptr::null_mut(),
20592 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
20593 }
20594 }
20595}
20596
20597unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
20598unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
20599
20600#[repr(C)]
20602#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20603pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
20604 pub s_type: StructureType,
20605 pub next: *mut c_void,
20606 pub rasterization_order_color_attachment_access: Bool32,
20607 pub rasterization_order_depth_attachment_access: Bool32,
20608 pub rasterization_order_stencil_attachment_access: Bool32,
20609}
20610
20611impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
20612 #[inline]
20613 fn default() -> Self {
20614 Self {
20615 s_type:
20616 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
20617 next: ptr::null_mut(),
20618 rasterization_order_color_attachment_access: Bool32::default(),
20619 rasterization_order_depth_attachment_access: Bool32::default(),
20620 rasterization_order_stencil_attachment_access: Bool32::default(),
20621 }
20622 }
20623}
20624
20625unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
20626unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
20627
20628#[repr(C)]
20630#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20631pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
20632 pub s_type: StructureType,
20633 pub next: *mut c_void,
20634 pub shader_raw_access_chains: Bool32,
20635}
20636
20637impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
20638 #[inline]
20639 fn default() -> Self {
20640 Self {
20641 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
20642 next: ptr::null_mut(),
20643 shader_raw_access_chains: Bool32::default(),
20644 }
20645 }
20646}
20647
20648unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
20649unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
20650
20651#[repr(C)]
20653#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20654pub struct PhysicalDeviceRayQueryFeaturesKHR {
20655 pub s_type: StructureType,
20656 pub next: *mut c_void,
20657 pub ray_query: Bool32,
20658}
20659
20660impl Default for PhysicalDeviceRayQueryFeaturesKHR {
20661 #[inline]
20662 fn default() -> Self {
20663 Self {
20664 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
20665 next: ptr::null_mut(),
20666 ray_query: Bool32::default(),
20667 }
20668 }
20669}
20670
20671unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
20672unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
20673
20674#[repr(C)]
20676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20677pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
20678 pub s_type: StructureType,
20679 pub next: *mut c_void,
20680 pub ray_tracing_invocation_reorder: Bool32,
20681}
20682
20683impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
20684 #[inline]
20685 fn default() -> Self {
20686 Self {
20687 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
20688 next: ptr::null_mut(),
20689 ray_tracing_invocation_reorder: Bool32::default(),
20690 }
20691 }
20692}
20693
20694unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
20695unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
20696
20697#[repr(C)]
20699#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20700pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
20701 pub s_type: StructureType,
20702 pub next: *mut c_void,
20703 pub ray_tracing_invocation_reorder: Bool32,
20704}
20705
20706impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
20707 #[inline]
20708 fn default() -> Self {
20709 Self {
20710 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
20711 next: ptr::null_mut(),
20712 ray_tracing_invocation_reorder: Bool32::default(),
20713 }
20714 }
20715}
20716
20717unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
20718unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
20719
20720#[repr(C)]
20722#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20723pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
20724 pub s_type: StructureType,
20725 pub next: *mut c_void,
20726 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
20727 pub max_shader_binding_table_record_index: u32,
20728}
20729
20730impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
20731 #[inline]
20732 fn default() -> Self {
20733 Self {
20734 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
20735 next: ptr::null_mut(),
20736 ray_tracing_invocation_reorder_reordering_hint:
20737 RayTracingInvocationReorderModeEXT::default(),
20738 max_shader_binding_table_record_index: u32::default(),
20739 }
20740 }
20741}
20742
20743unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
20744unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
20745
20746#[repr(C)]
20748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20749pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
20750 pub s_type: StructureType,
20751 pub next: *mut c_void,
20752 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
20753}
20754
20755impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
20756 #[inline]
20757 fn default() -> Self {
20758 Self {
20759 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
20760 next: ptr::null_mut(),
20761 ray_tracing_invocation_reorder_reordering_hint:
20762 RayTracingInvocationReorderModeEXT::default(),
20763 }
20764 }
20765}
20766
20767unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
20768unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
20769
20770#[repr(C)]
20772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20773pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
20774 pub s_type: StructureType,
20775 pub next: *mut c_void,
20776 pub spheres: Bool32,
20777 pub linear_swept_spheres: Bool32,
20778}
20779
20780impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
20781 #[inline]
20782 fn default() -> Self {
20783 Self {
20784 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
20785 next: ptr::null_mut(),
20786 spheres: Bool32::default(),
20787 linear_swept_spheres: Bool32::default(),
20788 }
20789 }
20790}
20791
20792unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
20793unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
20794
20795#[repr(C)]
20797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20798pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
20799 pub s_type: StructureType,
20800 pub next: *mut c_void,
20801 pub ray_tracing_maintenance1: Bool32,
20802 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
20803}
20804
20805impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
20806 #[inline]
20807 fn default() -> Self {
20808 Self {
20809 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
20810 next: ptr::null_mut(),
20811 ray_tracing_maintenance1: Bool32::default(),
20812 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
20813 }
20814 }
20815}
20816
20817unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
20818unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
20819
20820#[repr(C)]
20822#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20823pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
20824 pub s_type: StructureType,
20825 pub next: *mut c_void,
20826 pub ray_tracing_motion_blur: Bool32,
20827 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
20828}
20829
20830impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
20831 #[inline]
20832 fn default() -> Self {
20833 Self {
20834 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
20835 next: ptr::null_mut(),
20836 ray_tracing_motion_blur: Bool32::default(),
20837 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
20838 }
20839 }
20840}
20841
20842unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
20843unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
20844
20845#[repr(C)]
20847#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20848pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
20849 pub s_type: StructureType,
20850 pub next: *mut c_void,
20851 pub ray_tracing_pipeline: Bool32,
20852 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
20853 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
20854 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
20855 pub ray_traversal_primitive_culling: Bool32,
20856}
20857
20858impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
20859 #[inline]
20860 fn default() -> Self {
20861 Self {
20862 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
20863 next: ptr::null_mut(),
20864 ray_tracing_pipeline: Bool32::default(),
20865 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
20866 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
20867 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
20868 ray_traversal_primitive_culling: Bool32::default(),
20869 }
20870 }
20871}
20872
20873unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20874unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20875
20876#[repr(C)]
20878#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20879pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
20880 pub s_type: StructureType,
20881 pub next: *mut c_void,
20882 pub shader_group_handle_size: u32,
20883 pub max_ray_recursion_depth: u32,
20884 pub max_shader_group_stride: u32,
20885 pub shader_group_base_alignment: u32,
20886 pub shader_group_handle_capture_replay_size: u32,
20887 pub max_ray_dispatch_invocation_count: u32,
20888 pub shader_group_handle_alignment: u32,
20889 pub max_ray_hit_attribute_size: u32,
20890}
20891
20892impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
20893 #[inline]
20894 fn default() -> Self {
20895 Self {
20896 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
20897 next: ptr::null_mut(),
20898 shader_group_handle_size: u32::default(),
20899 max_ray_recursion_depth: u32::default(),
20900 max_shader_group_stride: u32::default(),
20901 shader_group_base_alignment: u32::default(),
20902 shader_group_handle_capture_replay_size: u32::default(),
20903 max_ray_dispatch_invocation_count: u32::default(),
20904 shader_group_handle_alignment: u32::default(),
20905 max_ray_hit_attribute_size: u32::default(),
20906 }
20907 }
20908}
20909
20910unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20911unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20912
20913#[repr(C)]
20915#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20916pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20917 pub s_type: StructureType,
20918 pub next: *mut c_void,
20919 pub ray_tracing_position_fetch: Bool32,
20920}
20921
20922impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20923 #[inline]
20924 fn default() -> Self {
20925 Self {
20926 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
20927 next: ptr::null_mut(),
20928 ray_tracing_position_fetch: Bool32::default(),
20929 }
20930 }
20931}
20932
20933unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20934unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20935
20936#[repr(C)]
20938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20939pub struct PhysicalDeviceRayTracingPropertiesNV {
20940 pub s_type: StructureType,
20941 pub next: *mut c_void,
20942 pub shader_group_handle_size: u32,
20943 pub max_recursion_depth: u32,
20944 pub max_shader_group_stride: u32,
20945 pub shader_group_base_alignment: u32,
20946 pub max_geometry_count: u64,
20947 pub max_instance_count: u64,
20948 pub max_triangle_count: u64,
20949 pub max_descriptor_set_acceleration_structures: u32,
20950}
20951
20952impl Default for PhysicalDeviceRayTracingPropertiesNV {
20953 #[inline]
20954 fn default() -> Self {
20955 Self {
20956 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
20957 next: ptr::null_mut(),
20958 shader_group_handle_size: u32::default(),
20959 max_recursion_depth: u32::default(),
20960 max_shader_group_stride: u32::default(),
20961 shader_group_base_alignment: u32::default(),
20962 max_geometry_count: u64::default(),
20963 max_instance_count: u64::default(),
20964 max_triangle_count: u64::default(),
20965 max_descriptor_set_acceleration_structures: u32::default(),
20966 }
20967 }
20968}
20969
20970unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
20971unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
20972
20973#[repr(C)]
20975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20976pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
20977 pub s_type: StructureType,
20978 pub next: *mut c_void,
20979 pub ray_tracing_validation: Bool32,
20980}
20981
20982impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
20983 #[inline]
20984 fn default() -> Self {
20985 Self {
20986 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
20987 next: ptr::null_mut(),
20988 ray_tracing_validation: Bool32::default(),
20989 }
20990 }
20991}
20992
20993unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
20994unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
20995
20996#[repr(C)]
20998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20999pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
21000 pub s_type: StructureType,
21001 pub next: *mut c_void,
21002 pub relaxed_line_rasterization: Bool32,
21003}
21004
21005impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
21006 #[inline]
21007 fn default() -> Self {
21008 Self {
21009 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
21010 next: ptr::null_mut(),
21011 relaxed_line_rasterization: Bool32::default(),
21012 }
21013 }
21014}
21015
21016unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
21017unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
21018
21019#[repr(C)]
21021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21022pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
21023 pub s_type: StructureType,
21024 pub next: *mut c_void,
21025 pub render_pass_striped: Bool32,
21026}
21027
21028impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
21029 #[inline]
21030 fn default() -> Self {
21031 Self {
21032 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
21033 next: ptr::null_mut(),
21034 render_pass_striped: Bool32::default(),
21035 }
21036 }
21037}
21038
21039unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
21040unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
21041
21042#[repr(C)]
21044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21045pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
21046 pub s_type: StructureType,
21047 pub next: *mut c_void,
21048 pub render_pass_stripe_granularity: Extent2D,
21049 pub max_render_pass_stripes: u32,
21050}
21051
21052impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
21053 #[inline]
21054 fn default() -> Self {
21055 Self {
21056 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
21057 next: ptr::null_mut(),
21058 render_pass_stripe_granularity: Extent2D::default(),
21059 max_render_pass_stripes: u32::default(),
21060 }
21061 }
21062}
21063
21064unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
21065unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
21066
21067#[repr(C)]
21069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21070pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
21071 pub s_type: StructureType,
21072 pub next: *mut c_void,
21073 pub representative_fragment_test: Bool32,
21074}
21075
21076impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
21077 #[inline]
21078 fn default() -> Self {
21079 Self {
21080 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
21081 next: ptr::null_mut(),
21082 representative_fragment_test: Bool32::default(),
21083 }
21084 }
21085}
21086
21087unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
21088unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
21089
21090#[repr(C)]
21092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21093pub struct PhysicalDeviceRobustness2FeaturesKHR {
21094 pub s_type: StructureType,
21095 pub next: *mut c_void,
21096 pub robust_buffer_access2: Bool32,
21097 pub robust_image_access2: Bool32,
21098 pub null_descriptor: Bool32,
21099}
21100
21101impl Default for PhysicalDeviceRobustness2FeaturesKHR {
21102 #[inline]
21103 fn default() -> Self {
21104 Self {
21105 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
21106 next: ptr::null_mut(),
21107 robust_buffer_access2: Bool32::default(),
21108 robust_image_access2: Bool32::default(),
21109 null_descriptor: Bool32::default(),
21110 }
21111 }
21112}
21113
21114unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
21115unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
21116
21117#[repr(C)]
21119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21120pub struct PhysicalDeviceRobustness2PropertiesKHR {
21121 pub s_type: StructureType,
21122 pub next: *mut c_void,
21123 pub robust_storage_buffer_access_size_alignment: DeviceSize,
21124 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
21125}
21126
21127impl Default for PhysicalDeviceRobustness2PropertiesKHR {
21128 #[inline]
21129 fn default() -> Self {
21130 Self {
21131 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
21132 next: ptr::null_mut(),
21133 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
21134 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
21135 }
21136 }
21137}
21138
21139unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
21140unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
21141
21142#[repr(C)]
21144#[derive(Copy, Clone, Debug, PartialEq)]
21145pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
21146 pub s_type: StructureType,
21147 pub next: *mut c_void,
21148 pub sample_location_sample_counts: SampleCountFlags,
21149 pub max_sample_location_grid_size: Extent2D,
21150 pub sample_location_coordinate_range: [f32; 2],
21151 pub sample_location_sub_pixel_bits: u32,
21152 pub variable_sample_locations: Bool32,
21153}
21154
21155impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
21156 #[inline]
21157 fn default() -> Self {
21158 Self {
21159 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
21160 next: ptr::null_mut(),
21161 sample_location_sample_counts: SampleCountFlags::default(),
21162 max_sample_location_grid_size: Extent2D::default(),
21163 sample_location_coordinate_range: [f32::default(); 2],
21164 sample_location_sub_pixel_bits: u32::default(),
21165 variable_sample_locations: Bool32::default(),
21166 }
21167 }
21168}
21169
21170unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
21171unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
21172
21173#[repr(C)]
21175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21176pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
21177 pub s_type: StructureType,
21178 pub next: *mut c_void,
21179 pub filter_minmax_single_component_formats: Bool32,
21180 pub filter_minmax_image_component_mapping: Bool32,
21181}
21182
21183impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
21184 #[inline]
21185 fn default() -> Self {
21186 Self {
21187 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
21188 next: ptr::null_mut(),
21189 filter_minmax_single_component_formats: Bool32::default(),
21190 filter_minmax_image_component_mapping: Bool32::default(),
21191 }
21192 }
21193}
21194
21195unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
21196unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
21197
21198#[repr(C)]
21200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21201pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
21202 pub s_type: StructureType,
21203 pub next: *mut c_void,
21204 pub sampler_ycbcr_conversion: Bool32,
21205}
21206
21207impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
21208 #[inline]
21209 fn default() -> Self {
21210 Self {
21211 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
21212 next: ptr::null_mut(),
21213 sampler_ycbcr_conversion: Bool32::default(),
21214 }
21215 }
21216}
21217
21218unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
21219unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
21220
21221#[repr(C)]
21223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21224pub struct PhysicalDeviceScalarBlockLayoutFeatures {
21225 pub s_type: StructureType,
21226 pub next: *mut c_void,
21227 pub scalar_block_layout: Bool32,
21228}
21229
21230impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
21231 #[inline]
21232 fn default() -> Self {
21233 Self {
21234 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
21235 next: ptr::null_mut(),
21236 scalar_block_layout: Bool32::default(),
21237 }
21238 }
21239}
21240
21241unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
21242unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
21243
21244#[repr(C)]
21246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21247pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
21248 pub s_type: StructureType,
21249 pub next: *mut c_void,
21250 pub scheduling_controls: Bool32,
21251}
21252
21253impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
21254 #[inline]
21255 fn default() -> Self {
21256 Self {
21257 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
21258 next: ptr::null_mut(),
21259 scheduling_controls: Bool32::default(),
21260 }
21261 }
21262}
21263
21264unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
21265unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
21266
21267#[repr(C)]
21269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21270pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
21271 pub s_type: StructureType,
21272 pub next: *mut c_void,
21273 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
21274}
21275
21276impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
21277 #[inline]
21278 fn default() -> Self {
21279 Self {
21280 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
21281 next: ptr::null_mut(),
21282 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
21283 }
21284 }
21285}
21286
21287unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
21288unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
21289
21290#[repr(C)]
21292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21293pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
21294 pub s_type: StructureType,
21295 pub next: *mut c_void,
21296 pub separate_depth_stencil_layouts: Bool32,
21297}
21298
21299impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
21300 #[inline]
21301 fn default() -> Self {
21302 Self {
21303 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
21304 next: ptr::null_mut(),
21305 separate_depth_stencil_layouts: Bool32::default(),
21306 }
21307 }
21308}
21309
21310unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
21311unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
21312
21313#[repr(C)]
21315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21316pub struct PhysicalDeviceShader64BitIndexingFeaturesEXT {
21317 pub s_type: StructureType,
21318 pub next: *mut c_void,
21319 pub shader_64bit_indexing: Bool32,
21320}
21321
21322impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT {
21323 #[inline]
21324 fn default() -> Self {
21325 Self {
21326 s_type: StructureType::PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
21327 next: ptr::null_mut(),
21328 shader_64bit_indexing: Bool32::default(),
21329 }
21330 }
21331}
21332
21333unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
21334unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
21335
21336#[repr(C)]
21338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21339pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
21340 pub s_type: StructureType,
21341 pub next: *mut c_void,
21342 pub shader_float16_vector_atomics: Bool32,
21343}
21344
21345impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
21346 #[inline]
21347 fn default() -> Self {
21348 Self {
21349 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
21350 next: ptr::null_mut(),
21351 shader_float16_vector_atomics: Bool32::default(),
21352 }
21353 }
21354}
21355
21356unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
21357unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
21358
21359#[repr(C)]
21361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21362pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
21363 pub s_type: StructureType,
21364 pub next: *mut c_void,
21365 pub shader_buffer_float16_atomics: Bool32,
21366 pub shader_buffer_float16_atomic_add: Bool32,
21367 pub shader_buffer_float16_atomic_min_max: Bool32,
21368 pub shader_buffer_float32_atomic_min_max: Bool32,
21369 pub shader_buffer_float64_atomic_min_max: Bool32,
21370 pub shader_shared_float16_atomics: Bool32,
21371 pub shader_shared_float16_atomic_add: Bool32,
21372 pub shader_shared_float16_atomic_min_max: Bool32,
21373 pub shader_shared_float32_atomic_min_max: Bool32,
21374 pub shader_shared_float64_atomic_min_max: Bool32,
21375 pub shader_image_float32_atomic_min_max: Bool32,
21376 pub sparse_image_float32_atomic_min_max: Bool32,
21377}
21378
21379impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
21380 #[inline]
21381 fn default() -> Self {
21382 Self {
21383 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
21384 next: ptr::null_mut(),
21385 shader_buffer_float16_atomics: Bool32::default(),
21386 shader_buffer_float16_atomic_add: Bool32::default(),
21387 shader_buffer_float16_atomic_min_max: Bool32::default(),
21388 shader_buffer_float32_atomic_min_max: Bool32::default(),
21389 shader_buffer_float64_atomic_min_max: Bool32::default(),
21390 shader_shared_float16_atomics: Bool32::default(),
21391 shader_shared_float16_atomic_add: Bool32::default(),
21392 shader_shared_float16_atomic_min_max: Bool32::default(),
21393 shader_shared_float32_atomic_min_max: Bool32::default(),
21394 shader_shared_float64_atomic_min_max: Bool32::default(),
21395 shader_image_float32_atomic_min_max: Bool32::default(),
21396 sparse_image_float32_atomic_min_max: Bool32::default(),
21397 }
21398 }
21399}
21400
21401unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
21402unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
21403
21404#[repr(C)]
21406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21407pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
21408 pub s_type: StructureType,
21409 pub next: *mut c_void,
21410 pub shader_buffer_float32_atomics: Bool32,
21411 pub shader_buffer_float32_atomic_add: Bool32,
21412 pub shader_buffer_float64_atomics: Bool32,
21413 pub shader_buffer_float64_atomic_add: Bool32,
21414 pub shader_shared_float32_atomics: Bool32,
21415 pub shader_shared_float32_atomic_add: Bool32,
21416 pub shader_shared_float64_atomics: Bool32,
21417 pub shader_shared_float64_atomic_add: Bool32,
21418 pub shader_image_float32_atomics: Bool32,
21419 pub shader_image_float32_atomic_add: Bool32,
21420 pub sparse_image_float32_atomics: Bool32,
21421 pub sparse_image_float32_atomic_add: Bool32,
21422}
21423
21424impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
21425 #[inline]
21426 fn default() -> Self {
21427 Self {
21428 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
21429 next: ptr::null_mut(),
21430 shader_buffer_float32_atomics: Bool32::default(),
21431 shader_buffer_float32_atomic_add: Bool32::default(),
21432 shader_buffer_float64_atomics: Bool32::default(),
21433 shader_buffer_float64_atomic_add: Bool32::default(),
21434 shader_shared_float32_atomics: Bool32::default(),
21435 shader_shared_float32_atomic_add: Bool32::default(),
21436 shader_shared_float64_atomics: Bool32::default(),
21437 shader_shared_float64_atomic_add: Bool32::default(),
21438 shader_image_float32_atomics: Bool32::default(),
21439 shader_image_float32_atomic_add: Bool32::default(),
21440 sparse_image_float32_atomics: Bool32::default(),
21441 sparse_image_float32_atomic_add: Bool32::default(),
21442 }
21443 }
21444}
21445
21446unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
21447unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
21448
21449#[repr(C)]
21451#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21452pub struct PhysicalDeviceShaderAtomicInt64Features {
21453 pub s_type: StructureType,
21454 pub next: *mut c_void,
21455 pub shader_buffer_int64_atomics: Bool32,
21456 pub shader_shared_int64_atomics: Bool32,
21457}
21458
21459impl Default for PhysicalDeviceShaderAtomicInt64Features {
21460 #[inline]
21461 fn default() -> Self {
21462 Self {
21463 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
21464 next: ptr::null_mut(),
21465 shader_buffer_int64_atomics: Bool32::default(),
21466 shader_shared_int64_atomics: Bool32::default(),
21467 }
21468 }
21469}
21470
21471unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
21472unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
21473
21474#[repr(C)]
21476#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21477pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
21478 pub s_type: StructureType,
21479 pub next: *mut c_void,
21480 pub shader_b_float16_type: Bool32,
21481 pub shader_b_float_16dot_product: Bool32,
21482 pub shader_b_float16_cooperative_matrix: Bool32,
21483}
21484
21485impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
21486 #[inline]
21487 fn default() -> Self {
21488 Self {
21489 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
21490 next: ptr::null_mut(),
21491 shader_b_float16_type: Bool32::default(),
21492 shader_b_float_16dot_product: Bool32::default(),
21493 shader_b_float16_cooperative_matrix: Bool32::default(),
21494 }
21495 }
21496}
21497
21498unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
21499unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
21500
21501#[repr(C)]
21503#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21504pub struct PhysicalDeviceShaderClockFeaturesKHR {
21505 pub s_type: StructureType,
21506 pub next: *mut c_void,
21507 pub shader_subgroup_clock: Bool32,
21508 pub shader_device_clock: Bool32,
21509}
21510
21511impl Default for PhysicalDeviceShaderClockFeaturesKHR {
21512 #[inline]
21513 fn default() -> Self {
21514 Self {
21515 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
21516 next: ptr::null_mut(),
21517 shader_subgroup_clock: Bool32::default(),
21518 shader_device_clock: Bool32::default(),
21519 }
21520 }
21521}
21522
21523unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
21524unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
21525
21526#[repr(C)]
21528#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21529pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
21530 pub s_type: StructureType,
21531 pub next: *mut c_void,
21532 pub shader_core_builtins: Bool32,
21533}
21534
21535impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
21536 #[inline]
21537 fn default() -> Self {
21538 Self {
21539 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
21540 next: ptr::null_mut(),
21541 shader_core_builtins: Bool32::default(),
21542 }
21543 }
21544}
21545
21546unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
21547unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
21548
21549#[repr(C)]
21551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21552pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
21553 pub s_type: StructureType,
21554 pub next: *mut c_void,
21555 pub shader_core_mask: u64,
21556 pub shader_core_count: u32,
21557 pub shader_warps_per_core: u32,
21558}
21559
21560impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
21561 #[inline]
21562 fn default() -> Self {
21563 Self {
21564 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
21565 next: ptr::null_mut(),
21566 shader_core_mask: u64::default(),
21567 shader_core_count: u32::default(),
21568 shader_warps_per_core: u32::default(),
21569 }
21570 }
21571}
21572
21573unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
21574unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
21575
21576#[repr(C)]
21578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21579pub struct PhysicalDeviceShaderCoreProperties2AMD {
21580 pub s_type: StructureType,
21581 pub next: *mut c_void,
21582 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
21583 pub active_compute_unit_count: u32,
21584}
21585
21586impl Default for PhysicalDeviceShaderCoreProperties2AMD {
21587 #[inline]
21588 fn default() -> Self {
21589 Self {
21590 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
21591 next: ptr::null_mut(),
21592 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
21593 active_compute_unit_count: u32::default(),
21594 }
21595 }
21596}
21597
21598unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
21599unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
21600
21601#[repr(C)]
21603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21604pub struct PhysicalDeviceShaderCorePropertiesAMD {
21605 pub s_type: StructureType,
21606 pub next: *mut c_void,
21607 pub shader_engine_count: u32,
21608 pub shader_arrays_per_engine_count: u32,
21609 pub compute_units_per_shader_array: u32,
21610 pub simd_per_compute_unit: u32,
21611 pub wavefronts_per_simd: u32,
21612 pub wavefront_size: u32,
21613 pub sgprs_per_simd: u32,
21614 pub min_sgpr_allocation: u32,
21615 pub max_sgpr_allocation: u32,
21616 pub sgpr_allocation_granularity: u32,
21617 pub vgprs_per_simd: u32,
21618 pub min_vgpr_allocation: u32,
21619 pub max_vgpr_allocation: u32,
21620 pub vgpr_allocation_granularity: u32,
21621}
21622
21623impl Default for PhysicalDeviceShaderCorePropertiesAMD {
21624 #[inline]
21625 fn default() -> Self {
21626 Self {
21627 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
21628 next: ptr::null_mut(),
21629 shader_engine_count: u32::default(),
21630 shader_arrays_per_engine_count: u32::default(),
21631 compute_units_per_shader_array: u32::default(),
21632 simd_per_compute_unit: u32::default(),
21633 wavefronts_per_simd: u32::default(),
21634 wavefront_size: u32::default(),
21635 sgprs_per_simd: u32::default(),
21636 min_sgpr_allocation: u32::default(),
21637 max_sgpr_allocation: u32::default(),
21638 sgpr_allocation_granularity: u32::default(),
21639 vgprs_per_simd: u32::default(),
21640 min_vgpr_allocation: u32::default(),
21641 max_vgpr_allocation: u32::default(),
21642 vgpr_allocation_granularity: u32::default(),
21643 }
21644 }
21645}
21646
21647unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
21648unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
21649
21650#[repr(C)]
21652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21653pub struct PhysicalDeviceShaderCorePropertiesARM {
21654 pub s_type: StructureType,
21655 pub next: *mut c_void,
21656 pub pixel_rate: u32,
21657 pub texel_rate: u32,
21658 pub fma_rate: u32,
21659}
21660
21661impl Default for PhysicalDeviceShaderCorePropertiesARM {
21662 #[inline]
21663 fn default() -> Self {
21664 Self {
21665 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
21666 next: ptr::null_mut(),
21667 pixel_rate: u32::default(),
21668 texel_rate: u32::default(),
21669 fma_rate: u32::default(),
21670 }
21671 }
21672}
21673
21674unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
21675unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
21676
21677#[repr(C)]
21679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21680pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
21681 pub s_type: StructureType,
21682 pub next: *mut c_void,
21683 pub shader_demote_to_helper_invocation: Bool32,
21684}
21685
21686impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
21687 #[inline]
21688 fn default() -> Self {
21689 Self {
21690 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
21691 next: ptr::null_mut(),
21692 shader_demote_to_helper_invocation: Bool32::default(),
21693 }
21694 }
21695}
21696
21697unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
21698unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
21699
21700#[repr(C)]
21702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21703pub struct PhysicalDeviceShaderDrawParametersFeatures {
21704 pub s_type: StructureType,
21705 pub next: *mut c_void,
21706 pub shader_draw_parameters: Bool32,
21707}
21708
21709impl Default for PhysicalDeviceShaderDrawParametersFeatures {
21710 #[inline]
21711 fn default() -> Self {
21712 Self {
21713 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
21714 next: ptr::null_mut(),
21715 shader_draw_parameters: Bool32::default(),
21716 }
21717 }
21718}
21719
21720unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
21721unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
21722
21723#[repr(C)]
21725#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21726pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
21727 pub s_type: StructureType,
21728 pub next: *mut c_void,
21729 pub shader_early_and_late_fragment_tests: Bool32,
21730}
21731
21732impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
21733 #[inline]
21734 fn default() -> Self {
21735 Self {
21736 s_type:
21737 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
21738 next: ptr::null_mut(),
21739 shader_early_and_late_fragment_tests: Bool32::default(),
21740 }
21741 }
21742}
21743
21744unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
21745unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
21746
21747#[repr(C)]
21749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21750pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
21751 pub s_type: StructureType,
21752 pub next: *mut c_void,
21753 pub shader_enqueue: Bool32,
21754 pub shader_mesh_enqueue: Bool32,
21755}
21756
21757impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
21758 #[inline]
21759 fn default() -> Self {
21760 Self {
21761 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
21762 next: ptr::null_mut(),
21763 shader_enqueue: Bool32::default(),
21764 shader_mesh_enqueue: Bool32::default(),
21765 }
21766 }
21767}
21768
21769unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
21770unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
21771
21772#[repr(C)]
21774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21775pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
21776 pub s_type: StructureType,
21777 pub next: *mut c_void,
21778 pub max_execution_graph_depth: u32,
21779 pub max_execution_graph_shader_output_nodes: u32,
21780 pub max_execution_graph_shader_payload_size: u32,
21781 pub max_execution_graph_shader_payload_count: u32,
21782 pub execution_graph_dispatch_address_alignment: u32,
21783 pub max_execution_graph_workgroup_count: [u32; 3],
21784 pub max_execution_graph_workgroups: u32,
21785}
21786
21787impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
21788 #[inline]
21789 fn default() -> Self {
21790 Self {
21791 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
21792 next: ptr::null_mut(),
21793 max_execution_graph_depth: u32::default(),
21794 max_execution_graph_shader_output_nodes: u32::default(),
21795 max_execution_graph_shader_payload_size: u32::default(),
21796 max_execution_graph_shader_payload_count: u32::default(),
21797 execution_graph_dispatch_address_alignment: u32::default(),
21798 max_execution_graph_workgroup_count: [u32::default(); 3],
21799 max_execution_graph_workgroups: u32::default(),
21800 }
21801 }
21802}
21803
21804unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
21805unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
21806
21807#[repr(C)]
21809#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21810pub struct PhysicalDeviceShaderExpectAssumeFeatures {
21811 pub s_type: StructureType,
21812 pub next: *mut c_void,
21813 pub shader_expect_assume: Bool32,
21814}
21815
21816impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
21817 #[inline]
21818 fn default() -> Self {
21819 Self {
21820 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
21821 next: ptr::null_mut(),
21822 shader_expect_assume: Bool32::default(),
21823 }
21824 }
21825}
21826
21827unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
21828unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
21829
21830#[repr(C)]
21832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21833pub struct PhysicalDeviceShaderFloat16Int8Features {
21834 pub s_type: StructureType,
21835 pub next: *mut c_void,
21836 pub shader_float16: Bool32,
21837 pub shader_int8: Bool32,
21838}
21839
21840impl Default for PhysicalDeviceShaderFloat16Int8Features {
21841 #[inline]
21842 fn default() -> Self {
21843 Self {
21844 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
21845 next: ptr::null_mut(),
21846 shader_float16: Bool32::default(),
21847 shader_int8: Bool32::default(),
21848 }
21849 }
21850}
21851
21852unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
21853unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
21854
21855#[repr(C)]
21857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21858pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
21859 pub s_type: StructureType,
21860 pub next: *mut c_void,
21861 pub shader_float8: Bool32,
21862 pub shader_float8_cooperative_matrix: Bool32,
21863}
21864
21865impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
21866 #[inline]
21867 fn default() -> Self {
21868 Self {
21869 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
21870 next: ptr::null_mut(),
21871 shader_float8: Bool32::default(),
21872 shader_float8_cooperative_matrix: Bool32::default(),
21873 }
21874 }
21875}
21876
21877unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
21878unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
21879
21880#[repr(C)]
21882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21883pub struct PhysicalDeviceShaderFloatControls2Features {
21884 pub s_type: StructureType,
21885 pub next: *mut c_void,
21886 pub shader_float_controls2: Bool32,
21887}
21888
21889impl Default for PhysicalDeviceShaderFloatControls2Features {
21890 #[inline]
21891 fn default() -> Self {
21892 Self {
21893 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
21894 next: ptr::null_mut(),
21895 shader_float_controls2: Bool32::default(),
21896 }
21897 }
21898}
21899
21900unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
21901unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
21902
21903#[repr(C)]
21905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21906pub struct PhysicalDeviceShaderFmaFeaturesKHR {
21907 pub s_type: StructureType,
21908 pub next: *mut c_void,
21909 pub shader_fma_float16: Bool32,
21910 pub shader_fma_float32: Bool32,
21911 pub shader_fma_float64: Bool32,
21912}
21913
21914impl Default for PhysicalDeviceShaderFmaFeaturesKHR {
21915 #[inline]
21916 fn default() -> Self {
21917 Self {
21918 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
21919 next: ptr::null_mut(),
21920 shader_fma_float16: Bool32::default(),
21921 shader_fma_float32: Bool32::default(),
21922 shader_fma_float64: Bool32::default(),
21923 }
21924 }
21925}
21926
21927unsafe impl Send for PhysicalDeviceShaderFmaFeaturesKHR {}
21928unsafe impl Sync for PhysicalDeviceShaderFmaFeaturesKHR {}
21929
21930#[repr(C)]
21932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21933pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21934 pub s_type: StructureType,
21935 pub next: *mut c_void,
21936 pub shader_image_int64_atomics: Bool32,
21937 pub sparse_image_int64_atomics: Bool32,
21938}
21939
21940impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21941 #[inline]
21942 fn default() -> Self {
21943 Self {
21944 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
21945 next: ptr::null_mut(),
21946 shader_image_int64_atomics: Bool32::default(),
21947 sparse_image_int64_atomics: Bool32::default(),
21948 }
21949 }
21950}
21951
21952unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21953unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21954
21955#[repr(C)]
21957#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21958pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
21959 pub s_type: StructureType,
21960 pub next: *mut c_void,
21961 pub image_footprint: Bool32,
21962}
21963
21964impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
21965 #[inline]
21966 fn default() -> Self {
21967 Self {
21968 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
21969 next: ptr::null_mut(),
21970 image_footprint: Bool32::default(),
21971 }
21972 }
21973}
21974
21975unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21976unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21977
21978#[repr(C)]
21980#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21981pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
21982 pub s_type: StructureType,
21983 pub next: *mut c_void,
21984 pub shader_integer_dot_product: Bool32,
21985}
21986
21987impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
21988 #[inline]
21989 fn default() -> Self {
21990 Self {
21991 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
21992 next: ptr::null_mut(),
21993 shader_integer_dot_product: Bool32::default(),
21994 }
21995 }
21996}
21997
21998unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
21999unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
22000
22001#[repr(C)]
22003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22004pub struct PhysicalDeviceShaderIntegerDotProductProperties {
22005 pub s_type: StructureType,
22006 pub next: *mut c_void,
22007 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
22008 pub integer_dot_product_8bit_signed_accelerated: Bool32,
22009 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
22010 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
22011 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
22012 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
22013 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
22014 pub integer_dot_product_16bit_signed_accelerated: Bool32,
22015 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
22016 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
22017 pub integer_dot_product_32bit_signed_accelerated: Bool32,
22018 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
22019 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
22020 pub integer_dot_product_64bit_signed_accelerated: Bool32,
22021 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
22022 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
22023 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
22024 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
22025 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
22026 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
22027 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
22028 Bool32,
22029 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
22030 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
22031 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
22032 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
22033 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
22034 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
22035 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
22036 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
22037 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
22038}
22039
22040impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
22041 #[inline]
22042 fn default() -> Self {
22043 Self { s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, next: ptr::null_mut(), integer_dot_product_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_8bit_signed_accelerated: Bool32::default(), integer_dot_product_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_16bit_signed_accelerated: Bool32::default(), integer_dot_product_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_32bit_signed_accelerated: Bool32::default(), integer_dot_product_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_64bit_signed_accelerated: Bool32::default(), integer_dot_product_64bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32::default() }
22044 }
22045}
22046
22047unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
22048unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
22049
22050#[repr(C)]
22052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22053pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
22054 pub s_type: StructureType,
22055 pub next: *mut c_void,
22056 pub shader_integer_functions2: Bool32,
22057}
22058
22059impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
22060 #[inline]
22061 fn default() -> Self {
22062 Self {
22063 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
22064 next: ptr::null_mut(),
22065 shader_integer_functions2: Bool32::default(),
22066 }
22067 }
22068}
22069
22070unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
22071unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
22072
22073#[repr(C)]
22075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22076pub struct PhysicalDeviceShaderLongVectorFeaturesEXT {
22077 pub s_type: StructureType,
22078 pub next: *mut c_void,
22079 pub long_vector: Bool32,
22080}
22081
22082impl Default for PhysicalDeviceShaderLongVectorFeaturesEXT {
22083 #[inline]
22084 fn default() -> Self {
22085 Self {
22086 s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT,
22087 next: ptr::null_mut(),
22088 long_vector: Bool32::default(),
22089 }
22090 }
22091}
22092
22093unsafe impl Send for PhysicalDeviceShaderLongVectorFeaturesEXT {}
22094unsafe impl Sync for PhysicalDeviceShaderLongVectorFeaturesEXT {}
22095
22096#[repr(C)]
22098#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22099pub struct PhysicalDeviceShaderLongVectorPropertiesEXT {
22100 pub s_type: StructureType,
22101 pub next: *mut c_void,
22102 pub max_vector_components: u32,
22103}
22104
22105impl Default for PhysicalDeviceShaderLongVectorPropertiesEXT {
22106 #[inline]
22107 fn default() -> Self {
22108 Self {
22109 s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT,
22110 next: ptr::null_mut(),
22111 max_vector_components: u32::default(),
22112 }
22113 }
22114}
22115
22116unsafe impl Send for PhysicalDeviceShaderLongVectorPropertiesEXT {}
22117unsafe impl Sync for PhysicalDeviceShaderLongVectorPropertiesEXT {}
22118
22119#[repr(C)]
22121#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22122pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
22123 pub s_type: StructureType,
22124 pub next: *mut c_void,
22125 pub shader_maximal_reconvergence: Bool32,
22126}
22127
22128impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
22129 #[inline]
22130 fn default() -> Self {
22131 Self {
22132 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
22133 next: ptr::null_mut(),
22134 shader_maximal_reconvergence: Bool32::default(),
22135 }
22136 }
22137}
22138
22139unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
22140unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
22141
22142#[repr(C)]
22144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22145pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
22146 pub s_type: StructureType,
22147 pub next: *mut c_void,
22148 pub shader_module_identifier: Bool32,
22149}
22150
22151impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
22152 #[inline]
22153 fn default() -> Self {
22154 Self {
22155 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
22156 next: ptr::null_mut(),
22157 shader_module_identifier: Bool32::default(),
22158 }
22159 }
22160}
22161
22162unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
22163unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
22164
22165#[repr(C)]
22167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22168pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
22169 pub s_type: StructureType,
22170 pub next: *mut c_void,
22171 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
22172}
22173
22174impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
22175 #[inline]
22176 fn default() -> Self {
22177 Self {
22178 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
22179 next: ptr::null_mut(),
22180 shader_module_identifier_algorithm_uuid: ByteArray::default(),
22181 }
22182 }
22183}
22184
22185unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
22186unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
22187
22188#[repr(C)]
22190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22191pub struct PhysicalDeviceShaderObjectFeaturesEXT {
22192 pub s_type: StructureType,
22193 pub next: *mut c_void,
22194 pub shader_object: Bool32,
22195}
22196
22197impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
22198 #[inline]
22199 fn default() -> Self {
22200 Self {
22201 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
22202 next: ptr::null_mut(),
22203 shader_object: Bool32::default(),
22204 }
22205 }
22206}
22207
22208unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
22209unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
22210
22211#[repr(C)]
22213#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22214pub struct PhysicalDeviceShaderObjectPropertiesEXT {
22215 pub s_type: StructureType,
22216 pub next: *mut c_void,
22217 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
22218 pub shader_binary_version: u32,
22219}
22220
22221impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
22222 #[inline]
22223 fn default() -> Self {
22224 Self {
22225 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
22226 next: ptr::null_mut(),
22227 shader_binary_uuid: ByteArray::default(),
22228 shader_binary_version: u32::default(),
22229 }
22230 }
22231}
22232
22233unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
22234unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
22235
22236#[repr(C)]
22238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22239pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
22240 pub s_type: StructureType,
22241 pub next: *mut c_void,
22242 pub shader_quad_control: Bool32,
22243}
22244
22245impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
22246 #[inline]
22247 fn default() -> Self {
22248 Self {
22249 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
22250 next: ptr::null_mut(),
22251 shader_quad_control: Bool32::default(),
22252 }
22253 }
22254}
22255
22256unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
22257unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
22258
22259#[repr(C)]
22261#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22262pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
22263 pub s_type: StructureType,
22264 pub next: *mut c_void,
22265 pub shader_relaxed_extended_instruction: Bool32,
22266}
22267
22268impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
22269 #[inline]
22270 fn default() -> Self {
22271 Self {
22272 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
22273 next: ptr::null_mut(),
22274 shader_relaxed_extended_instruction: Bool32::default(),
22275 }
22276 }
22277}
22278
22279unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
22280unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
22281
22282#[repr(C)]
22284#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22285pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
22286 pub s_type: StructureType,
22287 pub next: *mut c_void,
22288 pub shader_replicated_composites: Bool32,
22289}
22290
22291impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
22292 #[inline]
22293 fn default() -> Self {
22294 Self {
22295 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
22296 next: ptr::null_mut(),
22297 shader_replicated_composites: Bool32::default(),
22298 }
22299 }
22300}
22301
22302unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
22303unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
22304
22305#[repr(C)]
22307#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22308pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
22309 pub s_type: StructureType,
22310 pub next: *mut c_void,
22311 pub shader_sm_builtins: Bool32,
22312}
22313
22314impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
22315 #[inline]
22316 fn default() -> Self {
22317 Self {
22318 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
22319 next: ptr::null_mut(),
22320 shader_sm_builtins: Bool32::default(),
22321 }
22322 }
22323}
22324
22325unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
22326unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
22327
22328#[repr(C)]
22330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22331pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
22332 pub s_type: StructureType,
22333 pub next: *mut c_void,
22334 pub shader_sm_count: u32,
22335 pub shader_warps_per_sm: u32,
22336}
22337
22338impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
22339 #[inline]
22340 fn default() -> Self {
22341 Self {
22342 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
22343 next: ptr::null_mut(),
22344 shader_sm_count: u32::default(),
22345 shader_warps_per_sm: u32::default(),
22346 }
22347 }
22348}
22349
22350unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
22351unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
22352
22353#[repr(C)]
22355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22356pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
22357 pub s_type: StructureType,
22358 pub next: *mut c_void,
22359 pub shader_subgroup_extended_types: Bool32,
22360}
22361
22362impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
22363 #[inline]
22364 fn default() -> Self {
22365 Self {
22366 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
22367 next: ptr::null_mut(),
22368 shader_subgroup_extended_types: Bool32::default(),
22369 }
22370 }
22371}
22372
22373unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
22374unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
22375
22376#[repr(C)]
22378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22379pub struct PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {
22380 pub s_type: StructureType,
22381 pub next: *mut c_void,
22382 pub shader_subgroup_partitioned: Bool32,
22383}
22384
22385impl Default for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {
22386 #[inline]
22387 fn default() -> Self {
22388 Self {
22389 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT,
22390 next: ptr::null_mut(),
22391 shader_subgroup_partitioned: Bool32::default(),
22392 }
22393 }
22394}
22395
22396unsafe impl Send for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {}
22397unsafe impl Sync for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {}
22398
22399#[repr(C)]
22401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22402pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
22403 pub s_type: StructureType,
22404 pub next: *mut c_void,
22405 pub shader_subgroup_rotate: Bool32,
22406 pub shader_subgroup_rotate_clustered: Bool32,
22407}
22408
22409impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
22410 #[inline]
22411 fn default() -> Self {
22412 Self {
22413 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
22414 next: ptr::null_mut(),
22415 shader_subgroup_rotate: Bool32::default(),
22416 shader_subgroup_rotate_clustered: Bool32::default(),
22417 }
22418 }
22419}
22420
22421unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
22422unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
22423
22424#[repr(C)]
22426#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22427pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
22428 pub s_type: StructureType,
22429 pub next: *mut c_void,
22430 pub shader_subgroup_uniform_control_flow: Bool32,
22431}
22432
22433impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
22434 #[inline]
22435 fn default() -> Self {
22436 Self {
22437 s_type:
22438 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
22439 next: ptr::null_mut(),
22440 shader_subgroup_uniform_control_flow: Bool32::default(),
22441 }
22442 }
22443}
22444
22445unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
22446unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
22447
22448#[repr(C)]
22450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22451pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
22452 pub s_type: StructureType,
22453 pub next: *mut c_void,
22454 pub shader_terminate_invocation: Bool32,
22455}
22456
22457impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
22458 #[inline]
22459 fn default() -> Self {
22460 Self {
22461 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
22462 next: ptr::null_mut(),
22463 shader_terminate_invocation: Bool32::default(),
22464 }
22465 }
22466}
22467
22468unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
22469unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
22470
22471#[repr(C)]
22473#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22474pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
22475 pub s_type: StructureType,
22476 pub next: *mut c_void,
22477 pub shader_tile_image_color_read_access: Bool32,
22478 pub shader_tile_image_depth_read_access: Bool32,
22479 pub shader_tile_image_stencil_read_access: Bool32,
22480}
22481
22482impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
22483 #[inline]
22484 fn default() -> Self {
22485 Self {
22486 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
22487 next: ptr::null_mut(),
22488 shader_tile_image_color_read_access: Bool32::default(),
22489 shader_tile_image_depth_read_access: Bool32::default(),
22490 shader_tile_image_stencil_read_access: Bool32::default(),
22491 }
22492 }
22493}
22494
22495unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
22496unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
22497
22498#[repr(C)]
22500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22501pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
22502 pub s_type: StructureType,
22503 pub next: *mut c_void,
22504 pub shader_tile_image_coherent_read_accelerated: Bool32,
22505 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
22506 pub shader_tile_image_read_from_helper_invocation: Bool32,
22507}
22508
22509impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
22510 #[inline]
22511 fn default() -> Self {
22512 Self {
22513 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
22514 next: ptr::null_mut(),
22515 shader_tile_image_coherent_read_accelerated: Bool32::default(),
22516 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
22517 shader_tile_image_read_from_helper_invocation: Bool32::default(),
22518 }
22519 }
22520}
22521
22522unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
22523unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
22524
22525#[repr(C)]
22527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22528pub struct PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
22529 pub s_type: StructureType,
22530 pub next: *mut c_void,
22531 pub shader_uniform_buffer_unsized_array: Bool32,
22532}
22533
22534impl Default for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
22535 #[inline]
22536 fn default() -> Self {
22537 Self {
22538 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT,
22539 next: ptr::null_mut(),
22540 shader_uniform_buffer_unsized_array: Bool32::default(),
22541 }
22542 }
22543}
22544
22545unsafe impl Send for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
22546unsafe impl Sync for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
22547
22548#[repr(C)]
22550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22551pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
22552 pub s_type: StructureType,
22553 pub next: *mut c_void,
22554 pub shader_untyped_pointers: Bool32,
22555}
22556
22557impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
22558 #[inline]
22559 fn default() -> Self {
22560 Self {
22561 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
22562 next: ptr::null_mut(),
22563 shader_untyped_pointers: Bool32::default(),
22564 }
22565 }
22566}
22567
22568unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
22569unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
22570
22571#[repr(C)]
22573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22574pub struct PhysicalDeviceShadingRateImageFeaturesNV {
22575 pub s_type: StructureType,
22576 pub next: *mut c_void,
22577 pub shading_rate_image: Bool32,
22578 pub shading_rate_coarse_sample_order: Bool32,
22579}
22580
22581impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
22582 #[inline]
22583 fn default() -> Self {
22584 Self {
22585 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
22586 next: ptr::null_mut(),
22587 shading_rate_image: Bool32::default(),
22588 shading_rate_coarse_sample_order: Bool32::default(),
22589 }
22590 }
22591}
22592
22593unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
22594unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
22595
22596#[repr(C)]
22598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22599pub struct PhysicalDeviceShadingRateImagePropertiesNV {
22600 pub s_type: StructureType,
22601 pub next: *mut c_void,
22602 pub shading_rate_texel_size: Extent2D,
22603 pub shading_rate_palette_size: u32,
22604 pub shading_rate_max_coarse_samples: u32,
22605}
22606
22607impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
22608 #[inline]
22609 fn default() -> Self {
22610 Self {
22611 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
22612 next: ptr::null_mut(),
22613 shading_rate_texel_size: Extent2D::default(),
22614 shading_rate_palette_size: u32::default(),
22615 shading_rate_max_coarse_samples: u32::default(),
22616 }
22617 }
22618}
22619
22620unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
22621unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
22622
22623#[repr(C)]
22625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22626pub struct PhysicalDeviceSparseImageFormatInfo2 {
22627 pub s_type: StructureType,
22628 pub next: *const c_void,
22629 pub format: Format,
22630 pub type_: ImageType,
22631 pub samples: SampleCountFlags,
22632 pub usage: ImageUsageFlags,
22633 pub tiling: ImageTiling,
22634}
22635
22636impl Default for PhysicalDeviceSparseImageFormatInfo2 {
22637 #[inline]
22638 fn default() -> Self {
22639 Self {
22640 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
22641 next: ptr::null(),
22642 format: Format::default(),
22643 type_: ImageType::default(),
22644 samples: SampleCountFlags::default(),
22645 usage: ImageUsageFlags::default(),
22646 tiling: ImageTiling::default(),
22647 }
22648 }
22649}
22650
22651unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
22652unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
22653
22654#[repr(C)]
22656#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22657pub struct PhysicalDeviceSparseProperties {
22658 pub residency_standard_2d_block_shape: Bool32,
22659 pub residency_standard_2d_multisample_block_shape: Bool32,
22660 pub residency_standard_3d_block_shape: Bool32,
22661 pub residency_aligned_mip_size: Bool32,
22662 pub residency_non_resident_strict: Bool32,
22663}
22664
22665#[repr(C)]
22667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22668pub struct PhysicalDeviceSubgroupProperties {
22669 pub s_type: StructureType,
22670 pub next: *mut c_void,
22671 pub subgroup_size: u32,
22672 pub supported_stages: ShaderStageFlags,
22673 pub supported_operations: SubgroupFeatureFlags,
22674 pub quad_operations_in_all_stages: Bool32,
22675}
22676
22677impl Default for PhysicalDeviceSubgroupProperties {
22678 #[inline]
22679 fn default() -> Self {
22680 Self {
22681 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
22682 next: ptr::null_mut(),
22683 subgroup_size: u32::default(),
22684 supported_stages: ShaderStageFlags::default(),
22685 supported_operations: SubgroupFeatureFlags::default(),
22686 quad_operations_in_all_stages: Bool32::default(),
22687 }
22688 }
22689}
22690
22691unsafe impl Send for PhysicalDeviceSubgroupProperties {}
22692unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
22693
22694#[repr(C)]
22696#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22697pub struct PhysicalDeviceSubgroupSizeControlFeatures {
22698 pub s_type: StructureType,
22699 pub next: *mut c_void,
22700 pub subgroup_size_control: Bool32,
22701 pub compute_full_subgroups: Bool32,
22702}
22703
22704impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
22705 #[inline]
22706 fn default() -> Self {
22707 Self {
22708 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
22709 next: ptr::null_mut(),
22710 subgroup_size_control: Bool32::default(),
22711 compute_full_subgroups: Bool32::default(),
22712 }
22713 }
22714}
22715
22716unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
22717unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
22718
22719#[repr(C)]
22721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22722pub struct PhysicalDeviceSubgroupSizeControlProperties {
22723 pub s_type: StructureType,
22724 pub next: *mut c_void,
22725 pub min_subgroup_size: u32,
22726 pub max_subgroup_size: u32,
22727 pub max_compute_workgroup_subgroups: u32,
22728 pub required_subgroup_size_stages: ShaderStageFlags,
22729}
22730
22731impl Default for PhysicalDeviceSubgroupSizeControlProperties {
22732 #[inline]
22733 fn default() -> Self {
22734 Self {
22735 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
22736 next: ptr::null_mut(),
22737 min_subgroup_size: u32::default(),
22738 max_subgroup_size: u32::default(),
22739 max_compute_workgroup_subgroups: u32::default(),
22740 required_subgroup_size_stages: ShaderStageFlags::default(),
22741 }
22742 }
22743}
22744
22745unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
22746unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
22747
22748#[repr(C)]
22750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22751pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
22752 pub s_type: StructureType,
22753 pub next: *mut c_void,
22754 pub subpass_merge_feedback: Bool32,
22755}
22756
22757impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
22758 #[inline]
22759 fn default() -> Self {
22760 Self {
22761 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
22762 next: ptr::null_mut(),
22763 subpass_merge_feedback: Bool32::default(),
22764 }
22765 }
22766}
22767
22768unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
22769unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
22770
22771#[repr(C)]
22773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22774pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
22775 pub s_type: StructureType,
22776 pub next: *mut c_void,
22777 pub subpass_shading: Bool32,
22778}
22779
22780impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
22781 #[inline]
22782 fn default() -> Self {
22783 Self {
22784 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
22785 next: ptr::null_mut(),
22786 subpass_shading: Bool32::default(),
22787 }
22788 }
22789}
22790
22791unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
22792unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
22793
22794#[repr(C)]
22796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22797pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
22798 pub s_type: StructureType,
22799 pub next: *mut c_void,
22800 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
22801}
22802
22803impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
22804 #[inline]
22805 fn default() -> Self {
22806 Self {
22807 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
22808 next: ptr::null_mut(),
22809 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
22810 }
22811 }
22812}
22813
22814unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
22815unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
22816
22817#[repr(C)]
22819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22820pub struct PhysicalDeviceSurfaceInfo2KHR {
22821 pub s_type: StructureType,
22822 pub next: *const c_void,
22823 pub surface: SurfaceKHR,
22824}
22825
22826impl Default for PhysicalDeviceSurfaceInfo2KHR {
22827 #[inline]
22828 fn default() -> Self {
22829 Self {
22830 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
22831 next: ptr::null(),
22832 surface: SurfaceKHR::default(),
22833 }
22834 }
22835}
22836
22837unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
22838unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
22839
22840#[repr(C)]
22842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22843pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
22844 pub s_type: StructureType,
22845 pub next: *mut c_void,
22846 pub swapchain_maintenance1: Bool32,
22847}
22848
22849impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
22850 #[inline]
22851 fn default() -> Self {
22852 Self {
22853 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
22854 next: ptr::null_mut(),
22855 swapchain_maintenance1: Bool32::default(),
22856 }
22857 }
22858}
22859
22860unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
22861unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
22862
22863#[repr(C)]
22865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22866pub struct PhysicalDeviceSynchronization2Features {
22867 pub s_type: StructureType,
22868 pub next: *mut c_void,
22869 pub synchronization2: Bool32,
22870}
22871
22872impl Default for PhysicalDeviceSynchronization2Features {
22873 #[inline]
22874 fn default() -> Self {
22875 Self {
22876 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
22877 next: ptr::null_mut(),
22878 synchronization2: Bool32::default(),
22879 }
22880 }
22881}
22882
22883unsafe impl Send for PhysicalDeviceSynchronization2Features {}
22884unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
22885
22886#[repr(C)]
22888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22889pub struct PhysicalDeviceTensorFeaturesARM {
22890 pub s_type: StructureType,
22891 pub next: *mut c_void,
22892 pub tensor_non_packed: Bool32,
22893 pub shader_tensor_access: Bool32,
22894 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
22895 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
22896 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
22897 pub tensors: Bool32,
22898}
22899
22900impl Default for PhysicalDeviceTensorFeaturesARM {
22901 #[inline]
22902 fn default() -> Self {
22903 Self {
22904 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
22905 next: ptr::null_mut(),
22906 tensor_non_packed: Bool32::default(),
22907 shader_tensor_access: Bool32::default(),
22908 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
22909 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
22910 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
22911 tensors: Bool32::default(),
22912 }
22913 }
22914}
22915
22916unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
22917unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
22918
22919#[repr(C)]
22921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22922pub struct PhysicalDeviceTensorPropertiesARM {
22923 pub s_type: StructureType,
22924 pub next: *mut c_void,
22925 pub max_tensor_dimension_count: u32,
22926 pub max_tensor_elements: u64,
22927 pub max_per_dimension_tensor_elements: u64,
22928 pub max_tensor_stride: i64,
22929 pub max_tensor_size: u64,
22930 pub max_tensor_shader_access_array_length: u32,
22931 pub max_tensor_shader_access_size: u32,
22932 pub max_descriptor_set_storage_tensors: u32,
22933 pub max_per_stage_descriptor_set_storage_tensors: u32,
22934 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
22935 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
22936 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
22937 pub shader_tensor_supported_stages: ShaderStageFlags,
22938}
22939
22940impl Default for PhysicalDeviceTensorPropertiesARM {
22941 #[inline]
22942 fn default() -> Self {
22943 Self {
22944 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
22945 next: ptr::null_mut(),
22946 max_tensor_dimension_count: u32::default(),
22947 max_tensor_elements: u64::default(),
22948 max_per_dimension_tensor_elements: u64::default(),
22949 max_tensor_stride: i64::default(),
22950 max_tensor_size: u64::default(),
22951 max_tensor_shader_access_array_length: u32::default(),
22952 max_tensor_shader_access_size: u32::default(),
22953 max_descriptor_set_storage_tensors: u32::default(),
22954 max_per_stage_descriptor_set_storage_tensors: u32::default(),
22955 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
22956 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
22957 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
22958 shader_tensor_supported_stages: ShaderStageFlags::default(),
22959 }
22960 }
22961}
22962
22963unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
22964unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
22965
22966#[repr(C)]
22968#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22969pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22970 pub s_type: StructureType,
22971 pub next: *mut c_void,
22972 pub texel_buffer_alignment: Bool32,
22973}
22974
22975impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22976 #[inline]
22977 fn default() -> Self {
22978 Self {
22979 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
22980 next: ptr::null_mut(),
22981 texel_buffer_alignment: Bool32::default(),
22982 }
22983 }
22984}
22985
22986unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22987unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22988
22989#[repr(C)]
22991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22992pub struct PhysicalDeviceTexelBufferAlignmentProperties {
22993 pub s_type: StructureType,
22994 pub next: *mut c_void,
22995 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
22996 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
22997 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
22998 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
22999}
23000
23001impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
23002 #[inline]
23003 fn default() -> Self {
23004 Self {
23005 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
23006 next: ptr::null_mut(),
23007 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
23008 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
23009 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
23010 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
23011 }
23012 }
23013}
23014
23015unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
23016unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
23017
23018#[repr(C)]
23020#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23021pub struct PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
23022 pub s_type: StructureType,
23023 pub next: *mut c_void,
23024 pub textureCompressionASTC_3D: Bool32,
23025}
23026
23027impl Default for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
23028 #[inline]
23029 fn default() -> Self {
23030 Self {
23031 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT,
23032 next: ptr::null_mut(),
23033 textureCompressionASTC_3D: Bool32::default(),
23034 }
23035 }
23036}
23037
23038unsafe impl Send for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
23039unsafe impl Sync for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
23040
23041#[repr(C)]
23043#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23044pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
23045 pub s_type: StructureType,
23046 pub next: *mut c_void,
23047 pub texture_compression_astc_hdr: Bool32,
23048}
23049
23050impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
23051 #[inline]
23052 fn default() -> Self {
23053 Self {
23054 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
23055 next: ptr::null_mut(),
23056 texture_compression_astc_hdr: Bool32::default(),
23057 }
23058 }
23059}
23060
23061unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
23062unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
23063
23064#[repr(C)]
23066#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23067pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
23068 pub s_type: StructureType,
23069 pub next: *mut c_void,
23070 pub tile_memory_heap: Bool32,
23071}
23072
23073impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
23074 #[inline]
23075 fn default() -> Self {
23076 Self {
23077 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
23078 next: ptr::null_mut(),
23079 tile_memory_heap: Bool32::default(),
23080 }
23081 }
23082}
23083
23084unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
23085unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
23086
23087#[repr(C)]
23089#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23090pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
23091 pub s_type: StructureType,
23092 pub next: *mut c_void,
23093 pub queue_submit_boundary: Bool32,
23094 pub tile_buffer_transfers: Bool32,
23095}
23096
23097impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
23098 #[inline]
23099 fn default() -> Self {
23100 Self {
23101 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
23102 next: ptr::null_mut(),
23103 queue_submit_boundary: Bool32::default(),
23104 tile_buffer_transfers: Bool32::default(),
23105 }
23106 }
23107}
23108
23109unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
23110unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
23111
23112#[repr(C)]
23114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23115pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
23116 pub s_type: StructureType,
23117 pub next: *mut c_void,
23118 pub tile_properties: Bool32,
23119}
23120
23121impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
23122 #[inline]
23123 fn default() -> Self {
23124 Self {
23125 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
23126 next: ptr::null_mut(),
23127 tile_properties: Bool32::default(),
23128 }
23129 }
23130}
23131
23132unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
23133unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
23134
23135#[repr(C)]
23137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23138pub struct PhysicalDeviceTileShadingFeaturesQCOM {
23139 pub s_type: StructureType,
23140 pub next: *mut c_void,
23141 pub tile_shading: Bool32,
23142 pub tile_shading_fragment_stage: Bool32,
23143 pub tile_shading_color_attachments: Bool32,
23144 pub tile_shading_depth_attachments: Bool32,
23145 pub tile_shading_stencil_attachments: Bool32,
23146 pub tile_shading_input_attachments: Bool32,
23147 pub tile_shading_sampled_attachments: Bool32,
23148 pub tile_shading_per_tile_draw: Bool32,
23149 pub tile_shading_per_tile_dispatch: Bool32,
23150 pub tile_shading_dispatch_tile: Bool32,
23151 pub tile_shading_apron: Bool32,
23152 pub tile_shading_anisotropic_apron: Bool32,
23153 pub tile_shading_atomic_ops: Bool32,
23154 pub tile_shading_image_processing: Bool32,
23155}
23156
23157impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
23158 #[inline]
23159 fn default() -> Self {
23160 Self {
23161 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
23162 next: ptr::null_mut(),
23163 tile_shading: Bool32::default(),
23164 tile_shading_fragment_stage: Bool32::default(),
23165 tile_shading_color_attachments: Bool32::default(),
23166 tile_shading_depth_attachments: Bool32::default(),
23167 tile_shading_stencil_attachments: Bool32::default(),
23168 tile_shading_input_attachments: Bool32::default(),
23169 tile_shading_sampled_attachments: Bool32::default(),
23170 tile_shading_per_tile_draw: Bool32::default(),
23171 tile_shading_per_tile_dispatch: Bool32::default(),
23172 tile_shading_dispatch_tile: Bool32::default(),
23173 tile_shading_apron: Bool32::default(),
23174 tile_shading_anisotropic_apron: Bool32::default(),
23175 tile_shading_atomic_ops: Bool32::default(),
23176 tile_shading_image_processing: Bool32::default(),
23177 }
23178 }
23179}
23180
23181unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
23182unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
23183
23184#[repr(C)]
23186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23187pub struct PhysicalDeviceTileShadingPropertiesQCOM {
23188 pub s_type: StructureType,
23189 pub next: *mut c_void,
23190 pub max_apron_size: u32,
23191 pub prefer_non_coherent: Bool32,
23192 pub tile_granularity: Extent2D,
23193 pub max_tile_shading_rate: Extent2D,
23194}
23195
23196impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
23197 #[inline]
23198 fn default() -> Self {
23199 Self {
23200 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
23201 next: ptr::null_mut(),
23202 max_apron_size: u32::default(),
23203 prefer_non_coherent: Bool32::default(),
23204 tile_granularity: Extent2D::default(),
23205 max_tile_shading_rate: Extent2D::default(),
23206 }
23207 }
23208}
23209
23210unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
23211unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
23212
23213#[repr(C)]
23215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23216pub struct PhysicalDeviceTimelineSemaphoreFeatures {
23217 pub s_type: StructureType,
23218 pub next: *mut c_void,
23219 pub timeline_semaphore: Bool32,
23220}
23221
23222impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
23223 #[inline]
23224 fn default() -> Self {
23225 Self {
23226 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
23227 next: ptr::null_mut(),
23228 timeline_semaphore: Bool32::default(),
23229 }
23230 }
23231}
23232
23233unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
23234unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
23235
23236#[repr(C)]
23238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23239pub struct PhysicalDeviceTimelineSemaphoreProperties {
23240 pub s_type: StructureType,
23241 pub next: *mut c_void,
23242 pub max_timeline_semaphore_value_difference: u64,
23243}
23244
23245impl Default for PhysicalDeviceTimelineSemaphoreProperties {
23246 #[inline]
23247 fn default() -> Self {
23248 Self {
23249 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
23250 next: ptr::null_mut(),
23251 max_timeline_semaphore_value_difference: u64::default(),
23252 }
23253 }
23254}
23255
23256unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
23257unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
23258
23259#[repr(C)]
23261#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23262pub struct PhysicalDeviceToolProperties {
23263 pub s_type: StructureType,
23264 pub next: *mut c_void,
23265 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
23266 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
23267 pub purposes: ToolPurposeFlags,
23268 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
23269 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
23270}
23271
23272impl Default for PhysicalDeviceToolProperties {
23273 #[inline]
23274 fn default() -> Self {
23275 Self {
23276 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
23277 next: ptr::null_mut(),
23278 name: StringArray::default(),
23279 version: StringArray::default(),
23280 purposes: ToolPurposeFlags::default(),
23281 description: StringArray::default(),
23282 layer: StringArray::default(),
23283 }
23284 }
23285}
23286
23287unsafe impl Send for PhysicalDeviceToolProperties {}
23288unsafe impl Sync for PhysicalDeviceToolProperties {}
23289
23290#[repr(C)]
23292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23293pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
23294 pub s_type: StructureType,
23295 pub next: *mut c_void,
23296 pub transform_feedback: Bool32,
23297 pub geometry_streams: Bool32,
23298}
23299
23300impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
23301 #[inline]
23302 fn default() -> Self {
23303 Self {
23304 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
23305 next: ptr::null_mut(),
23306 transform_feedback: Bool32::default(),
23307 geometry_streams: Bool32::default(),
23308 }
23309 }
23310}
23311
23312unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
23313unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
23314
23315#[repr(C)]
23317#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23318pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
23319 pub s_type: StructureType,
23320 pub next: *mut c_void,
23321 pub max_transform_feedback_streams: u32,
23322 pub max_transform_feedback_buffers: u32,
23323 pub max_transform_feedback_buffer_size: DeviceSize,
23324 pub max_transform_feedback_stream_data_size: u32,
23325 pub max_transform_feedback_buffer_data_size: u32,
23326 pub max_transform_feedback_buffer_data_stride: u32,
23327 pub transform_feedback_queries: Bool32,
23328 pub transform_feedback_streams_lines_triangles: Bool32,
23329 pub transform_feedback_rasterization_stream_select: Bool32,
23330 pub transform_feedback_draw: Bool32,
23331}
23332
23333impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
23334 #[inline]
23335 fn default() -> Self {
23336 Self {
23337 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
23338 next: ptr::null_mut(),
23339 max_transform_feedback_streams: u32::default(),
23340 max_transform_feedback_buffers: u32::default(),
23341 max_transform_feedback_buffer_size: DeviceSize::default(),
23342 max_transform_feedback_stream_data_size: u32::default(),
23343 max_transform_feedback_buffer_data_size: u32::default(),
23344 max_transform_feedback_buffer_data_stride: u32::default(),
23345 transform_feedback_queries: Bool32::default(),
23346 transform_feedback_streams_lines_triangles: Bool32::default(),
23347 transform_feedback_rasterization_stream_select: Bool32::default(),
23348 transform_feedback_draw: Bool32::default(),
23349 }
23350 }
23351}
23352
23353unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
23354unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
23355
23356#[repr(C)]
23358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23359pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
23360 pub s_type: StructureType,
23361 pub next: *mut c_void,
23362 pub unified_image_layouts: Bool32,
23363 pub unified_image_layouts_video: Bool32,
23364}
23365
23366impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
23367 #[inline]
23368 fn default() -> Self {
23369 Self {
23370 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
23371 next: ptr::null_mut(),
23372 unified_image_layouts: Bool32::default(),
23373 unified_image_layouts_video: Bool32::default(),
23374 }
23375 }
23376}
23377
23378unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
23379unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
23380
23381#[repr(C)]
23383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23384pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
23385 pub s_type: StructureType,
23386 pub next: *mut c_void,
23387 pub uniform_buffer_standard_layout: Bool32,
23388}
23389
23390impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
23391 #[inline]
23392 fn default() -> Self {
23393 Self {
23394 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
23395 next: ptr::null_mut(),
23396 uniform_buffer_standard_layout: Bool32::default(),
23397 }
23398 }
23399}
23400
23401unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
23402unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
23403
23404#[repr(C)]
23406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23407pub struct PhysicalDeviceVariablePointersFeatures {
23408 pub s_type: StructureType,
23409 pub next: *mut c_void,
23410 pub variable_pointers_storage_buffer: Bool32,
23411 pub variable_pointers: Bool32,
23412}
23413
23414impl Default for PhysicalDeviceVariablePointersFeatures {
23415 #[inline]
23416 fn default() -> Self {
23417 Self {
23418 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
23419 next: ptr::null_mut(),
23420 variable_pointers_storage_buffer: Bool32::default(),
23421 variable_pointers: Bool32::default(),
23422 }
23423 }
23424}
23425
23426unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
23427unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
23428
23429#[repr(C)]
23431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23432pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
23433 pub s_type: StructureType,
23434 pub next: *mut c_void,
23435 pub vertex_attribute_instance_rate_divisor: Bool32,
23436 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
23437}
23438
23439impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
23440 #[inline]
23441 fn default() -> Self {
23442 Self {
23443 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
23444 next: ptr::null_mut(),
23445 vertex_attribute_instance_rate_divisor: Bool32::default(),
23446 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
23447 }
23448 }
23449}
23450
23451unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
23452unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
23453
23454#[repr(C)]
23456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23457pub struct PhysicalDeviceVertexAttributeDivisorProperties {
23458 pub s_type: StructureType,
23459 pub next: *mut c_void,
23460 pub max_vertex_attrib_divisor: u32,
23461 pub supports_non_zero_first_instance: Bool32,
23462}
23463
23464impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
23465 #[inline]
23466 fn default() -> Self {
23467 Self {
23468 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
23469 next: ptr::null_mut(),
23470 max_vertex_attrib_divisor: u32::default(),
23471 supports_non_zero_first_instance: Bool32::default(),
23472 }
23473 }
23474}
23475
23476unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
23477unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
23478
23479#[repr(C)]
23481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23482pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
23483 pub s_type: StructureType,
23484 pub next: *mut c_void,
23485 pub max_vertex_attrib_divisor: u32,
23486}
23487
23488impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
23489 #[inline]
23490 fn default() -> Self {
23491 Self {
23492 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
23493 next: ptr::null_mut(),
23494 max_vertex_attrib_divisor: u32::default(),
23495 }
23496 }
23497}
23498
23499unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
23500unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
23501
23502#[repr(C)]
23504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23505pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
23506 pub s_type: StructureType,
23507 pub next: *mut c_void,
23508 pub vertex_attribute_robustness: Bool32,
23509}
23510
23511impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
23512 #[inline]
23513 fn default() -> Self {
23514 Self {
23515 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
23516 next: ptr::null_mut(),
23517 vertex_attribute_robustness: Bool32::default(),
23518 }
23519 }
23520}
23521
23522unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
23523unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
23524
23525#[repr(C)]
23527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23528pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
23529 pub s_type: StructureType,
23530 pub next: *mut c_void,
23531 pub vertex_input_dynamic_state: Bool32,
23532}
23533
23534impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
23535 #[inline]
23536 fn default() -> Self {
23537 Self {
23538 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
23539 next: ptr::null_mut(),
23540 vertex_input_dynamic_state: Bool32::default(),
23541 }
23542 }
23543}
23544
23545unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
23546unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
23547
23548#[repr(C)]
23550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23551pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
23552 pub s_type: StructureType,
23553 pub next: *mut c_void,
23554 pub video_decode_vp9: Bool32,
23555}
23556
23557impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
23558 #[inline]
23559 fn default() -> Self {
23560 Self {
23561 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
23562 next: ptr::null_mut(),
23563 video_decode_vp9: Bool32::default(),
23564 }
23565 }
23566}
23567
23568unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
23569unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
23570
23571#[repr(C)]
23573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23574pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
23575 pub s_type: StructureType,
23576 pub next: *mut c_void,
23577 pub video_encode_av1: Bool32,
23578}
23579
23580impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
23581 #[inline]
23582 fn default() -> Self {
23583 Self {
23584 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
23585 next: ptr::null_mut(),
23586 video_encode_av1: Bool32::default(),
23587 }
23588 }
23589}
23590
23591unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
23592unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
23593
23594#[repr(C)]
23596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23597pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
23598 pub s_type: StructureType,
23599 pub next: *mut c_void,
23600 pub video_encode_intra_refresh: Bool32,
23601}
23602
23603impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
23604 #[inline]
23605 fn default() -> Self {
23606 Self {
23607 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
23608 next: ptr::null_mut(),
23609 video_encode_intra_refresh: Bool32::default(),
23610 }
23611 }
23612}
23613
23614unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
23615unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
23616
23617#[repr(C)]
23619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23620pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
23621 pub s_type: StructureType,
23622 pub next: *const c_void,
23623 pub video_profile: *const VideoProfileInfoKHR,
23624 pub quality_level: u32,
23625}
23626
23627impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
23628 #[inline]
23629 fn default() -> Self {
23630 Self {
23631 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
23632 next: ptr::null(),
23633 video_profile: ptr::null(),
23634 quality_level: u32::default(),
23635 }
23636 }
23637}
23638
23639unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
23640unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
23641
23642#[repr(C)]
23644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23645pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
23646 pub s_type: StructureType,
23647 pub next: *mut c_void,
23648 pub video_encode_quantization_map: Bool32,
23649}
23650
23651impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
23652 #[inline]
23653 fn default() -> Self {
23654 Self {
23655 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
23656 next: ptr::null_mut(),
23657 video_encode_quantization_map: Bool32::default(),
23658 }
23659 }
23660}
23661
23662unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
23663unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
23664
23665#[repr(C)]
23667#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23668pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
23669 pub s_type: StructureType,
23670 pub next: *mut c_void,
23671 pub video_encode_rgb_conversion: Bool32,
23672}
23673
23674impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
23675 #[inline]
23676 fn default() -> Self {
23677 Self {
23678 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
23679 next: ptr::null_mut(),
23680 video_encode_rgb_conversion: Bool32::default(),
23681 }
23682 }
23683}
23684
23685unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
23686unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
23687
23688#[repr(C)]
23690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23691pub struct PhysicalDeviceVideoFormatInfoKHR {
23692 pub s_type: StructureType,
23693 pub next: *const c_void,
23694 pub image_usage: ImageUsageFlags,
23695}
23696
23697impl Default for PhysicalDeviceVideoFormatInfoKHR {
23698 #[inline]
23699 fn default() -> Self {
23700 Self {
23701 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
23702 next: ptr::null(),
23703 image_usage: ImageUsageFlags::default(),
23704 }
23705 }
23706}
23707
23708unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
23709unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
23710
23711#[repr(C)]
23713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23714pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
23715 pub s_type: StructureType,
23716 pub next: *mut c_void,
23717 pub video_maintenance1: Bool32,
23718}
23719
23720impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
23721 #[inline]
23722 fn default() -> Self {
23723 Self {
23724 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
23725 next: ptr::null_mut(),
23726 video_maintenance1: Bool32::default(),
23727 }
23728 }
23729}
23730
23731unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
23732unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
23733
23734#[repr(C)]
23736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23737pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
23738 pub s_type: StructureType,
23739 pub next: *mut c_void,
23740 pub video_maintenance2: Bool32,
23741}
23742
23743impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
23744 #[inline]
23745 fn default() -> Self {
23746 Self {
23747 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
23748 next: ptr::null_mut(),
23749 video_maintenance2: Bool32::default(),
23750 }
23751 }
23752}
23753
23754unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
23755unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
23756
23757#[repr(C)]
23759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23760pub struct PhysicalDeviceVulkan11Features {
23761 pub s_type: StructureType,
23762 pub next: *mut c_void,
23763 pub storage_buffer_16bit_access: Bool32,
23764 pub uniform_and_storage_buffer_16bit_access: Bool32,
23765 pub storage_push_constant16: Bool32,
23766 pub storage_input_output16: Bool32,
23767 pub multiview: Bool32,
23768 pub multiview_geometry_shader: Bool32,
23769 pub multiview_tessellation_shader: Bool32,
23770 pub variable_pointers_storage_buffer: Bool32,
23771 pub variable_pointers: Bool32,
23772 pub protected_memory: Bool32,
23773 pub sampler_ycbcr_conversion: Bool32,
23774 pub shader_draw_parameters: Bool32,
23775}
23776
23777impl Default for PhysicalDeviceVulkan11Features {
23778 #[inline]
23779 fn default() -> Self {
23780 Self {
23781 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
23782 next: ptr::null_mut(),
23783 storage_buffer_16bit_access: Bool32::default(),
23784 uniform_and_storage_buffer_16bit_access: Bool32::default(),
23785 storage_push_constant16: Bool32::default(),
23786 storage_input_output16: Bool32::default(),
23787 multiview: Bool32::default(),
23788 multiview_geometry_shader: Bool32::default(),
23789 multiview_tessellation_shader: Bool32::default(),
23790 variable_pointers_storage_buffer: Bool32::default(),
23791 variable_pointers: Bool32::default(),
23792 protected_memory: Bool32::default(),
23793 sampler_ycbcr_conversion: Bool32::default(),
23794 shader_draw_parameters: Bool32::default(),
23795 }
23796 }
23797}
23798
23799unsafe impl Send for PhysicalDeviceVulkan11Features {}
23800unsafe impl Sync for PhysicalDeviceVulkan11Features {}
23801
23802#[repr(C)]
23804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23805pub struct PhysicalDeviceVulkan11Properties {
23806 pub s_type: StructureType,
23807 pub next: *mut c_void,
23808 pub device_uuid: ByteArray<UUID_SIZE>,
23809 pub driver_uuid: ByteArray<UUID_SIZE>,
23810 pub device_luid: ByteArray<LUID_SIZE>,
23811 pub device_node_mask: u32,
23812 pub device_luid_valid: Bool32,
23813 pub subgroup_size: u32,
23814 pub subgroup_supported_stages: ShaderStageFlags,
23815 pub subgroup_supported_operations: SubgroupFeatureFlags,
23816 pub subgroup_quad_operations_in_all_stages: Bool32,
23817 pub point_clipping_behavior: PointClippingBehavior,
23818 pub max_multiview_view_count: u32,
23819 pub max_multiview_instance_index: u32,
23820 pub protected_no_fault: Bool32,
23821 pub max_per_set_descriptors: u32,
23822 pub max_memory_allocation_size: DeviceSize,
23823}
23824
23825impl Default for PhysicalDeviceVulkan11Properties {
23826 #[inline]
23827 fn default() -> Self {
23828 Self {
23829 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
23830 next: ptr::null_mut(),
23831 device_uuid: ByteArray::default(),
23832 driver_uuid: ByteArray::default(),
23833 device_luid: ByteArray::default(),
23834 device_node_mask: u32::default(),
23835 device_luid_valid: Bool32::default(),
23836 subgroup_size: u32::default(),
23837 subgroup_supported_stages: ShaderStageFlags::default(),
23838 subgroup_supported_operations: SubgroupFeatureFlags::default(),
23839 subgroup_quad_operations_in_all_stages: Bool32::default(),
23840 point_clipping_behavior: PointClippingBehavior::default(),
23841 max_multiview_view_count: u32::default(),
23842 max_multiview_instance_index: u32::default(),
23843 protected_no_fault: Bool32::default(),
23844 max_per_set_descriptors: u32::default(),
23845 max_memory_allocation_size: DeviceSize::default(),
23846 }
23847 }
23848}
23849
23850unsafe impl Send for PhysicalDeviceVulkan11Properties {}
23851unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
23852
23853#[repr(C)]
23855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23856pub struct PhysicalDeviceVulkan12Features {
23857 pub s_type: StructureType,
23858 pub next: *mut c_void,
23859 pub sampler_mirror_clamp_to_edge: Bool32,
23860 pub draw_indirect_count: Bool32,
23861 pub storage_buffer_8bit_access: Bool32,
23862 pub uniform_and_storage_buffer_8bit_access: Bool32,
23863 pub storage_push_constant8: Bool32,
23864 pub shader_buffer_int64_atomics: Bool32,
23865 pub shader_shared_int64_atomics: Bool32,
23866 pub shader_float16: Bool32,
23867 pub shader_int8: Bool32,
23868 pub descriptor_indexing: Bool32,
23869 pub shader_input_attachment_array_dynamic_indexing: Bool32,
23870 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
23871 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
23872 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
23873 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
23874 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
23875 pub shader_storage_image_array_non_uniform_indexing: Bool32,
23876 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
23877 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
23878 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
23879 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
23880 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
23881 pub descriptor_binding_storage_image_update_after_bind: Bool32,
23882 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
23883 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
23884 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
23885 pub descriptor_binding_update_unused_while_pending: Bool32,
23886 pub descriptor_binding_partially_bound: Bool32,
23887 pub descriptor_binding_variable_descriptor_count: Bool32,
23888 pub runtime_descriptor_array: Bool32,
23889 pub sampler_filter_minmax: Bool32,
23890 pub scalar_block_layout: Bool32,
23891 pub imageless_framebuffer: Bool32,
23892 pub uniform_buffer_standard_layout: Bool32,
23893 pub shader_subgroup_extended_types: Bool32,
23894 pub separate_depth_stencil_layouts: Bool32,
23895 pub host_query_reset: Bool32,
23896 pub timeline_semaphore: Bool32,
23897 pub buffer_device_address: Bool32,
23898 pub buffer_device_address_capture_replay: Bool32,
23899 pub buffer_device_address_multi_device: Bool32,
23900 pub vulkan_memory_model: Bool32,
23901 pub vulkan_memory_model_device_scope: Bool32,
23902 pub vulkan_memory_model_availability_visibility_chains: Bool32,
23903 pub shader_output_viewport_index: Bool32,
23904 pub shader_output_layer: Bool32,
23905 pub subgroup_broadcast_dynamic_id: Bool32,
23906}
23907
23908impl Default for PhysicalDeviceVulkan12Features {
23909 #[inline]
23910 fn default() -> Self {
23911 Self {
23912 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
23913 next: ptr::null_mut(),
23914 sampler_mirror_clamp_to_edge: Bool32::default(),
23915 draw_indirect_count: Bool32::default(),
23916 storage_buffer_8bit_access: Bool32::default(),
23917 uniform_and_storage_buffer_8bit_access: Bool32::default(),
23918 storage_push_constant8: Bool32::default(),
23919 shader_buffer_int64_atomics: Bool32::default(),
23920 shader_shared_int64_atomics: Bool32::default(),
23921 shader_float16: Bool32::default(),
23922 shader_int8: Bool32::default(),
23923 descriptor_indexing: Bool32::default(),
23924 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
23925 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
23926 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
23927 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
23928 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
23929 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
23930 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
23931 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
23932 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
23933 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
23934 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
23935 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
23936 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
23937 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
23938 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
23939 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
23940 descriptor_binding_update_unused_while_pending: Bool32::default(),
23941 descriptor_binding_partially_bound: Bool32::default(),
23942 descriptor_binding_variable_descriptor_count: Bool32::default(),
23943 runtime_descriptor_array: Bool32::default(),
23944 sampler_filter_minmax: Bool32::default(),
23945 scalar_block_layout: Bool32::default(),
23946 imageless_framebuffer: Bool32::default(),
23947 uniform_buffer_standard_layout: Bool32::default(),
23948 shader_subgroup_extended_types: Bool32::default(),
23949 separate_depth_stencil_layouts: Bool32::default(),
23950 host_query_reset: Bool32::default(),
23951 timeline_semaphore: Bool32::default(),
23952 buffer_device_address: Bool32::default(),
23953 buffer_device_address_capture_replay: Bool32::default(),
23954 buffer_device_address_multi_device: Bool32::default(),
23955 vulkan_memory_model: Bool32::default(),
23956 vulkan_memory_model_device_scope: Bool32::default(),
23957 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23958 shader_output_viewport_index: Bool32::default(),
23959 shader_output_layer: Bool32::default(),
23960 subgroup_broadcast_dynamic_id: Bool32::default(),
23961 }
23962 }
23963}
23964
23965unsafe impl Send for PhysicalDeviceVulkan12Features {}
23966unsafe impl Sync for PhysicalDeviceVulkan12Features {}
23967
23968#[repr(C)]
23970#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23971pub struct PhysicalDeviceVulkan12Properties {
23972 pub s_type: StructureType,
23973 pub next: *mut c_void,
23974 pub driver_id: DriverId,
23975 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
23976 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
23977 pub conformance_version: ConformanceVersion,
23978 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
23979 pub rounding_mode_independence: ShaderFloatControlsIndependence,
23980 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
23981 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
23982 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
23983 pub shader_denorm_preserve_float16: Bool32,
23984 pub shader_denorm_preserve_float32: Bool32,
23985 pub shader_denorm_preserve_float64: Bool32,
23986 pub shader_denorm_flush_to_zero_float16: Bool32,
23987 pub shader_denorm_flush_to_zero_float32: Bool32,
23988 pub shader_denorm_flush_to_zero_float64: Bool32,
23989 pub shader_rounding_mode_rte_float16: Bool32,
23990 pub shader_rounding_mode_rte_float32: Bool32,
23991 pub shader_rounding_mode_rte_float64: Bool32,
23992 pub shader_rounding_mode_rtz_float16: Bool32,
23993 pub shader_rounding_mode_rtz_float32: Bool32,
23994 pub shader_rounding_mode_rtz_float64: Bool32,
23995 pub max_update_after_bind_descriptors_in_all_pools: u32,
23996 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
23997 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
23998 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
23999 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
24000 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
24001 pub robust_buffer_access_update_after_bind: Bool32,
24002 pub quad_divergent_implicit_lod: Bool32,
24003 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
24004 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
24005 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
24006 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
24007 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
24008 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
24009 pub max_per_stage_update_after_bind_resources: u32,
24010 pub max_descriptor_set_update_after_bind_samplers: u32,
24011 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
24012 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
24013 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
24014 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
24015 pub max_descriptor_set_update_after_bind_sampled_images: u32,
24016 pub max_descriptor_set_update_after_bind_storage_images: u32,
24017 pub max_descriptor_set_update_after_bind_input_attachments: u32,
24018 pub supported_depth_resolve_modes: ResolveModeFlags,
24019 pub supported_stencil_resolve_modes: ResolveModeFlags,
24020 pub independent_resolve_none: Bool32,
24021 pub independent_resolve: Bool32,
24022 pub filter_minmax_single_component_formats: Bool32,
24023 pub filter_minmax_image_component_mapping: Bool32,
24024 pub max_timeline_semaphore_value_difference: u64,
24025 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
24026}
24027
24028impl Default for PhysicalDeviceVulkan12Properties {
24029 #[inline]
24030 fn default() -> Self {
24031 Self {
24032 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
24033 next: ptr::null_mut(),
24034 driver_id: DriverId::default(),
24035 driver_name: StringArray::default(),
24036 driver_info: StringArray::default(),
24037 conformance_version: ConformanceVersion::default(),
24038 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
24039 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
24040 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
24041 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
24042 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
24043 shader_denorm_preserve_float16: Bool32::default(),
24044 shader_denorm_preserve_float32: Bool32::default(),
24045 shader_denorm_preserve_float64: Bool32::default(),
24046 shader_denorm_flush_to_zero_float16: Bool32::default(),
24047 shader_denorm_flush_to_zero_float32: Bool32::default(),
24048 shader_denorm_flush_to_zero_float64: Bool32::default(),
24049 shader_rounding_mode_rte_float16: Bool32::default(),
24050 shader_rounding_mode_rte_float32: Bool32::default(),
24051 shader_rounding_mode_rte_float64: Bool32::default(),
24052 shader_rounding_mode_rtz_float16: Bool32::default(),
24053 shader_rounding_mode_rtz_float32: Bool32::default(),
24054 shader_rounding_mode_rtz_float64: Bool32::default(),
24055 max_update_after_bind_descriptors_in_all_pools: u32::default(),
24056 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
24057 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
24058 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
24059 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
24060 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
24061 robust_buffer_access_update_after_bind: Bool32::default(),
24062 quad_divergent_implicit_lod: Bool32::default(),
24063 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
24064 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
24065 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
24066 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
24067 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
24068 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
24069 max_per_stage_update_after_bind_resources: u32::default(),
24070 max_descriptor_set_update_after_bind_samplers: u32::default(),
24071 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
24072 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
24073 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
24074 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
24075 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
24076 max_descriptor_set_update_after_bind_storage_images: u32::default(),
24077 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
24078 supported_depth_resolve_modes: ResolveModeFlags::default(),
24079 supported_stencil_resolve_modes: ResolveModeFlags::default(),
24080 independent_resolve_none: Bool32::default(),
24081 independent_resolve: Bool32::default(),
24082 filter_minmax_single_component_formats: Bool32::default(),
24083 filter_minmax_image_component_mapping: Bool32::default(),
24084 max_timeline_semaphore_value_difference: u64::default(),
24085 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
24086 }
24087 }
24088}
24089
24090unsafe impl Send for PhysicalDeviceVulkan12Properties {}
24091unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
24092
24093#[repr(C)]
24095#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24096pub struct PhysicalDeviceVulkan13Features {
24097 pub s_type: StructureType,
24098 pub next: *mut c_void,
24099 pub robust_image_access: Bool32,
24100 pub inline_uniform_block: Bool32,
24101 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
24102 pub pipeline_creation_cache_control: Bool32,
24103 pub private_data: Bool32,
24104 pub shader_demote_to_helper_invocation: Bool32,
24105 pub shader_terminate_invocation: Bool32,
24106 pub subgroup_size_control: Bool32,
24107 pub compute_full_subgroups: Bool32,
24108 pub synchronization2: Bool32,
24109 pub texture_compression_astc_hdr: Bool32,
24110 pub shader_zero_initialize_workgroup_memory: Bool32,
24111 pub dynamic_rendering: Bool32,
24112 pub shader_integer_dot_product: Bool32,
24113 pub maintenance4: Bool32,
24114}
24115
24116impl Default for PhysicalDeviceVulkan13Features {
24117 #[inline]
24118 fn default() -> Self {
24119 Self {
24120 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
24121 next: ptr::null_mut(),
24122 robust_image_access: Bool32::default(),
24123 inline_uniform_block: Bool32::default(),
24124 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
24125 pipeline_creation_cache_control: Bool32::default(),
24126 private_data: Bool32::default(),
24127 shader_demote_to_helper_invocation: Bool32::default(),
24128 shader_terminate_invocation: Bool32::default(),
24129 subgroup_size_control: Bool32::default(),
24130 compute_full_subgroups: Bool32::default(),
24131 synchronization2: Bool32::default(),
24132 texture_compression_astc_hdr: Bool32::default(),
24133 shader_zero_initialize_workgroup_memory: Bool32::default(),
24134 dynamic_rendering: Bool32::default(),
24135 shader_integer_dot_product: Bool32::default(),
24136 maintenance4: Bool32::default(),
24137 }
24138 }
24139}
24140
24141unsafe impl Send for PhysicalDeviceVulkan13Features {}
24142unsafe impl Sync for PhysicalDeviceVulkan13Features {}
24143
24144#[repr(C)]
24146#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24147pub struct PhysicalDeviceVulkan13Properties {
24148 pub s_type: StructureType,
24149 pub next: *mut c_void,
24150 pub min_subgroup_size: u32,
24151 pub max_subgroup_size: u32,
24152 pub max_compute_workgroup_subgroups: u32,
24153 pub required_subgroup_size_stages: ShaderStageFlags,
24154 pub max_inline_uniform_block_size: u32,
24155 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
24156 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
24157 pub max_descriptor_set_inline_uniform_blocks: u32,
24158 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
24159 pub max_inline_uniform_total_size: u32,
24160 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
24161 pub integer_dot_product_8bit_signed_accelerated: Bool32,
24162 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
24163 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
24164 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
24165 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
24166 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
24167 pub integer_dot_product_16bit_signed_accelerated: Bool32,
24168 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
24169 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
24170 pub integer_dot_product_32bit_signed_accelerated: Bool32,
24171 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
24172 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
24173 pub integer_dot_product_64bit_signed_accelerated: Bool32,
24174 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
24175 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
24176 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
24177 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
24178 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
24179 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
24180 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
24181 Bool32,
24182 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
24183 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
24184 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
24185 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
24186 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
24187 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
24188 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
24189 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
24190 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
24191 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
24192 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
24193 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
24194 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
24195 pub max_buffer_size: DeviceSize,
24196}
24197
24198impl Default for PhysicalDeviceVulkan13Properties {
24199 #[inline]
24200 fn default() -> Self {
24201 Self { s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES, next: ptr::null_mut(), min_subgroup_size: u32::default(), max_subgroup_size: u32::default(), max_compute_workgroup_subgroups: u32::default(), required_subgroup_size_stages: ShaderStageFlags::default(), max_inline_uniform_block_size: u32::default(), max_per_stage_descriptor_inline_uniform_blocks: u32::default(), max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(), max_descriptor_set_inline_uniform_blocks: u32::default(), max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(), max_inline_uniform_total_size: u32::default(), integer_dot_product_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_8bit_signed_accelerated: Bool32::default(), integer_dot_product_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_16bit_signed_accelerated: Bool32::default(), integer_dot_product_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_32bit_signed_accelerated: Bool32::default(), integer_dot_product_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_64bit_signed_accelerated: Bool32::default(), integer_dot_product_64bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32::default(), integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32::default(), storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(), storage_texel_buffer_offset_single_texel_alignment: Bool32::default(), uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(), uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(), max_buffer_size: DeviceSize::default() }
24202 }
24203}
24204
24205unsafe impl Send for PhysicalDeviceVulkan13Properties {}
24206unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
24207
24208#[repr(C)]
24210#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24211pub struct PhysicalDeviceVulkan14Features {
24212 pub s_type: StructureType,
24213 pub next: *mut c_void,
24214 pub global_priority_query: Bool32,
24215 pub shader_subgroup_rotate: Bool32,
24216 pub shader_subgroup_rotate_clustered: Bool32,
24217 pub shader_float_controls2: Bool32,
24218 pub shader_expect_assume: Bool32,
24219 pub rectangular_lines: Bool32,
24220 pub bresenham_lines: Bool32,
24221 pub smooth_lines: Bool32,
24222 pub stippled_rectangular_lines: Bool32,
24223 pub stippled_bresenham_lines: Bool32,
24224 pub stippled_smooth_lines: Bool32,
24225 pub vertex_attribute_instance_rate_divisor: Bool32,
24226 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
24227 pub index_type_uint8: Bool32,
24228 pub dynamic_rendering_local_read: Bool32,
24229 pub maintenance5: Bool32,
24230 pub maintenance6: Bool32,
24231 pub pipeline_protected_access: Bool32,
24232 pub pipeline_robustness: Bool32,
24233 pub host_image_copy: Bool32,
24234 pub push_descriptor: Bool32,
24235}
24236
24237impl Default for PhysicalDeviceVulkan14Features {
24238 #[inline]
24239 fn default() -> Self {
24240 Self {
24241 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
24242 next: ptr::null_mut(),
24243 global_priority_query: Bool32::default(),
24244 shader_subgroup_rotate: Bool32::default(),
24245 shader_subgroup_rotate_clustered: Bool32::default(),
24246 shader_float_controls2: Bool32::default(),
24247 shader_expect_assume: Bool32::default(),
24248 rectangular_lines: Bool32::default(),
24249 bresenham_lines: Bool32::default(),
24250 smooth_lines: Bool32::default(),
24251 stippled_rectangular_lines: Bool32::default(),
24252 stippled_bresenham_lines: Bool32::default(),
24253 stippled_smooth_lines: Bool32::default(),
24254 vertex_attribute_instance_rate_divisor: Bool32::default(),
24255 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
24256 index_type_uint8: Bool32::default(),
24257 dynamic_rendering_local_read: Bool32::default(),
24258 maintenance5: Bool32::default(),
24259 maintenance6: Bool32::default(),
24260 pipeline_protected_access: Bool32::default(),
24261 pipeline_robustness: Bool32::default(),
24262 host_image_copy: Bool32::default(),
24263 push_descriptor: Bool32::default(),
24264 }
24265 }
24266}
24267
24268unsafe impl Send for PhysicalDeviceVulkan14Features {}
24269unsafe impl Sync for PhysicalDeviceVulkan14Features {}
24270
24271#[repr(C)]
24273#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24274pub struct PhysicalDeviceVulkan14Properties {
24275 pub s_type: StructureType,
24276 pub next: *mut c_void,
24277 pub line_sub_pixel_precision_bits: u32,
24278 pub max_vertex_attrib_divisor: u32,
24279 pub supports_non_zero_first_instance: Bool32,
24280 pub max_push_descriptors: u32,
24281 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
24282 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
24283 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
24284 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
24285 pub depth_stencil_swizzle_one_support: Bool32,
24286 pub polygon_mode_point_size: Bool32,
24287 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
24288 pub non_strict_wide_lines_use_parallelogram: Bool32,
24289 pub block_texel_view_compatible_multiple_layers: Bool32,
24290 pub max_combined_image_sampler_descriptor_count: u32,
24291 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
24292 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
24293 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
24294 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
24295 pub default_robustness_images: PipelineRobustnessImageBehavior,
24296 pub copy_src_layout_count: u32,
24297 pub copy_src_layouts: *mut ImageLayout,
24298 pub copy_dst_layout_count: u32,
24299 pub copy_dst_layouts: *mut ImageLayout,
24300 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
24301 pub identical_memory_type_requirements: Bool32,
24302}
24303
24304impl Default for PhysicalDeviceVulkan14Properties {
24305 #[inline]
24306 fn default() -> Self {
24307 Self {
24308 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
24309 next: ptr::null_mut(),
24310 line_sub_pixel_precision_bits: u32::default(),
24311 max_vertex_attrib_divisor: u32::default(),
24312 supports_non_zero_first_instance: Bool32::default(),
24313 max_push_descriptors: u32::default(),
24314 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
24315 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
24316 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
24317 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
24318 depth_stencil_swizzle_one_support: Bool32::default(),
24319 polygon_mode_point_size: Bool32::default(),
24320 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
24321 non_strict_wide_lines_use_parallelogram: Bool32::default(),
24322 block_texel_view_compatible_multiple_layers: Bool32::default(),
24323 max_combined_image_sampler_descriptor_count: u32::default(),
24324 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
24325 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
24326 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
24327 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
24328 default_robustness_images: PipelineRobustnessImageBehavior::default(),
24329 copy_src_layout_count: u32::default(),
24330 copy_src_layouts: ptr::null_mut(),
24331 copy_dst_layout_count: u32::default(),
24332 copy_dst_layouts: ptr::null_mut(),
24333 optimal_tiling_layout_uuid: ByteArray::default(),
24334 identical_memory_type_requirements: Bool32::default(),
24335 }
24336 }
24337}
24338
24339unsafe impl Send for PhysicalDeviceVulkan14Properties {}
24340unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
24341
24342#[repr(C)]
24344#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24345pub struct PhysicalDeviceVulkanMemoryModelFeatures {
24346 pub s_type: StructureType,
24347 pub next: *mut c_void,
24348 pub vulkan_memory_model: Bool32,
24349 pub vulkan_memory_model_device_scope: Bool32,
24350 pub vulkan_memory_model_availability_visibility_chains: Bool32,
24351}
24352
24353impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
24354 #[inline]
24355 fn default() -> Self {
24356 Self {
24357 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
24358 next: ptr::null_mut(),
24359 vulkan_memory_model: Bool32::default(),
24360 vulkan_memory_model_device_scope: Bool32::default(),
24361 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
24362 }
24363 }
24364}
24365
24366unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
24367unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
24368
24369#[repr(C)]
24371#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24372pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
24373 pub s_type: StructureType,
24374 pub next: *mut c_void,
24375 pub workgroup_memory_explicit_layout: Bool32,
24376 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
24377 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
24378 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
24379}
24380
24381impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
24382 #[inline]
24383 fn default() -> Self {
24384 Self {
24385 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
24386 next: ptr::null_mut(),
24387 workgroup_memory_explicit_layout: Bool32::default(),
24388 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
24389 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
24390 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
24391 }
24392 }
24393}
24394
24395unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
24396unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
24397
24398#[repr(C)]
24400#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24401pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
24402 pub s_type: StructureType,
24403 pub next: *mut c_void,
24404 pub ycbcr2plane444_formats: Bool32,
24405}
24406
24407impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
24408 #[inline]
24409 fn default() -> Self {
24410 Self {
24411 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
24412 next: ptr::null_mut(),
24413 ycbcr2plane444_formats: Bool32::default(),
24414 }
24415 }
24416}
24417
24418unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
24419unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
24420
24421#[repr(C)]
24423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24424pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
24425 pub s_type: StructureType,
24426 pub next: *mut c_void,
24427 pub ycbcr_degamma: Bool32,
24428}
24429
24430impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
24431 #[inline]
24432 fn default() -> Self {
24433 Self {
24434 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
24435 next: ptr::null_mut(),
24436 ycbcr_degamma: Bool32::default(),
24437 }
24438 }
24439}
24440
24441unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
24442unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
24443
24444#[repr(C)]
24446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24447pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
24448 pub s_type: StructureType,
24449 pub next: *mut c_void,
24450 pub ycbcr_image_arrays: Bool32,
24451}
24452
24453impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
24454 #[inline]
24455 fn default() -> Self {
24456 Self {
24457 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
24458 next: ptr::null_mut(),
24459 ycbcr_image_arrays: Bool32::default(),
24460 }
24461 }
24462}
24463
24464unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
24465unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
24466
24467#[repr(C)]
24469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24470pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
24471 pub s_type: StructureType,
24472 pub next: *mut c_void,
24473 pub zero_initialize_device_memory: Bool32,
24474}
24475
24476impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
24477 #[inline]
24478 fn default() -> Self {
24479 Self {
24480 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
24481 next: ptr::null_mut(),
24482 zero_initialize_device_memory: Bool32::default(),
24483 }
24484 }
24485}
24486
24487unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
24488unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
24489
24490#[repr(C)]
24492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24493pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
24494 pub s_type: StructureType,
24495 pub next: *mut c_void,
24496 pub shader_zero_initialize_workgroup_memory: Bool32,
24497}
24498
24499impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
24500 #[inline]
24501 fn default() -> Self {
24502 Self {
24503 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
24504 next: ptr::null_mut(),
24505 shader_zero_initialize_workgroup_memory: Bool32::default(),
24506 }
24507 }
24508}
24509
24510unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
24511unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
24512
24513#[repr(C)]
24515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24516pub struct PipelineBinaryCreateInfoKHR {
24517 pub s_type: StructureType,
24518 pub next: *const c_void,
24519 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
24520 pub pipeline: Pipeline,
24521 pub pipeline_create_info: *const PipelineCreateInfoKHR,
24522}
24523
24524impl Default for PipelineBinaryCreateInfoKHR {
24525 #[inline]
24526 fn default() -> Self {
24527 Self {
24528 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
24529 next: ptr::null(),
24530 keys_and_data_info: ptr::null(),
24531 pipeline: Pipeline::default(),
24532 pipeline_create_info: ptr::null(),
24533 }
24534 }
24535}
24536
24537unsafe impl Send for PipelineBinaryCreateInfoKHR {}
24538unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
24539
24540#[repr(C)]
24542#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24543pub struct PipelineBinaryDataInfoKHR {
24544 pub s_type: StructureType,
24545 pub next: *mut c_void,
24546 pub pipeline_binary: PipelineBinaryKHR,
24547}
24548
24549impl Default for PipelineBinaryDataInfoKHR {
24550 #[inline]
24551 fn default() -> Self {
24552 Self {
24553 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
24554 next: ptr::null_mut(),
24555 pipeline_binary: PipelineBinaryKHR::default(),
24556 }
24557 }
24558}
24559
24560unsafe impl Send for PipelineBinaryDataInfoKHR {}
24561unsafe impl Sync for PipelineBinaryDataInfoKHR {}
24562
24563#[repr(C)]
24565#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24566pub struct PipelineBinaryDataKHR {
24567 pub data_size: usize,
24568 pub data: *mut c_void,
24569}
24570
24571impl Default for PipelineBinaryDataKHR {
24572 #[inline]
24573 fn default() -> Self {
24574 Self {
24575 data_size: usize::default(),
24576 data: ptr::null_mut(),
24577 }
24578 }
24579}
24580
24581unsafe impl Send for PipelineBinaryDataKHR {}
24582unsafe impl Sync for PipelineBinaryDataKHR {}
24583
24584#[repr(C)]
24586#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24587pub struct PipelineBinaryHandlesInfoKHR {
24588 pub s_type: StructureType,
24589 pub next: *const c_void,
24590 pub pipeline_binary_count: u32,
24591 pub pipeline_binaries: *mut PipelineBinaryKHR,
24592}
24593
24594impl Default for PipelineBinaryHandlesInfoKHR {
24595 #[inline]
24596 fn default() -> Self {
24597 Self {
24598 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
24599 next: ptr::null(),
24600 pipeline_binary_count: u32::default(),
24601 pipeline_binaries: ptr::null_mut(),
24602 }
24603 }
24604}
24605
24606unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
24607unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
24608
24609#[repr(C)]
24611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24612pub struct PipelineBinaryInfoKHR {
24613 pub s_type: StructureType,
24614 pub next: *const c_void,
24615 pub binary_count: u32,
24616 pub pipeline_binaries: *const PipelineBinaryKHR,
24617}
24618
24619impl Default for PipelineBinaryInfoKHR {
24620 #[inline]
24621 fn default() -> Self {
24622 Self {
24623 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
24624 next: ptr::null(),
24625 binary_count: u32::default(),
24626 pipeline_binaries: ptr::null(),
24627 }
24628 }
24629}
24630
24631unsafe impl Send for PipelineBinaryInfoKHR {}
24632unsafe impl Sync for PipelineBinaryInfoKHR {}
24633
24634#[repr(C)]
24636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24637pub struct PipelineBinaryKeyKHR {
24638 pub s_type: StructureType,
24639 pub next: *mut c_void,
24640 pub key_size: u32,
24641 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
24642}
24643
24644impl Default for PipelineBinaryKeyKHR {
24645 #[inline]
24646 fn default() -> Self {
24647 Self {
24648 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
24649 next: ptr::null_mut(),
24650 key_size: u32::default(),
24651 key: ByteArray::default(),
24652 }
24653 }
24654}
24655
24656unsafe impl Send for PipelineBinaryKeyKHR {}
24657unsafe impl Sync for PipelineBinaryKeyKHR {}
24658
24659#[repr(C)]
24661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24662pub struct PipelineBinaryKeysAndDataKHR {
24663 pub binary_count: u32,
24664 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
24665 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
24666}
24667
24668impl Default for PipelineBinaryKeysAndDataKHR {
24669 #[inline]
24670 fn default() -> Self {
24671 Self {
24672 binary_count: u32::default(),
24673 pipeline_binary_keys: ptr::null(),
24674 pipeline_binary_data: ptr::null(),
24675 }
24676 }
24677}
24678
24679unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
24680unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
24681
24682#[repr(C)]
24684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24685pub struct PipelineCacheCreateInfo {
24686 pub s_type: StructureType,
24687 pub next: *const c_void,
24688 pub flags: PipelineCacheCreateFlags,
24689 pub initial_data_size: usize,
24690 pub initial_data: *const c_void,
24691}
24692
24693impl Default for PipelineCacheCreateInfo {
24694 #[inline]
24695 fn default() -> Self {
24696 Self {
24697 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
24698 next: ptr::null(),
24699 flags: PipelineCacheCreateFlags::default(),
24700 initial_data_size: usize::default(),
24701 initial_data: ptr::null(),
24702 }
24703 }
24704}
24705
24706unsafe impl Send for PipelineCacheCreateInfo {}
24707unsafe impl Sync for PipelineCacheCreateInfo {}
24708
24709#[repr(C)]
24711#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24712pub struct PipelineCacheHeaderVersionDataGraphQCOM {
24713 pub header_size: u32,
24714 pub header_version: PipelineCacheHeaderVersion,
24715 pub cache_type: DataGraphModelCacheTypeQCOM,
24716 pub cache_version: u32,
24717 pub toolchain_version: [u32; DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM as usize],
24718}
24719
24720#[repr(C)]
24722#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24723pub struct PipelineCacheHeaderVersionOne {
24724 pub header_size: u32,
24725 pub header_version: PipelineCacheHeaderVersion,
24726 pub vendor_id: u32,
24727 pub device_id: u32,
24728 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
24729}
24730
24731#[repr(C)]
24733#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24734pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
24735 pub s_type: StructureType,
24736 pub next: *const c_void,
24737 pub src_premultiplied: Bool32,
24738 pub dst_premultiplied: Bool32,
24739 pub blend_overlap: BlendOverlapEXT,
24740}
24741
24742impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
24743 #[inline]
24744 fn default() -> Self {
24745 Self {
24746 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
24747 next: ptr::null(),
24748 src_premultiplied: Bool32::default(),
24749 dst_premultiplied: Bool32::default(),
24750 blend_overlap: BlendOverlapEXT::default(),
24751 }
24752 }
24753}
24754
24755unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
24756unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
24757
24758#[repr(C)]
24760#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24761pub struct PipelineColorBlendAttachmentState {
24762 pub blend_enable: Bool32,
24763 pub src_color_blend_factor: BlendFactor,
24764 pub dst_color_blend_factor: BlendFactor,
24765 pub color_blend_op: BlendOp,
24766 pub src_alpha_blend_factor: BlendFactor,
24767 pub dst_alpha_blend_factor: BlendFactor,
24768 pub alpha_blend_op: BlendOp,
24769 pub color_write_mask: ColorComponentFlags,
24770}
24771
24772#[repr(C)]
24774#[derive(Copy, Clone, Debug, PartialEq)]
24775pub struct PipelineColorBlendStateCreateInfo {
24776 pub s_type: StructureType,
24777 pub next: *const c_void,
24778 pub flags: PipelineColorBlendStateCreateFlags,
24779 pub logic_op_enable: Bool32,
24780 pub logic_op: LogicOp,
24781 pub attachment_count: u32,
24782 pub attachments: *const PipelineColorBlendAttachmentState,
24783 pub blend_constants: [f32; 4],
24784}
24785
24786impl Default for PipelineColorBlendStateCreateInfo {
24787 #[inline]
24788 fn default() -> Self {
24789 Self {
24790 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
24791 next: ptr::null(),
24792 flags: PipelineColorBlendStateCreateFlags::default(),
24793 logic_op_enable: Bool32::default(),
24794 logic_op: LogicOp::default(),
24795 attachment_count: u32::default(),
24796 attachments: ptr::null(),
24797 blend_constants: [f32::default(); 4],
24798 }
24799 }
24800}
24801
24802unsafe impl Send for PipelineColorBlendStateCreateInfo {}
24803unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
24804
24805#[repr(C)]
24807#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24808pub struct PipelineColorWriteCreateInfoEXT {
24809 pub s_type: StructureType,
24810 pub next: *const c_void,
24811 pub attachment_count: u32,
24812 pub color_write_enables: *const Bool32,
24813}
24814
24815impl Default for PipelineColorWriteCreateInfoEXT {
24816 #[inline]
24817 fn default() -> Self {
24818 Self {
24819 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
24820 next: ptr::null(),
24821 attachment_count: u32::default(),
24822 color_write_enables: ptr::null(),
24823 }
24824 }
24825}
24826
24827unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
24828unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
24829
24830#[repr(C)]
24832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24833pub struct PipelineCompilerControlCreateInfoAMD {
24834 pub s_type: StructureType,
24835 pub next: *const c_void,
24836 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
24837}
24838
24839impl Default for PipelineCompilerControlCreateInfoAMD {
24840 #[inline]
24841 fn default() -> Self {
24842 Self {
24843 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
24844 next: ptr::null(),
24845 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
24846 }
24847 }
24848}
24849
24850unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
24851unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
24852
24853#[repr(C)]
24855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24856pub struct PipelineCoverageModulationStateCreateInfoNV {
24857 pub s_type: StructureType,
24858 pub next: *const c_void,
24859 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
24860 pub coverage_modulation_mode: CoverageModulationModeNV,
24861 pub coverage_modulation_table_enable: Bool32,
24862 pub coverage_modulation_table_count: u32,
24863 pub coverage_modulation_table: *const f32,
24864}
24865
24866impl Default for PipelineCoverageModulationStateCreateInfoNV {
24867 #[inline]
24868 fn default() -> Self {
24869 Self {
24870 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
24871 next: ptr::null(),
24872 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
24873 coverage_modulation_mode: CoverageModulationModeNV::default(),
24874 coverage_modulation_table_enable: Bool32::default(),
24875 coverage_modulation_table_count: u32::default(),
24876 coverage_modulation_table: ptr::null(),
24877 }
24878 }
24879}
24880
24881unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
24882unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
24883
24884#[repr(C)]
24886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24887pub struct PipelineCoverageReductionStateCreateInfoNV {
24888 pub s_type: StructureType,
24889 pub next: *const c_void,
24890 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
24891 pub coverage_reduction_mode: CoverageReductionModeNV,
24892}
24893
24894impl Default for PipelineCoverageReductionStateCreateInfoNV {
24895 #[inline]
24896 fn default() -> Self {
24897 Self {
24898 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
24899 next: ptr::null(),
24900 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
24901 coverage_reduction_mode: CoverageReductionModeNV::default(),
24902 }
24903 }
24904}
24905
24906unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
24907unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
24908
24909#[repr(C)]
24911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24912pub struct PipelineCoverageToColorStateCreateInfoNV {
24913 pub s_type: StructureType,
24914 pub next: *const c_void,
24915 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
24916 pub coverage_to_color_enable: Bool32,
24917 pub coverage_to_color_location: u32,
24918}
24919
24920impl Default for PipelineCoverageToColorStateCreateInfoNV {
24921 #[inline]
24922 fn default() -> Self {
24923 Self {
24924 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
24925 next: ptr::null(),
24926 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
24927 coverage_to_color_enable: Bool32::default(),
24928 coverage_to_color_location: u32::default(),
24929 }
24930 }
24931}
24932
24933unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
24934unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
24935
24936#[repr(C)]
24938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24939pub struct PipelineCreateFlags2CreateInfo {
24940 pub s_type: StructureType,
24941 pub next: *const c_void,
24942 pub flags: PipelineCreateFlags2,
24943}
24944
24945impl Default for PipelineCreateFlags2CreateInfo {
24946 #[inline]
24947 fn default() -> Self {
24948 Self {
24949 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
24950 next: ptr::null(),
24951 flags: PipelineCreateFlags2::default(),
24952 }
24953 }
24954}
24955
24956unsafe impl Send for PipelineCreateFlags2CreateInfo {}
24957unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
24958
24959#[repr(C)]
24961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24962pub struct PipelineCreateInfoKHR {
24963 pub s_type: StructureType,
24964 pub next: *mut c_void,
24965}
24966
24967impl Default for PipelineCreateInfoKHR {
24968 #[inline]
24969 fn default() -> Self {
24970 Self {
24971 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
24972 next: ptr::null_mut(),
24973 }
24974 }
24975}
24976
24977unsafe impl Send for PipelineCreateInfoKHR {}
24978unsafe impl Sync for PipelineCreateInfoKHR {}
24979
24980#[repr(C)]
24982#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24983pub struct PipelineCreationFeedback {
24984 pub flags: PipelineCreationFeedbackFlags,
24985 pub duration: u64,
24986}
24987
24988#[repr(C)]
24990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24991pub struct PipelineCreationFeedbackCreateInfo {
24992 pub s_type: StructureType,
24993 pub next: *const c_void,
24994 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
24995 pub pipeline_stage_creation_feedback_count: u32,
24996 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
24997}
24998
24999impl Default for PipelineCreationFeedbackCreateInfo {
25000 #[inline]
25001 fn default() -> Self {
25002 Self {
25003 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
25004 next: ptr::null(),
25005 pipeline_creation_feedback: ptr::null_mut(),
25006 pipeline_stage_creation_feedback_count: u32::default(),
25007 pipeline_stage_creation_feedbacks: ptr::null_mut(),
25008 }
25009 }
25010}
25011
25012unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
25013unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
25014
25015#[repr(C)]
25017#[derive(Copy, Clone, Debug, PartialEq)]
25018pub struct PipelineDepthStencilStateCreateInfo {
25019 pub s_type: StructureType,
25020 pub next: *const c_void,
25021 pub flags: PipelineDepthStencilStateCreateFlags,
25022 pub depth_test_enable: Bool32,
25023 pub depth_write_enable: Bool32,
25024 pub depth_compare_op: CompareOp,
25025 pub depth_bounds_test_enable: Bool32,
25026 pub stencil_test_enable: Bool32,
25027 pub front: StencilOpState,
25028 pub back: StencilOpState,
25029 pub min_depth_bounds: f32,
25030 pub max_depth_bounds: f32,
25031}
25032
25033impl Default for PipelineDepthStencilStateCreateInfo {
25034 #[inline]
25035 fn default() -> Self {
25036 Self {
25037 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
25038 next: ptr::null(),
25039 flags: PipelineDepthStencilStateCreateFlags::default(),
25040 depth_test_enable: Bool32::default(),
25041 depth_write_enable: Bool32::default(),
25042 depth_compare_op: CompareOp::default(),
25043 depth_bounds_test_enable: Bool32::default(),
25044 stencil_test_enable: Bool32::default(),
25045 front: StencilOpState::default(),
25046 back: StencilOpState::default(),
25047 min_depth_bounds: f32::default(),
25048 max_depth_bounds: f32::default(),
25049 }
25050 }
25051}
25052
25053unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
25054unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
25055
25056#[repr(C)]
25058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25059pub struct PipelineDiscardRectangleStateCreateInfoEXT {
25060 pub s_type: StructureType,
25061 pub next: *const c_void,
25062 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
25063 pub discard_rectangle_mode: DiscardRectangleModeEXT,
25064 pub discard_rectangle_count: u32,
25065 pub discard_rectangles: *const Rect2D,
25066}
25067
25068impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
25069 #[inline]
25070 fn default() -> Self {
25071 Self {
25072 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
25073 next: ptr::null(),
25074 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
25075 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
25076 discard_rectangle_count: u32::default(),
25077 discard_rectangles: ptr::null(),
25078 }
25079 }
25080}
25081
25082unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
25083unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
25084
25085#[repr(C)]
25087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25088pub struct PipelineDynamicStateCreateInfo {
25089 pub s_type: StructureType,
25090 pub next: *const c_void,
25091 pub flags: PipelineDynamicStateCreateFlags,
25092 pub dynamic_state_count: u32,
25093 pub dynamic_states: *const DynamicState,
25094}
25095
25096impl Default for PipelineDynamicStateCreateInfo {
25097 #[inline]
25098 fn default() -> Self {
25099 Self {
25100 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
25101 next: ptr::null(),
25102 flags: PipelineDynamicStateCreateFlags::default(),
25103 dynamic_state_count: u32::default(),
25104 dynamic_states: ptr::null(),
25105 }
25106 }
25107}
25108
25109unsafe impl Send for PipelineDynamicStateCreateInfo {}
25110unsafe impl Sync for PipelineDynamicStateCreateInfo {}
25111
25112#[repr(C)]
25114#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25115pub struct PipelineExecutableInfoKHR {
25116 pub s_type: StructureType,
25117 pub next: *const c_void,
25118 pub pipeline: Pipeline,
25119 pub executable_index: u32,
25120}
25121
25122impl Default for PipelineExecutableInfoKHR {
25123 #[inline]
25124 fn default() -> Self {
25125 Self {
25126 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
25127 next: ptr::null(),
25128 pipeline: Pipeline::default(),
25129 executable_index: u32::default(),
25130 }
25131 }
25132}
25133
25134unsafe impl Send for PipelineExecutableInfoKHR {}
25135unsafe impl Sync for PipelineExecutableInfoKHR {}
25136
25137#[repr(C)]
25139#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25140pub struct PipelineExecutableInternalRepresentationKHR {
25141 pub s_type: StructureType,
25142 pub next: *mut c_void,
25143 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
25144 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
25145 pub is_text: Bool32,
25146 pub data_size: usize,
25147 pub data: *mut c_void,
25148}
25149
25150impl Default for PipelineExecutableInternalRepresentationKHR {
25151 #[inline]
25152 fn default() -> Self {
25153 Self {
25154 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
25155 next: ptr::null_mut(),
25156 name: StringArray::default(),
25157 description: StringArray::default(),
25158 is_text: Bool32::default(),
25159 data_size: usize::default(),
25160 data: ptr::null_mut(),
25161 }
25162 }
25163}
25164
25165unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
25166unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
25167
25168#[repr(C)]
25170#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25171pub struct PipelineExecutablePropertiesKHR {
25172 pub s_type: StructureType,
25173 pub next: *mut c_void,
25174 pub stages: ShaderStageFlags,
25175 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
25176 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
25177 pub subgroup_size: u32,
25178}
25179
25180impl Default for PipelineExecutablePropertiesKHR {
25181 #[inline]
25182 fn default() -> Self {
25183 Self {
25184 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
25185 next: ptr::null_mut(),
25186 stages: ShaderStageFlags::default(),
25187 name: StringArray::default(),
25188 description: StringArray::default(),
25189 subgroup_size: u32::default(),
25190 }
25191 }
25192}
25193
25194unsafe impl Send for PipelineExecutablePropertiesKHR {}
25195unsafe impl Sync for PipelineExecutablePropertiesKHR {}
25196
25197#[repr(C)]
25199#[derive(Copy, Clone, Debug)]
25200pub struct PipelineExecutableStatisticKHR {
25201 pub s_type: StructureType,
25202 pub next: *mut c_void,
25203 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
25204 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
25205 pub format: PipelineExecutableStatisticFormatKHR,
25206 pub value: PipelineExecutableStatisticValueKHR,
25207}
25208
25209impl Default for PipelineExecutableStatisticKHR {
25210 #[inline]
25211 fn default() -> Self {
25212 Self {
25213 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
25214 next: ptr::null_mut(),
25215 name: StringArray::default(),
25216 description: StringArray::default(),
25217 format: PipelineExecutableStatisticFormatKHR::default(),
25218 value: PipelineExecutableStatisticValueKHR::default(),
25219 }
25220 }
25221}
25222
25223unsafe impl Send for PipelineExecutableStatisticKHR {}
25224unsafe impl Sync for PipelineExecutableStatisticKHR {}
25225
25226#[repr(C)]
25228#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25229pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
25230 pub s_type: StructureType,
25231 pub next: *const c_void,
25232 pub max_fragment_density_map_layers: u32,
25233}
25234
25235impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
25236 #[inline]
25237 fn default() -> Self {
25238 Self {
25239 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
25240 next: ptr::null(),
25241 max_fragment_density_map_layers: u32::default(),
25242 }
25243 }
25244}
25245
25246unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
25247unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
25248
25249#[repr(C)]
25251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25252pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
25253 pub s_type: StructureType,
25254 pub next: *const c_void,
25255 pub shading_rate_type: FragmentShadingRateTypeNV,
25256 pub shading_rate: FragmentShadingRateNV,
25257 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
25258}
25259
25260impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
25261 #[inline]
25262 fn default() -> Self {
25263 Self {
25264 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
25265 next: ptr::null(),
25266 shading_rate_type: FragmentShadingRateTypeNV::default(),
25267 shading_rate: FragmentShadingRateNV::default(),
25268 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
25269 }
25270 }
25271}
25272
25273unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
25274unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
25275
25276#[repr(C)]
25278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25279pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
25280 pub s_type: StructureType,
25281 pub next: *const c_void,
25282 pub fragment_size: Extent2D,
25283 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
25284}
25285
25286impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
25287 #[inline]
25288 fn default() -> Self {
25289 Self {
25290 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
25291 next: ptr::null(),
25292 fragment_size: Extent2D::default(),
25293 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
25294 }
25295 }
25296}
25297
25298unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
25299unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
25300
25301#[repr(C)]
25303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25304pub struct PipelineIndirectDeviceAddressInfoNV {
25305 pub s_type: StructureType,
25306 pub next: *const c_void,
25307 pub pipeline_bind_point: PipelineBindPoint,
25308 pub pipeline: Pipeline,
25309}
25310
25311impl Default for PipelineIndirectDeviceAddressInfoNV {
25312 #[inline]
25313 fn default() -> Self {
25314 Self {
25315 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
25316 next: ptr::null(),
25317 pipeline_bind_point: PipelineBindPoint::default(),
25318 pipeline: Pipeline::default(),
25319 }
25320 }
25321}
25322
25323unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
25324unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
25325
25326#[repr(C)]
25328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25329pub struct PipelineInfoKHR {
25330 pub s_type: StructureType,
25331 pub next: *const c_void,
25332 pub pipeline: Pipeline,
25333}
25334
25335impl Default for PipelineInfoKHR {
25336 #[inline]
25337 fn default() -> Self {
25338 Self {
25339 s_type: StructureType::PIPELINE_INFO_KHR,
25340 next: ptr::null(),
25341 pipeline: Pipeline::default(),
25342 }
25343 }
25344}
25345
25346unsafe impl Send for PipelineInfoKHR {}
25347unsafe impl Sync for PipelineInfoKHR {}
25348
25349#[repr(C)]
25351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25352pub struct PipelineInputAssemblyStateCreateInfo {
25353 pub s_type: StructureType,
25354 pub next: *const c_void,
25355 pub flags: PipelineInputAssemblyStateCreateFlags,
25356 pub topology: PrimitiveTopology,
25357 pub primitive_restart_enable: Bool32,
25358}
25359
25360impl Default for PipelineInputAssemblyStateCreateInfo {
25361 #[inline]
25362 fn default() -> Self {
25363 Self {
25364 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
25365 next: ptr::null(),
25366 flags: PipelineInputAssemblyStateCreateFlags::default(),
25367 topology: PrimitiveTopology::default(),
25368 primitive_restart_enable: Bool32::default(),
25369 }
25370 }
25371}
25372
25373unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
25374unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
25375
25376#[repr(C)]
25378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25379pub struct PipelineLayoutCreateInfo {
25380 pub s_type: StructureType,
25381 pub next: *const c_void,
25382 pub flags: PipelineLayoutCreateFlags,
25383 pub set_layout_count: u32,
25384 pub set_layouts: *const DescriptorSetLayout,
25385 pub push_constant_range_count: u32,
25386 pub push_constant_ranges: *const PushConstantRange,
25387}
25388
25389impl Default for PipelineLayoutCreateInfo {
25390 #[inline]
25391 fn default() -> Self {
25392 Self {
25393 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
25394 next: ptr::null(),
25395 flags: PipelineLayoutCreateFlags::default(),
25396 set_layout_count: u32::default(),
25397 set_layouts: ptr::null(),
25398 push_constant_range_count: u32::default(),
25399 push_constant_ranges: ptr::null(),
25400 }
25401 }
25402}
25403
25404unsafe impl Send for PipelineLayoutCreateInfo {}
25405unsafe impl Sync for PipelineLayoutCreateInfo {}
25406
25407#[repr(C)]
25409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25410pub struct PipelineLibraryCreateInfoKHR {
25411 pub s_type: StructureType,
25412 pub next: *const c_void,
25413 pub library_count: u32,
25414 pub libraries: *const Pipeline,
25415}
25416
25417impl Default for PipelineLibraryCreateInfoKHR {
25418 #[inline]
25419 fn default() -> Self {
25420 Self {
25421 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
25422 next: ptr::null(),
25423 library_count: u32::default(),
25424 libraries: ptr::null(),
25425 }
25426 }
25427}
25428
25429unsafe impl Send for PipelineLibraryCreateInfoKHR {}
25430unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
25431
25432#[repr(C)]
25434#[derive(Copy, Clone, Debug, PartialEq)]
25435pub struct PipelineMultisampleStateCreateInfo {
25436 pub s_type: StructureType,
25437 pub next: *const c_void,
25438 pub flags: PipelineMultisampleStateCreateFlags,
25439 pub rasterization_samples: SampleCountFlags,
25440 pub sample_shading_enable: Bool32,
25441 pub min_sample_shading: f32,
25442 pub sample_mask: *const SampleMask,
25443 pub alpha_to_coverage_enable: Bool32,
25444 pub alpha_to_one_enable: Bool32,
25445}
25446
25447impl Default for PipelineMultisampleStateCreateInfo {
25448 #[inline]
25449 fn default() -> Self {
25450 Self {
25451 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
25452 next: ptr::null(),
25453 flags: PipelineMultisampleStateCreateFlags::default(),
25454 rasterization_samples: SampleCountFlags::default(),
25455 sample_shading_enable: Bool32::default(),
25456 min_sample_shading: f32::default(),
25457 sample_mask: ptr::null(),
25458 alpha_to_coverage_enable: Bool32::default(),
25459 alpha_to_one_enable: Bool32::default(),
25460 }
25461 }
25462}
25463
25464unsafe impl Send for PipelineMultisampleStateCreateInfo {}
25465unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
25466
25467#[repr(C)]
25469#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25470pub struct PipelinePropertiesIdentifierEXT {
25471 pub s_type: StructureType,
25472 pub next: *mut c_void,
25473 pub pipeline_identifier: ByteArray<UUID_SIZE>,
25474}
25475
25476impl Default for PipelinePropertiesIdentifierEXT {
25477 #[inline]
25478 fn default() -> Self {
25479 Self {
25480 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
25481 next: ptr::null_mut(),
25482 pipeline_identifier: ByteArray::default(),
25483 }
25484 }
25485}
25486
25487unsafe impl Send for PipelinePropertiesIdentifierEXT {}
25488unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
25489
25490#[repr(C)]
25492#[derive(Copy, Clone, Debug, PartialEq)]
25493pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
25494 pub s_type: StructureType,
25495 pub next: *const c_void,
25496 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
25497 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
25498 pub extra_primitive_overestimation_size: f32,
25499}
25500
25501impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
25502 #[inline]
25503 fn default() -> Self {
25504 Self {
25505 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
25506 next: ptr::null(),
25507 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
25508 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
25509 extra_primitive_overestimation_size: f32::default(),
25510 }
25511 }
25512}
25513
25514unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
25515unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
25516
25517#[repr(C)]
25519#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25520pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
25521 pub s_type: StructureType,
25522 pub next: *const c_void,
25523 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
25524 pub depth_clip_enable: Bool32,
25525}
25526
25527impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
25528 #[inline]
25529 fn default() -> Self {
25530 Self {
25531 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
25532 next: ptr::null(),
25533 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
25534 depth_clip_enable: Bool32::default(),
25535 }
25536 }
25537}
25538
25539unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
25540unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
25541
25542#[repr(C)]
25544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25545pub struct PipelineRasterizationLineStateCreateInfo {
25546 pub s_type: StructureType,
25547 pub next: *const c_void,
25548 pub line_rasterization_mode: LineRasterizationMode,
25549 pub stippled_line_enable: Bool32,
25550 pub line_stipple_factor: u32,
25551 pub line_stipple_pattern: u16,
25552}
25553
25554impl Default for PipelineRasterizationLineStateCreateInfo {
25555 #[inline]
25556 fn default() -> Self {
25557 Self {
25558 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
25559 next: ptr::null(),
25560 line_rasterization_mode: LineRasterizationMode::default(),
25561 stippled_line_enable: Bool32::default(),
25562 line_stipple_factor: u32::default(),
25563 line_stipple_pattern: u16::default(),
25564 }
25565 }
25566}
25567
25568unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
25569unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
25570
25571#[repr(C)]
25573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25574pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
25575 pub s_type: StructureType,
25576 pub next: *const c_void,
25577 pub provoking_vertex_mode: ProvokingVertexModeEXT,
25578}
25579
25580impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
25581 #[inline]
25582 fn default() -> Self {
25583 Self {
25584 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
25585 next: ptr::null(),
25586 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
25587 }
25588 }
25589}
25590
25591unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
25592unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
25593
25594#[repr(C)]
25596#[derive(Copy, Clone, Debug, PartialEq)]
25597pub struct PipelineRasterizationStateCreateInfo {
25598 pub s_type: StructureType,
25599 pub next: *const c_void,
25600 pub flags: PipelineRasterizationStateCreateFlags,
25601 pub depth_clamp_enable: Bool32,
25602 pub rasterizer_discard_enable: Bool32,
25603 pub polygon_mode: PolygonMode,
25604 pub cull_mode: CullModeFlags,
25605 pub front_face: FrontFace,
25606 pub depth_bias_enable: Bool32,
25607 pub depth_bias_constant_factor: f32,
25608 pub depth_bias_clamp: f32,
25609 pub depth_bias_slope_factor: f32,
25610 pub line_width: f32,
25611}
25612
25613impl Default for PipelineRasterizationStateCreateInfo {
25614 #[inline]
25615 fn default() -> Self {
25616 Self {
25617 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
25618 next: ptr::null(),
25619 flags: PipelineRasterizationStateCreateFlags::default(),
25620 depth_clamp_enable: Bool32::default(),
25621 rasterizer_discard_enable: Bool32::default(),
25622 polygon_mode: PolygonMode::default(),
25623 cull_mode: CullModeFlags::default(),
25624 front_face: FrontFace::default(),
25625 depth_bias_enable: Bool32::default(),
25626 depth_bias_constant_factor: f32::default(),
25627 depth_bias_clamp: f32::default(),
25628 depth_bias_slope_factor: f32::default(),
25629 line_width: f32::default(),
25630 }
25631 }
25632}
25633
25634unsafe impl Send for PipelineRasterizationStateCreateInfo {}
25635unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
25636
25637#[repr(C)]
25639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25640pub struct PipelineRasterizationStateRasterizationOrderAMD {
25641 pub s_type: StructureType,
25642 pub next: *const c_void,
25643 pub rasterization_order: RasterizationOrderAMD,
25644}
25645
25646impl Default for PipelineRasterizationStateRasterizationOrderAMD {
25647 #[inline]
25648 fn default() -> Self {
25649 Self {
25650 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
25651 next: ptr::null(),
25652 rasterization_order: RasterizationOrderAMD::default(),
25653 }
25654 }
25655}
25656
25657unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
25658unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
25659
25660#[repr(C)]
25662#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25663pub struct PipelineRasterizationStateStreamCreateInfoEXT {
25664 pub s_type: StructureType,
25665 pub next: *const c_void,
25666 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
25667 pub rasterization_stream: u32,
25668}
25669
25670impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
25671 #[inline]
25672 fn default() -> Self {
25673 Self {
25674 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
25675 next: ptr::null(),
25676 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
25677 rasterization_stream: u32::default(),
25678 }
25679 }
25680}
25681
25682unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
25683unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
25684
25685#[repr(C)]
25687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25688pub struct PipelineRenderingCreateInfo {
25689 pub s_type: StructureType,
25690 pub next: *const c_void,
25691 pub view_mask: u32,
25692 pub color_attachment_count: u32,
25693 pub color_attachment_formats: *const Format,
25694 pub depth_attachment_format: Format,
25695 pub stencil_attachment_format: Format,
25696}
25697
25698impl Default for PipelineRenderingCreateInfo {
25699 #[inline]
25700 fn default() -> Self {
25701 Self {
25702 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
25703 next: ptr::null(),
25704 view_mask: u32::default(),
25705 color_attachment_count: u32::default(),
25706 color_attachment_formats: ptr::null(),
25707 depth_attachment_format: Format::default(),
25708 stencil_attachment_format: Format::default(),
25709 }
25710 }
25711}
25712
25713unsafe impl Send for PipelineRenderingCreateInfo {}
25714unsafe impl Sync for PipelineRenderingCreateInfo {}
25715
25716#[repr(C)]
25718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25719pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
25720 pub s_type: StructureType,
25721 pub next: *const c_void,
25722 pub representative_fragment_test_enable: Bool32,
25723}
25724
25725impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
25726 #[inline]
25727 fn default() -> Self {
25728 Self {
25729 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
25730 next: ptr::null(),
25731 representative_fragment_test_enable: Bool32::default(),
25732 }
25733 }
25734}
25735
25736unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
25737unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
25738
25739#[repr(C)]
25741#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25742pub struct PipelineRobustnessCreateInfo {
25743 pub s_type: StructureType,
25744 pub next: *const c_void,
25745 pub storage_buffers: PipelineRobustnessBufferBehavior,
25746 pub uniform_buffers: PipelineRobustnessBufferBehavior,
25747 pub vertex_inputs: PipelineRobustnessBufferBehavior,
25748 pub images: PipelineRobustnessImageBehavior,
25749}
25750
25751impl Default for PipelineRobustnessCreateInfo {
25752 #[inline]
25753 fn default() -> Self {
25754 Self {
25755 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
25756 next: ptr::null(),
25757 storage_buffers: PipelineRobustnessBufferBehavior::default(),
25758 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
25759 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
25760 images: PipelineRobustnessImageBehavior::default(),
25761 }
25762 }
25763}
25764
25765unsafe impl Send for PipelineRobustnessCreateInfo {}
25766unsafe impl Sync for PipelineRobustnessCreateInfo {}
25767
25768#[repr(C)]
25770#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25771pub struct PipelineSampleLocationsStateCreateInfoEXT {
25772 pub s_type: StructureType,
25773 pub next: *const c_void,
25774 pub sample_locations_enable: Bool32,
25775 pub sample_locations_info: SampleLocationsInfoEXT,
25776}
25777
25778impl Default for PipelineSampleLocationsStateCreateInfoEXT {
25779 #[inline]
25780 fn default() -> Self {
25781 Self {
25782 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
25783 next: ptr::null(),
25784 sample_locations_enable: Bool32::default(),
25785 sample_locations_info: SampleLocationsInfoEXT::default(),
25786 }
25787 }
25788}
25789
25790unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
25791unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
25792
25793#[repr(C)]
25795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25796pub struct PipelineShaderStageCreateInfo {
25797 pub s_type: StructureType,
25798 pub next: *const c_void,
25799 pub flags: PipelineShaderStageCreateFlags,
25800 pub stage: ShaderStageFlags,
25801 pub module: ShaderModule,
25802 pub name: *const c_char,
25803 pub specialization_info: *const SpecializationInfo,
25804}
25805
25806impl Default for PipelineShaderStageCreateInfo {
25807 #[inline]
25808 fn default() -> Self {
25809 Self {
25810 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
25811 next: ptr::null(),
25812 flags: PipelineShaderStageCreateFlags::default(),
25813 stage: ShaderStageFlags::default(),
25814 module: ShaderModule::default(),
25815 name: ptr::null(),
25816 specialization_info: ptr::null(),
25817 }
25818 }
25819}
25820
25821unsafe impl Send for PipelineShaderStageCreateInfo {}
25822unsafe impl Sync for PipelineShaderStageCreateInfo {}
25823
25824#[repr(C)]
25826#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25827pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
25828 pub s_type: StructureType,
25829 pub next: *const c_void,
25830 pub identifier_size: u32,
25831 pub identifier: *const u8,
25832}
25833
25834impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
25835 #[inline]
25836 fn default() -> Self {
25837 Self {
25838 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
25839 next: ptr::null(),
25840 identifier_size: u32::default(),
25841 identifier: ptr::null(),
25842 }
25843 }
25844}
25845
25846unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
25847unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
25848
25849#[repr(C)]
25851#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25852pub struct PipelineShaderStageNodeCreateInfoAMDX {
25853 pub s_type: StructureType,
25854 pub next: *const c_void,
25855 pub name: *const c_char,
25856 pub index: u32,
25857}
25858
25859impl Default for PipelineShaderStageNodeCreateInfoAMDX {
25860 #[inline]
25861 fn default() -> Self {
25862 Self {
25863 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
25864 next: ptr::null(),
25865 name: ptr::null(),
25866 index: u32::default(),
25867 }
25868 }
25869}
25870
25871unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
25872unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
25873
25874#[repr(C)]
25876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25877pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
25878 pub s_type: StructureType,
25879 pub next: *const c_void,
25880 pub required_subgroup_size: u32,
25881}
25882
25883impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
25884 #[inline]
25885 fn default() -> Self {
25886 Self {
25887 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
25888 next: ptr::null(),
25889 required_subgroup_size: u32::default(),
25890 }
25891 }
25892}
25893
25894unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
25895unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
25896
25897#[repr(C)]
25899#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25900pub struct PipelineTessellationDomainOriginStateCreateInfo {
25901 pub s_type: StructureType,
25902 pub next: *const c_void,
25903 pub domain_origin: TessellationDomainOrigin,
25904}
25905
25906impl Default for PipelineTessellationDomainOriginStateCreateInfo {
25907 #[inline]
25908 fn default() -> Self {
25909 Self {
25910 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
25911 next: ptr::null(),
25912 domain_origin: TessellationDomainOrigin::default(),
25913 }
25914 }
25915}
25916
25917unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
25918unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
25919
25920#[repr(C)]
25922#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25923pub struct PipelineTessellationStateCreateInfo {
25924 pub s_type: StructureType,
25925 pub next: *const c_void,
25926 pub flags: PipelineTessellationStateCreateFlags,
25927 pub patch_control_points: u32,
25928}
25929
25930impl Default for PipelineTessellationStateCreateInfo {
25931 #[inline]
25932 fn default() -> Self {
25933 Self {
25934 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
25935 next: ptr::null(),
25936 flags: PipelineTessellationStateCreateFlags::default(),
25937 patch_control_points: u32::default(),
25938 }
25939 }
25940}
25941
25942unsafe impl Send for PipelineTessellationStateCreateInfo {}
25943unsafe impl Sync for PipelineTessellationStateCreateInfo {}
25944
25945#[repr(C)]
25947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25948pub struct PipelineVertexInputDivisorStateCreateInfo {
25949 pub s_type: StructureType,
25950 pub next: *const c_void,
25951 pub vertex_binding_divisor_count: u32,
25952 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
25953}
25954
25955impl Default for PipelineVertexInputDivisorStateCreateInfo {
25956 #[inline]
25957 fn default() -> Self {
25958 Self {
25959 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
25960 next: ptr::null(),
25961 vertex_binding_divisor_count: u32::default(),
25962 vertex_binding_divisors: ptr::null(),
25963 }
25964 }
25965}
25966
25967unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
25968unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
25969
25970#[repr(C)]
25972#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25973pub struct PipelineVertexInputStateCreateInfo {
25974 pub s_type: StructureType,
25975 pub next: *const c_void,
25976 pub flags: PipelineVertexInputStateCreateFlags,
25977 pub vertex_binding_description_count: u32,
25978 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
25979 pub vertex_attribute_description_count: u32,
25980 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
25981}
25982
25983impl Default for PipelineVertexInputStateCreateInfo {
25984 #[inline]
25985 fn default() -> Self {
25986 Self {
25987 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
25988 next: ptr::null(),
25989 flags: PipelineVertexInputStateCreateFlags::default(),
25990 vertex_binding_description_count: u32::default(),
25991 vertex_binding_descriptions: ptr::null(),
25992 vertex_attribute_description_count: u32::default(),
25993 vertex_attribute_descriptions: ptr::null(),
25994 }
25995 }
25996}
25997
25998unsafe impl Send for PipelineVertexInputStateCreateInfo {}
25999unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
26000
26001#[repr(C)]
26003#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26004pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
26005 pub s_type: StructureType,
26006 pub next: *const c_void,
26007 pub sample_order_type: CoarseSampleOrderTypeNV,
26008 pub custom_sample_order_count: u32,
26009 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
26010}
26011
26012impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
26013 #[inline]
26014 fn default() -> Self {
26015 Self {
26016 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
26017 next: ptr::null(),
26018 sample_order_type: CoarseSampleOrderTypeNV::default(),
26019 custom_sample_order_count: u32::default(),
26020 custom_sample_orders: ptr::null(),
26021 }
26022 }
26023}
26024
26025unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
26026unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
26027
26028#[repr(C)]
26030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26031pub struct PipelineViewportDepthClampControlCreateInfoEXT {
26032 pub s_type: StructureType,
26033 pub next: *const c_void,
26034 pub depth_clamp_mode: DepthClampModeEXT,
26035 pub depth_clamp_range: *const DepthClampRangeEXT,
26036}
26037
26038impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
26039 #[inline]
26040 fn default() -> Self {
26041 Self {
26042 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
26043 next: ptr::null(),
26044 depth_clamp_mode: DepthClampModeEXT::default(),
26045 depth_clamp_range: ptr::null(),
26046 }
26047 }
26048}
26049
26050unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
26051unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
26052
26053#[repr(C)]
26055#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26056pub struct PipelineViewportDepthClipControlCreateInfoEXT {
26057 pub s_type: StructureType,
26058 pub next: *const c_void,
26059 pub negative_one_to_one: Bool32,
26060}
26061
26062impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
26063 #[inline]
26064 fn default() -> Self {
26065 Self {
26066 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
26067 next: ptr::null(),
26068 negative_one_to_one: Bool32::default(),
26069 }
26070 }
26071}
26072
26073unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
26074unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
26075
26076#[repr(C)]
26078#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26079pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
26080 pub s_type: StructureType,
26081 pub next: *const c_void,
26082 pub exclusive_scissor_count: u32,
26083 pub exclusive_scissors: *const Rect2D,
26084}
26085
26086impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
26087 #[inline]
26088 fn default() -> Self {
26089 Self {
26090 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
26091 next: ptr::null(),
26092 exclusive_scissor_count: u32::default(),
26093 exclusive_scissors: ptr::null(),
26094 }
26095 }
26096}
26097
26098unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
26099unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
26100
26101#[repr(C)]
26103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26104pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
26105 pub s_type: StructureType,
26106 pub next: *const c_void,
26107 pub shading_rate_image_enable: Bool32,
26108 pub viewport_count: u32,
26109 pub shading_rate_palettes: *const ShadingRatePaletteNV,
26110}
26111
26112impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
26113 #[inline]
26114 fn default() -> Self {
26115 Self {
26116 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
26117 next: ptr::null(),
26118 shading_rate_image_enable: Bool32::default(),
26119 viewport_count: u32::default(),
26120 shading_rate_palettes: ptr::null(),
26121 }
26122 }
26123}
26124
26125unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
26126unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
26127
26128#[repr(C)]
26130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26131pub struct PipelineViewportStateCreateInfo {
26132 pub s_type: StructureType,
26133 pub next: *const c_void,
26134 pub flags: PipelineViewportStateCreateFlags,
26135 pub viewport_count: u32,
26136 pub viewports: *const Viewport,
26137 pub scissor_count: u32,
26138 pub scissors: *const Rect2D,
26139}
26140
26141impl Default for PipelineViewportStateCreateInfo {
26142 #[inline]
26143 fn default() -> Self {
26144 Self {
26145 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
26146 next: ptr::null(),
26147 flags: PipelineViewportStateCreateFlags::default(),
26148 viewport_count: u32::default(),
26149 viewports: ptr::null(),
26150 scissor_count: u32::default(),
26151 scissors: ptr::null(),
26152 }
26153 }
26154}
26155
26156unsafe impl Send for PipelineViewportStateCreateInfo {}
26157unsafe impl Sync for PipelineViewportStateCreateInfo {}
26158
26159#[repr(C)]
26161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26162pub struct PipelineViewportSwizzleStateCreateInfoNV {
26163 pub s_type: StructureType,
26164 pub next: *const c_void,
26165 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
26166 pub viewport_count: u32,
26167 pub viewport_swizzles: *const ViewportSwizzleNV,
26168}
26169
26170impl Default for PipelineViewportSwizzleStateCreateInfoNV {
26171 #[inline]
26172 fn default() -> Self {
26173 Self {
26174 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
26175 next: ptr::null(),
26176 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
26177 viewport_count: u32::default(),
26178 viewport_swizzles: ptr::null(),
26179 }
26180 }
26181}
26182
26183unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
26184unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
26185
26186#[repr(C)]
26188#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26189pub struct PipelineViewportWScalingStateCreateInfoNV {
26190 pub s_type: StructureType,
26191 pub next: *const c_void,
26192 pub viewport_w_scaling_enable: Bool32,
26193 pub viewport_count: u32,
26194 pub viewport_w_scalings: *const ViewportWScalingNV,
26195}
26196
26197impl Default for PipelineViewportWScalingStateCreateInfoNV {
26198 #[inline]
26199 fn default() -> Self {
26200 Self {
26201 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
26202 next: ptr::null(),
26203 viewport_w_scaling_enable: Bool32::default(),
26204 viewport_count: u32::default(),
26205 viewport_w_scalings: ptr::null(),
26206 }
26207 }
26208}
26209
26210unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
26211unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
26212
26213#[repr(C)]
26215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26216pub struct PresentFrameTokenGGP {
26217 pub s_type: StructureType,
26218 pub next: *const c_void,
26219 pub frame_token: GgpFrameToken,
26220}
26221
26222impl Default for PresentFrameTokenGGP {
26223 #[inline]
26224 fn default() -> Self {
26225 Self {
26226 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
26227 next: ptr::null(),
26228 frame_token: GgpFrameToken::default(),
26229 }
26230 }
26231}
26232
26233unsafe impl Send for PresentFrameTokenGGP {}
26234unsafe impl Sync for PresentFrameTokenGGP {}
26235
26236#[repr(C)]
26238#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26239pub struct PresentId2KHR {
26240 pub s_type: StructureType,
26241 pub next: *const c_void,
26242 pub swapchain_count: u32,
26243 pub present_ids: *const u64,
26244}
26245
26246impl Default for PresentId2KHR {
26247 #[inline]
26248 fn default() -> Self {
26249 Self {
26250 s_type: StructureType::PRESENT_ID_2_KHR,
26251 next: ptr::null(),
26252 swapchain_count: u32::default(),
26253 present_ids: ptr::null(),
26254 }
26255 }
26256}
26257
26258unsafe impl Send for PresentId2KHR {}
26259unsafe impl Sync for PresentId2KHR {}
26260
26261#[repr(C)]
26263#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26264pub struct PresentIdKHR {
26265 pub s_type: StructureType,
26266 pub next: *const c_void,
26267 pub swapchain_count: u32,
26268 pub present_ids: *const u64,
26269}
26270
26271impl Default for PresentIdKHR {
26272 #[inline]
26273 fn default() -> Self {
26274 Self {
26275 s_type: StructureType::PRESENT_ID_KHR,
26276 next: ptr::null(),
26277 swapchain_count: u32::default(),
26278 present_ids: ptr::null(),
26279 }
26280 }
26281}
26282
26283unsafe impl Send for PresentIdKHR {}
26284unsafe impl Sync for PresentIdKHR {}
26285
26286#[repr(C)]
26288#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26289pub struct PresentInfoKHR {
26290 pub s_type: StructureType,
26291 pub next: *const c_void,
26292 pub wait_semaphore_count: u32,
26293 pub wait_semaphores: *const Semaphore,
26294 pub swapchain_count: u32,
26295 pub swapchains: *const SwapchainKHR,
26296 pub image_indices: *const u32,
26297 pub results: *mut Result,
26298}
26299
26300impl Default for PresentInfoKHR {
26301 #[inline]
26302 fn default() -> Self {
26303 Self {
26304 s_type: StructureType::PRESENT_INFO_KHR,
26305 next: ptr::null(),
26306 wait_semaphore_count: u32::default(),
26307 wait_semaphores: ptr::null(),
26308 swapchain_count: u32::default(),
26309 swapchains: ptr::null(),
26310 image_indices: ptr::null(),
26311 results: ptr::null_mut(),
26312 }
26313 }
26314}
26315
26316unsafe impl Send for PresentInfoKHR {}
26317unsafe impl Sync for PresentInfoKHR {}
26318
26319#[repr(C)]
26321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26322pub struct PresentRegionKHR {
26323 pub rectangle_count: u32,
26324 pub rectangles: *const RectLayerKHR,
26325}
26326
26327impl Default for PresentRegionKHR {
26328 #[inline]
26329 fn default() -> Self {
26330 Self {
26331 rectangle_count: u32::default(),
26332 rectangles: ptr::null(),
26333 }
26334 }
26335}
26336
26337unsafe impl Send for PresentRegionKHR {}
26338unsafe impl Sync for PresentRegionKHR {}
26339
26340#[repr(C)]
26342#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26343pub struct PresentRegionsKHR {
26344 pub s_type: StructureType,
26345 pub next: *const c_void,
26346 pub swapchain_count: u32,
26347 pub regions: *const PresentRegionKHR,
26348}
26349
26350impl Default for PresentRegionsKHR {
26351 #[inline]
26352 fn default() -> Self {
26353 Self {
26354 s_type: StructureType::PRESENT_REGIONS_KHR,
26355 next: ptr::null(),
26356 swapchain_count: u32::default(),
26357 regions: ptr::null(),
26358 }
26359 }
26360}
26361
26362unsafe impl Send for PresentRegionsKHR {}
26363unsafe impl Sync for PresentRegionsKHR {}
26364
26365#[repr(C)]
26367#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26368pub struct PresentStageTimeEXT {
26369 pub stage: PresentStageFlagsEXT,
26370 pub time: u64,
26371}
26372
26373#[repr(C)]
26375#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26376pub struct PresentTimeGOOGLE {
26377 pub present_id: u32,
26378 pub desired_present_time: u64,
26379}
26380
26381#[repr(C)]
26383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26384pub struct PresentTimesInfoGOOGLE {
26385 pub s_type: StructureType,
26386 pub next: *const c_void,
26387 pub swapchain_count: u32,
26388 pub times: *const PresentTimeGOOGLE,
26389}
26390
26391impl Default for PresentTimesInfoGOOGLE {
26392 #[inline]
26393 fn default() -> Self {
26394 Self {
26395 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
26396 next: ptr::null(),
26397 swapchain_count: u32::default(),
26398 times: ptr::null(),
26399 }
26400 }
26401}
26402
26403unsafe impl Send for PresentTimesInfoGOOGLE {}
26404unsafe impl Sync for PresentTimesInfoGOOGLE {}
26405
26406#[repr(C)]
26408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26409pub struct PresentTimingInfoEXT {
26410 pub s_type: StructureType,
26411 pub next: *const c_void,
26412 pub flags: PresentTimingInfoFlagsEXT,
26413 pub target_time: u64,
26414 pub time_domain_id: u64,
26415 pub present_stage_queries: PresentStageFlagsEXT,
26416 pub target_time_domain_present_stage: PresentStageFlagsEXT,
26417}
26418
26419impl Default for PresentTimingInfoEXT {
26420 #[inline]
26421 fn default() -> Self {
26422 Self {
26423 s_type: StructureType::PRESENT_TIMING_INFO_EXT,
26424 next: ptr::null(),
26425 flags: PresentTimingInfoFlagsEXT::default(),
26426 target_time: u64::default(),
26427 time_domain_id: u64::default(),
26428 present_stage_queries: PresentStageFlagsEXT::default(),
26429 target_time_domain_present_stage: PresentStageFlagsEXT::default(),
26430 }
26431 }
26432}
26433
26434unsafe impl Send for PresentTimingInfoEXT {}
26435unsafe impl Sync for PresentTimingInfoEXT {}
26436
26437#[repr(C)]
26439#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26440pub struct PresentTimingSurfaceCapabilitiesEXT {
26441 pub s_type: StructureType,
26442 pub next: *mut c_void,
26443 pub present_timing_supported: Bool32,
26444 pub present_at_absolute_time_supported: Bool32,
26445 pub present_at_relative_time_supported: Bool32,
26446 pub present_stage_queries: PresentStageFlagsEXT,
26447}
26448
26449impl Default for PresentTimingSurfaceCapabilitiesEXT {
26450 #[inline]
26451 fn default() -> Self {
26452 Self {
26453 s_type: StructureType::PRESENT_TIMING_SURFACE_CAPABILITIES_EXT,
26454 next: ptr::null_mut(),
26455 present_timing_supported: Bool32::default(),
26456 present_at_absolute_time_supported: Bool32::default(),
26457 present_at_relative_time_supported: Bool32::default(),
26458 present_stage_queries: PresentStageFlagsEXT::default(),
26459 }
26460 }
26461}
26462
26463unsafe impl Send for PresentTimingSurfaceCapabilitiesEXT {}
26464unsafe impl Sync for PresentTimingSurfaceCapabilitiesEXT {}
26465
26466#[repr(C)]
26468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26469pub struct PresentTimingsInfoEXT {
26470 pub s_type: StructureType,
26471 pub next: *const c_void,
26472 pub swapchain_count: u32,
26473 pub timing_infos: *const PresentTimingInfoEXT,
26474}
26475
26476impl Default for PresentTimingsInfoEXT {
26477 #[inline]
26478 fn default() -> Self {
26479 Self {
26480 s_type: StructureType::PRESENT_TIMINGS_INFO_EXT,
26481 next: ptr::null(),
26482 swapchain_count: u32::default(),
26483 timing_infos: ptr::null(),
26484 }
26485 }
26486}
26487
26488unsafe impl Send for PresentTimingsInfoEXT {}
26489unsafe impl Sync for PresentTimingsInfoEXT {}
26490
26491#[repr(C)]
26493#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26494pub struct PresentWait2InfoKHR {
26495 pub s_type: StructureType,
26496 pub next: *const c_void,
26497 pub present_id: u64,
26498 pub timeout: u64,
26499}
26500
26501impl Default for PresentWait2InfoKHR {
26502 #[inline]
26503 fn default() -> Self {
26504 Self {
26505 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
26506 next: ptr::null(),
26507 present_id: u64::default(),
26508 timeout: u64::default(),
26509 }
26510 }
26511}
26512
26513unsafe impl Send for PresentWait2InfoKHR {}
26514unsafe impl Sync for PresentWait2InfoKHR {}
26515
26516#[repr(C)]
26518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26519pub struct PrivateDataSlotCreateInfo {
26520 pub s_type: StructureType,
26521 pub next: *const c_void,
26522 pub flags: PrivateDataSlotCreateFlags,
26523}
26524
26525impl Default for PrivateDataSlotCreateInfo {
26526 #[inline]
26527 fn default() -> Self {
26528 Self {
26529 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
26530 next: ptr::null(),
26531 flags: PrivateDataSlotCreateFlags::default(),
26532 }
26533 }
26534}
26535
26536unsafe impl Send for PrivateDataSlotCreateInfo {}
26537unsafe impl Sync for PrivateDataSlotCreateInfo {}
26538
26539#[repr(C)]
26541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26542pub struct ProtectedSubmitInfo {
26543 pub s_type: StructureType,
26544 pub next: *const c_void,
26545 pub protected_submit: Bool32,
26546}
26547
26548impl Default for ProtectedSubmitInfo {
26549 #[inline]
26550 fn default() -> Self {
26551 Self {
26552 s_type: StructureType::PROTECTED_SUBMIT_INFO,
26553 next: ptr::null(),
26554 protected_submit: Bool32::default(),
26555 }
26556 }
26557}
26558
26559unsafe impl Send for ProtectedSubmitInfo {}
26560unsafe impl Sync for ProtectedSubmitInfo {}
26561
26562#[repr(C)]
26564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26565pub struct PushConstantBankInfoNV {
26566 pub s_type: StructureType,
26567 pub next: *const c_void,
26568 pub bank: u32,
26569}
26570
26571impl Default for PushConstantBankInfoNV {
26572 #[inline]
26573 fn default() -> Self {
26574 Self {
26575 s_type: StructureType::PUSH_CONSTANT_BANK_INFO_NV,
26576 next: ptr::null(),
26577 bank: u32::default(),
26578 }
26579 }
26580}
26581
26582unsafe impl Send for PushConstantBankInfoNV {}
26583unsafe impl Sync for PushConstantBankInfoNV {}
26584
26585#[repr(C)]
26587#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26588pub struct PushConstantRange {
26589 pub stage_flags: ShaderStageFlags,
26590 pub offset: u32,
26591 pub size: u32,
26592}
26593
26594#[repr(C)]
26596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26597pub struct PushConstantsInfo {
26598 pub s_type: StructureType,
26599 pub next: *const c_void,
26600 pub layout: PipelineLayout,
26601 pub stage_flags: ShaderStageFlags,
26602 pub offset: u32,
26603 pub size: u32,
26604 pub values: *const c_void,
26605}
26606
26607impl Default for PushConstantsInfo {
26608 #[inline]
26609 fn default() -> Self {
26610 Self {
26611 s_type: StructureType::PUSH_CONSTANTS_INFO,
26612 next: ptr::null(),
26613 layout: PipelineLayout::default(),
26614 stage_flags: ShaderStageFlags::default(),
26615 offset: u32::default(),
26616 size: u32::default(),
26617 values: ptr::null(),
26618 }
26619 }
26620}
26621
26622unsafe impl Send for PushConstantsInfo {}
26623unsafe impl Sync for PushConstantsInfo {}
26624
26625#[repr(C)]
26627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26628pub struct PushDataInfoEXT {
26629 pub s_type: StructureType,
26630 pub next: *const c_void,
26631 pub offset: u32,
26632 pub data: HostAddressRangeConstEXT,
26633}
26634
26635impl Default for PushDataInfoEXT {
26636 #[inline]
26637 fn default() -> Self {
26638 Self {
26639 s_type: StructureType::PUSH_DATA_INFO_EXT,
26640 next: ptr::null(),
26641 offset: u32::default(),
26642 data: HostAddressRangeConstEXT::default(),
26643 }
26644 }
26645}
26646
26647unsafe impl Send for PushDataInfoEXT {}
26648unsafe impl Sync for PushDataInfoEXT {}
26649
26650#[repr(C)]
26652#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26653pub struct PushDescriptorSetInfo {
26654 pub s_type: StructureType,
26655 pub next: *const c_void,
26656 pub stage_flags: ShaderStageFlags,
26657 pub layout: PipelineLayout,
26658 pub set: u32,
26659 pub descriptor_write_count: u32,
26660 pub descriptor_writes: *const WriteDescriptorSet,
26661}
26662
26663impl Default for PushDescriptorSetInfo {
26664 #[inline]
26665 fn default() -> Self {
26666 Self {
26667 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
26668 next: ptr::null(),
26669 stage_flags: ShaderStageFlags::default(),
26670 layout: PipelineLayout::default(),
26671 set: u32::default(),
26672 descriptor_write_count: u32::default(),
26673 descriptor_writes: ptr::null(),
26674 }
26675 }
26676}
26677
26678unsafe impl Send for PushDescriptorSetInfo {}
26679unsafe impl Sync for PushDescriptorSetInfo {}
26680
26681#[repr(C)]
26683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26684pub struct PushDescriptorSetWithTemplateInfo {
26685 pub s_type: StructureType,
26686 pub next: *const c_void,
26687 pub descriptor_update_template: DescriptorUpdateTemplate,
26688 pub layout: PipelineLayout,
26689 pub set: u32,
26690 pub data: *const c_void,
26691}
26692
26693impl Default for PushDescriptorSetWithTemplateInfo {
26694 #[inline]
26695 fn default() -> Self {
26696 Self {
26697 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
26698 next: ptr::null(),
26699 descriptor_update_template: DescriptorUpdateTemplate::default(),
26700 layout: PipelineLayout::default(),
26701 set: u32::default(),
26702 data: ptr::null(),
26703 }
26704 }
26705}
26706
26707unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
26708unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
26709
26710#[repr(C)]
26712#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26713pub struct QueryLowLatencySupportNV {
26714 pub s_type: StructureType,
26715 pub next: *const c_void,
26716 pub queried_low_latency_data: *mut c_void,
26717}
26718
26719impl Default for QueryLowLatencySupportNV {
26720 #[inline]
26721 fn default() -> Self {
26722 Self {
26723 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
26724 next: ptr::null(),
26725 queried_low_latency_data: ptr::null_mut(),
26726 }
26727 }
26728}
26729
26730unsafe impl Send for QueryLowLatencySupportNV {}
26731unsafe impl Sync for QueryLowLatencySupportNV {}
26732
26733#[repr(C)]
26735#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26736pub struct QueryPoolCreateInfo {
26737 pub s_type: StructureType,
26738 pub next: *const c_void,
26739 pub flags: QueryPoolCreateFlags,
26740 pub query_type: QueryType,
26741 pub query_count: u32,
26742 pub pipeline_statistics: QueryPipelineStatisticFlags,
26743}
26744
26745impl Default for QueryPoolCreateInfo {
26746 #[inline]
26747 fn default() -> Self {
26748 Self {
26749 s_type: StructureType::QUERY_POOL_CREATE_INFO,
26750 next: ptr::null(),
26751 flags: QueryPoolCreateFlags::default(),
26752 query_type: QueryType::default(),
26753 query_count: u32::default(),
26754 pipeline_statistics: QueryPipelineStatisticFlags::default(),
26755 }
26756 }
26757}
26758
26759unsafe impl Send for QueryPoolCreateInfo {}
26760unsafe impl Sync for QueryPoolCreateInfo {}
26761
26762#[repr(C)]
26764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26765pub struct QueryPoolPerformanceCreateInfoKHR {
26766 pub s_type: StructureType,
26767 pub next: *const c_void,
26768 pub queue_family_index: u32,
26769 pub counter_index_count: u32,
26770 pub counter_indices: *const u32,
26771}
26772
26773impl Default for QueryPoolPerformanceCreateInfoKHR {
26774 #[inline]
26775 fn default() -> Self {
26776 Self {
26777 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
26778 next: ptr::null(),
26779 queue_family_index: u32::default(),
26780 counter_index_count: u32::default(),
26781 counter_indices: ptr::null(),
26782 }
26783 }
26784}
26785
26786unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
26787unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
26788
26789#[repr(C)]
26791#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26792pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
26793 pub s_type: StructureType,
26794 pub next: *const c_void,
26795 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
26796}
26797
26798impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
26799 #[inline]
26800 fn default() -> Self {
26801 Self {
26802 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
26803 next: ptr::null(),
26804 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
26805 }
26806 }
26807}
26808
26809unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
26810unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
26811
26812#[repr(C)]
26814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26815pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
26816 pub s_type: StructureType,
26817 pub next: *const c_void,
26818 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
26819}
26820
26821impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
26822 #[inline]
26823 fn default() -> Self {
26824 Self {
26825 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
26826 next: ptr::null(),
26827 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
26828 }
26829 }
26830}
26831
26832unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
26833unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
26834
26835#[repr(C)]
26837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26838pub struct QueueFamilyCheckpointProperties2NV {
26839 pub s_type: StructureType,
26840 pub next: *mut c_void,
26841 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
26842}
26843
26844impl Default for QueueFamilyCheckpointProperties2NV {
26845 #[inline]
26846 fn default() -> Self {
26847 Self {
26848 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
26849 next: ptr::null_mut(),
26850 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
26851 }
26852 }
26853}
26854
26855unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
26856unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
26857
26858#[repr(C)]
26860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26861pub struct QueueFamilyCheckpointPropertiesNV {
26862 pub s_type: StructureType,
26863 pub next: *mut c_void,
26864 pub checkpoint_execution_stage_mask: PipelineStageFlags,
26865}
26866
26867impl Default for QueueFamilyCheckpointPropertiesNV {
26868 #[inline]
26869 fn default() -> Self {
26870 Self {
26871 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
26872 next: ptr::null_mut(),
26873 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
26874 }
26875 }
26876}
26877
26878unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
26879unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
26880
26881#[repr(C)]
26883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26884pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
26885 pub s_type: StructureType,
26886 pub next: *mut c_void,
26887 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
26888 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
26889}
26890
26891impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
26892 #[inline]
26893 fn default() -> Self {
26894 Self {
26895 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
26896 next: ptr::null_mut(),
26897 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
26898 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
26899 }
26900 }
26901}
26902
26903unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
26904unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
26905
26906#[repr(C)]
26908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26909pub struct QueueFamilyDataGraphPropertiesARM {
26910 pub s_type: StructureType,
26911 pub next: *mut c_void,
26912 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
26913 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
26914}
26915
26916impl Default for QueueFamilyDataGraphPropertiesARM {
26917 #[inline]
26918 fn default() -> Self {
26919 Self {
26920 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
26921 next: ptr::null_mut(),
26922 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
26923 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
26924 }
26925 }
26926}
26927
26928unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
26929unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
26930
26931#[repr(C)]
26933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26934pub struct QueueFamilyGlobalPriorityProperties {
26935 pub s_type: StructureType,
26936 pub next: *mut c_void,
26937 pub priority_count: u32,
26938 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE as usize],
26939}
26940
26941impl Default for QueueFamilyGlobalPriorityProperties {
26942 #[inline]
26943 fn default() -> Self {
26944 Self {
26945 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
26946 next: ptr::null_mut(),
26947 priority_count: u32::default(),
26948 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
26949 }
26950 }
26951}
26952
26953unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
26954unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
26955
26956#[repr(C)]
26958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26959pub struct QueueFamilyOwnershipTransferPropertiesKHR {
26960 pub s_type: StructureType,
26961 pub next: *mut c_void,
26962 pub optimal_image_transfer_to_queue_families: u32,
26963}
26964
26965impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
26966 #[inline]
26967 fn default() -> Self {
26968 Self {
26969 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
26970 next: ptr::null_mut(),
26971 optimal_image_transfer_to_queue_families: u32::default(),
26972 }
26973 }
26974}
26975
26976unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
26977unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
26978
26979#[repr(C)]
26981#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26982pub struct QueueFamilyProperties {
26983 pub queue_flags: QueueFlags,
26984 pub queue_count: u32,
26985 pub timestamp_valid_bits: u32,
26986 pub min_image_transfer_granularity: Extent3D,
26987}
26988
26989#[repr(C)]
26991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26992pub struct QueueFamilyProperties2 {
26993 pub s_type: StructureType,
26994 pub next: *mut c_void,
26995 pub queue_family_properties: QueueFamilyProperties,
26996}
26997
26998impl Default for QueueFamilyProperties2 {
26999 #[inline]
27000 fn default() -> Self {
27001 Self {
27002 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
27003 next: ptr::null_mut(),
27004 queue_family_properties: QueueFamilyProperties::default(),
27005 }
27006 }
27007}
27008
27009unsafe impl Send for QueueFamilyProperties2 {}
27010unsafe impl Sync for QueueFamilyProperties2 {}
27011
27012#[repr(C)]
27014#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27015pub struct QueueFamilyQueryResultStatusPropertiesKHR {
27016 pub s_type: StructureType,
27017 pub next: *mut c_void,
27018 pub query_result_status_support: Bool32,
27019}
27020
27021impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
27022 #[inline]
27023 fn default() -> Self {
27024 Self {
27025 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
27026 next: ptr::null_mut(),
27027 query_result_status_support: Bool32::default(),
27028 }
27029 }
27030}
27031
27032unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
27033unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
27034
27035#[repr(C)]
27037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27038pub struct QueueFamilyVideoPropertiesKHR {
27039 pub s_type: StructureType,
27040 pub next: *mut c_void,
27041 pub video_codec_operations: VideoCodecOperationFlagsKHR,
27042}
27043
27044impl Default for QueueFamilyVideoPropertiesKHR {
27045 #[inline]
27046 fn default() -> Self {
27047 Self {
27048 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
27049 next: ptr::null_mut(),
27050 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
27051 }
27052 }
27053}
27054
27055unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
27056unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
27057
27058#[repr(C)]
27060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27061pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
27062 pub s_type: StructureType,
27063 pub next: *mut c_void,
27064 pub allow_cluster_acceleration_structure: Bool32,
27065}
27066
27067impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
27068 #[inline]
27069 fn default() -> Self {
27070 Self {
27071 s_type:
27072 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
27073 next: ptr::null_mut(),
27074 allow_cluster_acceleration_structure: Bool32::default(),
27075 }
27076 }
27077}
27078
27079unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
27080unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
27081
27082#[repr(C)]
27084#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27085pub struct RayTracingPipelineCreateInfoKHR {
27086 pub s_type: StructureType,
27087 pub next: *const c_void,
27088 pub flags: PipelineCreateFlags,
27089 pub stage_count: u32,
27090 pub stages: *const PipelineShaderStageCreateInfo,
27091 pub group_count: u32,
27092 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
27093 pub max_pipeline_ray_recursion_depth: u32,
27094 pub library_info: *const PipelineLibraryCreateInfoKHR,
27095 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
27096 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
27097 pub layout: PipelineLayout,
27098 pub base_pipeline_handle: Pipeline,
27099 pub base_pipeline_index: i32,
27100}
27101
27102impl Default for RayTracingPipelineCreateInfoKHR {
27103 #[inline]
27104 fn default() -> Self {
27105 Self {
27106 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
27107 next: ptr::null(),
27108 flags: PipelineCreateFlags::default(),
27109 stage_count: u32::default(),
27110 stages: ptr::null(),
27111 group_count: u32::default(),
27112 groups: ptr::null(),
27113 max_pipeline_ray_recursion_depth: u32::default(),
27114 library_info: ptr::null(),
27115 library_interface: ptr::null(),
27116 dynamic_state: ptr::null(),
27117 layout: PipelineLayout::default(),
27118 base_pipeline_handle: Pipeline::default(),
27119 base_pipeline_index: i32::default(),
27120 }
27121 }
27122}
27123
27124unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
27125unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
27126
27127#[repr(C)]
27129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27130pub struct RayTracingPipelineCreateInfoNV {
27131 pub s_type: StructureType,
27132 pub next: *const c_void,
27133 pub flags: PipelineCreateFlags,
27134 pub stage_count: u32,
27135 pub stages: *const PipelineShaderStageCreateInfo,
27136 pub group_count: u32,
27137 pub groups: *const RayTracingShaderGroupCreateInfoNV,
27138 pub max_recursion_depth: u32,
27139 pub layout: PipelineLayout,
27140 pub base_pipeline_handle: Pipeline,
27141 pub base_pipeline_index: i32,
27142}
27143
27144impl Default for RayTracingPipelineCreateInfoNV {
27145 #[inline]
27146 fn default() -> Self {
27147 Self {
27148 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
27149 next: ptr::null(),
27150 flags: PipelineCreateFlags::default(),
27151 stage_count: u32::default(),
27152 stages: ptr::null(),
27153 group_count: u32::default(),
27154 groups: ptr::null(),
27155 max_recursion_depth: u32::default(),
27156 layout: PipelineLayout::default(),
27157 base_pipeline_handle: Pipeline::default(),
27158 base_pipeline_index: i32::default(),
27159 }
27160 }
27161}
27162
27163unsafe impl Send for RayTracingPipelineCreateInfoNV {}
27164unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
27165
27166#[repr(C)]
27168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27169pub struct RayTracingPipelineInterfaceCreateInfoKHR {
27170 pub s_type: StructureType,
27171 pub next: *const c_void,
27172 pub max_pipeline_ray_payload_size: u32,
27173 pub max_pipeline_ray_hit_attribute_size: u32,
27174}
27175
27176impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
27177 #[inline]
27178 fn default() -> Self {
27179 Self {
27180 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
27181 next: ptr::null(),
27182 max_pipeline_ray_payload_size: u32::default(),
27183 max_pipeline_ray_hit_attribute_size: u32::default(),
27184 }
27185 }
27186}
27187
27188unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
27189unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
27190
27191#[repr(C)]
27193#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27194pub struct RayTracingShaderGroupCreateInfoKHR {
27195 pub s_type: StructureType,
27196 pub next: *const c_void,
27197 pub type_: RayTracingShaderGroupTypeKHR,
27198 pub general_shader: u32,
27199 pub closest_hit_shader: u32,
27200 pub any_hit_shader: u32,
27201 pub intersection_shader: u32,
27202 pub shader_group_capture_replay_handle: *const c_void,
27203}
27204
27205impl Default for RayTracingShaderGroupCreateInfoKHR {
27206 #[inline]
27207 fn default() -> Self {
27208 Self {
27209 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
27210 next: ptr::null(),
27211 type_: RayTracingShaderGroupTypeKHR::default(),
27212 general_shader: u32::default(),
27213 closest_hit_shader: u32::default(),
27214 any_hit_shader: u32::default(),
27215 intersection_shader: u32::default(),
27216 shader_group_capture_replay_handle: ptr::null(),
27217 }
27218 }
27219}
27220
27221unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
27222unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
27223
27224#[repr(C)]
27226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27227pub struct RayTracingShaderGroupCreateInfoNV {
27228 pub s_type: StructureType,
27229 pub next: *const c_void,
27230 pub type_: RayTracingShaderGroupTypeKHR,
27231 pub general_shader: u32,
27232 pub closest_hit_shader: u32,
27233 pub any_hit_shader: u32,
27234 pub intersection_shader: u32,
27235}
27236
27237impl Default for RayTracingShaderGroupCreateInfoNV {
27238 #[inline]
27239 fn default() -> Self {
27240 Self {
27241 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
27242 next: ptr::null(),
27243 type_: RayTracingShaderGroupTypeKHR::default(),
27244 general_shader: u32::default(),
27245 closest_hit_shader: u32::default(),
27246 any_hit_shader: u32::default(),
27247 intersection_shader: u32::default(),
27248 }
27249 }
27250}
27251
27252unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
27253unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
27254
27255#[repr(C)]
27257#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27258pub struct Rect2D {
27259 pub offset: Offset2D,
27260 pub extent: Extent2D,
27261}
27262
27263#[repr(C)]
27265#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27266pub struct RectLayerKHR {
27267 pub offset: Offset2D,
27268 pub extent: Extent2D,
27269 pub layer: u32,
27270}
27271
27272#[repr(C)]
27274#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27275pub struct RefreshCycleDurationGOOGLE {
27276 pub refresh_duration: u64,
27277}
27278
27279#[repr(C)]
27281#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27282pub struct RefreshObjectKHR {
27283 pub object_type: ObjectType,
27284 pub object_handle: u64,
27285 pub flags: RefreshObjectFlagsKHR,
27286}
27287
27288#[repr(C)]
27290#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27291pub struct RefreshObjectListKHR {
27292 pub s_type: StructureType,
27293 pub next: *const c_void,
27294 pub object_count: u32,
27295 pub objects: *const RefreshObjectKHR,
27296}
27297
27298impl Default for RefreshObjectListKHR {
27299 #[inline]
27300 fn default() -> Self {
27301 Self {
27302 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
27303 next: ptr::null(),
27304 object_count: u32::default(),
27305 objects: ptr::null(),
27306 }
27307 }
27308}
27309
27310unsafe impl Send for RefreshObjectListKHR {}
27311unsafe impl Sync for RefreshObjectListKHR {}
27312
27313#[repr(C)]
27315#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27316pub struct ReleaseCapturedPipelineDataInfoKHR {
27317 pub s_type: StructureType,
27318 pub next: *mut c_void,
27319 pub pipeline: Pipeline,
27320}
27321
27322impl Default for ReleaseCapturedPipelineDataInfoKHR {
27323 #[inline]
27324 fn default() -> Self {
27325 Self {
27326 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
27327 next: ptr::null_mut(),
27328 pipeline: Pipeline::default(),
27329 }
27330 }
27331}
27332
27333unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
27334unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
27335
27336#[repr(C)]
27338#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27339pub struct ReleaseSwapchainImagesInfoKHR {
27340 pub s_type: StructureType,
27341 pub next: *const c_void,
27342 pub swapchain: SwapchainKHR,
27343 pub image_index_count: u32,
27344 pub image_indices: *const u32,
27345}
27346
27347impl Default for ReleaseSwapchainImagesInfoKHR {
27348 #[inline]
27349 fn default() -> Self {
27350 Self {
27351 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
27352 next: ptr::null(),
27353 swapchain: SwapchainKHR::default(),
27354 image_index_count: u32::default(),
27355 image_indices: ptr::null(),
27356 }
27357 }
27358}
27359
27360unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
27361unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
27362
27363#[repr(C)]
27365#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27366pub struct RenderPassAttachmentBeginInfo {
27367 pub s_type: StructureType,
27368 pub next: *const c_void,
27369 pub attachment_count: u32,
27370 pub attachments: *const ImageView,
27371}
27372
27373impl Default for RenderPassAttachmentBeginInfo {
27374 #[inline]
27375 fn default() -> Self {
27376 Self {
27377 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
27378 next: ptr::null(),
27379 attachment_count: u32::default(),
27380 attachments: ptr::null(),
27381 }
27382 }
27383}
27384
27385unsafe impl Send for RenderPassAttachmentBeginInfo {}
27386unsafe impl Sync for RenderPassAttachmentBeginInfo {}
27387
27388#[repr(C)]
27390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27391pub struct RenderPassBeginInfo {
27392 pub s_type: StructureType,
27393 pub next: *const c_void,
27394 pub render_pass: RenderPass,
27395 pub framebuffer: Framebuffer,
27396 pub render_area: Rect2D,
27397 pub clear_value_count: u32,
27398 pub clear_values: *const ClearValue,
27399}
27400
27401impl Default for RenderPassBeginInfo {
27402 #[inline]
27403 fn default() -> Self {
27404 Self {
27405 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
27406 next: ptr::null(),
27407 render_pass: RenderPass::default(),
27408 framebuffer: Framebuffer::default(),
27409 render_area: Rect2D::default(),
27410 clear_value_count: u32::default(),
27411 clear_values: ptr::null(),
27412 }
27413 }
27414}
27415
27416unsafe impl Send for RenderPassBeginInfo {}
27417unsafe impl Sync for RenderPassBeginInfo {}
27418
27419#[repr(C)]
27421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27422pub struct RenderPassCreateInfo {
27423 pub s_type: StructureType,
27424 pub next: *const c_void,
27425 pub flags: RenderPassCreateFlags,
27426 pub attachment_count: u32,
27427 pub attachments: *const AttachmentDescription,
27428 pub subpass_count: u32,
27429 pub subpasses: *const SubpassDescription,
27430 pub dependency_count: u32,
27431 pub dependencies: *const SubpassDependency,
27432}
27433
27434impl Default for RenderPassCreateInfo {
27435 #[inline]
27436 fn default() -> Self {
27437 Self {
27438 s_type: StructureType::RENDER_PASS_CREATE_INFO,
27439 next: ptr::null(),
27440 flags: RenderPassCreateFlags::default(),
27441 attachment_count: u32::default(),
27442 attachments: ptr::null(),
27443 subpass_count: u32::default(),
27444 subpasses: ptr::null(),
27445 dependency_count: u32::default(),
27446 dependencies: ptr::null(),
27447 }
27448 }
27449}
27450
27451unsafe impl Send for RenderPassCreateInfo {}
27452unsafe impl Sync for RenderPassCreateInfo {}
27453
27454#[repr(C)]
27456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27457pub struct RenderPassCreateInfo2 {
27458 pub s_type: StructureType,
27459 pub next: *const c_void,
27460 pub flags: RenderPassCreateFlags,
27461 pub attachment_count: u32,
27462 pub attachments: *const AttachmentDescription2,
27463 pub subpass_count: u32,
27464 pub subpasses: *const SubpassDescription2,
27465 pub dependency_count: u32,
27466 pub dependencies: *const SubpassDependency2,
27467 pub correlated_view_mask_count: u32,
27468 pub correlated_view_masks: *const u32,
27469}
27470
27471impl Default for RenderPassCreateInfo2 {
27472 #[inline]
27473 fn default() -> Self {
27474 Self {
27475 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
27476 next: ptr::null(),
27477 flags: RenderPassCreateFlags::default(),
27478 attachment_count: u32::default(),
27479 attachments: ptr::null(),
27480 subpass_count: u32::default(),
27481 subpasses: ptr::null(),
27482 dependency_count: u32::default(),
27483 dependencies: ptr::null(),
27484 correlated_view_mask_count: u32::default(),
27485 correlated_view_masks: ptr::null(),
27486 }
27487 }
27488}
27489
27490unsafe impl Send for RenderPassCreateInfo2 {}
27491unsafe impl Sync for RenderPassCreateInfo2 {}
27492
27493#[repr(C)]
27495#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27496pub struct RenderPassCreationControlEXT {
27497 pub s_type: StructureType,
27498 pub next: *const c_void,
27499 pub disallow_merging: Bool32,
27500}
27501
27502impl Default for RenderPassCreationControlEXT {
27503 #[inline]
27504 fn default() -> Self {
27505 Self {
27506 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
27507 next: ptr::null(),
27508 disallow_merging: Bool32::default(),
27509 }
27510 }
27511}
27512
27513unsafe impl Send for RenderPassCreationControlEXT {}
27514unsafe impl Sync for RenderPassCreationControlEXT {}
27515
27516#[repr(C)]
27518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27519pub struct RenderPassCreationFeedbackCreateInfoEXT {
27520 pub s_type: StructureType,
27521 pub next: *const c_void,
27522 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
27523}
27524
27525impl Default for RenderPassCreationFeedbackCreateInfoEXT {
27526 #[inline]
27527 fn default() -> Self {
27528 Self {
27529 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
27530 next: ptr::null(),
27531 render_pass_feedback: ptr::null_mut(),
27532 }
27533 }
27534}
27535
27536unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
27537unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
27538
27539#[repr(C)]
27541#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27542pub struct RenderPassCreationFeedbackInfoEXT {
27543 pub post_merge_subpass_count: u32,
27544}
27545
27546#[repr(C)]
27548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27549pub struct RenderPassFragmentDensityMapCreateInfoEXT {
27550 pub s_type: StructureType,
27551 pub next: *const c_void,
27552 pub fragment_density_map_attachment: AttachmentReference,
27553}
27554
27555impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
27556 #[inline]
27557 fn default() -> Self {
27558 Self {
27559 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
27560 next: ptr::null(),
27561 fragment_density_map_attachment: AttachmentReference::default(),
27562 }
27563 }
27564}
27565
27566unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
27567unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
27568
27569#[repr(C)]
27571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27572pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
27573 pub s_type: StructureType,
27574 pub next: *const c_void,
27575 pub fragment_density_offset_count: u32,
27576 pub fragment_density_offsets: *const Offset2D,
27577}
27578
27579impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
27580 #[inline]
27581 fn default() -> Self {
27582 Self {
27583 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
27584 next: ptr::null(),
27585 fragment_density_offset_count: u32::default(),
27586 fragment_density_offsets: ptr::null(),
27587 }
27588 }
27589}
27590
27591unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
27592unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
27593
27594#[repr(C)]
27596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27597pub struct RenderPassInputAttachmentAspectCreateInfo {
27598 pub s_type: StructureType,
27599 pub next: *const c_void,
27600 pub aspect_reference_count: u32,
27601 pub aspect_references: *const InputAttachmentAspectReference,
27602}
27603
27604impl Default for RenderPassInputAttachmentAspectCreateInfo {
27605 #[inline]
27606 fn default() -> Self {
27607 Self {
27608 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
27609 next: ptr::null(),
27610 aspect_reference_count: u32::default(),
27611 aspect_references: ptr::null(),
27612 }
27613 }
27614}
27615
27616unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
27617unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
27618
27619#[repr(C)]
27621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27622pub struct RenderPassMultiviewCreateInfo {
27623 pub s_type: StructureType,
27624 pub next: *const c_void,
27625 pub subpass_count: u32,
27626 pub view_masks: *const u32,
27627 pub dependency_count: u32,
27628 pub view_offsets: *const i32,
27629 pub correlation_mask_count: u32,
27630 pub correlation_masks: *const u32,
27631}
27632
27633impl Default for RenderPassMultiviewCreateInfo {
27634 #[inline]
27635 fn default() -> Self {
27636 Self {
27637 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
27638 next: ptr::null(),
27639 subpass_count: u32::default(),
27640 view_masks: ptr::null(),
27641 dependency_count: u32::default(),
27642 view_offsets: ptr::null(),
27643 correlation_mask_count: u32::default(),
27644 correlation_masks: ptr::null(),
27645 }
27646 }
27647}
27648
27649unsafe impl Send for RenderPassMultiviewCreateInfo {}
27650unsafe impl Sync for RenderPassMultiviewCreateInfo {}
27651
27652#[repr(C)]
27654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27655pub struct RenderPassPerformanceCountersByRegionBeginInfoARM {
27656 pub s_type: StructureType,
27657 pub next: *mut c_void,
27658 pub counter_address_count: u32,
27659 pub counter_addresses: *const DeviceAddress,
27660 pub serialize_regions: Bool32,
27661 pub counter_index_count: u32,
27662 pub counter_indices: *mut u32,
27663}
27664
27665impl Default for RenderPassPerformanceCountersByRegionBeginInfoARM {
27666 #[inline]
27667 fn default() -> Self {
27668 Self {
27669 s_type: StructureType::RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
27670 next: ptr::null_mut(),
27671 counter_address_count: u32::default(),
27672 counter_addresses: ptr::null(),
27673 serialize_regions: Bool32::default(),
27674 counter_index_count: u32::default(),
27675 counter_indices: ptr::null_mut(),
27676 }
27677 }
27678}
27679
27680unsafe impl Send for RenderPassPerformanceCountersByRegionBeginInfoARM {}
27681unsafe impl Sync for RenderPassPerformanceCountersByRegionBeginInfoARM {}
27682
27683#[repr(C)]
27685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27686pub struct RenderPassSampleLocationsBeginInfoEXT {
27687 pub s_type: StructureType,
27688 pub next: *const c_void,
27689 pub attachment_initial_sample_locations_count: u32,
27690 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
27691 pub post_subpass_sample_locations_count: u32,
27692 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
27693}
27694
27695impl Default for RenderPassSampleLocationsBeginInfoEXT {
27696 #[inline]
27697 fn default() -> Self {
27698 Self {
27699 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
27700 next: ptr::null(),
27701 attachment_initial_sample_locations_count: u32::default(),
27702 attachment_initial_sample_locations: ptr::null(),
27703 post_subpass_sample_locations_count: u32::default(),
27704 post_subpass_sample_locations: ptr::null(),
27705 }
27706 }
27707}
27708
27709unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
27710unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
27711
27712#[repr(C)]
27714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27715pub struct RenderPassStripeBeginInfoARM {
27716 pub s_type: StructureType,
27717 pub next: *const c_void,
27718 pub stripe_info_count: u32,
27719 pub stripe_infos: *const RenderPassStripeInfoARM,
27720}
27721
27722impl Default for RenderPassStripeBeginInfoARM {
27723 #[inline]
27724 fn default() -> Self {
27725 Self {
27726 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
27727 next: ptr::null(),
27728 stripe_info_count: u32::default(),
27729 stripe_infos: ptr::null(),
27730 }
27731 }
27732}
27733
27734unsafe impl Send for RenderPassStripeBeginInfoARM {}
27735unsafe impl Sync for RenderPassStripeBeginInfoARM {}
27736
27737#[repr(C)]
27739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27740pub struct RenderPassStripeInfoARM {
27741 pub s_type: StructureType,
27742 pub next: *const c_void,
27743 pub stripe_area: Rect2D,
27744}
27745
27746impl Default for RenderPassStripeInfoARM {
27747 #[inline]
27748 fn default() -> Self {
27749 Self {
27750 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
27751 next: ptr::null(),
27752 stripe_area: Rect2D::default(),
27753 }
27754 }
27755}
27756
27757unsafe impl Send for RenderPassStripeInfoARM {}
27758unsafe impl Sync for RenderPassStripeInfoARM {}
27759
27760#[repr(C)]
27762#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27763pub struct RenderPassStripeSubmitInfoARM {
27764 pub s_type: StructureType,
27765 pub next: *const c_void,
27766 pub stripe_semaphore_info_count: u32,
27767 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
27768}
27769
27770impl Default for RenderPassStripeSubmitInfoARM {
27771 #[inline]
27772 fn default() -> Self {
27773 Self {
27774 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
27775 next: ptr::null(),
27776 stripe_semaphore_info_count: u32::default(),
27777 stripe_semaphore_infos: ptr::null(),
27778 }
27779 }
27780}
27781
27782unsafe impl Send for RenderPassStripeSubmitInfoARM {}
27783unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
27784
27785#[repr(C)]
27787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27788pub struct RenderPassSubpassFeedbackCreateInfoEXT {
27789 pub s_type: StructureType,
27790 pub next: *const c_void,
27791 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
27792}
27793
27794impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
27795 #[inline]
27796 fn default() -> Self {
27797 Self {
27798 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
27799 next: ptr::null(),
27800 subpass_feedback: ptr::null_mut(),
27801 }
27802 }
27803}
27804
27805unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
27806unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
27807
27808#[repr(C)]
27810#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27811pub struct RenderPassSubpassFeedbackInfoEXT {
27812 pub subpass_merge_status: SubpassMergeStatusEXT,
27813 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
27814 pub post_merge_index: u32,
27815}
27816
27817#[repr(C)]
27819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27820pub struct RenderPassTileShadingCreateInfoQCOM {
27821 pub s_type: StructureType,
27822 pub next: *const c_void,
27823 pub flags: TileShadingRenderPassFlagsQCOM,
27824 pub tile_apron_size: Extent2D,
27825}
27826
27827impl Default for RenderPassTileShadingCreateInfoQCOM {
27828 #[inline]
27829 fn default() -> Self {
27830 Self {
27831 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
27832 next: ptr::null(),
27833 flags: TileShadingRenderPassFlagsQCOM::default(),
27834 tile_apron_size: Extent2D::default(),
27835 }
27836 }
27837}
27838
27839unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
27840unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
27841
27842#[repr(C)]
27844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27845pub struct RenderPassTransformBeginInfoQCOM {
27846 pub s_type: StructureType,
27847 pub next: *const c_void,
27848 pub transform: SurfaceTransformFlagsKHR,
27849}
27850
27851impl Default for RenderPassTransformBeginInfoQCOM {
27852 #[inline]
27853 fn default() -> Self {
27854 Self {
27855 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
27856 next: ptr::null(),
27857 transform: SurfaceTransformFlagsKHR::default(),
27858 }
27859 }
27860}
27861
27862unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
27863unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
27864
27865#[repr(C)]
27867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27868pub struct RenderingAreaInfo {
27869 pub s_type: StructureType,
27870 pub next: *const c_void,
27871 pub view_mask: u32,
27872 pub color_attachment_count: u32,
27873 pub color_attachment_formats: *const Format,
27874 pub depth_attachment_format: Format,
27875 pub stencil_attachment_format: Format,
27876}
27877
27878impl Default for RenderingAreaInfo {
27879 #[inline]
27880 fn default() -> Self {
27881 Self {
27882 s_type: StructureType::RENDERING_AREA_INFO,
27883 next: ptr::null(),
27884 view_mask: u32::default(),
27885 color_attachment_count: u32::default(),
27886 color_attachment_formats: ptr::null(),
27887 depth_attachment_format: Format::default(),
27888 stencil_attachment_format: Format::default(),
27889 }
27890 }
27891}
27892
27893unsafe impl Send for RenderingAreaInfo {}
27894unsafe impl Sync for RenderingAreaInfo {}
27895
27896#[repr(C)]
27898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27899pub struct RenderingAttachmentFlagsInfoKHR {
27900 pub s_type: StructureType,
27901 pub next: *const c_void,
27902 pub flags: RenderingAttachmentFlagsKHR,
27903}
27904
27905impl Default for RenderingAttachmentFlagsInfoKHR {
27906 #[inline]
27907 fn default() -> Self {
27908 Self {
27909 s_type: StructureType::RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
27910 next: ptr::null(),
27911 flags: RenderingAttachmentFlagsKHR::default(),
27912 }
27913 }
27914}
27915
27916unsafe impl Send for RenderingAttachmentFlagsInfoKHR {}
27917unsafe impl Sync for RenderingAttachmentFlagsInfoKHR {}
27918
27919#[repr(C)]
27921#[derive(Copy, Clone, Debug)]
27922pub struct RenderingAttachmentInfo {
27923 pub s_type: StructureType,
27924 pub next: *const c_void,
27925 pub image_view: ImageView,
27926 pub image_layout: ImageLayout,
27927 pub resolve_mode: ResolveModeFlags,
27928 pub resolve_image_view: ImageView,
27929 pub resolve_image_layout: ImageLayout,
27930 pub load_op: AttachmentLoadOp,
27931 pub store_op: AttachmentStoreOp,
27932 pub clear_value: ClearValue,
27933}
27934
27935impl Default for RenderingAttachmentInfo {
27936 #[inline]
27937 fn default() -> Self {
27938 Self {
27939 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
27940 next: ptr::null(),
27941 image_view: ImageView::default(),
27942 image_layout: ImageLayout::default(),
27943 resolve_mode: ResolveModeFlags::default(),
27944 resolve_image_view: ImageView::default(),
27945 resolve_image_layout: ImageLayout::default(),
27946 load_op: AttachmentLoadOp::default(),
27947 store_op: AttachmentStoreOp::default(),
27948 clear_value: ClearValue::default(),
27949 }
27950 }
27951}
27952
27953unsafe impl Send for RenderingAttachmentInfo {}
27954unsafe impl Sync for RenderingAttachmentInfo {}
27955
27956#[repr(C)]
27958#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27959pub struct RenderingAttachmentLocationInfo {
27960 pub s_type: StructureType,
27961 pub next: *const c_void,
27962 pub color_attachment_count: u32,
27963 pub color_attachment_locations: *const u32,
27964}
27965
27966impl Default for RenderingAttachmentLocationInfo {
27967 #[inline]
27968 fn default() -> Self {
27969 Self {
27970 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
27971 next: ptr::null(),
27972 color_attachment_count: u32::default(),
27973 color_attachment_locations: ptr::null(),
27974 }
27975 }
27976}
27977
27978unsafe impl Send for RenderingAttachmentLocationInfo {}
27979unsafe impl Sync for RenderingAttachmentLocationInfo {}
27980
27981#[repr(C)]
27983#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27984pub struct RenderingEndInfoKHR {
27985 pub s_type: StructureType,
27986 pub next: *const c_void,
27987}
27988
27989impl Default for RenderingEndInfoKHR {
27990 #[inline]
27991 fn default() -> Self {
27992 Self {
27993 s_type: StructureType::RENDERING_END_INFO_KHR,
27994 next: ptr::null(),
27995 }
27996 }
27997}
27998
27999unsafe impl Send for RenderingEndInfoKHR {}
28000unsafe impl Sync for RenderingEndInfoKHR {}
28001
28002#[repr(C)]
28004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28005pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
28006 pub s_type: StructureType,
28007 pub next: *const c_void,
28008 pub image_view: ImageView,
28009 pub image_layout: ImageLayout,
28010}
28011
28012impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
28013 #[inline]
28014 fn default() -> Self {
28015 Self {
28016 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
28017 next: ptr::null(),
28018 image_view: ImageView::default(),
28019 image_layout: ImageLayout::default(),
28020 }
28021 }
28022}
28023
28024unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
28025unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
28026
28027#[repr(C)]
28029#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28030pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
28031 pub s_type: StructureType,
28032 pub next: *const c_void,
28033 pub image_view: ImageView,
28034 pub image_layout: ImageLayout,
28035 pub shading_rate_attachment_texel_size: Extent2D,
28036}
28037
28038impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
28039 #[inline]
28040 fn default() -> Self {
28041 Self {
28042 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
28043 next: ptr::null(),
28044 image_view: ImageView::default(),
28045 image_layout: ImageLayout::default(),
28046 shading_rate_attachment_texel_size: Extent2D::default(),
28047 }
28048 }
28049}
28050
28051unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
28052unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
28053
28054#[repr(C)]
28056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28057pub struct RenderingInfo {
28058 pub s_type: StructureType,
28059 pub next: *const c_void,
28060 pub flags: RenderingFlags,
28061 pub render_area: Rect2D,
28062 pub layer_count: u32,
28063 pub view_mask: u32,
28064 pub color_attachment_count: u32,
28065 pub color_attachments: *const RenderingAttachmentInfo,
28066 pub depth_attachment: *const RenderingAttachmentInfo,
28067 pub stencil_attachment: *const RenderingAttachmentInfo,
28068}
28069
28070impl Default for RenderingInfo {
28071 #[inline]
28072 fn default() -> Self {
28073 Self {
28074 s_type: StructureType::RENDERING_INFO,
28075 next: ptr::null(),
28076 flags: RenderingFlags::default(),
28077 render_area: Rect2D::default(),
28078 layer_count: u32::default(),
28079 view_mask: u32::default(),
28080 color_attachment_count: u32::default(),
28081 color_attachments: ptr::null(),
28082 depth_attachment: ptr::null(),
28083 stencil_attachment: ptr::null(),
28084 }
28085 }
28086}
28087
28088unsafe impl Send for RenderingInfo {}
28089unsafe impl Sync for RenderingInfo {}
28090
28091#[repr(C)]
28093#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28094pub struct RenderingInputAttachmentIndexInfo {
28095 pub s_type: StructureType,
28096 pub next: *const c_void,
28097 pub color_attachment_count: u32,
28098 pub color_attachment_input_indices: *const u32,
28099 pub depth_input_attachment_index: *const u32,
28100 pub stencil_input_attachment_index: *const u32,
28101}
28102
28103impl Default for RenderingInputAttachmentIndexInfo {
28104 #[inline]
28105 fn default() -> Self {
28106 Self {
28107 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
28108 next: ptr::null(),
28109 color_attachment_count: u32::default(),
28110 color_attachment_input_indices: ptr::null(),
28111 depth_input_attachment_index: ptr::null(),
28112 stencil_input_attachment_index: ptr::null(),
28113 }
28114 }
28115}
28116
28117unsafe impl Send for RenderingInputAttachmentIndexInfo {}
28118unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
28119
28120#[repr(C)]
28122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28123pub struct ResolveImageInfo2 {
28124 pub s_type: StructureType,
28125 pub next: *const c_void,
28126 pub src_image: Image,
28127 pub src_image_layout: ImageLayout,
28128 pub dst_image: Image,
28129 pub dst_image_layout: ImageLayout,
28130 pub region_count: u32,
28131 pub regions: *const ImageResolve2,
28132}
28133
28134impl Default for ResolveImageInfo2 {
28135 #[inline]
28136 fn default() -> Self {
28137 Self {
28138 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
28139 next: ptr::null(),
28140 src_image: Image::default(),
28141 src_image_layout: ImageLayout::default(),
28142 dst_image: Image::default(),
28143 dst_image_layout: ImageLayout::default(),
28144 region_count: u32::default(),
28145 regions: ptr::null(),
28146 }
28147 }
28148}
28149
28150unsafe impl Send for ResolveImageInfo2 {}
28151unsafe impl Sync for ResolveImageInfo2 {}
28152
28153#[repr(C)]
28155#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28156pub struct ResolveImageModeInfoKHR {
28157 pub s_type: StructureType,
28158 pub next: *const c_void,
28159 pub flags: ResolveImageFlagsKHR,
28160 pub resolve_mode: ResolveModeFlags,
28161 pub stencil_resolve_mode: ResolveModeFlags,
28162}
28163
28164impl Default for ResolveImageModeInfoKHR {
28165 #[inline]
28166 fn default() -> Self {
28167 Self {
28168 s_type: StructureType::RESOLVE_IMAGE_MODE_INFO_KHR,
28169 next: ptr::null(),
28170 flags: ResolveImageFlagsKHR::default(),
28171 resolve_mode: ResolveModeFlags::default(),
28172 stencil_resolve_mode: ResolveModeFlags::default(),
28173 }
28174 }
28175}
28176
28177unsafe impl Send for ResolveImageModeInfoKHR {}
28178unsafe impl Sync for ResolveImageModeInfoKHR {}
28179
28180#[repr(C)]
28182#[derive(Copy, Clone, Debug)]
28183pub struct ResourceDescriptorInfoEXT {
28184 pub s_type: StructureType,
28185 pub next: *const c_void,
28186 pub type_: DescriptorType,
28187 pub data: ResourceDescriptorDataEXT,
28188}
28189
28190impl Default for ResourceDescriptorInfoEXT {
28191 #[inline]
28192 fn default() -> Self {
28193 Self {
28194 s_type: StructureType::RESOURCE_DESCRIPTOR_INFO_EXT,
28195 next: ptr::null(),
28196 type_: DescriptorType::default(),
28197 data: ResourceDescriptorDataEXT::default(),
28198 }
28199 }
28200}
28201
28202unsafe impl Send for ResourceDescriptorInfoEXT {}
28203unsafe impl Sync for ResourceDescriptorInfoEXT {}
28204
28205#[repr(C)]
28207#[derive(Copy, Clone, Default, Debug, PartialEq)]
28208pub struct SRTDataNV {
28209 pub sx: f32,
28210 pub a: f32,
28211 pub b: f32,
28212 pub pvx: f32,
28213 pub sy: f32,
28214 pub c: f32,
28215 pub pvy: f32,
28216 pub sz: f32,
28217 pub pvz: f32,
28218 pub qx: f32,
28219 pub qy: f32,
28220 pub qz: f32,
28221 pub qw: f32,
28222 pub tx: f32,
28223 pub ty: f32,
28224 pub tz: f32,
28225}
28226
28227#[repr(C)]
28229#[derive(Copy, Clone, Default, Debug, PartialEq)]
28230pub struct SampleLocationEXT {
28231 pub x: f32,
28232 pub y: f32,
28233}
28234
28235#[repr(C)]
28237#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28238pub struct SampleLocationsInfoEXT {
28239 pub s_type: StructureType,
28240 pub next: *const c_void,
28241 pub sample_locations_per_pixel: SampleCountFlags,
28242 pub sample_location_grid_size: Extent2D,
28243 pub sample_locations_count: u32,
28244 pub sample_locations: *const SampleLocationEXT,
28245}
28246
28247impl Default for SampleLocationsInfoEXT {
28248 #[inline]
28249 fn default() -> Self {
28250 Self {
28251 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
28252 next: ptr::null(),
28253 sample_locations_per_pixel: SampleCountFlags::default(),
28254 sample_location_grid_size: Extent2D::default(),
28255 sample_locations_count: u32::default(),
28256 sample_locations: ptr::null(),
28257 }
28258 }
28259}
28260
28261unsafe impl Send for SampleLocationsInfoEXT {}
28262unsafe impl Sync for SampleLocationsInfoEXT {}
28263
28264#[repr(C)]
28266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28267pub struct SamplerBlockMatchWindowCreateInfoQCOM {
28268 pub s_type: StructureType,
28269 pub next: *const c_void,
28270 pub window_extent: Extent2D,
28271 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
28272}
28273
28274impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
28275 #[inline]
28276 fn default() -> Self {
28277 Self {
28278 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
28279 next: ptr::null(),
28280 window_extent: Extent2D::default(),
28281 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
28282 }
28283 }
28284}
28285
28286unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
28287unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
28288
28289#[repr(C)]
28291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28292pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
28293 pub s_type: StructureType,
28294 pub next: *const c_void,
28295 pub components: ComponentMapping,
28296 pub srgb: Bool32,
28297}
28298
28299impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
28300 #[inline]
28301 fn default() -> Self {
28302 Self {
28303 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
28304 next: ptr::null(),
28305 components: ComponentMapping::default(),
28306 srgb: Bool32::default(),
28307 }
28308 }
28309}
28310
28311unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
28312unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
28313
28314#[repr(C)]
28316#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28317pub struct SamplerCaptureDescriptorDataInfoEXT {
28318 pub s_type: StructureType,
28319 pub next: *const c_void,
28320 pub sampler: Sampler,
28321}
28322
28323impl Default for SamplerCaptureDescriptorDataInfoEXT {
28324 #[inline]
28325 fn default() -> Self {
28326 Self {
28327 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
28328 next: ptr::null(),
28329 sampler: Sampler::default(),
28330 }
28331 }
28332}
28333
28334unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
28335unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
28336
28337#[repr(C)]
28339#[derive(Copy, Clone, Debug, PartialEq)]
28340pub struct SamplerCreateInfo {
28341 pub s_type: StructureType,
28342 pub next: *const c_void,
28343 pub flags: SamplerCreateFlags,
28344 pub mag_filter: Filter,
28345 pub min_filter: Filter,
28346 pub mipmap_mode: SamplerMipmapMode,
28347 pub address_mode_u: SamplerAddressMode,
28348 pub address_mode_v: SamplerAddressMode,
28349 pub address_mode_w: SamplerAddressMode,
28350 pub mip_lod_bias: f32,
28351 pub anisotropy_enable: Bool32,
28352 pub max_anisotropy: f32,
28353 pub compare_enable: Bool32,
28354 pub compare_op: CompareOp,
28355 pub min_lod: f32,
28356 pub max_lod: f32,
28357 pub border_color: BorderColor,
28358 pub unnormalized_coordinates: Bool32,
28359}
28360
28361impl Default for SamplerCreateInfo {
28362 #[inline]
28363 fn default() -> Self {
28364 Self {
28365 s_type: StructureType::SAMPLER_CREATE_INFO,
28366 next: ptr::null(),
28367 flags: SamplerCreateFlags::default(),
28368 mag_filter: Filter::default(),
28369 min_filter: Filter::default(),
28370 mipmap_mode: SamplerMipmapMode::default(),
28371 address_mode_u: SamplerAddressMode::default(),
28372 address_mode_v: SamplerAddressMode::default(),
28373 address_mode_w: SamplerAddressMode::default(),
28374 mip_lod_bias: f32::default(),
28375 anisotropy_enable: Bool32::default(),
28376 max_anisotropy: f32::default(),
28377 compare_enable: Bool32::default(),
28378 compare_op: CompareOp::default(),
28379 min_lod: f32::default(),
28380 max_lod: f32::default(),
28381 border_color: BorderColor::default(),
28382 unnormalized_coordinates: Bool32::default(),
28383 }
28384 }
28385}
28386
28387unsafe impl Send for SamplerCreateInfo {}
28388unsafe impl Sync for SamplerCreateInfo {}
28389
28390#[repr(C)]
28392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28393pub struct SamplerCubicWeightsCreateInfoQCOM {
28394 pub s_type: StructureType,
28395 pub next: *const c_void,
28396 pub cubic_weights: CubicFilterWeightsQCOM,
28397}
28398
28399impl Default for SamplerCubicWeightsCreateInfoQCOM {
28400 #[inline]
28401 fn default() -> Self {
28402 Self {
28403 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
28404 next: ptr::null(),
28405 cubic_weights: CubicFilterWeightsQCOM::default(),
28406 }
28407 }
28408}
28409
28410unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
28411unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
28412
28413#[repr(C)]
28415#[derive(Copy, Clone, Debug)]
28416pub struct SamplerCustomBorderColorCreateInfoEXT {
28417 pub s_type: StructureType,
28418 pub next: *const c_void,
28419 pub custom_border_color: ClearColorValue,
28420 pub format: Format,
28421}
28422
28423impl Default for SamplerCustomBorderColorCreateInfoEXT {
28424 #[inline]
28425 fn default() -> Self {
28426 Self {
28427 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
28428 next: ptr::null(),
28429 custom_border_color: ClearColorValue::default(),
28430 format: Format::default(),
28431 }
28432 }
28433}
28434
28435unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
28436unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
28437
28438#[repr(C)]
28440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28441pub struct SamplerCustomBorderColorIndexCreateInfoEXT {
28442 pub s_type: StructureType,
28443 pub next: *const c_void,
28444 pub index: u32,
28445}
28446
28447impl Default for SamplerCustomBorderColorIndexCreateInfoEXT {
28448 #[inline]
28449 fn default() -> Self {
28450 Self {
28451 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT,
28452 next: ptr::null(),
28453 index: u32::default(),
28454 }
28455 }
28456}
28457
28458unsafe impl Send for SamplerCustomBorderColorIndexCreateInfoEXT {}
28459unsafe impl Sync for SamplerCustomBorderColorIndexCreateInfoEXT {}
28460
28461#[repr(C)]
28463#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28464pub struct SamplerReductionModeCreateInfo {
28465 pub s_type: StructureType,
28466 pub next: *const c_void,
28467 pub reduction_mode: SamplerReductionMode,
28468}
28469
28470impl Default for SamplerReductionModeCreateInfo {
28471 #[inline]
28472 fn default() -> Self {
28473 Self {
28474 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
28475 next: ptr::null(),
28476 reduction_mode: SamplerReductionMode::default(),
28477 }
28478 }
28479}
28480
28481unsafe impl Send for SamplerReductionModeCreateInfo {}
28482unsafe impl Sync for SamplerReductionModeCreateInfo {}
28483
28484#[repr(C)]
28486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28487pub struct SamplerYcbcrConversionCreateInfo {
28488 pub s_type: StructureType,
28489 pub next: *const c_void,
28490 pub format: Format,
28491 pub ycbcr_model: SamplerYcbcrModelConversion,
28492 pub ycbcr_range: SamplerYcbcrRange,
28493 pub components: ComponentMapping,
28494 pub x_chroma_offset: ChromaLocation,
28495 pub y_chroma_offset: ChromaLocation,
28496 pub chroma_filter: Filter,
28497 pub force_explicit_reconstruction: Bool32,
28498}
28499
28500impl Default for SamplerYcbcrConversionCreateInfo {
28501 #[inline]
28502 fn default() -> Self {
28503 Self {
28504 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
28505 next: ptr::null(),
28506 format: Format::default(),
28507 ycbcr_model: SamplerYcbcrModelConversion::default(),
28508 ycbcr_range: SamplerYcbcrRange::default(),
28509 components: ComponentMapping::default(),
28510 x_chroma_offset: ChromaLocation::default(),
28511 y_chroma_offset: ChromaLocation::default(),
28512 chroma_filter: Filter::default(),
28513 force_explicit_reconstruction: Bool32::default(),
28514 }
28515 }
28516}
28517
28518unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
28519unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
28520
28521#[repr(C)]
28523#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28524pub struct SamplerYcbcrConversionImageFormatProperties {
28525 pub s_type: StructureType,
28526 pub next: *mut c_void,
28527 pub combined_image_sampler_descriptor_count: u32,
28528}
28529
28530impl Default for SamplerYcbcrConversionImageFormatProperties {
28531 #[inline]
28532 fn default() -> Self {
28533 Self {
28534 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
28535 next: ptr::null_mut(),
28536 combined_image_sampler_descriptor_count: u32::default(),
28537 }
28538 }
28539}
28540
28541unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
28542unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
28543
28544#[repr(C)]
28546#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28547pub struct SamplerYcbcrConversionInfo {
28548 pub s_type: StructureType,
28549 pub next: *const c_void,
28550 pub conversion: SamplerYcbcrConversion,
28551}
28552
28553impl Default for SamplerYcbcrConversionInfo {
28554 #[inline]
28555 fn default() -> Self {
28556 Self {
28557 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
28558 next: ptr::null(),
28559 conversion: SamplerYcbcrConversion::default(),
28560 }
28561 }
28562}
28563
28564unsafe impl Send for SamplerYcbcrConversionInfo {}
28565unsafe impl Sync for SamplerYcbcrConversionInfo {}
28566
28567#[repr(C)]
28569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28570pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
28571 pub s_type: StructureType,
28572 pub next: *mut c_void,
28573 pub enable_y_degamma: Bool32,
28574 pub enable_cb_cr_degamma: Bool32,
28575}
28576
28577impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
28578 #[inline]
28579 fn default() -> Self {
28580 Self {
28581 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
28582 next: ptr::null_mut(),
28583 enable_y_degamma: Bool32::default(),
28584 enable_cb_cr_degamma: Bool32::default(),
28585 }
28586 }
28587}
28588
28589unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
28590unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
28591
28592#[repr(C)]
28594#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28595pub struct SciSyncAttributesInfoNV {
28596 pub s_type: StructureType,
28597 pub next: *const c_void,
28598 pub client_type: SciSyncClientTypeNV,
28599 pub primitive_type: SciSyncPrimitiveTypeNV,
28600}
28601
28602impl Default for SciSyncAttributesInfoNV {
28603 #[inline]
28604 fn default() -> Self {
28605 Self {
28606 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
28607 next: ptr::null(),
28608 client_type: SciSyncClientTypeNV::default(),
28609 primitive_type: SciSyncPrimitiveTypeNV::default(),
28610 }
28611 }
28612}
28613
28614unsafe impl Send for SciSyncAttributesInfoNV {}
28615unsafe impl Sync for SciSyncAttributesInfoNV {}
28616
28617#[repr(C)]
28619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28620pub struct ScreenBufferFormatPropertiesQNX {
28621 pub s_type: StructureType,
28622 pub next: *mut c_void,
28623 pub format: Format,
28624 pub external_format: u64,
28625 pub screen_usage: u64,
28626 pub format_features: FormatFeatureFlags,
28627 pub sampler_ycbcr_conversion_components: ComponentMapping,
28628 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
28629 pub suggested_ycbcr_range: SamplerYcbcrRange,
28630 pub suggested_x_chroma_offset: ChromaLocation,
28631 pub suggested_y_chroma_offset: ChromaLocation,
28632}
28633
28634impl Default for ScreenBufferFormatPropertiesQNX {
28635 #[inline]
28636 fn default() -> Self {
28637 Self {
28638 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
28639 next: ptr::null_mut(),
28640 format: Format::default(),
28641 external_format: u64::default(),
28642 screen_usage: u64::default(),
28643 format_features: FormatFeatureFlags::default(),
28644 sampler_ycbcr_conversion_components: ComponentMapping::default(),
28645 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
28646 suggested_ycbcr_range: SamplerYcbcrRange::default(),
28647 suggested_x_chroma_offset: ChromaLocation::default(),
28648 suggested_y_chroma_offset: ChromaLocation::default(),
28649 }
28650 }
28651}
28652
28653unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
28654unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
28655
28656#[repr(C)]
28658#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28659pub struct ScreenBufferPropertiesQNX {
28660 pub s_type: StructureType,
28661 pub next: *mut c_void,
28662 pub allocation_size: DeviceSize,
28663 pub memory_type_bits: u32,
28664}
28665
28666impl Default for ScreenBufferPropertiesQNX {
28667 #[inline]
28668 fn default() -> Self {
28669 Self {
28670 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
28671 next: ptr::null_mut(),
28672 allocation_size: DeviceSize::default(),
28673 memory_type_bits: u32::default(),
28674 }
28675 }
28676}
28677
28678unsafe impl Send for ScreenBufferPropertiesQNX {}
28679unsafe impl Sync for ScreenBufferPropertiesQNX {}
28680
28681#[repr(C)]
28683#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28684pub struct ScreenSurfaceCreateInfoQNX {
28685 pub s_type: StructureType,
28686 pub next: *const c_void,
28687 pub flags: ScreenSurfaceCreateFlagsQNX,
28688 pub context: *mut _screen_context,
28689 pub window: *mut _screen_window,
28690}
28691
28692impl Default for ScreenSurfaceCreateInfoQNX {
28693 #[inline]
28694 fn default() -> Self {
28695 Self {
28696 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
28697 next: ptr::null(),
28698 flags: ScreenSurfaceCreateFlagsQNX::default(),
28699 context: ptr::null_mut(),
28700 window: ptr::null_mut(),
28701 }
28702 }
28703}
28704
28705unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
28706unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
28707
28708#[repr(C)]
28710#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28711pub struct SemaphoreCreateInfo {
28712 pub s_type: StructureType,
28713 pub next: *const c_void,
28714 pub flags: SemaphoreCreateFlags,
28715}
28716
28717impl Default for SemaphoreCreateInfo {
28718 #[inline]
28719 fn default() -> Self {
28720 Self {
28721 s_type: StructureType::SEMAPHORE_CREATE_INFO,
28722 next: ptr::null(),
28723 flags: SemaphoreCreateFlags::default(),
28724 }
28725 }
28726}
28727
28728unsafe impl Send for SemaphoreCreateInfo {}
28729unsafe impl Sync for SemaphoreCreateInfo {}
28730
28731#[repr(C)]
28733#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28734pub struct SemaphoreGetFdInfoKHR {
28735 pub s_type: StructureType,
28736 pub next: *const c_void,
28737 pub semaphore: Semaphore,
28738 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28739}
28740
28741impl Default for SemaphoreGetFdInfoKHR {
28742 #[inline]
28743 fn default() -> Self {
28744 Self {
28745 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
28746 next: ptr::null(),
28747 semaphore: Semaphore::default(),
28748 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28749 }
28750 }
28751}
28752
28753unsafe impl Send for SemaphoreGetFdInfoKHR {}
28754unsafe impl Sync for SemaphoreGetFdInfoKHR {}
28755
28756#[repr(C)]
28758#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28759pub struct SemaphoreGetSciSyncInfoNV {
28760 pub s_type: StructureType,
28761 pub next: *const c_void,
28762 pub semaphore: Semaphore,
28763 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28764}
28765
28766impl Default for SemaphoreGetSciSyncInfoNV {
28767 #[inline]
28768 fn default() -> Self {
28769 Self {
28770 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
28771 next: ptr::null(),
28772 semaphore: Semaphore::default(),
28773 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28774 }
28775 }
28776}
28777
28778unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
28779unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
28780
28781#[repr(C)]
28783#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28784pub struct SemaphoreGetWin32HandleInfoKHR {
28785 pub s_type: StructureType,
28786 pub next: *const c_void,
28787 pub semaphore: Semaphore,
28788 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28789}
28790
28791impl Default for SemaphoreGetWin32HandleInfoKHR {
28792 #[inline]
28793 fn default() -> Self {
28794 Self {
28795 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
28796 next: ptr::null(),
28797 semaphore: Semaphore::default(),
28798 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28799 }
28800 }
28801}
28802
28803unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
28804unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
28805
28806#[repr(C)]
28808#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28809pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
28810 pub s_type: StructureType,
28811 pub next: *const c_void,
28812 pub semaphore: Semaphore,
28813 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28814}
28815
28816impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
28817 #[inline]
28818 fn default() -> Self {
28819 Self {
28820 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
28821 next: ptr::null(),
28822 semaphore: Semaphore::default(),
28823 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28824 }
28825 }
28826}
28827
28828unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
28829unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
28830
28831#[repr(C)]
28833#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28834pub struct SemaphoreSciSyncCreateInfoNV {
28835 pub s_type: StructureType,
28836 pub next: *const c_void,
28837 pub semaphore_pool: SemaphoreSciSyncPoolNV,
28838 pub fence: *const NvSciSyncFence,
28839}
28840
28841impl Default for SemaphoreSciSyncCreateInfoNV {
28842 #[inline]
28843 fn default() -> Self {
28844 Self {
28845 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
28846 next: ptr::null(),
28847 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
28848 fence: ptr::null(),
28849 }
28850 }
28851}
28852
28853unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
28854unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
28855
28856#[repr(C)]
28858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28859pub struct SemaphoreSciSyncPoolCreateInfoNV {
28860 pub s_type: StructureType,
28861 pub next: *const c_void,
28862 pub handle: NvSciSyncObj,
28863}
28864
28865impl Default for SemaphoreSciSyncPoolCreateInfoNV {
28866 #[inline]
28867 fn default() -> Self {
28868 Self {
28869 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
28870 next: ptr::null(),
28871 handle: ptr::null_mut(),
28872 }
28873 }
28874}
28875
28876unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
28877unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
28878
28879#[repr(C)]
28881#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28882pub struct SemaphoreSignalInfo {
28883 pub s_type: StructureType,
28884 pub next: *const c_void,
28885 pub semaphore: Semaphore,
28886 pub value: u64,
28887}
28888
28889impl Default for SemaphoreSignalInfo {
28890 #[inline]
28891 fn default() -> Self {
28892 Self {
28893 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
28894 next: ptr::null(),
28895 semaphore: Semaphore::default(),
28896 value: u64::default(),
28897 }
28898 }
28899}
28900
28901unsafe impl Send for SemaphoreSignalInfo {}
28902unsafe impl Sync for SemaphoreSignalInfo {}
28903
28904#[repr(C)]
28906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28907pub struct SemaphoreSubmitInfo {
28908 pub s_type: StructureType,
28909 pub next: *const c_void,
28910 pub semaphore: Semaphore,
28911 pub value: u64,
28912 pub stage_mask: PipelineStageFlags2,
28913 pub device_index: u32,
28914}
28915
28916impl Default for SemaphoreSubmitInfo {
28917 #[inline]
28918 fn default() -> Self {
28919 Self {
28920 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
28921 next: ptr::null(),
28922 semaphore: Semaphore::default(),
28923 value: u64::default(),
28924 stage_mask: PipelineStageFlags2::default(),
28925 device_index: u32::default(),
28926 }
28927 }
28928}
28929
28930unsafe impl Send for SemaphoreSubmitInfo {}
28931unsafe impl Sync for SemaphoreSubmitInfo {}
28932
28933#[repr(C)]
28935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28936pub struct SemaphoreTypeCreateInfo {
28937 pub s_type: StructureType,
28938 pub next: *const c_void,
28939 pub semaphore_type: SemaphoreType,
28940 pub initial_value: u64,
28941}
28942
28943impl Default for SemaphoreTypeCreateInfo {
28944 #[inline]
28945 fn default() -> Self {
28946 Self {
28947 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
28948 next: ptr::null(),
28949 semaphore_type: SemaphoreType::default(),
28950 initial_value: u64::default(),
28951 }
28952 }
28953}
28954
28955unsafe impl Send for SemaphoreTypeCreateInfo {}
28956unsafe impl Sync for SemaphoreTypeCreateInfo {}
28957
28958#[repr(C)]
28960#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28961pub struct SemaphoreWaitInfo {
28962 pub s_type: StructureType,
28963 pub next: *const c_void,
28964 pub flags: SemaphoreWaitFlags,
28965 pub semaphore_count: u32,
28966 pub semaphores: *const Semaphore,
28967 pub values: *const u64,
28968}
28969
28970impl Default for SemaphoreWaitInfo {
28971 #[inline]
28972 fn default() -> Self {
28973 Self {
28974 s_type: StructureType::SEMAPHORE_WAIT_INFO,
28975 next: ptr::null(),
28976 flags: SemaphoreWaitFlags::default(),
28977 semaphore_count: u32::default(),
28978 semaphores: ptr::null(),
28979 values: ptr::null(),
28980 }
28981 }
28982}
28983
28984unsafe impl Send for SemaphoreWaitInfo {}
28985unsafe impl Sync for SemaphoreWaitInfo {}
28986
28987#[repr(C)]
28989#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28990pub struct SetDescriptorBufferOffsetsInfoEXT {
28991 pub s_type: StructureType,
28992 pub next: *const c_void,
28993 pub stage_flags: ShaderStageFlags,
28994 pub layout: PipelineLayout,
28995 pub first_set: u32,
28996 pub set_count: u32,
28997 pub buffer_indices: *const u32,
28998 pub offsets: *const DeviceSize,
28999}
29000
29001impl Default for SetDescriptorBufferOffsetsInfoEXT {
29002 #[inline]
29003 fn default() -> Self {
29004 Self {
29005 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
29006 next: ptr::null(),
29007 stage_flags: ShaderStageFlags::default(),
29008 layout: PipelineLayout::default(),
29009 first_set: u32::default(),
29010 set_count: u32::default(),
29011 buffer_indices: ptr::null(),
29012 offsets: ptr::null(),
29013 }
29014 }
29015}
29016
29017unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
29018unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
29019
29020#[repr(C)]
29022#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29023pub struct SetLatencyMarkerInfoNV {
29024 pub s_type: StructureType,
29025 pub next: *const c_void,
29026 pub present_id: u64,
29027 pub marker: LatencyMarkerNV,
29028}
29029
29030impl Default for SetLatencyMarkerInfoNV {
29031 #[inline]
29032 fn default() -> Self {
29033 Self {
29034 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
29035 next: ptr::null(),
29036 present_id: u64::default(),
29037 marker: LatencyMarkerNV::default(),
29038 }
29039 }
29040}
29041
29042unsafe impl Send for SetLatencyMarkerInfoNV {}
29043unsafe impl Sync for SetLatencyMarkerInfoNV {}
29044
29045#[repr(C)]
29047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29048pub struct SetPresentConfigNV {
29049 pub s_type: StructureType,
29050 pub next: *const c_void,
29051 pub num_frames_per_batch: u32,
29052 pub present_config_feedback: u32,
29053}
29054
29055impl Default for SetPresentConfigNV {
29056 #[inline]
29057 fn default() -> Self {
29058 Self {
29059 s_type: StructureType::SET_PRESENT_CONFIG_NV,
29060 next: ptr::null(),
29061 num_frames_per_batch: u32::default(),
29062 present_config_feedback: u32::default(),
29063 }
29064 }
29065}
29066
29067unsafe impl Send for SetPresentConfigNV {}
29068unsafe impl Sync for SetPresentConfigNV {}
29069
29070#[repr(C)]
29072#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29073pub struct SetStateFlagsIndirectCommandNV {
29074 pub data: u32,
29075}
29076
29077#[repr(C)]
29079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29080pub struct ShaderCreateInfoEXT {
29081 pub s_type: StructureType,
29082 pub next: *const c_void,
29083 pub flags: ShaderCreateFlagsEXT,
29084 pub stage: ShaderStageFlags,
29085 pub next_stage: ShaderStageFlags,
29086 pub code_type: ShaderCodeTypeEXT,
29087 pub code_size: usize,
29088 pub code: *const c_void,
29089 pub name: *const c_char,
29090 pub set_layout_count: u32,
29091 pub set_layouts: *const DescriptorSetLayout,
29092 pub push_constant_range_count: u32,
29093 pub push_constant_ranges: *const PushConstantRange,
29094 pub specialization_info: *const SpecializationInfo,
29095}
29096
29097impl Default for ShaderCreateInfoEXT {
29098 #[inline]
29099 fn default() -> Self {
29100 Self {
29101 s_type: StructureType::SHADER_CREATE_INFO_EXT,
29102 next: ptr::null(),
29103 flags: ShaderCreateFlagsEXT::default(),
29104 stage: ShaderStageFlags::default(),
29105 next_stage: ShaderStageFlags::default(),
29106 code_type: ShaderCodeTypeEXT::default(),
29107 code_size: usize::default(),
29108 code: ptr::null(),
29109 name: ptr::null(),
29110 set_layout_count: u32::default(),
29111 set_layouts: ptr::null(),
29112 push_constant_range_count: u32::default(),
29113 push_constant_ranges: ptr::null(),
29114 specialization_info: ptr::null(),
29115 }
29116 }
29117}
29118
29119unsafe impl Send for ShaderCreateInfoEXT {}
29120unsafe impl Sync for ShaderCreateInfoEXT {}
29121
29122#[repr(C)]
29124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29125pub struct ShaderDescriptorSetAndBindingMappingInfoEXT {
29126 pub s_type: StructureType,
29127 pub next: *const c_void,
29128 pub mapping_count: u32,
29129 pub mappings: *const DescriptorSetAndBindingMappingEXT,
29130}
29131
29132impl Default for ShaderDescriptorSetAndBindingMappingInfoEXT {
29133 #[inline]
29134 fn default() -> Self {
29135 Self {
29136 s_type: StructureType::SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT,
29137 next: ptr::null(),
29138 mapping_count: u32::default(),
29139 mappings: ptr::null(),
29140 }
29141 }
29142}
29143
29144unsafe impl Send for ShaderDescriptorSetAndBindingMappingInfoEXT {}
29145unsafe impl Sync for ShaderDescriptorSetAndBindingMappingInfoEXT {}
29146
29147#[repr(C)]
29149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29150pub struct ShaderModuleCreateInfo {
29151 pub s_type: StructureType,
29152 pub next: *const c_void,
29153 pub flags: ShaderModuleCreateFlags,
29154 pub code_size: usize,
29155 pub code: *const u32,
29156}
29157
29158impl Default for ShaderModuleCreateInfo {
29159 #[inline]
29160 fn default() -> Self {
29161 Self {
29162 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
29163 next: ptr::null(),
29164 flags: ShaderModuleCreateFlags::default(),
29165 code_size: usize::default(),
29166 code: ptr::null(),
29167 }
29168 }
29169}
29170
29171unsafe impl Send for ShaderModuleCreateInfo {}
29172unsafe impl Sync for ShaderModuleCreateInfo {}
29173
29174#[repr(C)]
29176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29177pub struct ShaderModuleIdentifierEXT {
29178 pub s_type: StructureType,
29179 pub next: *mut c_void,
29180 pub identifier_size: u32,
29181 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
29182}
29183
29184impl Default for ShaderModuleIdentifierEXT {
29185 #[inline]
29186 fn default() -> Self {
29187 Self {
29188 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
29189 next: ptr::null_mut(),
29190 identifier_size: u32::default(),
29191 identifier: ByteArray::default(),
29192 }
29193 }
29194}
29195
29196unsafe impl Send for ShaderModuleIdentifierEXT {}
29197unsafe impl Sync for ShaderModuleIdentifierEXT {}
29198
29199#[repr(C)]
29201#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29202pub struct ShaderModuleValidationCacheCreateInfoEXT {
29203 pub s_type: StructureType,
29204 pub next: *const c_void,
29205 pub validation_cache: ValidationCacheEXT,
29206}
29207
29208impl Default for ShaderModuleValidationCacheCreateInfoEXT {
29209 #[inline]
29210 fn default() -> Self {
29211 Self {
29212 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
29213 next: ptr::null(),
29214 validation_cache: ValidationCacheEXT::default(),
29215 }
29216 }
29217}
29218
29219unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
29220unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
29221
29222#[repr(C)]
29224#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29225pub struct ShaderResourceUsageAMD {
29226 pub num_used_vgprs: u32,
29227 pub num_used_sgprs: u32,
29228 pub lds_size_per_local_work_group: u32,
29229 pub lds_usage_size_in_bytes: usize,
29230 pub scratch_mem_usage_in_bytes: usize,
29231}
29232
29233#[repr(C)]
29235#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29236pub struct ShaderStatisticsInfoAMD {
29237 pub shader_stage_mask: ShaderStageFlags,
29238 pub resource_usage: ShaderResourceUsageAMD,
29239 pub num_physical_vgprs: u32,
29240 pub num_physical_sgprs: u32,
29241 pub num_available_vgprs: u32,
29242 pub num_available_sgprs: u32,
29243 pub compute_work_group_size: [u32; 3],
29244}
29245
29246#[repr(C)]
29248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29249pub struct ShadingRatePaletteNV {
29250 pub shading_rate_palette_entry_count: u32,
29251 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
29252}
29253
29254impl Default for ShadingRatePaletteNV {
29255 #[inline]
29256 fn default() -> Self {
29257 Self {
29258 shading_rate_palette_entry_count: u32::default(),
29259 shading_rate_palette_entries: ptr::null(),
29260 }
29261 }
29262}
29263
29264unsafe impl Send for ShadingRatePaletteNV {}
29265unsafe impl Sync for ShadingRatePaletteNV {}
29266
29267#[repr(C)]
29269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29270pub struct SharedPresentSurfaceCapabilitiesKHR {
29271 pub s_type: StructureType,
29272 pub next: *mut c_void,
29273 pub shared_present_supported_usage_flags: ImageUsageFlags,
29274}
29275
29276impl Default for SharedPresentSurfaceCapabilitiesKHR {
29277 #[inline]
29278 fn default() -> Self {
29279 Self {
29280 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
29281 next: ptr::null_mut(),
29282 shared_present_supported_usage_flags: ImageUsageFlags::default(),
29283 }
29284 }
29285}
29286
29287unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
29288unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
29289
29290#[repr(C)]
29292#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29293pub struct SparseBufferMemoryBindInfo {
29294 pub buffer: Buffer,
29295 pub bind_count: u32,
29296 pub binds: *const SparseMemoryBind,
29297}
29298
29299impl Default for SparseBufferMemoryBindInfo {
29300 #[inline]
29301 fn default() -> Self {
29302 Self {
29303 buffer: Buffer::default(),
29304 bind_count: u32::default(),
29305 binds: ptr::null(),
29306 }
29307 }
29308}
29309
29310unsafe impl Send for SparseBufferMemoryBindInfo {}
29311unsafe impl Sync for SparseBufferMemoryBindInfo {}
29312
29313#[repr(C)]
29315#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29316pub struct SparseImageFormatProperties {
29317 pub aspect_mask: ImageAspectFlags,
29318 pub image_granularity: Extent3D,
29319 pub flags: SparseImageFormatFlags,
29320}
29321
29322#[repr(C)]
29324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29325pub struct SparseImageFormatProperties2 {
29326 pub s_type: StructureType,
29327 pub next: *mut c_void,
29328 pub properties: SparseImageFormatProperties,
29329}
29330
29331impl Default for SparseImageFormatProperties2 {
29332 #[inline]
29333 fn default() -> Self {
29334 Self {
29335 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
29336 next: ptr::null_mut(),
29337 properties: SparseImageFormatProperties::default(),
29338 }
29339 }
29340}
29341
29342unsafe impl Send for SparseImageFormatProperties2 {}
29343unsafe impl Sync for SparseImageFormatProperties2 {}
29344
29345#[repr(C)]
29347#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29348pub struct SparseImageMemoryBind {
29349 pub subresource: ImageSubresource,
29350 pub offset: Offset3D,
29351 pub extent: Extent3D,
29352 pub memory: DeviceMemory,
29353 pub memory_offset: DeviceSize,
29354 pub flags: SparseMemoryBindFlags,
29355}
29356
29357#[repr(C)]
29359#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29360pub struct SparseImageMemoryBindInfo {
29361 pub image: Image,
29362 pub bind_count: u32,
29363 pub binds: *const SparseImageMemoryBind,
29364}
29365
29366impl Default for SparseImageMemoryBindInfo {
29367 #[inline]
29368 fn default() -> Self {
29369 Self {
29370 image: Image::default(),
29371 bind_count: u32::default(),
29372 binds: ptr::null(),
29373 }
29374 }
29375}
29376
29377unsafe impl Send for SparseImageMemoryBindInfo {}
29378unsafe impl Sync for SparseImageMemoryBindInfo {}
29379
29380#[repr(C)]
29382#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29383pub struct SparseImageMemoryRequirements {
29384 pub format_properties: SparseImageFormatProperties,
29385 pub image_mip_tail_first_lod: u32,
29386 pub image_mip_tail_size: DeviceSize,
29387 pub image_mip_tail_offset: DeviceSize,
29388 pub image_mip_tail_stride: DeviceSize,
29389}
29390
29391#[repr(C)]
29393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29394pub struct SparseImageMemoryRequirements2 {
29395 pub s_type: StructureType,
29396 pub next: *mut c_void,
29397 pub memory_requirements: SparseImageMemoryRequirements,
29398}
29399
29400impl Default for SparseImageMemoryRequirements2 {
29401 #[inline]
29402 fn default() -> Self {
29403 Self {
29404 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
29405 next: ptr::null_mut(),
29406 memory_requirements: SparseImageMemoryRequirements::default(),
29407 }
29408 }
29409}
29410
29411unsafe impl Send for SparseImageMemoryRequirements2 {}
29412unsafe impl Sync for SparseImageMemoryRequirements2 {}
29413
29414#[repr(C)]
29416#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29417pub struct SparseImageOpaqueMemoryBindInfo {
29418 pub image: Image,
29419 pub bind_count: u32,
29420 pub binds: *const SparseMemoryBind,
29421}
29422
29423impl Default for SparseImageOpaqueMemoryBindInfo {
29424 #[inline]
29425 fn default() -> Self {
29426 Self {
29427 image: Image::default(),
29428 bind_count: u32::default(),
29429 binds: ptr::null(),
29430 }
29431 }
29432}
29433
29434unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
29435unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
29436
29437#[repr(C)]
29439#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29440pub struct SparseMemoryBind {
29441 pub resource_offset: DeviceSize,
29442 pub size: DeviceSize,
29443 pub memory: DeviceMemory,
29444 pub memory_offset: DeviceSize,
29445 pub flags: SparseMemoryBindFlags,
29446}
29447
29448#[repr(C)]
29450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29451pub struct SpecializationInfo {
29452 pub map_entry_count: u32,
29453 pub map_entries: *const SpecializationMapEntry,
29454 pub data_size: usize,
29455 pub data: *const c_void,
29456}
29457
29458impl Default for SpecializationInfo {
29459 #[inline]
29460 fn default() -> Self {
29461 Self {
29462 map_entry_count: u32::default(),
29463 map_entries: ptr::null(),
29464 data_size: usize::default(),
29465 data: ptr::null(),
29466 }
29467 }
29468}
29469
29470unsafe impl Send for SpecializationInfo {}
29471unsafe impl Sync for SpecializationInfo {}
29472
29473#[repr(C)]
29475#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29476pub struct SpecializationMapEntry {
29477 pub constant_id: u32,
29478 pub offset: u32,
29479 pub size: usize,
29480}
29481
29482#[repr(C)]
29484#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29485pub struct StencilOpState {
29486 pub fail_op: StencilOp,
29487 pub pass_op: StencilOp,
29488 pub depth_fail_op: StencilOp,
29489 pub compare_op: CompareOp,
29490 pub compare_mask: u32,
29491 pub write_mask: u32,
29492 pub reference: u32,
29493}
29494
29495#[repr(C)]
29497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29498pub struct StreamDescriptorSurfaceCreateInfoGGP {
29499 pub s_type: StructureType,
29500 pub next: *const c_void,
29501 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
29502 pub stream_descriptor: GgpStreamDescriptor,
29503}
29504
29505impl Default for StreamDescriptorSurfaceCreateInfoGGP {
29506 #[inline]
29507 fn default() -> Self {
29508 Self {
29509 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
29510 next: ptr::null(),
29511 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
29512 stream_descriptor: GgpStreamDescriptor::default(),
29513 }
29514 }
29515}
29516
29517unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
29518unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
29519
29520#[repr(C)]
29522#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29523pub struct StridedDeviceAddressNV {
29524 pub start_address: DeviceAddress,
29525 pub stride_in_bytes: DeviceSize,
29526}
29527
29528#[repr(C)]
29530#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29531pub struct StridedDeviceAddressRangeKHR {
29532 pub address: DeviceAddress,
29533 pub size: DeviceSize,
29534 pub stride: DeviceSize,
29535}
29536
29537#[repr(C)]
29539#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29540pub struct StridedDeviceAddressRegionKHR {
29541 pub device_address: DeviceAddress,
29542 pub stride: DeviceSize,
29543 pub size: DeviceSize,
29544}
29545
29546#[repr(C)]
29548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29549pub struct SubmitInfo {
29550 pub s_type: StructureType,
29551 pub next: *const c_void,
29552 pub wait_semaphore_count: u32,
29553 pub wait_semaphores: *const Semaphore,
29554 pub wait_dst_stage_mask: *const PipelineStageFlags,
29555 pub command_buffer_count: u32,
29556 pub command_buffers: *const CommandBuffer,
29557 pub signal_semaphore_count: u32,
29558 pub signal_semaphores: *const Semaphore,
29559}
29560
29561impl Default for SubmitInfo {
29562 #[inline]
29563 fn default() -> Self {
29564 Self {
29565 s_type: StructureType::SUBMIT_INFO,
29566 next: ptr::null(),
29567 wait_semaphore_count: u32::default(),
29568 wait_semaphores: ptr::null(),
29569 wait_dst_stage_mask: ptr::null(),
29570 command_buffer_count: u32::default(),
29571 command_buffers: ptr::null(),
29572 signal_semaphore_count: u32::default(),
29573 signal_semaphores: ptr::null(),
29574 }
29575 }
29576}
29577
29578unsafe impl Send for SubmitInfo {}
29579unsafe impl Sync for SubmitInfo {}
29580
29581#[repr(C)]
29583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29584pub struct SubmitInfo2 {
29585 pub s_type: StructureType,
29586 pub next: *const c_void,
29587 pub flags: SubmitFlags,
29588 pub wait_semaphore_info_count: u32,
29589 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
29590 pub command_buffer_info_count: u32,
29591 pub command_buffer_infos: *const CommandBufferSubmitInfo,
29592 pub signal_semaphore_info_count: u32,
29593 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
29594}
29595
29596impl Default for SubmitInfo2 {
29597 #[inline]
29598 fn default() -> Self {
29599 Self {
29600 s_type: StructureType::SUBMIT_INFO_2,
29601 next: ptr::null(),
29602 flags: SubmitFlags::default(),
29603 wait_semaphore_info_count: u32::default(),
29604 wait_semaphore_infos: ptr::null(),
29605 command_buffer_info_count: u32::default(),
29606 command_buffer_infos: ptr::null(),
29607 signal_semaphore_info_count: u32::default(),
29608 signal_semaphore_infos: ptr::null(),
29609 }
29610 }
29611}
29612
29613unsafe impl Send for SubmitInfo2 {}
29614unsafe impl Sync for SubmitInfo2 {}
29615
29616#[repr(C)]
29618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29619pub struct SubpassBeginInfo {
29620 pub s_type: StructureType,
29621 pub next: *const c_void,
29622 pub contents: SubpassContents,
29623}
29624
29625impl Default for SubpassBeginInfo {
29626 #[inline]
29627 fn default() -> Self {
29628 Self {
29629 s_type: StructureType::SUBPASS_BEGIN_INFO,
29630 next: ptr::null(),
29631 contents: SubpassContents::default(),
29632 }
29633 }
29634}
29635
29636unsafe impl Send for SubpassBeginInfo {}
29637unsafe impl Sync for SubpassBeginInfo {}
29638
29639#[repr(C)]
29641#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29642pub struct SubpassDependency {
29643 pub src_subpass: u32,
29644 pub dst_subpass: u32,
29645 pub src_stage_mask: PipelineStageFlags,
29646 pub dst_stage_mask: PipelineStageFlags,
29647 pub src_access_mask: AccessFlags,
29648 pub dst_access_mask: AccessFlags,
29649 pub dependency_flags: DependencyFlags,
29650}
29651
29652#[repr(C)]
29654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29655pub struct SubpassDependency2 {
29656 pub s_type: StructureType,
29657 pub next: *const c_void,
29658 pub src_subpass: u32,
29659 pub dst_subpass: u32,
29660 pub src_stage_mask: PipelineStageFlags,
29661 pub dst_stage_mask: PipelineStageFlags,
29662 pub src_access_mask: AccessFlags,
29663 pub dst_access_mask: AccessFlags,
29664 pub dependency_flags: DependencyFlags,
29665 pub view_offset: i32,
29666}
29667
29668impl Default for SubpassDependency2 {
29669 #[inline]
29670 fn default() -> Self {
29671 Self {
29672 s_type: StructureType::SUBPASS_DEPENDENCY_2,
29673 next: ptr::null(),
29674 src_subpass: u32::default(),
29675 dst_subpass: u32::default(),
29676 src_stage_mask: PipelineStageFlags::default(),
29677 dst_stage_mask: PipelineStageFlags::default(),
29678 src_access_mask: AccessFlags::default(),
29679 dst_access_mask: AccessFlags::default(),
29680 dependency_flags: DependencyFlags::default(),
29681 view_offset: i32::default(),
29682 }
29683 }
29684}
29685
29686unsafe impl Send for SubpassDependency2 {}
29687unsafe impl Sync for SubpassDependency2 {}
29688
29689#[repr(C)]
29691#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29692pub struct SubpassDescription {
29693 pub flags: SubpassDescriptionFlags,
29694 pub pipeline_bind_point: PipelineBindPoint,
29695 pub input_attachment_count: u32,
29696 pub input_attachments: *const AttachmentReference,
29697 pub color_attachment_count: u32,
29698 pub color_attachments: *const AttachmentReference,
29699 pub resolve_attachments: *const AttachmentReference,
29700 pub depth_stencil_attachment: *const AttachmentReference,
29701 pub preserve_attachment_count: u32,
29702 pub preserve_attachments: *const u32,
29703}
29704
29705impl Default for SubpassDescription {
29706 #[inline]
29707 fn default() -> Self {
29708 Self {
29709 flags: SubpassDescriptionFlags::default(),
29710 pipeline_bind_point: PipelineBindPoint::default(),
29711 input_attachment_count: u32::default(),
29712 input_attachments: ptr::null(),
29713 color_attachment_count: u32::default(),
29714 color_attachments: ptr::null(),
29715 resolve_attachments: ptr::null(),
29716 depth_stencil_attachment: ptr::null(),
29717 preserve_attachment_count: u32::default(),
29718 preserve_attachments: ptr::null(),
29719 }
29720 }
29721}
29722
29723unsafe impl Send for SubpassDescription {}
29724unsafe impl Sync for SubpassDescription {}
29725
29726#[repr(C)]
29728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29729pub struct SubpassDescription2 {
29730 pub s_type: StructureType,
29731 pub next: *const c_void,
29732 pub flags: SubpassDescriptionFlags,
29733 pub pipeline_bind_point: PipelineBindPoint,
29734 pub view_mask: u32,
29735 pub input_attachment_count: u32,
29736 pub input_attachments: *const AttachmentReference2,
29737 pub color_attachment_count: u32,
29738 pub color_attachments: *const AttachmentReference2,
29739 pub resolve_attachments: *const AttachmentReference2,
29740 pub depth_stencil_attachment: *const AttachmentReference2,
29741 pub preserve_attachment_count: u32,
29742 pub preserve_attachments: *const u32,
29743}
29744
29745impl Default for SubpassDescription2 {
29746 #[inline]
29747 fn default() -> Self {
29748 Self {
29749 s_type: StructureType::SUBPASS_DESCRIPTION_2,
29750 next: ptr::null(),
29751 flags: SubpassDescriptionFlags::default(),
29752 pipeline_bind_point: PipelineBindPoint::default(),
29753 view_mask: u32::default(),
29754 input_attachment_count: u32::default(),
29755 input_attachments: ptr::null(),
29756 color_attachment_count: u32::default(),
29757 color_attachments: ptr::null(),
29758 resolve_attachments: ptr::null(),
29759 depth_stencil_attachment: ptr::null(),
29760 preserve_attachment_count: u32::default(),
29761 preserve_attachments: ptr::null(),
29762 }
29763 }
29764}
29765
29766unsafe impl Send for SubpassDescription2 {}
29767unsafe impl Sync for SubpassDescription2 {}
29768
29769#[repr(C)]
29771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29772pub struct SubpassDescriptionDepthStencilResolve {
29773 pub s_type: StructureType,
29774 pub next: *const c_void,
29775 pub depth_resolve_mode: ResolveModeFlags,
29776 pub stencil_resolve_mode: ResolveModeFlags,
29777 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
29778}
29779
29780impl Default for SubpassDescriptionDepthStencilResolve {
29781 #[inline]
29782 fn default() -> Self {
29783 Self {
29784 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
29785 next: ptr::null(),
29786 depth_resolve_mode: ResolveModeFlags::default(),
29787 stencil_resolve_mode: ResolveModeFlags::default(),
29788 depth_stencil_resolve_attachment: ptr::null(),
29789 }
29790 }
29791}
29792
29793unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
29794unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
29795
29796#[repr(C)]
29798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29799pub struct SubpassEndInfo {
29800 pub s_type: StructureType,
29801 pub next: *const c_void,
29802}
29803
29804impl Default for SubpassEndInfo {
29805 #[inline]
29806 fn default() -> Self {
29807 Self {
29808 s_type: StructureType::SUBPASS_END_INFO,
29809 next: ptr::null(),
29810 }
29811 }
29812}
29813
29814unsafe impl Send for SubpassEndInfo {}
29815unsafe impl Sync for SubpassEndInfo {}
29816
29817#[repr(C)]
29819#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29820pub struct SubpassResolvePerformanceQueryEXT {
29821 pub s_type: StructureType,
29822 pub next: *mut c_void,
29823 pub optimal: Bool32,
29824}
29825
29826impl Default for SubpassResolvePerformanceQueryEXT {
29827 #[inline]
29828 fn default() -> Self {
29829 Self {
29830 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
29831 next: ptr::null_mut(),
29832 optimal: Bool32::default(),
29833 }
29834 }
29835}
29836
29837unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
29838unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
29839
29840#[repr(C)]
29842#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29843pub struct SubpassSampleLocationsEXT {
29844 pub subpass_index: u32,
29845 pub sample_locations_info: SampleLocationsInfoEXT,
29846}
29847
29848#[repr(C)]
29850#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29851pub struct SubpassShadingPipelineCreateInfoHUAWEI {
29852 pub s_type: StructureType,
29853 pub next: *mut c_void,
29854 pub render_pass: RenderPass,
29855 pub subpass: u32,
29856}
29857
29858impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
29859 #[inline]
29860 fn default() -> Self {
29861 Self {
29862 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
29863 next: ptr::null_mut(),
29864 render_pass: RenderPass::default(),
29865 subpass: u32::default(),
29866 }
29867 }
29868}
29869
29870unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
29871unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
29872
29873#[repr(C)]
29875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29876pub struct SubresourceHostMemcpySize {
29877 pub s_type: StructureType,
29878 pub next: *mut c_void,
29879 pub size: DeviceSize,
29880}
29881
29882impl Default for SubresourceHostMemcpySize {
29883 #[inline]
29884 fn default() -> Self {
29885 Self {
29886 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
29887 next: ptr::null_mut(),
29888 size: DeviceSize::default(),
29889 }
29890 }
29891}
29892
29893unsafe impl Send for SubresourceHostMemcpySize {}
29894unsafe impl Sync for SubresourceHostMemcpySize {}
29895
29896#[repr(C)]
29898#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29899pub struct SubresourceLayout {
29900 pub offset: DeviceSize,
29901 pub size: DeviceSize,
29902 pub row_pitch: DeviceSize,
29903 pub array_pitch: DeviceSize,
29904 pub depth_pitch: DeviceSize,
29905}
29906
29907#[repr(C)]
29909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29910pub struct SubresourceLayout2 {
29911 pub s_type: StructureType,
29912 pub next: *mut c_void,
29913 pub subresource_layout: SubresourceLayout,
29914}
29915
29916impl Default for SubresourceLayout2 {
29917 #[inline]
29918 fn default() -> Self {
29919 Self {
29920 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
29921 next: ptr::null_mut(),
29922 subresource_layout: SubresourceLayout::default(),
29923 }
29924 }
29925}
29926
29927unsafe impl Send for SubresourceLayout2 {}
29928unsafe impl Sync for SubresourceLayout2 {}
29929
29930#[repr(C)]
29932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29933pub struct SubsampledImageFormatPropertiesEXT {
29934 pub s_type: StructureType,
29935 pub next: *const c_void,
29936 pub subsampled_image_descriptor_count: u32,
29937}
29938
29939impl Default for SubsampledImageFormatPropertiesEXT {
29940 #[inline]
29941 fn default() -> Self {
29942 Self {
29943 s_type: StructureType::SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT,
29944 next: ptr::null(),
29945 subsampled_image_descriptor_count: u32::default(),
29946 }
29947 }
29948}
29949
29950unsafe impl Send for SubsampledImageFormatPropertiesEXT {}
29951unsafe impl Sync for SubsampledImageFormatPropertiesEXT {}
29952
29953#[repr(C)]
29955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29956pub struct SurfaceCapabilities2EXT {
29957 pub s_type: StructureType,
29958 pub next: *mut c_void,
29959 pub min_image_count: u32,
29960 pub max_image_count: u32,
29961 pub current_extent: Extent2D,
29962 pub min_image_extent: Extent2D,
29963 pub max_image_extent: Extent2D,
29964 pub max_image_array_layers: u32,
29965 pub supported_transforms: SurfaceTransformFlagsKHR,
29966 pub current_transform: SurfaceTransformFlagsKHR,
29967 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
29968 pub supported_usage_flags: ImageUsageFlags,
29969 pub supported_surface_counters: SurfaceCounterFlagsEXT,
29970}
29971
29972impl Default for SurfaceCapabilities2EXT {
29973 #[inline]
29974 fn default() -> Self {
29975 Self {
29976 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
29977 next: ptr::null_mut(),
29978 min_image_count: u32::default(),
29979 max_image_count: u32::default(),
29980 current_extent: Extent2D::default(),
29981 min_image_extent: Extent2D::default(),
29982 max_image_extent: Extent2D::default(),
29983 max_image_array_layers: u32::default(),
29984 supported_transforms: SurfaceTransformFlagsKHR::default(),
29985 current_transform: SurfaceTransformFlagsKHR::default(),
29986 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
29987 supported_usage_flags: ImageUsageFlags::default(),
29988 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
29989 }
29990 }
29991}
29992
29993unsafe impl Send for SurfaceCapabilities2EXT {}
29994unsafe impl Sync for SurfaceCapabilities2EXT {}
29995
29996#[repr(C)]
29998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29999pub struct SurfaceCapabilities2KHR {
30000 pub s_type: StructureType,
30001 pub next: *mut c_void,
30002 pub surface_capabilities: SurfaceCapabilitiesKHR,
30003}
30004
30005impl Default for SurfaceCapabilities2KHR {
30006 #[inline]
30007 fn default() -> Self {
30008 Self {
30009 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
30010 next: ptr::null_mut(),
30011 surface_capabilities: SurfaceCapabilitiesKHR::default(),
30012 }
30013 }
30014}
30015
30016unsafe impl Send for SurfaceCapabilities2KHR {}
30017unsafe impl Sync for SurfaceCapabilities2KHR {}
30018
30019#[repr(C)]
30021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30022pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
30023 pub s_type: StructureType,
30024 pub next: *mut c_void,
30025 pub full_screen_exclusive_supported: Bool32,
30026}
30027
30028impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
30029 #[inline]
30030 fn default() -> Self {
30031 Self {
30032 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
30033 next: ptr::null_mut(),
30034 full_screen_exclusive_supported: Bool32::default(),
30035 }
30036 }
30037}
30038
30039unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
30040unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
30041
30042#[repr(C)]
30044#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30045pub struct SurfaceCapabilitiesKHR {
30046 pub min_image_count: u32,
30047 pub max_image_count: u32,
30048 pub current_extent: Extent2D,
30049 pub min_image_extent: Extent2D,
30050 pub max_image_extent: Extent2D,
30051 pub max_image_array_layers: u32,
30052 pub supported_transforms: SurfaceTransformFlagsKHR,
30053 pub current_transform: SurfaceTransformFlagsKHR,
30054 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
30055 pub supported_usage_flags: ImageUsageFlags,
30056}
30057
30058#[repr(C)]
30060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30061pub struct SurfaceCapabilitiesPresentBarrierNV {
30062 pub s_type: StructureType,
30063 pub next: *mut c_void,
30064 pub present_barrier_supported: Bool32,
30065}
30066
30067impl Default for SurfaceCapabilitiesPresentBarrierNV {
30068 #[inline]
30069 fn default() -> Self {
30070 Self {
30071 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
30072 next: ptr::null_mut(),
30073 present_barrier_supported: Bool32::default(),
30074 }
30075 }
30076}
30077
30078unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
30079unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
30080
30081#[repr(C)]
30083#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30084pub struct SurfaceCapabilitiesPresentId2KHR {
30085 pub s_type: StructureType,
30086 pub next: *mut c_void,
30087 pub present_id2_supported: Bool32,
30088}
30089
30090impl Default for SurfaceCapabilitiesPresentId2KHR {
30091 #[inline]
30092 fn default() -> Self {
30093 Self {
30094 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
30095 next: ptr::null_mut(),
30096 present_id2_supported: Bool32::default(),
30097 }
30098 }
30099}
30100
30101unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
30102unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
30103
30104#[repr(C)]
30106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30107pub struct SurfaceCapabilitiesPresentWait2KHR {
30108 pub s_type: StructureType,
30109 pub next: *mut c_void,
30110 pub present_wait2_supported: Bool32,
30111}
30112
30113impl Default for SurfaceCapabilitiesPresentWait2KHR {
30114 #[inline]
30115 fn default() -> Self {
30116 Self {
30117 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
30118 next: ptr::null_mut(),
30119 present_wait2_supported: Bool32::default(),
30120 }
30121 }
30122}
30123
30124unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
30125unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
30126
30127#[repr(C)]
30129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30130pub struct SurfaceCreateInfoOHOS {
30131 pub s_type: StructureType,
30132 pub next: *const c_void,
30133 pub flags: SurfaceCreateFlagsOHOS,
30134 pub window: *mut OHNativeWindow,
30135}
30136
30137impl Default for SurfaceCreateInfoOHOS {
30138 #[inline]
30139 fn default() -> Self {
30140 Self {
30141 s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
30142 next: ptr::null(),
30143 flags: SurfaceCreateFlagsOHOS::default(),
30144 window: ptr::null_mut(),
30145 }
30146 }
30147}
30148
30149unsafe impl Send for SurfaceCreateInfoOHOS {}
30150unsafe impl Sync for SurfaceCreateInfoOHOS {}
30151
30152#[repr(C)]
30154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30155pub struct SurfaceFormat2KHR {
30156 pub s_type: StructureType,
30157 pub next: *mut c_void,
30158 pub surface_format: SurfaceFormatKHR,
30159}
30160
30161impl Default for SurfaceFormat2KHR {
30162 #[inline]
30163 fn default() -> Self {
30164 Self {
30165 s_type: StructureType::SURFACE_FORMAT_2_KHR,
30166 next: ptr::null_mut(),
30167 surface_format: SurfaceFormatKHR::default(),
30168 }
30169 }
30170}
30171
30172unsafe impl Send for SurfaceFormat2KHR {}
30173unsafe impl Sync for SurfaceFormat2KHR {}
30174
30175#[repr(C)]
30177#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30178pub struct SurfaceFormatKHR {
30179 pub format: Format,
30180 pub color_space: ColorSpaceKHR,
30181}
30182
30183#[repr(C)]
30185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30186pub struct SurfaceFullScreenExclusiveInfoEXT {
30187 pub s_type: StructureType,
30188 pub next: *mut c_void,
30189 pub full_screen_exclusive: FullScreenExclusiveEXT,
30190}
30191
30192impl Default for SurfaceFullScreenExclusiveInfoEXT {
30193 #[inline]
30194 fn default() -> Self {
30195 Self {
30196 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
30197 next: ptr::null_mut(),
30198 full_screen_exclusive: FullScreenExclusiveEXT::default(),
30199 }
30200 }
30201}
30202
30203unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
30204unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
30205
30206#[repr(C)]
30208#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30209pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
30210 pub s_type: StructureType,
30211 pub next: *const c_void,
30212 pub hmonitor: HMONITOR,
30213}
30214
30215impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
30216 #[inline]
30217 fn default() -> Self {
30218 Self {
30219 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
30220 next: ptr::null(),
30221 hmonitor: ptr::null_mut(),
30222 }
30223 }
30224}
30225
30226unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
30227unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
30228
30229#[repr(C)]
30231#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30232pub struct SurfacePresentModeCompatibilityKHR {
30233 pub s_type: StructureType,
30234 pub next: *mut c_void,
30235 pub present_mode_count: u32,
30236 pub present_modes: *mut PresentModeKHR,
30237}
30238
30239impl Default for SurfacePresentModeCompatibilityKHR {
30240 #[inline]
30241 fn default() -> Self {
30242 Self {
30243 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
30244 next: ptr::null_mut(),
30245 present_mode_count: u32::default(),
30246 present_modes: ptr::null_mut(),
30247 }
30248 }
30249}
30250
30251unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
30252unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
30253
30254#[repr(C)]
30256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30257pub struct SurfacePresentModeKHR {
30258 pub s_type: StructureType,
30259 pub next: *mut c_void,
30260 pub present_mode: PresentModeKHR,
30261}
30262
30263impl Default for SurfacePresentModeKHR {
30264 #[inline]
30265 fn default() -> Self {
30266 Self {
30267 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
30268 next: ptr::null_mut(),
30269 present_mode: PresentModeKHR::default(),
30270 }
30271 }
30272}
30273
30274unsafe impl Send for SurfacePresentModeKHR {}
30275unsafe impl Sync for SurfacePresentModeKHR {}
30276
30277#[repr(C)]
30279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30280pub struct SurfacePresentScalingCapabilitiesKHR {
30281 pub s_type: StructureType,
30282 pub next: *mut c_void,
30283 pub supported_present_scaling: PresentScalingFlagsKHR,
30284 pub supported_present_gravity_x: PresentGravityFlagsKHR,
30285 pub supported_present_gravity_y: PresentGravityFlagsKHR,
30286 pub min_scaled_image_extent: Extent2D,
30287 pub max_scaled_image_extent: Extent2D,
30288}
30289
30290impl Default for SurfacePresentScalingCapabilitiesKHR {
30291 #[inline]
30292 fn default() -> Self {
30293 Self {
30294 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
30295 next: ptr::null_mut(),
30296 supported_present_scaling: PresentScalingFlagsKHR::default(),
30297 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
30298 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
30299 min_scaled_image_extent: Extent2D::default(),
30300 max_scaled_image_extent: Extent2D::default(),
30301 }
30302 }
30303}
30304
30305unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
30306unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
30307
30308#[repr(C)]
30310#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30311pub struct SurfaceProtectedCapabilitiesKHR {
30312 pub s_type: StructureType,
30313 pub next: *mut c_void,
30314 pub supports_protected: Bool32,
30315}
30316
30317impl Default for SurfaceProtectedCapabilitiesKHR {
30318 #[inline]
30319 fn default() -> Self {
30320 Self {
30321 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
30322 next: ptr::null_mut(),
30323 supports_protected: Bool32::default(),
30324 }
30325 }
30326}
30327
30328unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
30329unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
30330
30331#[repr(C)]
30333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30334pub struct SwapchainCalibratedTimestampInfoEXT {
30335 pub s_type: StructureType,
30336 pub next: *const c_void,
30337 pub swapchain: SwapchainKHR,
30338 pub present_stage: PresentStageFlagsEXT,
30339 pub time_domain_id: u64,
30340}
30341
30342impl Default for SwapchainCalibratedTimestampInfoEXT {
30343 #[inline]
30344 fn default() -> Self {
30345 Self {
30346 s_type: StructureType::SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT,
30347 next: ptr::null(),
30348 swapchain: SwapchainKHR::default(),
30349 present_stage: PresentStageFlagsEXT::default(),
30350 time_domain_id: u64::default(),
30351 }
30352 }
30353}
30354
30355unsafe impl Send for SwapchainCalibratedTimestampInfoEXT {}
30356unsafe impl Sync for SwapchainCalibratedTimestampInfoEXT {}
30357
30358#[repr(C)]
30360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30361pub struct SwapchainCounterCreateInfoEXT {
30362 pub s_type: StructureType,
30363 pub next: *const c_void,
30364 pub surface_counters: SurfaceCounterFlagsEXT,
30365}
30366
30367impl Default for SwapchainCounterCreateInfoEXT {
30368 #[inline]
30369 fn default() -> Self {
30370 Self {
30371 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
30372 next: ptr::null(),
30373 surface_counters: SurfaceCounterFlagsEXT::default(),
30374 }
30375 }
30376}
30377
30378unsafe impl Send for SwapchainCounterCreateInfoEXT {}
30379unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
30380
30381#[repr(C)]
30383#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30384pub struct SwapchainCreateInfoKHR {
30385 pub s_type: StructureType,
30386 pub next: *const c_void,
30387 pub flags: SwapchainCreateFlagsKHR,
30388 pub surface: SurfaceKHR,
30389 pub min_image_count: u32,
30390 pub image_format: Format,
30391 pub image_color_space: ColorSpaceKHR,
30392 pub image_extent: Extent2D,
30393 pub image_array_layers: u32,
30394 pub image_usage: ImageUsageFlags,
30395 pub image_sharing_mode: SharingMode,
30396 pub queue_family_index_count: u32,
30397 pub queue_family_indices: *const u32,
30398 pub pre_transform: SurfaceTransformFlagsKHR,
30399 pub composite_alpha: CompositeAlphaFlagsKHR,
30400 pub present_mode: PresentModeKHR,
30401 pub clipped: Bool32,
30402 pub old_swapchain: SwapchainKHR,
30403}
30404
30405impl Default for SwapchainCreateInfoKHR {
30406 #[inline]
30407 fn default() -> Self {
30408 Self {
30409 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
30410 next: ptr::null(),
30411 flags: SwapchainCreateFlagsKHR::default(),
30412 surface: SurfaceKHR::default(),
30413 min_image_count: u32::default(),
30414 image_format: Format::default(),
30415 image_color_space: ColorSpaceKHR::default(),
30416 image_extent: Extent2D::default(),
30417 image_array_layers: u32::default(),
30418 image_usage: ImageUsageFlags::default(),
30419 image_sharing_mode: SharingMode::default(),
30420 queue_family_index_count: u32::default(),
30421 queue_family_indices: ptr::null(),
30422 pre_transform: SurfaceTransformFlagsKHR::default(),
30423 composite_alpha: CompositeAlphaFlagsKHR::default(),
30424 present_mode: PresentModeKHR::default(),
30425 clipped: Bool32::default(),
30426 old_swapchain: SwapchainKHR::default(),
30427 }
30428 }
30429}
30430
30431unsafe impl Send for SwapchainCreateInfoKHR {}
30432unsafe impl Sync for SwapchainCreateInfoKHR {}
30433
30434#[repr(C)]
30436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30437pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
30438 pub s_type: StructureType,
30439 pub next: *const c_void,
30440 pub local_dimming_enable: Bool32,
30441}
30442
30443impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
30444 #[inline]
30445 fn default() -> Self {
30446 Self {
30447 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
30448 next: ptr::null(),
30449 local_dimming_enable: Bool32::default(),
30450 }
30451 }
30452}
30453
30454unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
30455unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
30456
30457#[repr(C)]
30459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30460pub struct SwapchainLatencyCreateInfoNV {
30461 pub s_type: StructureType,
30462 pub next: *const c_void,
30463 pub latency_mode_enable: Bool32,
30464}
30465
30466impl Default for SwapchainLatencyCreateInfoNV {
30467 #[inline]
30468 fn default() -> Self {
30469 Self {
30470 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
30471 next: ptr::null(),
30472 latency_mode_enable: Bool32::default(),
30473 }
30474 }
30475}
30476
30477unsafe impl Send for SwapchainLatencyCreateInfoNV {}
30478unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
30479
30480#[repr(C)]
30482#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30483pub struct SwapchainPresentBarrierCreateInfoNV {
30484 pub s_type: StructureType,
30485 pub next: *mut c_void,
30486 pub present_barrier_enable: Bool32,
30487}
30488
30489impl Default for SwapchainPresentBarrierCreateInfoNV {
30490 #[inline]
30491 fn default() -> Self {
30492 Self {
30493 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
30494 next: ptr::null_mut(),
30495 present_barrier_enable: Bool32::default(),
30496 }
30497 }
30498}
30499
30500unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
30501unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
30502
30503#[repr(C)]
30505#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30506pub struct SwapchainPresentFenceInfoKHR {
30507 pub s_type: StructureType,
30508 pub next: *const c_void,
30509 pub swapchain_count: u32,
30510 pub fences: *const Fence,
30511}
30512
30513impl Default for SwapchainPresentFenceInfoKHR {
30514 #[inline]
30515 fn default() -> Self {
30516 Self {
30517 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
30518 next: ptr::null(),
30519 swapchain_count: u32::default(),
30520 fences: ptr::null(),
30521 }
30522 }
30523}
30524
30525unsafe impl Send for SwapchainPresentFenceInfoKHR {}
30526unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
30527
30528#[repr(C)]
30530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30531pub struct SwapchainPresentModeInfoKHR {
30532 pub s_type: StructureType,
30533 pub next: *const c_void,
30534 pub swapchain_count: u32,
30535 pub present_modes: *const PresentModeKHR,
30536}
30537
30538impl Default for SwapchainPresentModeInfoKHR {
30539 #[inline]
30540 fn default() -> Self {
30541 Self {
30542 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
30543 next: ptr::null(),
30544 swapchain_count: u32::default(),
30545 present_modes: ptr::null(),
30546 }
30547 }
30548}
30549
30550unsafe impl Send for SwapchainPresentModeInfoKHR {}
30551unsafe impl Sync for SwapchainPresentModeInfoKHR {}
30552
30553#[repr(C)]
30555#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30556pub struct SwapchainPresentModesCreateInfoKHR {
30557 pub s_type: StructureType,
30558 pub next: *const c_void,
30559 pub present_mode_count: u32,
30560 pub present_modes: *const PresentModeKHR,
30561}
30562
30563impl Default for SwapchainPresentModesCreateInfoKHR {
30564 #[inline]
30565 fn default() -> Self {
30566 Self {
30567 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
30568 next: ptr::null(),
30569 present_mode_count: u32::default(),
30570 present_modes: ptr::null(),
30571 }
30572 }
30573}
30574
30575unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
30576unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
30577
30578#[repr(C)]
30580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30581pub struct SwapchainPresentScalingCreateInfoKHR {
30582 pub s_type: StructureType,
30583 pub next: *const c_void,
30584 pub scaling_behavior: PresentScalingFlagsKHR,
30585 pub present_gravity_x: PresentGravityFlagsKHR,
30586 pub present_gravity_y: PresentGravityFlagsKHR,
30587}
30588
30589impl Default for SwapchainPresentScalingCreateInfoKHR {
30590 #[inline]
30591 fn default() -> Self {
30592 Self {
30593 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
30594 next: ptr::null(),
30595 scaling_behavior: PresentScalingFlagsKHR::default(),
30596 present_gravity_x: PresentGravityFlagsKHR::default(),
30597 present_gravity_y: PresentGravityFlagsKHR::default(),
30598 }
30599 }
30600}
30601
30602unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
30603unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
30604
30605#[repr(C)]
30607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30608pub struct SwapchainTimeDomainPropertiesEXT {
30609 pub s_type: StructureType,
30610 pub next: *mut c_void,
30611 pub time_domain_count: u32,
30612 pub time_domains: *mut TimeDomainKHR,
30613 pub time_domain_ids: *mut u64,
30614}
30615
30616impl Default for SwapchainTimeDomainPropertiesEXT {
30617 #[inline]
30618 fn default() -> Self {
30619 Self {
30620 s_type: StructureType::SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT,
30621 next: ptr::null_mut(),
30622 time_domain_count: u32::default(),
30623 time_domains: ptr::null_mut(),
30624 time_domain_ids: ptr::null_mut(),
30625 }
30626 }
30627}
30628
30629unsafe impl Send for SwapchainTimeDomainPropertiesEXT {}
30630unsafe impl Sync for SwapchainTimeDomainPropertiesEXT {}
30631
30632#[repr(C)]
30634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30635pub struct SwapchainTimingPropertiesEXT {
30636 pub s_type: StructureType,
30637 pub next: *mut c_void,
30638 pub refresh_duration: u64,
30639 pub refresh_interval: u64,
30640}
30641
30642impl Default for SwapchainTimingPropertiesEXT {
30643 #[inline]
30644 fn default() -> Self {
30645 Self {
30646 s_type: StructureType::SWAPCHAIN_TIMING_PROPERTIES_EXT,
30647 next: ptr::null_mut(),
30648 refresh_duration: u64::default(),
30649 refresh_interval: u64::default(),
30650 }
30651 }
30652}
30653
30654unsafe impl Send for SwapchainTimingPropertiesEXT {}
30655unsafe impl Sync for SwapchainTimingPropertiesEXT {}
30656
30657#[repr(C)]
30659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30660pub struct SysmemColorSpaceFUCHSIA {
30661 pub s_type: StructureType,
30662 pub next: *const c_void,
30663 pub color_space: u32,
30664}
30665
30666impl Default for SysmemColorSpaceFUCHSIA {
30667 #[inline]
30668 fn default() -> Self {
30669 Self {
30670 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
30671 next: ptr::null(),
30672 color_space: u32::default(),
30673 }
30674 }
30675}
30676
30677unsafe impl Send for SysmemColorSpaceFUCHSIA {}
30678unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
30679
30680#[repr(C)]
30682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30683pub struct TensorCaptureDescriptorDataInfoARM {
30684 pub s_type: StructureType,
30685 pub next: *const c_void,
30686 pub tensor: TensorARM,
30687}
30688
30689impl Default for TensorCaptureDescriptorDataInfoARM {
30690 #[inline]
30691 fn default() -> Self {
30692 Self {
30693 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
30694 next: ptr::null(),
30695 tensor: TensorARM::default(),
30696 }
30697 }
30698}
30699
30700unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
30701unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
30702
30703#[repr(C)]
30705#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30706pub struct TensorCopyARM {
30707 pub s_type: StructureType,
30708 pub next: *const c_void,
30709 pub dimension_count: u32,
30710 pub src_offset: *const u64,
30711 pub dst_offset: *const u64,
30712 pub extent: *const u64,
30713}
30714
30715impl Default for TensorCopyARM {
30716 #[inline]
30717 fn default() -> Self {
30718 Self {
30719 s_type: StructureType::TENSOR_COPY_ARM,
30720 next: ptr::null(),
30721 dimension_count: u32::default(),
30722 src_offset: ptr::null(),
30723 dst_offset: ptr::null(),
30724 extent: ptr::null(),
30725 }
30726 }
30727}
30728
30729unsafe impl Send for TensorCopyARM {}
30730unsafe impl Sync for TensorCopyARM {}
30731
30732#[repr(C)]
30734#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30735pub struct TensorCreateInfoARM {
30736 pub s_type: StructureType,
30737 pub next: *const c_void,
30738 pub flags: TensorCreateFlagsARM,
30739 pub description: *const TensorDescriptionARM,
30740 pub sharing_mode: SharingMode,
30741 pub queue_family_index_count: u32,
30742 pub queue_family_indices: *const u32,
30743}
30744
30745impl Default for TensorCreateInfoARM {
30746 #[inline]
30747 fn default() -> Self {
30748 Self {
30749 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
30750 next: ptr::null(),
30751 flags: TensorCreateFlagsARM::default(),
30752 description: ptr::null(),
30753 sharing_mode: SharingMode::default(),
30754 queue_family_index_count: u32::default(),
30755 queue_family_indices: ptr::null(),
30756 }
30757 }
30758}
30759
30760unsafe impl Send for TensorCreateInfoARM {}
30761unsafe impl Sync for TensorCreateInfoARM {}
30762
30763#[repr(C)]
30765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30766pub struct TensorDependencyInfoARM {
30767 pub s_type: StructureType,
30768 pub next: *const c_void,
30769 pub tensor_memory_barrier_count: u32,
30770 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
30771}
30772
30773impl Default for TensorDependencyInfoARM {
30774 #[inline]
30775 fn default() -> Self {
30776 Self {
30777 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
30778 next: ptr::null(),
30779 tensor_memory_barrier_count: u32::default(),
30780 tensor_memory_barriers: ptr::null(),
30781 }
30782 }
30783}
30784
30785unsafe impl Send for TensorDependencyInfoARM {}
30786unsafe impl Sync for TensorDependencyInfoARM {}
30787
30788#[repr(C)]
30790#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30791pub struct TensorDescriptionARM {
30792 pub s_type: StructureType,
30793 pub next: *const c_void,
30794 pub tiling: TensorTilingARM,
30795 pub format: Format,
30796 pub dimension_count: u32,
30797 pub dimensions: *const i64,
30798 pub strides: *const i64,
30799 pub usage: TensorUsageFlagsARM,
30800}
30801
30802impl Default for TensorDescriptionARM {
30803 #[inline]
30804 fn default() -> Self {
30805 Self {
30806 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
30807 next: ptr::null(),
30808 tiling: TensorTilingARM::default(),
30809 format: Format::default(),
30810 dimension_count: u32::default(),
30811 dimensions: ptr::null(),
30812 strides: ptr::null(),
30813 usage: TensorUsageFlagsARM::default(),
30814 }
30815 }
30816}
30817
30818unsafe impl Send for TensorDescriptionARM {}
30819unsafe impl Sync for TensorDescriptionARM {}
30820
30821#[repr(C)]
30823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30824pub struct TensorFormatPropertiesARM {
30825 pub s_type: StructureType,
30826 pub next: *mut c_void,
30827 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
30828 pub linear_tiling_tensor_features: FormatFeatureFlags2,
30829}
30830
30831impl Default for TensorFormatPropertiesARM {
30832 #[inline]
30833 fn default() -> Self {
30834 Self {
30835 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
30836 next: ptr::null_mut(),
30837 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
30838 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
30839 }
30840 }
30841}
30842
30843unsafe impl Send for TensorFormatPropertiesARM {}
30844unsafe impl Sync for TensorFormatPropertiesARM {}
30845
30846#[repr(C)]
30848#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30849pub struct TensorMemoryBarrierARM {
30850 pub s_type: StructureType,
30851 pub next: *const c_void,
30852 pub src_stage_mask: PipelineStageFlags2,
30853 pub src_access_mask: AccessFlags2,
30854 pub dst_stage_mask: PipelineStageFlags2,
30855 pub dst_access_mask: AccessFlags2,
30856 pub src_queue_family_index: u32,
30857 pub dst_queue_family_index: u32,
30858 pub tensor: TensorARM,
30859}
30860
30861impl Default for TensorMemoryBarrierARM {
30862 #[inline]
30863 fn default() -> Self {
30864 Self {
30865 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
30866 next: ptr::null(),
30867 src_stage_mask: PipelineStageFlags2::default(),
30868 src_access_mask: AccessFlags2::default(),
30869 dst_stage_mask: PipelineStageFlags2::default(),
30870 dst_access_mask: AccessFlags2::default(),
30871 src_queue_family_index: u32::default(),
30872 dst_queue_family_index: u32::default(),
30873 tensor: TensorARM::default(),
30874 }
30875 }
30876}
30877
30878unsafe impl Send for TensorMemoryBarrierARM {}
30879unsafe impl Sync for TensorMemoryBarrierARM {}
30880
30881#[repr(C)]
30883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30884pub struct TensorMemoryRequirementsInfoARM {
30885 pub s_type: StructureType,
30886 pub next: *const c_void,
30887 pub tensor: TensorARM,
30888}
30889
30890impl Default for TensorMemoryRequirementsInfoARM {
30891 #[inline]
30892 fn default() -> Self {
30893 Self {
30894 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
30895 next: ptr::null(),
30896 tensor: TensorARM::default(),
30897 }
30898 }
30899}
30900
30901unsafe impl Send for TensorMemoryRequirementsInfoARM {}
30902unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
30903
30904#[repr(C)]
30906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30907pub struct TensorViewCaptureDescriptorDataInfoARM {
30908 pub s_type: StructureType,
30909 pub next: *const c_void,
30910 pub tensor_view: TensorViewARM,
30911}
30912
30913impl Default for TensorViewCaptureDescriptorDataInfoARM {
30914 #[inline]
30915 fn default() -> Self {
30916 Self {
30917 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
30918 next: ptr::null(),
30919 tensor_view: TensorViewARM::default(),
30920 }
30921 }
30922}
30923
30924unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
30925unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
30926
30927#[repr(C)]
30929#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30930pub struct TensorViewCreateInfoARM {
30931 pub s_type: StructureType,
30932 pub next: *const c_void,
30933 pub flags: TensorViewCreateFlagsARM,
30934 pub tensor: TensorARM,
30935 pub format: Format,
30936}
30937
30938impl Default for TensorViewCreateInfoARM {
30939 #[inline]
30940 fn default() -> Self {
30941 Self {
30942 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
30943 next: ptr::null(),
30944 flags: TensorViewCreateFlagsARM::default(),
30945 tensor: TensorARM::default(),
30946 format: Format::default(),
30947 }
30948 }
30949}
30950
30951unsafe impl Send for TensorViewCreateInfoARM {}
30952unsafe impl Sync for TensorViewCreateInfoARM {}
30953
30954#[repr(C)]
30956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30957pub struct TexelBufferDescriptorInfoEXT {
30958 pub s_type: StructureType,
30959 pub next: *const c_void,
30960 pub format: Format,
30961 pub address_range: DeviceAddressRangeEXT,
30962}
30963
30964impl Default for TexelBufferDescriptorInfoEXT {
30965 #[inline]
30966 fn default() -> Self {
30967 Self {
30968 s_type: StructureType::TEXEL_BUFFER_DESCRIPTOR_INFO_EXT,
30969 next: ptr::null(),
30970 format: Format::default(),
30971 address_range: DeviceAddressRangeEXT::default(),
30972 }
30973 }
30974}
30975
30976unsafe impl Send for TexelBufferDescriptorInfoEXT {}
30977unsafe impl Sync for TexelBufferDescriptorInfoEXT {}
30978
30979#[repr(C)]
30981#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30982pub struct TextureLODGatherFormatPropertiesAMD {
30983 pub s_type: StructureType,
30984 pub next: *mut c_void,
30985 pub supports_texture_gather_lod_bias_amd: Bool32,
30986}
30987
30988impl Default for TextureLODGatherFormatPropertiesAMD {
30989 #[inline]
30990 fn default() -> Self {
30991 Self {
30992 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
30993 next: ptr::null_mut(),
30994 supports_texture_gather_lod_bias_amd: Bool32::default(),
30995 }
30996 }
30997}
30998
30999unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
31000unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
31001
31002#[repr(C)]
31004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31005pub struct TileMemoryBindInfoQCOM {
31006 pub s_type: StructureType,
31007 pub next: *const c_void,
31008 pub memory: DeviceMemory,
31009}
31010
31011impl Default for TileMemoryBindInfoQCOM {
31012 #[inline]
31013 fn default() -> Self {
31014 Self {
31015 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
31016 next: ptr::null(),
31017 memory: DeviceMemory::default(),
31018 }
31019 }
31020}
31021
31022unsafe impl Send for TileMemoryBindInfoQCOM {}
31023unsafe impl Sync for TileMemoryBindInfoQCOM {}
31024
31025#[repr(C)]
31027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31028pub struct TileMemoryRequirementsQCOM {
31029 pub s_type: StructureType,
31030 pub next: *mut c_void,
31031 pub size: DeviceSize,
31032 pub alignment: DeviceSize,
31033}
31034
31035impl Default for TileMemoryRequirementsQCOM {
31036 #[inline]
31037 fn default() -> Self {
31038 Self {
31039 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
31040 next: ptr::null_mut(),
31041 size: DeviceSize::default(),
31042 alignment: DeviceSize::default(),
31043 }
31044 }
31045}
31046
31047unsafe impl Send for TileMemoryRequirementsQCOM {}
31048unsafe impl Sync for TileMemoryRequirementsQCOM {}
31049
31050#[repr(C)]
31052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31053pub struct TileMemorySizeInfoQCOM {
31054 pub s_type: StructureType,
31055 pub next: *const c_void,
31056 pub size: DeviceSize,
31057}
31058
31059impl Default for TileMemorySizeInfoQCOM {
31060 #[inline]
31061 fn default() -> Self {
31062 Self {
31063 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
31064 next: ptr::null(),
31065 size: DeviceSize::default(),
31066 }
31067 }
31068}
31069
31070unsafe impl Send for TileMemorySizeInfoQCOM {}
31071unsafe impl Sync for TileMemorySizeInfoQCOM {}
31072
31073#[repr(C)]
31075#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31076pub struct TilePropertiesQCOM {
31077 pub s_type: StructureType,
31078 pub next: *mut c_void,
31079 pub tile_size: Extent3D,
31080 pub apron_size: Extent2D,
31081 pub origin: Offset2D,
31082}
31083
31084impl Default for TilePropertiesQCOM {
31085 #[inline]
31086 fn default() -> Self {
31087 Self {
31088 s_type: StructureType::TILE_PROPERTIES_QCOM,
31089 next: ptr::null_mut(),
31090 tile_size: Extent3D::default(),
31091 apron_size: Extent2D::default(),
31092 origin: Offset2D::default(),
31093 }
31094 }
31095}
31096
31097unsafe impl Send for TilePropertiesQCOM {}
31098unsafe impl Sync for TilePropertiesQCOM {}
31099
31100#[repr(C)]
31102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31103pub struct TimelineSemaphoreSubmitInfo {
31104 pub s_type: StructureType,
31105 pub next: *const c_void,
31106 pub wait_semaphore_value_count: u32,
31107 pub wait_semaphore_values: *const u64,
31108 pub signal_semaphore_value_count: u32,
31109 pub signal_semaphore_values: *const u64,
31110}
31111
31112impl Default for TimelineSemaphoreSubmitInfo {
31113 #[inline]
31114 fn default() -> Self {
31115 Self {
31116 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
31117 next: ptr::null(),
31118 wait_semaphore_value_count: u32::default(),
31119 wait_semaphore_values: ptr::null(),
31120 signal_semaphore_value_count: u32::default(),
31121 signal_semaphore_values: ptr::null(),
31122 }
31123 }
31124}
31125
31126unsafe impl Send for TimelineSemaphoreSubmitInfo {}
31127unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
31128
31129#[repr(C)]
31131#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31132pub struct TraceRaysIndirectCommand2KHR {
31133 pub raygen_shader_record_address: DeviceAddress,
31134 pub raygen_shader_record_size: DeviceSize,
31135 pub miss_shader_binding_table_address: DeviceAddress,
31136 pub miss_shader_binding_table_size: DeviceSize,
31137 pub miss_shader_binding_table_stride: DeviceSize,
31138 pub hit_shader_binding_table_address: DeviceAddress,
31139 pub hit_shader_binding_table_size: DeviceSize,
31140 pub hit_shader_binding_table_stride: DeviceSize,
31141 pub callable_shader_binding_table_address: DeviceAddress,
31142 pub callable_shader_binding_table_size: DeviceSize,
31143 pub callable_shader_binding_table_stride: DeviceSize,
31144 pub width: u32,
31145 pub height: u32,
31146 pub depth: u32,
31147}
31148
31149#[repr(C)]
31151#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31152pub struct TraceRaysIndirectCommandKHR {
31153 pub width: u32,
31154 pub height: u32,
31155 pub depth: u32,
31156}
31157
31158#[repr(C)]
31160#[derive(Copy, Clone, Default, Debug, PartialEq)]
31161pub struct TransformMatrixKHR {
31162 pub matrix: [[f32; 4]; 3],
31163}
31164
31165#[repr(C)]
31167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31168pub struct UbmSurfaceCreateInfoSEC {
31169 pub s_type: StructureType,
31170 pub next: *const c_void,
31171 pub flags: UbmSurfaceCreateFlagsSEC,
31172 pub ubm_device: *mut ubm_device,
31173 pub ubm_surface: *mut ubm_surface,
31174}
31175
31176impl Default for UbmSurfaceCreateInfoSEC {
31177 #[inline]
31178 fn default() -> Self {
31179 Self {
31180 s_type: StructureType::UBM_SURFACE_CREATE_INFO_SEC,
31181 next: ptr::null(),
31182 flags: UbmSurfaceCreateFlagsSEC::default(),
31183 ubm_device: ptr::null_mut(),
31184 ubm_surface: ptr::null_mut(),
31185 }
31186 }
31187}
31188
31189unsafe impl Send for UbmSurfaceCreateInfoSEC {}
31190unsafe impl Sync for UbmSurfaceCreateInfoSEC {}
31191
31192#[repr(C)]
31194#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31195pub struct ValidationCacheCreateInfoEXT {
31196 pub s_type: StructureType,
31197 pub next: *const c_void,
31198 pub flags: ValidationCacheCreateFlagsEXT,
31199 pub initial_data_size: usize,
31200 pub initial_data: *const c_void,
31201}
31202
31203impl Default for ValidationCacheCreateInfoEXT {
31204 #[inline]
31205 fn default() -> Self {
31206 Self {
31207 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
31208 next: ptr::null(),
31209 flags: ValidationCacheCreateFlagsEXT::default(),
31210 initial_data_size: usize::default(),
31211 initial_data: ptr::null(),
31212 }
31213 }
31214}
31215
31216unsafe impl Send for ValidationCacheCreateInfoEXT {}
31217unsafe impl Sync for ValidationCacheCreateInfoEXT {}
31218
31219#[repr(C)]
31221#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31222pub struct ValidationFeaturesEXT {
31223 pub s_type: StructureType,
31224 pub next: *const c_void,
31225 pub enabled_validation_feature_count: u32,
31226 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
31227 pub disabled_validation_feature_count: u32,
31228 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
31229}
31230
31231impl Default for ValidationFeaturesEXT {
31232 #[inline]
31233 fn default() -> Self {
31234 Self {
31235 s_type: StructureType::VALIDATION_FEATURES_EXT,
31236 next: ptr::null(),
31237 enabled_validation_feature_count: u32::default(),
31238 enabled_validation_features: ptr::null(),
31239 disabled_validation_feature_count: u32::default(),
31240 disabled_validation_features: ptr::null(),
31241 }
31242 }
31243}
31244
31245unsafe impl Send for ValidationFeaturesEXT {}
31246unsafe impl Sync for ValidationFeaturesEXT {}
31247
31248#[repr(C)]
31250#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31251pub struct ValidationFlagsEXT {
31252 pub s_type: StructureType,
31253 pub next: *const c_void,
31254 pub disabled_validation_check_count: u32,
31255 pub disabled_validation_checks: *const ValidationCheckEXT,
31256}
31257
31258impl Default for ValidationFlagsEXT {
31259 #[inline]
31260 fn default() -> Self {
31261 Self {
31262 s_type: StructureType::VALIDATION_FLAGS_EXT,
31263 next: ptr::null(),
31264 disabled_validation_check_count: u32::default(),
31265 disabled_validation_checks: ptr::null(),
31266 }
31267 }
31268}
31269
31270unsafe impl Send for ValidationFlagsEXT {}
31271unsafe impl Sync for ValidationFlagsEXT {}
31272
31273#[repr(C)]
31275#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31276pub struct VertexInputAttributeDescription {
31277 pub location: u32,
31278 pub binding: u32,
31279 pub format: Format,
31280 pub offset: u32,
31281}
31282
31283#[repr(C)]
31285#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31286pub struct VertexInputAttributeDescription2EXT {
31287 pub s_type: StructureType,
31288 pub next: *mut c_void,
31289 pub location: u32,
31290 pub binding: u32,
31291 pub format: Format,
31292 pub offset: u32,
31293}
31294
31295impl Default for VertexInputAttributeDescription2EXT {
31296 #[inline]
31297 fn default() -> Self {
31298 Self {
31299 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
31300 next: ptr::null_mut(),
31301 location: u32::default(),
31302 binding: u32::default(),
31303 format: Format::default(),
31304 offset: u32::default(),
31305 }
31306 }
31307}
31308
31309unsafe impl Send for VertexInputAttributeDescription2EXT {}
31310unsafe impl Sync for VertexInputAttributeDescription2EXT {}
31311
31312#[repr(C)]
31314#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31315pub struct VertexInputBindingDescription {
31316 pub binding: u32,
31317 pub stride: u32,
31318 pub input_rate: VertexInputRate,
31319}
31320
31321#[repr(C)]
31323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31324pub struct VertexInputBindingDescription2EXT {
31325 pub s_type: StructureType,
31326 pub next: *mut c_void,
31327 pub binding: u32,
31328 pub stride: u32,
31329 pub input_rate: VertexInputRate,
31330 pub divisor: u32,
31331}
31332
31333impl Default for VertexInputBindingDescription2EXT {
31334 #[inline]
31335 fn default() -> Self {
31336 Self {
31337 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
31338 next: ptr::null_mut(),
31339 binding: u32::default(),
31340 stride: u32::default(),
31341 input_rate: VertexInputRate::default(),
31342 divisor: u32::default(),
31343 }
31344 }
31345}
31346
31347unsafe impl Send for VertexInputBindingDescription2EXT {}
31348unsafe impl Sync for VertexInputBindingDescription2EXT {}
31349
31350#[repr(C)]
31352#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31353pub struct VertexInputBindingDivisorDescription {
31354 pub binding: u32,
31355 pub divisor: u32,
31356}
31357
31358#[repr(C)]
31360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31361pub struct ViSurfaceCreateInfoNN {
31362 pub s_type: StructureType,
31363 pub next: *const c_void,
31364 pub flags: ViSurfaceCreateFlagsNN,
31365 pub window: *mut c_void,
31366}
31367
31368impl Default for ViSurfaceCreateInfoNN {
31369 #[inline]
31370 fn default() -> Self {
31371 Self {
31372 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
31373 next: ptr::null(),
31374 flags: ViSurfaceCreateFlagsNN::default(),
31375 window: ptr::null_mut(),
31376 }
31377 }
31378}
31379
31380unsafe impl Send for ViSurfaceCreateInfoNN {}
31381unsafe impl Sync for ViSurfaceCreateInfoNN {}
31382
31383#[repr(C)]
31385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31386pub struct VideoBeginCodingInfoKHR {
31387 pub s_type: StructureType,
31388 pub next: *const c_void,
31389 pub flags: VideoBeginCodingFlagsKHR,
31390 pub video_session: VideoSessionKHR,
31391 pub video_session_parameters: VideoSessionParametersKHR,
31392 pub reference_slot_count: u32,
31393 pub reference_slots: *const VideoReferenceSlotInfoKHR,
31394}
31395
31396impl Default for VideoBeginCodingInfoKHR {
31397 #[inline]
31398 fn default() -> Self {
31399 Self {
31400 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
31401 next: ptr::null(),
31402 flags: VideoBeginCodingFlagsKHR::default(),
31403 video_session: VideoSessionKHR::default(),
31404 video_session_parameters: VideoSessionParametersKHR::default(),
31405 reference_slot_count: u32::default(),
31406 reference_slots: ptr::null(),
31407 }
31408 }
31409}
31410
31411unsafe impl Send for VideoBeginCodingInfoKHR {}
31412unsafe impl Sync for VideoBeginCodingInfoKHR {}
31413
31414#[repr(C)]
31416#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31417pub struct VideoCapabilitiesKHR {
31418 pub s_type: StructureType,
31419 pub next: *mut c_void,
31420 pub flags: VideoCapabilityFlagsKHR,
31421 pub min_bitstream_buffer_offset_alignment: DeviceSize,
31422 pub min_bitstream_buffer_size_alignment: DeviceSize,
31423 pub picture_access_granularity: Extent2D,
31424 pub min_coded_extent: Extent2D,
31425 pub max_coded_extent: Extent2D,
31426 pub max_dpb_slots: u32,
31427 pub max_active_reference_pictures: u32,
31428 pub std_header_version: ExtensionProperties,
31429}
31430
31431impl Default for VideoCapabilitiesKHR {
31432 #[inline]
31433 fn default() -> Self {
31434 Self {
31435 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
31436 next: ptr::null_mut(),
31437 flags: VideoCapabilityFlagsKHR::default(),
31438 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
31439 min_bitstream_buffer_size_alignment: DeviceSize::default(),
31440 picture_access_granularity: Extent2D::default(),
31441 min_coded_extent: Extent2D::default(),
31442 max_coded_extent: Extent2D::default(),
31443 max_dpb_slots: u32::default(),
31444 max_active_reference_pictures: u32::default(),
31445 std_header_version: ExtensionProperties::default(),
31446 }
31447 }
31448}
31449
31450unsafe impl Send for VideoCapabilitiesKHR {}
31451unsafe impl Sync for VideoCapabilitiesKHR {}
31452
31453#[repr(C)]
31455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31456pub struct VideoCodingControlInfoKHR {
31457 pub s_type: StructureType,
31458 pub next: *const c_void,
31459 pub flags: VideoCodingControlFlagsKHR,
31460}
31461
31462impl Default for VideoCodingControlInfoKHR {
31463 #[inline]
31464 fn default() -> Self {
31465 Self {
31466 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
31467 next: ptr::null(),
31468 flags: VideoCodingControlFlagsKHR::default(),
31469 }
31470 }
31471}
31472
31473unsafe impl Send for VideoCodingControlInfoKHR {}
31474unsafe impl Sync for VideoCodingControlInfoKHR {}
31475
31476#[repr(C)]
31478#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31479pub struct VideoDecodeAV1CapabilitiesKHR {
31480 pub s_type: StructureType,
31481 pub next: *mut c_void,
31482 pub max_level: video::StdVideoAV1Level,
31483}
31484
31485impl Default for VideoDecodeAV1CapabilitiesKHR {
31486 #[inline]
31487 fn default() -> Self {
31488 Self {
31489 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
31490 next: ptr::null_mut(),
31491 max_level: video::StdVideoAV1Level::default(),
31492 }
31493 }
31494}
31495
31496unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
31497unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
31498
31499#[repr(C)]
31501#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31502pub struct VideoDecodeAV1DpbSlotInfoKHR {
31503 pub s_type: StructureType,
31504 pub next: *const c_void,
31505 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
31506}
31507
31508impl Default for VideoDecodeAV1DpbSlotInfoKHR {
31509 #[inline]
31510 fn default() -> Self {
31511 Self {
31512 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
31513 next: ptr::null(),
31514 std_reference_info: ptr::null(),
31515 }
31516 }
31517}
31518
31519unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
31520unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
31521
31522#[repr(C)]
31524#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31525pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
31526 pub s_type: StructureType,
31527 pub next: *const c_void,
31528 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
31529}
31530
31531impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
31532 #[inline]
31533 fn default() -> Self {
31534 Self {
31535 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
31536 next: ptr::null(),
31537 std_sequence_header: ptr::null(),
31538 }
31539 }
31540}
31541
31542unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
31543unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
31544
31545#[repr(C)]
31547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31548pub struct VideoDecodeAV1PictureInfoKHR {
31549 pub s_type: StructureType,
31550 pub next: *const c_void,
31551 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
31552 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
31553 pub frame_header_offset: u32,
31554 pub tile_count: u32,
31555 pub tile_offsets: *const u32,
31556 pub tile_sizes: *const u32,
31557}
31558
31559impl Default for VideoDecodeAV1PictureInfoKHR {
31560 #[inline]
31561 fn default() -> Self {
31562 Self {
31563 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
31564 next: ptr::null(),
31565 std_picture_info: ptr::null(),
31566 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
31567 frame_header_offset: u32::default(),
31568 tile_count: u32::default(),
31569 tile_offsets: ptr::null(),
31570 tile_sizes: ptr::null(),
31571 }
31572 }
31573}
31574
31575unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
31576unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
31577
31578#[repr(C)]
31580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31581pub struct VideoDecodeAV1ProfileInfoKHR {
31582 pub s_type: StructureType,
31583 pub next: *const c_void,
31584 pub std_profile: video::StdVideoAV1Profile,
31585 pub film_grain_support: Bool32,
31586}
31587
31588impl Default for VideoDecodeAV1ProfileInfoKHR {
31589 #[inline]
31590 fn default() -> Self {
31591 Self {
31592 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
31593 next: ptr::null(),
31594 std_profile: video::StdVideoAV1Profile::default(),
31595 film_grain_support: Bool32::default(),
31596 }
31597 }
31598}
31599
31600unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
31601unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
31602
31603#[repr(C)]
31605#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31606pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
31607 pub s_type: StructureType,
31608 pub next: *const c_void,
31609 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
31610}
31611
31612impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
31613 #[inline]
31614 fn default() -> Self {
31615 Self {
31616 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
31617 next: ptr::null(),
31618 std_sequence_header: ptr::null(),
31619 }
31620 }
31621}
31622
31623unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
31624unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
31625
31626#[repr(C)]
31628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31629pub struct VideoDecodeCapabilitiesKHR {
31630 pub s_type: StructureType,
31631 pub next: *mut c_void,
31632 pub flags: VideoDecodeCapabilityFlagsKHR,
31633}
31634
31635impl Default for VideoDecodeCapabilitiesKHR {
31636 #[inline]
31637 fn default() -> Self {
31638 Self {
31639 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
31640 next: ptr::null_mut(),
31641 flags: VideoDecodeCapabilityFlagsKHR::default(),
31642 }
31643 }
31644}
31645
31646unsafe impl Send for VideoDecodeCapabilitiesKHR {}
31647unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
31648
31649#[repr(C)]
31651#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31652pub struct VideoDecodeH264CapabilitiesKHR {
31653 pub s_type: StructureType,
31654 pub next: *mut c_void,
31655 pub max_level_idc: video::StdVideoH264LevelIdc,
31656 pub field_offset_granularity: Offset2D,
31657}
31658
31659impl Default for VideoDecodeH264CapabilitiesKHR {
31660 #[inline]
31661 fn default() -> Self {
31662 Self {
31663 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
31664 next: ptr::null_mut(),
31665 max_level_idc: video::StdVideoH264LevelIdc::default(),
31666 field_offset_granularity: Offset2D::default(),
31667 }
31668 }
31669}
31670
31671unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
31672unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
31673
31674#[repr(C)]
31676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31677pub struct VideoDecodeH264DpbSlotInfoKHR {
31678 pub s_type: StructureType,
31679 pub next: *const c_void,
31680 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
31681}
31682
31683impl Default for VideoDecodeH264DpbSlotInfoKHR {
31684 #[inline]
31685 fn default() -> Self {
31686 Self {
31687 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
31688 next: ptr::null(),
31689 std_reference_info: ptr::null(),
31690 }
31691 }
31692}
31693
31694unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
31695unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
31696
31697#[repr(C)]
31699#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31700pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
31701 pub s_type: StructureType,
31702 pub next: *const c_void,
31703 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
31704 pub std_pps: *const video::StdVideoH264PictureParameterSet,
31705}
31706
31707impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
31708 #[inline]
31709 fn default() -> Self {
31710 Self {
31711 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
31712 next: ptr::null(),
31713 std_sps: ptr::null(),
31714 std_pps: ptr::null(),
31715 }
31716 }
31717}
31718
31719unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
31720unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
31721
31722#[repr(C)]
31724#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31725pub struct VideoDecodeH264PictureInfoKHR {
31726 pub s_type: StructureType,
31727 pub next: *const c_void,
31728 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
31729 pub slice_count: u32,
31730 pub slice_offsets: *const u32,
31731}
31732
31733impl Default for VideoDecodeH264PictureInfoKHR {
31734 #[inline]
31735 fn default() -> Self {
31736 Self {
31737 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
31738 next: ptr::null(),
31739 std_picture_info: ptr::null(),
31740 slice_count: u32::default(),
31741 slice_offsets: ptr::null(),
31742 }
31743 }
31744}
31745
31746unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
31747unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
31748
31749#[repr(C)]
31751#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31752pub struct VideoDecodeH264ProfileInfoKHR {
31753 pub s_type: StructureType,
31754 pub next: *const c_void,
31755 pub std_profile_idc: video::StdVideoH264ProfileIdc,
31756 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
31757}
31758
31759impl Default for VideoDecodeH264ProfileInfoKHR {
31760 #[inline]
31761 fn default() -> Self {
31762 Self {
31763 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
31764 next: ptr::null(),
31765 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
31766 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
31767 }
31768 }
31769}
31770
31771unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
31772unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
31773
31774#[repr(C)]
31776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31777pub struct VideoDecodeH264SessionParametersAddInfoKHR {
31778 pub s_type: StructureType,
31779 pub next: *const c_void,
31780 pub std_sps_count: u32,
31781 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
31782 pub std_pps_count: u32,
31783 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
31784}
31785
31786impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
31787 #[inline]
31788 fn default() -> Self {
31789 Self {
31790 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
31791 next: ptr::null(),
31792 std_sps_count: u32::default(),
31793 std_sp_ss: ptr::null(),
31794 std_pps_count: u32::default(),
31795 std_pp_ss: ptr::null(),
31796 }
31797 }
31798}
31799
31800unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
31801unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
31802
31803#[repr(C)]
31805#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31806pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
31807 pub s_type: StructureType,
31808 pub next: *const c_void,
31809 pub max_std_sps_count: u32,
31810 pub max_std_pps_count: u32,
31811 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
31812}
31813
31814impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
31815 #[inline]
31816 fn default() -> Self {
31817 Self {
31818 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
31819 next: ptr::null(),
31820 max_std_sps_count: u32::default(),
31821 max_std_pps_count: u32::default(),
31822 parameters_add_info: ptr::null(),
31823 }
31824 }
31825}
31826
31827unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
31828unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
31829
31830#[repr(C)]
31832#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31833pub struct VideoDecodeH265CapabilitiesKHR {
31834 pub s_type: StructureType,
31835 pub next: *mut c_void,
31836 pub max_level_idc: video::StdVideoH265LevelIdc,
31837}
31838
31839impl Default for VideoDecodeH265CapabilitiesKHR {
31840 #[inline]
31841 fn default() -> Self {
31842 Self {
31843 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
31844 next: ptr::null_mut(),
31845 max_level_idc: video::StdVideoH265LevelIdc::default(),
31846 }
31847 }
31848}
31849
31850unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
31851unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
31852
31853#[repr(C)]
31855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31856pub struct VideoDecodeH265DpbSlotInfoKHR {
31857 pub s_type: StructureType,
31858 pub next: *const c_void,
31859 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
31860}
31861
31862impl Default for VideoDecodeH265DpbSlotInfoKHR {
31863 #[inline]
31864 fn default() -> Self {
31865 Self {
31866 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
31867 next: ptr::null(),
31868 std_reference_info: ptr::null(),
31869 }
31870 }
31871}
31872
31873unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
31874unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
31875
31876#[repr(C)]
31878#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31879pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
31880 pub s_type: StructureType,
31881 pub next: *const c_void,
31882 pub std_vps: *const video::StdVideoH265VideoParameterSet,
31883 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
31884 pub std_pps: *const video::StdVideoH265PictureParameterSet,
31885}
31886
31887impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
31888 #[inline]
31889 fn default() -> Self {
31890 Self {
31891 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
31892 next: ptr::null(),
31893 std_vps: ptr::null(),
31894 std_sps: ptr::null(),
31895 std_pps: ptr::null(),
31896 }
31897 }
31898}
31899
31900unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
31901unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
31902
31903#[repr(C)]
31905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31906pub struct VideoDecodeH265PictureInfoKHR {
31907 pub s_type: StructureType,
31908 pub next: *const c_void,
31909 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
31910 pub slice_segment_count: u32,
31911 pub slice_segment_offsets: *const u32,
31912}
31913
31914impl Default for VideoDecodeH265PictureInfoKHR {
31915 #[inline]
31916 fn default() -> Self {
31917 Self {
31918 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
31919 next: ptr::null(),
31920 std_picture_info: ptr::null(),
31921 slice_segment_count: u32::default(),
31922 slice_segment_offsets: ptr::null(),
31923 }
31924 }
31925}
31926
31927unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
31928unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
31929
31930#[repr(C)]
31932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31933pub struct VideoDecodeH265ProfileInfoKHR {
31934 pub s_type: StructureType,
31935 pub next: *const c_void,
31936 pub std_profile_idc: video::StdVideoH265ProfileIdc,
31937}
31938
31939impl Default for VideoDecodeH265ProfileInfoKHR {
31940 #[inline]
31941 fn default() -> Self {
31942 Self {
31943 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
31944 next: ptr::null(),
31945 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
31946 }
31947 }
31948}
31949
31950unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
31951unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
31952
31953#[repr(C)]
31955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31956pub struct VideoDecodeH265SessionParametersAddInfoKHR {
31957 pub s_type: StructureType,
31958 pub next: *const c_void,
31959 pub std_vps_count: u32,
31960 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
31961 pub std_sps_count: u32,
31962 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
31963 pub std_pps_count: u32,
31964 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
31965}
31966
31967impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
31968 #[inline]
31969 fn default() -> Self {
31970 Self {
31971 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
31972 next: ptr::null(),
31973 std_vps_count: u32::default(),
31974 std_vp_ss: ptr::null(),
31975 std_sps_count: u32::default(),
31976 std_sp_ss: ptr::null(),
31977 std_pps_count: u32::default(),
31978 std_pp_ss: ptr::null(),
31979 }
31980 }
31981}
31982
31983unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
31984unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
31985
31986#[repr(C)]
31988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31989pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
31990 pub s_type: StructureType,
31991 pub next: *const c_void,
31992 pub max_std_vps_count: u32,
31993 pub max_std_sps_count: u32,
31994 pub max_std_pps_count: u32,
31995 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
31996}
31997
31998impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
31999 #[inline]
32000 fn default() -> Self {
32001 Self {
32002 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
32003 next: ptr::null(),
32004 max_std_vps_count: u32::default(),
32005 max_std_sps_count: u32::default(),
32006 max_std_pps_count: u32::default(),
32007 parameters_add_info: ptr::null(),
32008 }
32009 }
32010}
32011
32012unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
32013unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
32014
32015#[repr(C)]
32017#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32018pub struct VideoDecodeInfoKHR {
32019 pub s_type: StructureType,
32020 pub next: *const c_void,
32021 pub flags: VideoDecodeFlagsKHR,
32022 pub src_buffer: Buffer,
32023 pub src_buffer_offset: DeviceSize,
32024 pub src_buffer_range: DeviceSize,
32025 pub dst_picture_resource: VideoPictureResourceInfoKHR,
32026 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
32027 pub reference_slot_count: u32,
32028 pub reference_slots: *const VideoReferenceSlotInfoKHR,
32029}
32030
32031impl Default for VideoDecodeInfoKHR {
32032 #[inline]
32033 fn default() -> Self {
32034 Self {
32035 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
32036 next: ptr::null(),
32037 flags: VideoDecodeFlagsKHR::default(),
32038 src_buffer: Buffer::default(),
32039 src_buffer_offset: DeviceSize::default(),
32040 src_buffer_range: DeviceSize::default(),
32041 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
32042 setup_reference_slot: ptr::null(),
32043 reference_slot_count: u32::default(),
32044 reference_slots: ptr::null(),
32045 }
32046 }
32047}
32048
32049unsafe impl Send for VideoDecodeInfoKHR {}
32050unsafe impl Sync for VideoDecodeInfoKHR {}
32051
32052#[repr(C)]
32054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32055pub struct VideoDecodeUsageInfoKHR {
32056 pub s_type: StructureType,
32057 pub next: *const c_void,
32058 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
32059}
32060
32061impl Default for VideoDecodeUsageInfoKHR {
32062 #[inline]
32063 fn default() -> Self {
32064 Self {
32065 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
32066 next: ptr::null(),
32067 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
32068 }
32069 }
32070}
32071
32072unsafe impl Send for VideoDecodeUsageInfoKHR {}
32073unsafe impl Sync for VideoDecodeUsageInfoKHR {}
32074
32075#[repr(C)]
32077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32078pub struct VideoDecodeVP9CapabilitiesKHR {
32079 pub s_type: StructureType,
32080 pub next: *mut c_void,
32081 pub max_level: video::StdVideoVP9Level,
32082}
32083
32084impl Default for VideoDecodeVP9CapabilitiesKHR {
32085 #[inline]
32086 fn default() -> Self {
32087 Self {
32088 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
32089 next: ptr::null_mut(),
32090 max_level: video::StdVideoVP9Level::default(),
32091 }
32092 }
32093}
32094
32095unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
32096unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
32097
32098#[repr(C)]
32100#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32101pub struct VideoDecodeVP9PictureInfoKHR {
32102 pub s_type: StructureType,
32103 pub next: *const c_void,
32104 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
32105 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR as usize],
32106 pub uncompressed_header_offset: u32,
32107 pub compressed_header_offset: u32,
32108 pub tiles_offset: u32,
32109}
32110
32111impl Default for VideoDecodeVP9PictureInfoKHR {
32112 #[inline]
32113 fn default() -> Self {
32114 Self {
32115 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
32116 next: ptr::null(),
32117 std_picture_info: ptr::null(),
32118 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
32119 uncompressed_header_offset: u32::default(),
32120 compressed_header_offset: u32::default(),
32121 tiles_offset: u32::default(),
32122 }
32123 }
32124}
32125
32126unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
32127unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
32128
32129#[repr(C)]
32131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32132pub struct VideoDecodeVP9ProfileInfoKHR {
32133 pub s_type: StructureType,
32134 pub next: *const c_void,
32135 pub std_profile: video::StdVideoVP9Profile,
32136}
32137
32138impl Default for VideoDecodeVP9ProfileInfoKHR {
32139 #[inline]
32140 fn default() -> Self {
32141 Self {
32142 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
32143 next: ptr::null(),
32144 std_profile: video::StdVideoVP9Profile::default(),
32145 }
32146 }
32147}
32148
32149unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
32150unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
32151
32152#[repr(C)]
32154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32155pub struct VideoEncodeAV1CapabilitiesKHR {
32156 pub s_type: StructureType,
32157 pub next: *mut c_void,
32158 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
32159 pub max_level: video::StdVideoAV1Level,
32160 pub coded_picture_alignment: Extent2D,
32161 pub max_tiles: Extent2D,
32162 pub min_tile_size: Extent2D,
32163 pub max_tile_size: Extent2D,
32164 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
32165 pub max_single_reference_count: u32,
32166 pub single_reference_name_mask: u32,
32167 pub max_unidirectional_compound_reference_count: u32,
32168 pub max_unidirectional_compound_group1_reference_count: u32,
32169 pub unidirectional_compound_reference_name_mask: u32,
32170 pub max_bidirectional_compound_reference_count: u32,
32171 pub max_bidirectional_compound_group1_reference_count: u32,
32172 pub max_bidirectional_compound_group2_reference_count: u32,
32173 pub bidirectional_compound_reference_name_mask: u32,
32174 pub max_temporal_layer_count: u32,
32175 pub max_spatial_layer_count: u32,
32176 pub max_operating_points: u32,
32177 pub min_q_index: u32,
32178 pub max_q_index: u32,
32179 pub prefers_gop_remaining_frames: Bool32,
32180 pub requires_gop_remaining_frames: Bool32,
32181 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
32182}
32183
32184impl Default for VideoEncodeAV1CapabilitiesKHR {
32185 #[inline]
32186 fn default() -> Self {
32187 Self {
32188 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
32189 next: ptr::null_mut(),
32190 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
32191 max_level: video::StdVideoAV1Level::default(),
32192 coded_picture_alignment: Extent2D::default(),
32193 max_tiles: Extent2D::default(),
32194 min_tile_size: Extent2D::default(),
32195 max_tile_size: Extent2D::default(),
32196 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
32197 max_single_reference_count: u32::default(),
32198 single_reference_name_mask: u32::default(),
32199 max_unidirectional_compound_reference_count: u32::default(),
32200 max_unidirectional_compound_group1_reference_count: u32::default(),
32201 unidirectional_compound_reference_name_mask: u32::default(),
32202 max_bidirectional_compound_reference_count: u32::default(),
32203 max_bidirectional_compound_group1_reference_count: u32::default(),
32204 max_bidirectional_compound_group2_reference_count: u32::default(),
32205 bidirectional_compound_reference_name_mask: u32::default(),
32206 max_temporal_layer_count: u32::default(),
32207 max_spatial_layer_count: u32::default(),
32208 max_operating_points: u32::default(),
32209 min_q_index: u32::default(),
32210 max_q_index: u32::default(),
32211 prefers_gop_remaining_frames: Bool32::default(),
32212 requires_gop_remaining_frames: Bool32::default(),
32213 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
32214 }
32215 }
32216}
32217
32218unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
32219unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
32220
32221#[repr(C)]
32223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32224pub struct VideoEncodeAV1DpbSlotInfoKHR {
32225 pub s_type: StructureType,
32226 pub next: *const c_void,
32227 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
32228}
32229
32230impl Default for VideoEncodeAV1DpbSlotInfoKHR {
32231 #[inline]
32232 fn default() -> Self {
32233 Self {
32234 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
32235 next: ptr::null(),
32236 std_reference_info: ptr::null(),
32237 }
32238 }
32239}
32240
32241unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
32242unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
32243
32244#[repr(C)]
32246#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32247pub struct VideoEncodeAV1FrameSizeKHR {
32248 pub intra_frame_size: u32,
32249 pub predictive_frame_size: u32,
32250 pub bipredictive_frame_size: u32,
32251}
32252
32253#[repr(C)]
32255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32256pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
32257 pub s_type: StructureType,
32258 pub next: *const c_void,
32259 pub use_gop_remaining_frames: Bool32,
32260 pub gop_remaining_intra: u32,
32261 pub gop_remaining_predictive: u32,
32262 pub gop_remaining_bipredictive: u32,
32263}
32264
32265impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
32266 #[inline]
32267 fn default() -> Self {
32268 Self {
32269 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
32270 next: ptr::null(),
32271 use_gop_remaining_frames: Bool32::default(),
32272 gop_remaining_intra: u32::default(),
32273 gop_remaining_predictive: u32::default(),
32274 gop_remaining_bipredictive: u32::default(),
32275 }
32276 }
32277}
32278
32279unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
32280unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
32281
32282#[repr(C)]
32284#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32285pub struct VideoEncodeAV1PictureInfoKHR {
32286 pub s_type: StructureType,
32287 pub next: *const c_void,
32288 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
32289 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
32290 pub constant_q_index: u32,
32291 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
32292 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
32293 pub primary_reference_cdf_only: Bool32,
32294 pub generate_obu_extension_header: Bool32,
32295}
32296
32297impl Default for VideoEncodeAV1PictureInfoKHR {
32298 #[inline]
32299 fn default() -> Self {
32300 Self {
32301 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
32302 next: ptr::null(),
32303 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
32304 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
32305 constant_q_index: u32::default(),
32306 std_picture_info: ptr::null(),
32307 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
32308 primary_reference_cdf_only: Bool32::default(),
32309 generate_obu_extension_header: Bool32::default(),
32310 }
32311 }
32312}
32313
32314unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
32315unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
32316
32317#[repr(C)]
32319#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32320pub struct VideoEncodeAV1ProfileInfoKHR {
32321 pub s_type: StructureType,
32322 pub next: *const c_void,
32323 pub std_profile: video::StdVideoAV1Profile,
32324}
32325
32326impl Default for VideoEncodeAV1ProfileInfoKHR {
32327 #[inline]
32328 fn default() -> Self {
32329 Self {
32330 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
32331 next: ptr::null(),
32332 std_profile: video::StdVideoAV1Profile::default(),
32333 }
32334 }
32335}
32336
32337unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
32338unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
32339
32340#[repr(C)]
32342#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32343pub struct VideoEncodeAV1QIndexKHR {
32344 pub intra_q_index: u32,
32345 pub predictive_q_index: u32,
32346 pub bipredictive_q_index: u32,
32347}
32348
32349#[repr(C)]
32351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32352pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
32353 pub s_type: StructureType,
32354 pub next: *mut c_void,
32355 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
32356 pub preferred_gop_frame_count: u32,
32357 pub preferred_key_frame_period: u32,
32358 pub preferred_consecutive_bipredictive_frame_count: u32,
32359 pub preferred_temporal_layer_count: u32,
32360 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
32361 pub preferred_max_single_reference_count: u32,
32362 pub preferred_single_reference_name_mask: u32,
32363 pub preferred_max_unidirectional_compound_reference_count: u32,
32364 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
32365 pub preferred_unidirectional_compound_reference_name_mask: u32,
32366 pub preferred_max_bidirectional_compound_reference_count: u32,
32367 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
32368 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
32369 pub preferred_bidirectional_compound_reference_name_mask: u32,
32370}
32371
32372impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
32373 #[inline]
32374 fn default() -> Self {
32375 Self {
32376 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
32377 next: ptr::null_mut(),
32378 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
32379 preferred_gop_frame_count: u32::default(),
32380 preferred_key_frame_period: u32::default(),
32381 preferred_consecutive_bipredictive_frame_count: u32::default(),
32382 preferred_temporal_layer_count: u32::default(),
32383 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
32384 preferred_max_single_reference_count: u32::default(),
32385 preferred_single_reference_name_mask: u32::default(),
32386 preferred_max_unidirectional_compound_reference_count: u32::default(),
32387 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
32388 preferred_unidirectional_compound_reference_name_mask: u32::default(),
32389 preferred_max_bidirectional_compound_reference_count: u32::default(),
32390 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
32391 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
32392 preferred_bidirectional_compound_reference_name_mask: u32::default(),
32393 }
32394 }
32395}
32396
32397unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
32398unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
32399
32400#[repr(C)]
32402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32403pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
32404 pub s_type: StructureType,
32405 pub next: *mut c_void,
32406 pub min_q_index_delta: i32,
32407 pub max_q_index_delta: i32,
32408}
32409
32410impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
32411 #[inline]
32412 fn default() -> Self {
32413 Self {
32414 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
32415 next: ptr::null_mut(),
32416 min_q_index_delta: i32::default(),
32417 max_q_index_delta: i32::default(),
32418 }
32419 }
32420}
32421
32422unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
32423unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
32424
32425#[repr(C)]
32427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32428pub struct VideoEncodeAV1RateControlInfoKHR {
32429 pub s_type: StructureType,
32430 pub next: *const c_void,
32431 pub flags: VideoEncodeAV1RateControlFlagsKHR,
32432 pub gop_frame_count: u32,
32433 pub key_frame_period: u32,
32434 pub consecutive_bipredictive_frame_count: u32,
32435 pub temporal_layer_count: u32,
32436}
32437
32438impl Default for VideoEncodeAV1RateControlInfoKHR {
32439 #[inline]
32440 fn default() -> Self {
32441 Self {
32442 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
32443 next: ptr::null(),
32444 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
32445 gop_frame_count: u32::default(),
32446 key_frame_period: u32::default(),
32447 consecutive_bipredictive_frame_count: u32::default(),
32448 temporal_layer_count: u32::default(),
32449 }
32450 }
32451}
32452
32453unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
32454unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
32455
32456#[repr(C)]
32458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32459pub struct VideoEncodeAV1RateControlLayerInfoKHR {
32460 pub s_type: StructureType,
32461 pub next: *const c_void,
32462 pub use_min_q_index: Bool32,
32463 pub min_q_index: VideoEncodeAV1QIndexKHR,
32464 pub use_max_q_index: Bool32,
32465 pub max_q_index: VideoEncodeAV1QIndexKHR,
32466 pub use_max_frame_size: Bool32,
32467 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
32468}
32469
32470impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
32471 #[inline]
32472 fn default() -> Self {
32473 Self {
32474 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
32475 next: ptr::null(),
32476 use_min_q_index: Bool32::default(),
32477 min_q_index: VideoEncodeAV1QIndexKHR::default(),
32478 use_max_q_index: Bool32::default(),
32479 max_q_index: VideoEncodeAV1QIndexKHR::default(),
32480 use_max_frame_size: Bool32::default(),
32481 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
32482 }
32483 }
32484}
32485
32486unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
32487unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
32488
32489#[repr(C)]
32491#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32492pub struct VideoEncodeAV1SessionCreateInfoKHR {
32493 pub s_type: StructureType,
32494 pub next: *const c_void,
32495 pub use_max_level: Bool32,
32496 pub max_level: video::StdVideoAV1Level,
32497}
32498
32499impl Default for VideoEncodeAV1SessionCreateInfoKHR {
32500 #[inline]
32501 fn default() -> Self {
32502 Self {
32503 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
32504 next: ptr::null(),
32505 use_max_level: Bool32::default(),
32506 max_level: video::StdVideoAV1Level::default(),
32507 }
32508 }
32509}
32510
32511unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
32512unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
32513
32514#[repr(C)]
32516#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32517pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
32518 pub s_type: StructureType,
32519 pub next: *const c_void,
32520 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
32521 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
32522 pub std_operating_point_count: u32,
32523 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
32524}
32525
32526impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
32527 #[inline]
32528 fn default() -> Self {
32529 Self {
32530 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
32531 next: ptr::null(),
32532 std_sequence_header: ptr::null(),
32533 std_decoder_model_info: ptr::null(),
32534 std_operating_point_count: u32::default(),
32535 std_operating_points: ptr::null(),
32536 }
32537 }
32538}
32539
32540unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
32541unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
32542
32543#[repr(C)]
32545#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32546pub struct VideoEncodeCapabilitiesKHR {
32547 pub s_type: StructureType,
32548 pub next: *mut c_void,
32549 pub flags: VideoEncodeCapabilityFlagsKHR,
32550 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
32551 pub max_rate_control_layers: u32,
32552 pub max_bitrate: u64,
32553 pub max_quality_levels: u32,
32554 pub encode_input_picture_granularity: Extent2D,
32555 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
32556}
32557
32558impl Default for VideoEncodeCapabilitiesKHR {
32559 #[inline]
32560 fn default() -> Self {
32561 Self {
32562 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
32563 next: ptr::null_mut(),
32564 flags: VideoEncodeCapabilityFlagsKHR::default(),
32565 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
32566 max_rate_control_layers: u32::default(),
32567 max_bitrate: u64::default(),
32568 max_quality_levels: u32::default(),
32569 encode_input_picture_granularity: Extent2D::default(),
32570 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
32571 }
32572 }
32573}
32574
32575unsafe impl Send for VideoEncodeCapabilitiesKHR {}
32576unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
32577
32578#[repr(C)]
32580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32581pub struct VideoEncodeH264CapabilitiesKHR {
32582 pub s_type: StructureType,
32583 pub next: *mut c_void,
32584 pub flags: VideoEncodeH264CapabilityFlagsKHR,
32585 pub max_level_idc: video::StdVideoH264LevelIdc,
32586 pub max_slice_count: u32,
32587 pub max_p_picture_l0_reference_count: u32,
32588 pub max_b_picture_l0_reference_count: u32,
32589 pub max_l1_reference_count: u32,
32590 pub max_temporal_layer_count: u32,
32591 pub expect_dyadic_temporal_layer_pattern: Bool32,
32592 pub min_qp: i32,
32593 pub max_qp: i32,
32594 pub prefers_gop_remaining_frames: Bool32,
32595 pub requires_gop_remaining_frames: Bool32,
32596 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
32597}
32598
32599impl Default for VideoEncodeH264CapabilitiesKHR {
32600 #[inline]
32601 fn default() -> Self {
32602 Self {
32603 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
32604 next: ptr::null_mut(),
32605 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
32606 max_level_idc: video::StdVideoH264LevelIdc::default(),
32607 max_slice_count: u32::default(),
32608 max_p_picture_l0_reference_count: u32::default(),
32609 max_b_picture_l0_reference_count: u32::default(),
32610 max_l1_reference_count: u32::default(),
32611 max_temporal_layer_count: u32::default(),
32612 expect_dyadic_temporal_layer_pattern: Bool32::default(),
32613 min_qp: i32::default(),
32614 max_qp: i32::default(),
32615 prefers_gop_remaining_frames: Bool32::default(),
32616 requires_gop_remaining_frames: Bool32::default(),
32617 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
32618 }
32619 }
32620}
32621
32622unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
32623unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
32624
32625#[repr(C)]
32627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32628pub struct VideoEncodeH264DpbSlotInfoKHR {
32629 pub s_type: StructureType,
32630 pub next: *const c_void,
32631 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
32632}
32633
32634impl Default for VideoEncodeH264DpbSlotInfoKHR {
32635 #[inline]
32636 fn default() -> Self {
32637 Self {
32638 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
32639 next: ptr::null(),
32640 std_reference_info: ptr::null(),
32641 }
32642 }
32643}
32644
32645unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
32646unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
32647
32648#[repr(C)]
32650#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32651pub struct VideoEncodeH264FrameSizeKHR {
32652 pub frame_i_size: u32,
32653 pub frame_p_size: u32,
32654 pub frame_b_size: u32,
32655}
32656
32657#[repr(C)]
32659#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32660pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
32661 pub s_type: StructureType,
32662 pub next: *const c_void,
32663 pub use_gop_remaining_frames: Bool32,
32664 pub gop_remaining_i: u32,
32665 pub gop_remaining_p: u32,
32666 pub gop_remaining_b: u32,
32667}
32668
32669impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
32670 #[inline]
32671 fn default() -> Self {
32672 Self {
32673 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
32674 next: ptr::null(),
32675 use_gop_remaining_frames: Bool32::default(),
32676 gop_remaining_i: u32::default(),
32677 gop_remaining_p: u32::default(),
32678 gop_remaining_b: u32::default(),
32679 }
32680 }
32681}
32682
32683unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
32684unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
32685
32686#[repr(C)]
32688#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32689pub struct VideoEncodeH264NaluSliceInfoKHR {
32690 pub s_type: StructureType,
32691 pub next: *const c_void,
32692 pub constant_qp: i32,
32693 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
32694}
32695
32696impl Default for VideoEncodeH264NaluSliceInfoKHR {
32697 #[inline]
32698 fn default() -> Self {
32699 Self {
32700 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
32701 next: ptr::null(),
32702 constant_qp: i32::default(),
32703 std_slice_header: ptr::null(),
32704 }
32705 }
32706}
32707
32708unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
32709unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
32710
32711#[repr(C)]
32713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32714pub struct VideoEncodeH264PictureInfoKHR {
32715 pub s_type: StructureType,
32716 pub next: *const c_void,
32717 pub nalu_slice_entry_count: u32,
32718 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
32719 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
32720 pub generate_prefix_nalu: Bool32,
32721}
32722
32723impl Default for VideoEncodeH264PictureInfoKHR {
32724 #[inline]
32725 fn default() -> Self {
32726 Self {
32727 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
32728 next: ptr::null(),
32729 nalu_slice_entry_count: u32::default(),
32730 nalu_slice_entries: ptr::null(),
32731 std_picture_info: ptr::null(),
32732 generate_prefix_nalu: Bool32::default(),
32733 }
32734 }
32735}
32736
32737unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
32738unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
32739
32740#[repr(C)]
32742#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32743pub struct VideoEncodeH264ProfileInfoKHR {
32744 pub s_type: StructureType,
32745 pub next: *const c_void,
32746 pub std_profile_idc: video::StdVideoH264ProfileIdc,
32747}
32748
32749impl Default for VideoEncodeH264ProfileInfoKHR {
32750 #[inline]
32751 fn default() -> Self {
32752 Self {
32753 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
32754 next: ptr::null(),
32755 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
32756 }
32757 }
32758}
32759
32760unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
32761unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
32762
32763#[repr(C)]
32765#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32766pub struct VideoEncodeH264QpKHR {
32767 pub qp_i: i32,
32768 pub qp_p: i32,
32769 pub qp_b: i32,
32770}
32771
32772#[repr(C)]
32774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32775pub struct VideoEncodeH264QualityLevelPropertiesKHR {
32776 pub s_type: StructureType,
32777 pub next: *mut c_void,
32778 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
32779 pub preferred_gop_frame_count: u32,
32780 pub preferred_idr_period: u32,
32781 pub preferred_consecutive_b_frame_count: u32,
32782 pub preferred_temporal_layer_count: u32,
32783 pub preferred_constant_qp: VideoEncodeH264QpKHR,
32784 pub preferred_max_l0_reference_count: u32,
32785 pub preferred_max_l1_reference_count: u32,
32786 pub preferred_std_entropy_coding_mode_flag: Bool32,
32787}
32788
32789impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
32790 #[inline]
32791 fn default() -> Self {
32792 Self {
32793 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
32794 next: ptr::null_mut(),
32795 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
32796 preferred_gop_frame_count: u32::default(),
32797 preferred_idr_period: u32::default(),
32798 preferred_consecutive_b_frame_count: u32::default(),
32799 preferred_temporal_layer_count: u32::default(),
32800 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
32801 preferred_max_l0_reference_count: u32::default(),
32802 preferred_max_l1_reference_count: u32::default(),
32803 preferred_std_entropy_coding_mode_flag: Bool32::default(),
32804 }
32805 }
32806}
32807
32808unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
32809unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
32810
32811#[repr(C)]
32813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32814pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
32815 pub s_type: StructureType,
32816 pub next: *mut c_void,
32817 pub min_qp_delta: i32,
32818 pub max_qp_delta: i32,
32819}
32820
32821impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
32822 #[inline]
32823 fn default() -> Self {
32824 Self {
32825 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
32826 next: ptr::null_mut(),
32827 min_qp_delta: i32::default(),
32828 max_qp_delta: i32::default(),
32829 }
32830 }
32831}
32832
32833unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
32834unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
32835
32836#[repr(C)]
32838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32839pub struct VideoEncodeH264RateControlInfoKHR {
32840 pub s_type: StructureType,
32841 pub next: *const c_void,
32842 pub flags: VideoEncodeH264RateControlFlagsKHR,
32843 pub gop_frame_count: u32,
32844 pub idr_period: u32,
32845 pub consecutive_b_frame_count: u32,
32846 pub temporal_layer_count: u32,
32847}
32848
32849impl Default for VideoEncodeH264RateControlInfoKHR {
32850 #[inline]
32851 fn default() -> Self {
32852 Self {
32853 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
32854 next: ptr::null(),
32855 flags: VideoEncodeH264RateControlFlagsKHR::default(),
32856 gop_frame_count: u32::default(),
32857 idr_period: u32::default(),
32858 consecutive_b_frame_count: u32::default(),
32859 temporal_layer_count: u32::default(),
32860 }
32861 }
32862}
32863
32864unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
32865unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
32866
32867#[repr(C)]
32869#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32870pub struct VideoEncodeH264RateControlLayerInfoKHR {
32871 pub s_type: StructureType,
32872 pub next: *const c_void,
32873 pub use_min_qp: Bool32,
32874 pub min_qp: VideoEncodeH264QpKHR,
32875 pub use_max_qp: Bool32,
32876 pub max_qp: VideoEncodeH264QpKHR,
32877 pub use_max_frame_size: Bool32,
32878 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
32879}
32880
32881impl Default for VideoEncodeH264RateControlLayerInfoKHR {
32882 #[inline]
32883 fn default() -> Self {
32884 Self {
32885 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
32886 next: ptr::null(),
32887 use_min_qp: Bool32::default(),
32888 min_qp: VideoEncodeH264QpKHR::default(),
32889 use_max_qp: Bool32::default(),
32890 max_qp: VideoEncodeH264QpKHR::default(),
32891 use_max_frame_size: Bool32::default(),
32892 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
32893 }
32894 }
32895}
32896
32897unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
32898unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
32899
32900#[repr(C)]
32902#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32903pub struct VideoEncodeH264SessionCreateInfoKHR {
32904 pub s_type: StructureType,
32905 pub next: *const c_void,
32906 pub use_max_level_idc: Bool32,
32907 pub max_level_idc: video::StdVideoH264LevelIdc,
32908}
32909
32910impl Default for VideoEncodeH264SessionCreateInfoKHR {
32911 #[inline]
32912 fn default() -> Self {
32913 Self {
32914 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
32915 next: ptr::null(),
32916 use_max_level_idc: Bool32::default(),
32917 max_level_idc: video::StdVideoH264LevelIdc::default(),
32918 }
32919 }
32920}
32921
32922unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
32923unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
32924
32925#[repr(C)]
32927#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32928pub struct VideoEncodeH264SessionParametersAddInfoKHR {
32929 pub s_type: StructureType,
32930 pub next: *const c_void,
32931 pub std_sps_count: u32,
32932 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
32933 pub std_pps_count: u32,
32934 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
32935}
32936
32937impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
32938 #[inline]
32939 fn default() -> Self {
32940 Self {
32941 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
32942 next: ptr::null(),
32943 std_sps_count: u32::default(),
32944 std_sp_ss: ptr::null(),
32945 std_pps_count: u32::default(),
32946 std_pp_ss: ptr::null(),
32947 }
32948 }
32949}
32950
32951unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
32952unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
32953
32954#[repr(C)]
32956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32957pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
32958 pub s_type: StructureType,
32959 pub next: *const c_void,
32960 pub max_std_sps_count: u32,
32961 pub max_std_pps_count: u32,
32962 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
32963}
32964
32965impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
32966 #[inline]
32967 fn default() -> Self {
32968 Self {
32969 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
32970 next: ptr::null(),
32971 max_std_sps_count: u32::default(),
32972 max_std_pps_count: u32::default(),
32973 parameters_add_info: ptr::null(),
32974 }
32975 }
32976}
32977
32978unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
32979unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
32980
32981#[repr(C)]
32983#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32984pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
32985 pub s_type: StructureType,
32986 pub next: *mut c_void,
32987 pub has_std_sps_overrides: Bool32,
32988 pub has_std_pps_overrides: Bool32,
32989}
32990
32991impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
32992 #[inline]
32993 fn default() -> Self {
32994 Self {
32995 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32996 next: ptr::null_mut(),
32997 has_std_sps_overrides: Bool32::default(),
32998 has_std_pps_overrides: Bool32::default(),
32999 }
33000 }
33001}
33002
33003unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
33004unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
33005
33006#[repr(C)]
33008#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33009pub struct VideoEncodeH264SessionParametersGetInfoKHR {
33010 pub s_type: StructureType,
33011 pub next: *const c_void,
33012 pub write_std_sps: Bool32,
33013 pub write_std_pps: Bool32,
33014 pub std_sps_id: u32,
33015 pub std_pps_id: u32,
33016}
33017
33018impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
33019 #[inline]
33020 fn default() -> Self {
33021 Self {
33022 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
33023 next: ptr::null(),
33024 write_std_sps: Bool32::default(),
33025 write_std_pps: Bool32::default(),
33026 std_sps_id: u32::default(),
33027 std_pps_id: u32::default(),
33028 }
33029 }
33030}
33031
33032unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
33033unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
33034
33035#[repr(C)]
33037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33038pub struct VideoEncodeH265CapabilitiesKHR {
33039 pub s_type: StructureType,
33040 pub next: *mut c_void,
33041 pub flags: VideoEncodeH265CapabilityFlagsKHR,
33042 pub max_level_idc: video::StdVideoH265LevelIdc,
33043 pub max_slice_segment_count: u32,
33044 pub max_tiles: Extent2D,
33045 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
33046 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
33047 pub max_p_picture_l0_reference_count: u32,
33048 pub max_b_picture_l0_reference_count: u32,
33049 pub max_l1_reference_count: u32,
33050 pub max_sub_layer_count: u32,
33051 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
33052 pub min_qp: i32,
33053 pub max_qp: i32,
33054 pub prefers_gop_remaining_frames: Bool32,
33055 pub requires_gop_remaining_frames: Bool32,
33056 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
33057}
33058
33059impl Default for VideoEncodeH265CapabilitiesKHR {
33060 #[inline]
33061 fn default() -> Self {
33062 Self {
33063 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
33064 next: ptr::null_mut(),
33065 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
33066 max_level_idc: video::StdVideoH265LevelIdc::default(),
33067 max_slice_segment_count: u32::default(),
33068 max_tiles: Extent2D::default(),
33069 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
33070 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
33071 max_p_picture_l0_reference_count: u32::default(),
33072 max_b_picture_l0_reference_count: u32::default(),
33073 max_l1_reference_count: u32::default(),
33074 max_sub_layer_count: u32::default(),
33075 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
33076 min_qp: i32::default(),
33077 max_qp: i32::default(),
33078 prefers_gop_remaining_frames: Bool32::default(),
33079 requires_gop_remaining_frames: Bool32::default(),
33080 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
33081 }
33082 }
33083}
33084
33085unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
33086unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
33087
33088#[repr(C)]
33090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33091pub struct VideoEncodeH265DpbSlotInfoKHR {
33092 pub s_type: StructureType,
33093 pub next: *const c_void,
33094 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
33095}
33096
33097impl Default for VideoEncodeH265DpbSlotInfoKHR {
33098 #[inline]
33099 fn default() -> Self {
33100 Self {
33101 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
33102 next: ptr::null(),
33103 std_reference_info: ptr::null(),
33104 }
33105 }
33106}
33107
33108unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
33109unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
33110
33111#[repr(C)]
33113#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
33114pub struct VideoEncodeH265FrameSizeKHR {
33115 pub frame_i_size: u32,
33116 pub frame_p_size: u32,
33117 pub frame_b_size: u32,
33118}
33119
33120#[repr(C)]
33122#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33123pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
33124 pub s_type: StructureType,
33125 pub next: *const c_void,
33126 pub use_gop_remaining_frames: Bool32,
33127 pub gop_remaining_i: u32,
33128 pub gop_remaining_p: u32,
33129 pub gop_remaining_b: u32,
33130}
33131
33132impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
33133 #[inline]
33134 fn default() -> Self {
33135 Self {
33136 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
33137 next: ptr::null(),
33138 use_gop_remaining_frames: Bool32::default(),
33139 gop_remaining_i: u32::default(),
33140 gop_remaining_p: u32::default(),
33141 gop_remaining_b: u32::default(),
33142 }
33143 }
33144}
33145
33146unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
33147unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
33148
33149#[repr(C)]
33151#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33152pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
33153 pub s_type: StructureType,
33154 pub next: *const c_void,
33155 pub constant_qp: i32,
33156 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
33157}
33158
33159impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
33160 #[inline]
33161 fn default() -> Self {
33162 Self {
33163 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
33164 next: ptr::null(),
33165 constant_qp: i32::default(),
33166 std_slice_segment_header: ptr::null(),
33167 }
33168 }
33169}
33170
33171unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
33172unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
33173
33174#[repr(C)]
33176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33177pub struct VideoEncodeH265PictureInfoKHR {
33178 pub s_type: StructureType,
33179 pub next: *const c_void,
33180 pub nalu_slice_segment_entry_count: u32,
33181 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
33182 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
33183}
33184
33185impl Default for VideoEncodeH265PictureInfoKHR {
33186 #[inline]
33187 fn default() -> Self {
33188 Self {
33189 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
33190 next: ptr::null(),
33191 nalu_slice_segment_entry_count: u32::default(),
33192 nalu_slice_segment_entries: ptr::null(),
33193 std_picture_info: ptr::null(),
33194 }
33195 }
33196}
33197
33198unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
33199unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
33200
33201#[repr(C)]
33203#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33204pub struct VideoEncodeH265ProfileInfoKHR {
33205 pub s_type: StructureType,
33206 pub next: *const c_void,
33207 pub std_profile_idc: video::StdVideoH265ProfileIdc,
33208}
33209
33210impl Default for VideoEncodeH265ProfileInfoKHR {
33211 #[inline]
33212 fn default() -> Self {
33213 Self {
33214 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
33215 next: ptr::null(),
33216 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
33217 }
33218 }
33219}
33220
33221unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
33222unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
33223
33224#[repr(C)]
33226#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
33227pub struct VideoEncodeH265QpKHR {
33228 pub qp_i: i32,
33229 pub qp_p: i32,
33230 pub qp_b: i32,
33231}
33232
33233#[repr(C)]
33235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33236pub struct VideoEncodeH265QualityLevelPropertiesKHR {
33237 pub s_type: StructureType,
33238 pub next: *mut c_void,
33239 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
33240 pub preferred_gop_frame_count: u32,
33241 pub preferred_idr_period: u32,
33242 pub preferred_consecutive_b_frame_count: u32,
33243 pub preferred_sub_layer_count: u32,
33244 pub preferred_constant_qp: VideoEncodeH265QpKHR,
33245 pub preferred_max_l0_reference_count: u32,
33246 pub preferred_max_l1_reference_count: u32,
33247}
33248
33249impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
33250 #[inline]
33251 fn default() -> Self {
33252 Self {
33253 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
33254 next: ptr::null_mut(),
33255 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
33256 preferred_gop_frame_count: u32::default(),
33257 preferred_idr_period: u32::default(),
33258 preferred_consecutive_b_frame_count: u32::default(),
33259 preferred_sub_layer_count: u32::default(),
33260 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
33261 preferred_max_l0_reference_count: u32::default(),
33262 preferred_max_l1_reference_count: u32::default(),
33263 }
33264 }
33265}
33266
33267unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
33268unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
33269
33270#[repr(C)]
33272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33273pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
33274 pub s_type: StructureType,
33275 pub next: *mut c_void,
33276 pub min_qp_delta: i32,
33277 pub max_qp_delta: i32,
33278}
33279
33280impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
33281 #[inline]
33282 fn default() -> Self {
33283 Self {
33284 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
33285 next: ptr::null_mut(),
33286 min_qp_delta: i32::default(),
33287 max_qp_delta: i32::default(),
33288 }
33289 }
33290}
33291
33292unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
33293unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
33294
33295#[repr(C)]
33297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33298pub struct VideoEncodeH265RateControlInfoKHR {
33299 pub s_type: StructureType,
33300 pub next: *const c_void,
33301 pub flags: VideoEncodeH265RateControlFlagsKHR,
33302 pub gop_frame_count: u32,
33303 pub idr_period: u32,
33304 pub consecutive_b_frame_count: u32,
33305 pub sub_layer_count: u32,
33306}
33307
33308impl Default for VideoEncodeH265RateControlInfoKHR {
33309 #[inline]
33310 fn default() -> Self {
33311 Self {
33312 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
33313 next: ptr::null(),
33314 flags: VideoEncodeH265RateControlFlagsKHR::default(),
33315 gop_frame_count: u32::default(),
33316 idr_period: u32::default(),
33317 consecutive_b_frame_count: u32::default(),
33318 sub_layer_count: u32::default(),
33319 }
33320 }
33321}
33322
33323unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
33324unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
33325
33326#[repr(C)]
33328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33329pub struct VideoEncodeH265RateControlLayerInfoKHR {
33330 pub s_type: StructureType,
33331 pub next: *const c_void,
33332 pub use_min_qp: Bool32,
33333 pub min_qp: VideoEncodeH265QpKHR,
33334 pub use_max_qp: Bool32,
33335 pub max_qp: VideoEncodeH265QpKHR,
33336 pub use_max_frame_size: Bool32,
33337 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
33338}
33339
33340impl Default for VideoEncodeH265RateControlLayerInfoKHR {
33341 #[inline]
33342 fn default() -> Self {
33343 Self {
33344 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
33345 next: ptr::null(),
33346 use_min_qp: Bool32::default(),
33347 min_qp: VideoEncodeH265QpKHR::default(),
33348 use_max_qp: Bool32::default(),
33349 max_qp: VideoEncodeH265QpKHR::default(),
33350 use_max_frame_size: Bool32::default(),
33351 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
33352 }
33353 }
33354}
33355
33356unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
33357unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
33358
33359#[repr(C)]
33361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33362pub struct VideoEncodeH265SessionCreateInfoKHR {
33363 pub s_type: StructureType,
33364 pub next: *const c_void,
33365 pub use_max_level_idc: Bool32,
33366 pub max_level_idc: video::StdVideoH265LevelIdc,
33367}
33368
33369impl Default for VideoEncodeH265SessionCreateInfoKHR {
33370 #[inline]
33371 fn default() -> Self {
33372 Self {
33373 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
33374 next: ptr::null(),
33375 use_max_level_idc: Bool32::default(),
33376 max_level_idc: video::StdVideoH265LevelIdc::default(),
33377 }
33378 }
33379}
33380
33381unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
33382unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
33383
33384#[repr(C)]
33386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33387pub struct VideoEncodeH265SessionParametersAddInfoKHR {
33388 pub s_type: StructureType,
33389 pub next: *const c_void,
33390 pub std_vps_count: u32,
33391 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
33392 pub std_sps_count: u32,
33393 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
33394 pub std_pps_count: u32,
33395 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
33396}
33397
33398impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
33399 #[inline]
33400 fn default() -> Self {
33401 Self {
33402 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
33403 next: ptr::null(),
33404 std_vps_count: u32::default(),
33405 std_vp_ss: ptr::null(),
33406 std_sps_count: u32::default(),
33407 std_sp_ss: ptr::null(),
33408 std_pps_count: u32::default(),
33409 std_pp_ss: ptr::null(),
33410 }
33411 }
33412}
33413
33414unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
33415unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
33416
33417#[repr(C)]
33419#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33420pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
33421 pub s_type: StructureType,
33422 pub next: *const c_void,
33423 pub max_std_vps_count: u32,
33424 pub max_std_sps_count: u32,
33425 pub max_std_pps_count: u32,
33426 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
33427}
33428
33429impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
33430 #[inline]
33431 fn default() -> Self {
33432 Self {
33433 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
33434 next: ptr::null(),
33435 max_std_vps_count: u32::default(),
33436 max_std_sps_count: u32::default(),
33437 max_std_pps_count: u32::default(),
33438 parameters_add_info: ptr::null(),
33439 }
33440 }
33441}
33442
33443unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
33444unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
33445
33446#[repr(C)]
33448#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33449pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
33450 pub s_type: StructureType,
33451 pub next: *mut c_void,
33452 pub has_std_vps_overrides: Bool32,
33453 pub has_std_sps_overrides: Bool32,
33454 pub has_std_pps_overrides: Bool32,
33455}
33456
33457impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
33458 #[inline]
33459 fn default() -> Self {
33460 Self {
33461 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
33462 next: ptr::null_mut(),
33463 has_std_vps_overrides: Bool32::default(),
33464 has_std_sps_overrides: Bool32::default(),
33465 has_std_pps_overrides: Bool32::default(),
33466 }
33467 }
33468}
33469
33470unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
33471unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
33472
33473#[repr(C)]
33475#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33476pub struct VideoEncodeH265SessionParametersGetInfoKHR {
33477 pub s_type: StructureType,
33478 pub next: *const c_void,
33479 pub write_std_vps: Bool32,
33480 pub write_std_sps: Bool32,
33481 pub write_std_pps: Bool32,
33482 pub std_vps_id: u32,
33483 pub std_sps_id: u32,
33484 pub std_pps_id: u32,
33485}
33486
33487impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
33488 #[inline]
33489 fn default() -> Self {
33490 Self {
33491 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
33492 next: ptr::null(),
33493 write_std_vps: Bool32::default(),
33494 write_std_sps: Bool32::default(),
33495 write_std_pps: Bool32::default(),
33496 std_vps_id: u32::default(),
33497 std_sps_id: u32::default(),
33498 std_pps_id: u32::default(),
33499 }
33500 }
33501}
33502
33503unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
33504unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
33505
33506#[repr(C)]
33508#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33509pub struct VideoEncodeInfoKHR {
33510 pub s_type: StructureType,
33511 pub next: *const c_void,
33512 pub flags: VideoEncodeFlagsKHR,
33513 pub dst_buffer: Buffer,
33514 pub dst_buffer_offset: DeviceSize,
33515 pub dst_buffer_range: DeviceSize,
33516 pub src_picture_resource: VideoPictureResourceInfoKHR,
33517 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
33518 pub reference_slot_count: u32,
33519 pub reference_slots: *const VideoReferenceSlotInfoKHR,
33520 pub preceding_externally_encoded_bytes: u32,
33521}
33522
33523impl Default for VideoEncodeInfoKHR {
33524 #[inline]
33525 fn default() -> Self {
33526 Self {
33527 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
33528 next: ptr::null(),
33529 flags: VideoEncodeFlagsKHR::default(),
33530 dst_buffer: Buffer::default(),
33531 dst_buffer_offset: DeviceSize::default(),
33532 dst_buffer_range: DeviceSize::default(),
33533 src_picture_resource: VideoPictureResourceInfoKHR::default(),
33534 setup_reference_slot: ptr::null(),
33535 reference_slot_count: u32::default(),
33536 reference_slots: ptr::null(),
33537 preceding_externally_encoded_bytes: u32::default(),
33538 }
33539 }
33540}
33541
33542unsafe impl Send for VideoEncodeInfoKHR {}
33543unsafe impl Sync for VideoEncodeInfoKHR {}
33544
33545#[repr(C)]
33547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33548pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
33549 pub s_type: StructureType,
33550 pub next: *mut c_void,
33551 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
33552 pub max_intra_refresh_cycle_duration: u32,
33553 pub max_intra_refresh_active_reference_pictures: u32,
33554 pub partition_independent_intra_refresh_regions: Bool32,
33555 pub non_rectangular_intra_refresh_regions: Bool32,
33556}
33557
33558impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
33559 #[inline]
33560 fn default() -> Self {
33561 Self {
33562 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
33563 next: ptr::null_mut(),
33564 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
33565 max_intra_refresh_cycle_duration: u32::default(),
33566 max_intra_refresh_active_reference_pictures: u32::default(),
33567 partition_independent_intra_refresh_regions: Bool32::default(),
33568 non_rectangular_intra_refresh_regions: Bool32::default(),
33569 }
33570 }
33571}
33572
33573unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
33574unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
33575
33576#[repr(C)]
33578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33579pub struct VideoEncodeIntraRefreshInfoKHR {
33580 pub s_type: StructureType,
33581 pub next: *const c_void,
33582 pub intra_refresh_cycle_duration: u32,
33583 pub intra_refresh_index: u32,
33584}
33585
33586impl Default for VideoEncodeIntraRefreshInfoKHR {
33587 #[inline]
33588 fn default() -> Self {
33589 Self {
33590 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
33591 next: ptr::null(),
33592 intra_refresh_cycle_duration: u32::default(),
33593 intra_refresh_index: u32::default(),
33594 }
33595 }
33596}
33597
33598unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
33599unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
33600
33601#[repr(C)]
33603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33604pub struct VideoEncodeProfileRgbConversionInfoVALVE {
33605 pub s_type: StructureType,
33606 pub next: *const c_void,
33607 pub perform_encode_rgb_conversion: Bool32,
33608}
33609
33610impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
33611 #[inline]
33612 fn default() -> Self {
33613 Self {
33614 s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
33615 next: ptr::null(),
33616 perform_encode_rgb_conversion: Bool32::default(),
33617 }
33618 }
33619}
33620
33621unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
33622unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
33623
33624#[repr(C)]
33626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33627pub struct VideoEncodeQualityLevelInfoKHR {
33628 pub s_type: StructureType,
33629 pub next: *const c_void,
33630 pub quality_level: u32,
33631}
33632
33633impl Default for VideoEncodeQualityLevelInfoKHR {
33634 #[inline]
33635 fn default() -> Self {
33636 Self {
33637 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
33638 next: ptr::null(),
33639 quality_level: u32::default(),
33640 }
33641 }
33642}
33643
33644unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
33645unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
33646
33647#[repr(C)]
33649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33650pub struct VideoEncodeQualityLevelPropertiesKHR {
33651 pub s_type: StructureType,
33652 pub next: *mut c_void,
33653 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
33654 pub preferred_rate_control_layer_count: u32,
33655}
33656
33657impl Default for VideoEncodeQualityLevelPropertiesKHR {
33658 #[inline]
33659 fn default() -> Self {
33660 Self {
33661 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
33662 next: ptr::null_mut(),
33663 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
33664 preferred_rate_control_layer_count: u32::default(),
33665 }
33666 }
33667}
33668
33669unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
33670unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
33671
33672#[repr(C)]
33674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33675pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
33676 pub s_type: StructureType,
33677 pub next: *mut c_void,
33678 pub max_quantization_map_extent: Extent2D,
33679}
33680
33681impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
33682 #[inline]
33683 fn default() -> Self {
33684 Self {
33685 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
33686 next: ptr::null_mut(),
33687 max_quantization_map_extent: Extent2D::default(),
33688 }
33689 }
33690}
33691
33692unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
33693unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
33694
33695#[repr(C)]
33697#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33698pub struct VideoEncodeQuantizationMapInfoKHR {
33699 pub s_type: StructureType,
33700 pub next: *const c_void,
33701 pub quantization_map: ImageView,
33702 pub quantization_map_extent: Extent2D,
33703}
33704
33705impl Default for VideoEncodeQuantizationMapInfoKHR {
33706 #[inline]
33707 fn default() -> Self {
33708 Self {
33709 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
33710 next: ptr::null(),
33711 quantization_map: ImageView::default(),
33712 quantization_map_extent: Extent2D::default(),
33713 }
33714 }
33715}
33716
33717unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
33718unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
33719
33720#[repr(C)]
33722#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33723pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
33724 pub s_type: StructureType,
33725 pub next: *const c_void,
33726 pub quantization_map_texel_size: Extent2D,
33727}
33728
33729impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
33730 #[inline]
33731 fn default() -> Self {
33732 Self {
33733 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
33734 next: ptr::null(),
33735 quantization_map_texel_size: Extent2D::default(),
33736 }
33737 }
33738}
33739
33740unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
33741unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
33742
33743#[repr(C)]
33745#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33746pub struct VideoEncodeRateControlInfoKHR {
33747 pub s_type: StructureType,
33748 pub next: *const c_void,
33749 pub flags: VideoEncodeRateControlFlagsKHR,
33750 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
33751 pub layer_count: u32,
33752 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
33753 pub virtual_buffer_size_in_ms: u32,
33754 pub initial_virtual_buffer_size_in_ms: u32,
33755}
33756
33757impl Default for VideoEncodeRateControlInfoKHR {
33758 #[inline]
33759 fn default() -> Self {
33760 Self {
33761 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
33762 next: ptr::null(),
33763 flags: VideoEncodeRateControlFlagsKHR::default(),
33764 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
33765 layer_count: u32::default(),
33766 layers: ptr::null(),
33767 virtual_buffer_size_in_ms: u32::default(),
33768 initial_virtual_buffer_size_in_ms: u32::default(),
33769 }
33770 }
33771}
33772
33773unsafe impl Send for VideoEncodeRateControlInfoKHR {}
33774unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
33775
33776#[repr(C)]
33778#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33779pub struct VideoEncodeRateControlLayerInfoKHR {
33780 pub s_type: StructureType,
33781 pub next: *const c_void,
33782 pub average_bitrate: u64,
33783 pub max_bitrate: u64,
33784 pub frame_rate_numerator: u32,
33785 pub frame_rate_denominator: u32,
33786}
33787
33788impl Default for VideoEncodeRateControlLayerInfoKHR {
33789 #[inline]
33790 fn default() -> Self {
33791 Self {
33792 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
33793 next: ptr::null(),
33794 average_bitrate: u64::default(),
33795 max_bitrate: u64::default(),
33796 frame_rate_numerator: u32::default(),
33797 frame_rate_denominator: u32::default(),
33798 }
33799 }
33800}
33801
33802unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
33803unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
33804
33805#[repr(C)]
33807#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33808pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
33809 pub s_type: StructureType,
33810 pub next: *mut c_void,
33811 pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
33812 pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
33813 pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
33814 pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
33815}
33816
33817impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
33818 #[inline]
33819 fn default() -> Self {
33820 Self {
33821 s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
33822 next: ptr::null_mut(),
33823 rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
33824 rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
33825 x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33826 y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33827 }
33828 }
33829}
33830
33831unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
33832unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
33833
33834#[repr(C)]
33836#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33837pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
33838 pub s_type: StructureType,
33839 pub next: *const c_void,
33840 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
33841}
33842
33843impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
33844 #[inline]
33845 fn default() -> Self {
33846 Self {
33847 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
33848 next: ptr::null(),
33849 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
33850 }
33851 }
33852}
33853
33854unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
33855unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
33856
33857#[repr(C)]
33859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33860pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
33861 pub s_type: StructureType,
33862 pub next: *mut c_void,
33863 pub has_overrides: Bool32,
33864}
33865
33866impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
33867 #[inline]
33868 fn default() -> Self {
33869 Self {
33870 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
33871 next: ptr::null_mut(),
33872 has_overrides: Bool32::default(),
33873 }
33874 }
33875}
33876
33877unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
33878unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
33879
33880#[repr(C)]
33882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33883pub struct VideoEncodeSessionParametersGetInfoKHR {
33884 pub s_type: StructureType,
33885 pub next: *const c_void,
33886 pub video_session_parameters: VideoSessionParametersKHR,
33887}
33888
33889impl Default for VideoEncodeSessionParametersGetInfoKHR {
33890 #[inline]
33891 fn default() -> Self {
33892 Self {
33893 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
33894 next: ptr::null(),
33895 video_session_parameters: VideoSessionParametersKHR::default(),
33896 }
33897 }
33898}
33899
33900unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
33901unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
33902
33903#[repr(C)]
33905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33906pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
33907 pub s_type: StructureType,
33908 pub next: *const c_void,
33909 pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
33910 pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
33911 pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
33912 pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
33913}
33914
33915impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
33916 #[inline]
33917 fn default() -> Self {
33918 Self {
33919 s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
33920 next: ptr::null(),
33921 rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
33922 rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
33923 x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33924 y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33925 }
33926 }
33927}
33928
33929unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
33930unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
33931
33932#[repr(C)]
33934#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33935pub struct VideoEncodeUsageInfoKHR {
33936 pub s_type: StructureType,
33937 pub next: *const c_void,
33938 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
33939 pub video_content_hints: VideoEncodeContentFlagsKHR,
33940 pub tuning_mode: VideoEncodeTuningModeKHR,
33941}
33942
33943impl Default for VideoEncodeUsageInfoKHR {
33944 #[inline]
33945 fn default() -> Self {
33946 Self {
33947 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
33948 next: ptr::null(),
33949 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
33950 video_content_hints: VideoEncodeContentFlagsKHR::default(),
33951 tuning_mode: VideoEncodeTuningModeKHR::default(),
33952 }
33953 }
33954}
33955
33956unsafe impl Send for VideoEncodeUsageInfoKHR {}
33957unsafe impl Sync for VideoEncodeUsageInfoKHR {}
33958
33959#[repr(C)]
33961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33962pub struct VideoEndCodingInfoKHR {
33963 pub s_type: StructureType,
33964 pub next: *const c_void,
33965 pub flags: VideoEndCodingFlagsKHR,
33966}
33967
33968impl Default for VideoEndCodingInfoKHR {
33969 #[inline]
33970 fn default() -> Self {
33971 Self {
33972 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
33973 next: ptr::null(),
33974 flags: VideoEndCodingFlagsKHR::default(),
33975 }
33976 }
33977}
33978
33979unsafe impl Send for VideoEndCodingInfoKHR {}
33980unsafe impl Sync for VideoEndCodingInfoKHR {}
33981
33982#[repr(C)]
33984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33985pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
33986 pub s_type: StructureType,
33987 pub next: *mut c_void,
33988 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
33989}
33990
33991impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
33992 #[inline]
33993 fn default() -> Self {
33994 Self {
33995 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
33996 next: ptr::null_mut(),
33997 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
33998 }
33999 }
34000}
34001
34002unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
34003unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
34004
34005#[repr(C)]
34007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34008pub struct VideoFormatH265QuantizationMapPropertiesKHR {
34009 pub s_type: StructureType,
34010 pub next: *mut c_void,
34011 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
34012}
34013
34014impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
34015 #[inline]
34016 fn default() -> Self {
34017 Self {
34018 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
34019 next: ptr::null_mut(),
34020 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
34021 }
34022 }
34023}
34024
34025unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
34026unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
34027
34028#[repr(C)]
34030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34031pub struct VideoFormatPropertiesKHR {
34032 pub s_type: StructureType,
34033 pub next: *mut c_void,
34034 pub format: Format,
34035 pub component_mapping: ComponentMapping,
34036 pub image_create_flags: ImageCreateFlags,
34037 pub image_type: ImageType,
34038 pub image_tiling: ImageTiling,
34039 pub image_usage_flags: ImageUsageFlags,
34040}
34041
34042impl Default for VideoFormatPropertiesKHR {
34043 #[inline]
34044 fn default() -> Self {
34045 Self {
34046 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
34047 next: ptr::null_mut(),
34048 format: Format::default(),
34049 component_mapping: ComponentMapping::default(),
34050 image_create_flags: ImageCreateFlags::default(),
34051 image_type: ImageType::default(),
34052 image_tiling: ImageTiling::default(),
34053 image_usage_flags: ImageUsageFlags::default(),
34054 }
34055 }
34056}
34057
34058unsafe impl Send for VideoFormatPropertiesKHR {}
34059unsafe impl Sync for VideoFormatPropertiesKHR {}
34060
34061#[repr(C)]
34063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34064pub struct VideoFormatQuantizationMapPropertiesKHR {
34065 pub s_type: StructureType,
34066 pub next: *mut c_void,
34067 pub quantization_map_texel_size: Extent2D,
34068}
34069
34070impl Default for VideoFormatQuantizationMapPropertiesKHR {
34071 #[inline]
34072 fn default() -> Self {
34073 Self {
34074 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
34075 next: ptr::null_mut(),
34076 quantization_map_texel_size: Extent2D::default(),
34077 }
34078 }
34079}
34080
34081unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
34082unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
34083
34084#[repr(C)]
34086#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34087pub struct VideoInlineQueryInfoKHR {
34088 pub s_type: StructureType,
34089 pub next: *const c_void,
34090 pub query_pool: QueryPool,
34091 pub first_query: u32,
34092 pub query_count: u32,
34093}
34094
34095impl Default for VideoInlineQueryInfoKHR {
34096 #[inline]
34097 fn default() -> Self {
34098 Self {
34099 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
34100 next: ptr::null(),
34101 query_pool: QueryPool::default(),
34102 first_query: u32::default(),
34103 query_count: u32::default(),
34104 }
34105 }
34106}
34107
34108unsafe impl Send for VideoInlineQueryInfoKHR {}
34109unsafe impl Sync for VideoInlineQueryInfoKHR {}
34110
34111#[repr(C)]
34113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34114pub struct VideoPictureResourceInfoKHR {
34115 pub s_type: StructureType,
34116 pub next: *const c_void,
34117 pub coded_offset: Offset2D,
34118 pub coded_extent: Extent2D,
34119 pub base_array_layer: u32,
34120 pub image_view_binding: ImageView,
34121}
34122
34123impl Default for VideoPictureResourceInfoKHR {
34124 #[inline]
34125 fn default() -> Self {
34126 Self {
34127 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
34128 next: ptr::null(),
34129 coded_offset: Offset2D::default(),
34130 coded_extent: Extent2D::default(),
34131 base_array_layer: u32::default(),
34132 image_view_binding: ImageView::default(),
34133 }
34134 }
34135}
34136
34137unsafe impl Send for VideoPictureResourceInfoKHR {}
34138unsafe impl Sync for VideoPictureResourceInfoKHR {}
34139
34140#[repr(C)]
34142#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34143pub struct VideoProfileInfoKHR {
34144 pub s_type: StructureType,
34145 pub next: *const c_void,
34146 pub video_codec_operation: VideoCodecOperationFlagsKHR,
34147 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
34148 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
34149 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
34150}
34151
34152impl Default for VideoProfileInfoKHR {
34153 #[inline]
34154 fn default() -> Self {
34155 Self {
34156 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
34157 next: ptr::null(),
34158 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
34159 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
34160 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
34161 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
34162 }
34163 }
34164}
34165
34166unsafe impl Send for VideoProfileInfoKHR {}
34167unsafe impl Sync for VideoProfileInfoKHR {}
34168
34169#[repr(C)]
34171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34172pub struct VideoProfileListInfoKHR {
34173 pub s_type: StructureType,
34174 pub next: *const c_void,
34175 pub profile_count: u32,
34176 pub profiles: *const VideoProfileInfoKHR,
34177}
34178
34179impl Default for VideoProfileListInfoKHR {
34180 #[inline]
34181 fn default() -> Self {
34182 Self {
34183 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
34184 next: ptr::null(),
34185 profile_count: u32::default(),
34186 profiles: ptr::null(),
34187 }
34188 }
34189}
34190
34191unsafe impl Send for VideoProfileListInfoKHR {}
34192unsafe impl Sync for VideoProfileListInfoKHR {}
34193
34194#[repr(C)]
34196#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34197pub struct VideoReferenceIntraRefreshInfoKHR {
34198 pub s_type: StructureType,
34199 pub next: *const c_void,
34200 pub dirty_intra_refresh_regions: u32,
34201}
34202
34203impl Default for VideoReferenceIntraRefreshInfoKHR {
34204 #[inline]
34205 fn default() -> Self {
34206 Self {
34207 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
34208 next: ptr::null(),
34209 dirty_intra_refresh_regions: u32::default(),
34210 }
34211 }
34212}
34213
34214unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
34215unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
34216
34217#[repr(C)]
34219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34220pub struct VideoReferenceSlotInfoKHR {
34221 pub s_type: StructureType,
34222 pub next: *const c_void,
34223 pub slot_index: i32,
34224 pub picture_resource: *const VideoPictureResourceInfoKHR,
34225}
34226
34227impl Default for VideoReferenceSlotInfoKHR {
34228 #[inline]
34229 fn default() -> Self {
34230 Self {
34231 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
34232 next: ptr::null(),
34233 slot_index: i32::default(),
34234 picture_resource: ptr::null(),
34235 }
34236 }
34237}
34238
34239unsafe impl Send for VideoReferenceSlotInfoKHR {}
34240unsafe impl Sync for VideoReferenceSlotInfoKHR {}
34241
34242#[repr(C)]
34244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34245pub struct VideoSessionCreateInfoKHR {
34246 pub s_type: StructureType,
34247 pub next: *const c_void,
34248 pub queue_family_index: u32,
34249 pub flags: VideoSessionCreateFlagsKHR,
34250 pub video_profile: *const VideoProfileInfoKHR,
34251 pub picture_format: Format,
34252 pub max_coded_extent: Extent2D,
34253 pub reference_picture_format: Format,
34254 pub max_dpb_slots: u32,
34255 pub max_active_reference_pictures: u32,
34256 pub std_header_version: *const ExtensionProperties,
34257}
34258
34259impl Default for VideoSessionCreateInfoKHR {
34260 #[inline]
34261 fn default() -> Self {
34262 Self {
34263 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
34264 next: ptr::null(),
34265 queue_family_index: u32::default(),
34266 flags: VideoSessionCreateFlagsKHR::default(),
34267 video_profile: ptr::null(),
34268 picture_format: Format::default(),
34269 max_coded_extent: Extent2D::default(),
34270 reference_picture_format: Format::default(),
34271 max_dpb_slots: u32::default(),
34272 max_active_reference_pictures: u32::default(),
34273 std_header_version: ptr::null(),
34274 }
34275 }
34276}
34277
34278unsafe impl Send for VideoSessionCreateInfoKHR {}
34279unsafe impl Sync for VideoSessionCreateInfoKHR {}
34280
34281#[repr(C)]
34283#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34284pub struct VideoSessionMemoryRequirementsKHR {
34285 pub s_type: StructureType,
34286 pub next: *mut c_void,
34287 pub memory_bind_index: u32,
34288 pub memory_requirements: MemoryRequirements,
34289}
34290
34291impl Default for VideoSessionMemoryRequirementsKHR {
34292 #[inline]
34293 fn default() -> Self {
34294 Self {
34295 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
34296 next: ptr::null_mut(),
34297 memory_bind_index: u32::default(),
34298 memory_requirements: MemoryRequirements::default(),
34299 }
34300 }
34301}
34302
34303unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
34304unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
34305
34306#[repr(C)]
34308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34309pub struct VideoSessionParametersCreateInfoKHR {
34310 pub s_type: StructureType,
34311 pub next: *const c_void,
34312 pub flags: VideoSessionParametersCreateFlagsKHR,
34313 pub video_session_parameters_template: VideoSessionParametersKHR,
34314 pub video_session: VideoSessionKHR,
34315}
34316
34317impl Default for VideoSessionParametersCreateInfoKHR {
34318 #[inline]
34319 fn default() -> Self {
34320 Self {
34321 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
34322 next: ptr::null(),
34323 flags: VideoSessionParametersCreateFlagsKHR::default(),
34324 video_session_parameters_template: VideoSessionParametersKHR::default(),
34325 video_session: VideoSessionKHR::default(),
34326 }
34327 }
34328}
34329
34330unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
34331unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
34332
34333#[repr(C)]
34335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34336pub struct VideoSessionParametersUpdateInfoKHR {
34337 pub s_type: StructureType,
34338 pub next: *const c_void,
34339 pub update_sequence_count: u32,
34340}
34341
34342impl Default for VideoSessionParametersUpdateInfoKHR {
34343 #[inline]
34344 fn default() -> Self {
34345 Self {
34346 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
34347 next: ptr::null(),
34348 update_sequence_count: u32::default(),
34349 }
34350 }
34351}
34352
34353unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
34354unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
34355
34356#[repr(C)]
34358#[derive(Copy, Clone, Default, Debug, PartialEq)]
34359pub struct Viewport {
34360 pub x: f32,
34361 pub y: f32,
34362 pub width: f32,
34363 pub height: f32,
34364 pub min_depth: f32,
34365 pub max_depth: f32,
34366}
34367
34368#[repr(C)]
34370#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
34371pub struct ViewportSwizzleNV {
34372 pub x: ViewportCoordinateSwizzleNV,
34373 pub y: ViewportCoordinateSwizzleNV,
34374 pub z: ViewportCoordinateSwizzleNV,
34375 pub w: ViewportCoordinateSwizzleNV,
34376}
34377
34378#[repr(C)]
34380#[derive(Copy, Clone, Default, Debug, PartialEq)]
34381pub struct ViewportWScalingNV {
34382 pub xcoeff: f32,
34383 pub ycoeff: f32,
34384}
34385
34386#[repr(C)]
34388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34389pub struct WaylandSurfaceCreateInfoKHR {
34390 pub s_type: StructureType,
34391 pub next: *const c_void,
34392 pub flags: WaylandSurfaceCreateFlagsKHR,
34393 pub display: *mut wl_display,
34394 pub surface: *mut wl_surface,
34395}
34396
34397impl Default for WaylandSurfaceCreateInfoKHR {
34398 #[inline]
34399 fn default() -> Self {
34400 Self {
34401 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
34402 next: ptr::null(),
34403 flags: WaylandSurfaceCreateFlagsKHR::default(),
34404 display: ptr::null_mut(),
34405 surface: ptr::null_mut(),
34406 }
34407 }
34408}
34409
34410unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
34411unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
34412
34413#[repr(C)]
34415#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34416pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
34417 pub s_type: StructureType,
34418 pub next: *const c_void,
34419 pub acquire_count: u32,
34420 pub acquire_syncs: *const DeviceMemory,
34421 pub acquire_keys: *const u64,
34422 pub acquire_timeouts: *const u32,
34423 pub release_count: u32,
34424 pub release_syncs: *const DeviceMemory,
34425 pub release_keys: *const u64,
34426}
34427
34428impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
34429 #[inline]
34430 fn default() -> Self {
34431 Self {
34432 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
34433 next: ptr::null(),
34434 acquire_count: u32::default(),
34435 acquire_syncs: ptr::null(),
34436 acquire_keys: ptr::null(),
34437 acquire_timeouts: ptr::null(),
34438 release_count: u32::default(),
34439 release_syncs: ptr::null(),
34440 release_keys: ptr::null(),
34441 }
34442 }
34443}
34444
34445unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
34446unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
34447
34448#[repr(C)]
34450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34451pub struct Win32KeyedMutexAcquireReleaseInfoNV {
34452 pub s_type: StructureType,
34453 pub next: *const c_void,
34454 pub acquire_count: u32,
34455 pub acquire_syncs: *const DeviceMemory,
34456 pub acquire_keys: *const u64,
34457 pub acquire_timeout_milliseconds: *const u32,
34458 pub release_count: u32,
34459 pub release_syncs: *const DeviceMemory,
34460 pub release_keys: *const u64,
34461}
34462
34463impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
34464 #[inline]
34465 fn default() -> Self {
34466 Self {
34467 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
34468 next: ptr::null(),
34469 acquire_count: u32::default(),
34470 acquire_syncs: ptr::null(),
34471 acquire_keys: ptr::null(),
34472 acquire_timeout_milliseconds: ptr::null(),
34473 release_count: u32::default(),
34474 release_syncs: ptr::null(),
34475 release_keys: ptr::null(),
34476 }
34477 }
34478}
34479
34480unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
34481unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
34482
34483#[repr(C)]
34485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34486pub struct Win32SurfaceCreateInfoKHR {
34487 pub s_type: StructureType,
34488 pub next: *const c_void,
34489 pub flags: Win32SurfaceCreateFlagsKHR,
34490 pub hinstance: HINSTANCE,
34491 pub hwnd: HWND,
34492}
34493
34494impl Default for Win32SurfaceCreateInfoKHR {
34495 #[inline]
34496 fn default() -> Self {
34497 Self {
34498 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
34499 next: ptr::null(),
34500 flags: Win32SurfaceCreateFlagsKHR::default(),
34501 hinstance: ptr::null_mut(),
34502 hwnd: ptr::null_mut(),
34503 }
34504 }
34505}
34506
34507unsafe impl Send for Win32SurfaceCreateInfoKHR {}
34508unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
34509
34510#[repr(C)]
34512#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34513pub struct WriteDescriptorSet {
34514 pub s_type: StructureType,
34515 pub next: *const c_void,
34516 pub dst_set: DescriptorSet,
34517 pub dst_binding: u32,
34518 pub dst_array_element: u32,
34519 pub descriptor_count: u32,
34520 pub descriptor_type: DescriptorType,
34521 pub image_info: *const DescriptorImageInfo,
34522 pub buffer_info: *const DescriptorBufferInfo,
34523 pub texel_buffer_view: *const BufferView,
34524}
34525
34526impl Default for WriteDescriptorSet {
34527 #[inline]
34528 fn default() -> Self {
34529 Self {
34530 s_type: StructureType::WRITE_DESCRIPTOR_SET,
34531 next: ptr::null(),
34532 dst_set: DescriptorSet::default(),
34533 dst_binding: u32::default(),
34534 dst_array_element: u32::default(),
34535 descriptor_count: u32::default(),
34536 descriptor_type: DescriptorType::default(),
34537 image_info: ptr::null(),
34538 buffer_info: ptr::null(),
34539 texel_buffer_view: ptr::null(),
34540 }
34541 }
34542}
34543
34544unsafe impl Send for WriteDescriptorSet {}
34545unsafe impl Sync for WriteDescriptorSet {}
34546
34547#[repr(C)]
34549#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34550pub struct WriteDescriptorSetAccelerationStructureKHR {
34551 pub s_type: StructureType,
34552 pub next: *const c_void,
34553 pub acceleration_structure_count: u32,
34554 pub acceleration_structures: *const AccelerationStructureKHR,
34555}
34556
34557impl Default for WriteDescriptorSetAccelerationStructureKHR {
34558 #[inline]
34559 fn default() -> Self {
34560 Self {
34561 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
34562 next: ptr::null(),
34563 acceleration_structure_count: u32::default(),
34564 acceleration_structures: ptr::null(),
34565 }
34566 }
34567}
34568
34569unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
34570unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
34571
34572#[repr(C)]
34574#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34575pub struct WriteDescriptorSetAccelerationStructureNV {
34576 pub s_type: StructureType,
34577 pub next: *const c_void,
34578 pub acceleration_structure_count: u32,
34579 pub acceleration_structures: *const AccelerationStructureNV,
34580}
34581
34582impl Default for WriteDescriptorSetAccelerationStructureNV {
34583 #[inline]
34584 fn default() -> Self {
34585 Self {
34586 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
34587 next: ptr::null(),
34588 acceleration_structure_count: u32::default(),
34589 acceleration_structures: ptr::null(),
34590 }
34591 }
34592}
34593
34594unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
34595unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
34596
34597#[repr(C)]
34599#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34600pub struct WriteDescriptorSetInlineUniformBlock {
34601 pub s_type: StructureType,
34602 pub next: *const c_void,
34603 pub data_size: u32,
34604 pub data: *const c_void,
34605}
34606
34607impl Default for WriteDescriptorSetInlineUniformBlock {
34608 #[inline]
34609 fn default() -> Self {
34610 Self {
34611 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
34612 next: ptr::null(),
34613 data_size: u32::default(),
34614 data: ptr::null(),
34615 }
34616 }
34617}
34618
34619unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
34620unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
34621
34622#[repr(C)]
34624#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34625pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
34626 pub s_type: StructureType,
34627 pub next: *mut c_void,
34628 pub acceleration_structure_count: u32,
34629 pub acceleration_structures: *const DeviceAddress,
34630}
34631
34632impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
34633 #[inline]
34634 fn default() -> Self {
34635 Self {
34636 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
34637 next: ptr::null_mut(),
34638 acceleration_structure_count: u32::default(),
34639 acceleration_structures: ptr::null(),
34640 }
34641 }
34642}
34643
34644unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
34645unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
34646
34647#[repr(C)]
34649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34650pub struct WriteDescriptorSetTensorARM {
34651 pub s_type: StructureType,
34652 pub next: *const c_void,
34653 pub tensor_view_count: u32,
34654 pub tensor_views: *const TensorViewARM,
34655}
34656
34657impl Default for WriteDescriptorSetTensorARM {
34658 #[inline]
34659 fn default() -> Self {
34660 Self {
34661 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
34662 next: ptr::null(),
34663 tensor_view_count: u32::default(),
34664 tensor_views: ptr::null(),
34665 }
34666 }
34667}
34668
34669unsafe impl Send for WriteDescriptorSetTensorARM {}
34670unsafe impl Sync for WriteDescriptorSetTensorARM {}
34671
34672#[repr(C)]
34674#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34675pub struct WriteIndirectExecutionSetPipelineEXT {
34676 pub s_type: StructureType,
34677 pub next: *const c_void,
34678 pub index: u32,
34679 pub pipeline: Pipeline,
34680}
34681
34682impl Default for WriteIndirectExecutionSetPipelineEXT {
34683 #[inline]
34684 fn default() -> Self {
34685 Self {
34686 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
34687 next: ptr::null(),
34688 index: u32::default(),
34689 pipeline: Pipeline::default(),
34690 }
34691 }
34692}
34693
34694unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
34695unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
34696
34697#[repr(C)]
34699#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34700pub struct WriteIndirectExecutionSetShaderEXT {
34701 pub s_type: StructureType,
34702 pub next: *const c_void,
34703 pub index: u32,
34704 pub shader: ShaderEXT,
34705}
34706
34707impl Default for WriteIndirectExecutionSetShaderEXT {
34708 #[inline]
34709 fn default() -> Self {
34710 Self {
34711 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
34712 next: ptr::null(),
34713 index: u32::default(),
34714 shader: ShaderEXT::default(),
34715 }
34716 }
34717}
34718
34719unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
34720unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
34721
34722#[repr(C)]
34724#[derive(Copy, Clone, Default, Debug, PartialEq)]
34725pub struct XYColorEXT {
34726 pub x: f32,
34727 pub y: f32,
34728}
34729
34730#[repr(C)]
34732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34733pub struct XcbSurfaceCreateInfoKHR {
34734 pub s_type: StructureType,
34735 pub next: *const c_void,
34736 pub flags: XcbSurfaceCreateFlagsKHR,
34737 pub connection: *mut xcb_connection_t,
34738 pub window: xcb_window_t,
34739}
34740
34741impl Default for XcbSurfaceCreateInfoKHR {
34742 #[inline]
34743 fn default() -> Self {
34744 Self {
34745 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
34746 next: ptr::null(),
34747 flags: XcbSurfaceCreateFlagsKHR::default(),
34748 connection: ptr::null_mut(),
34749 window: xcb_window_t::default(),
34750 }
34751 }
34752}
34753
34754unsafe impl Send for XcbSurfaceCreateInfoKHR {}
34755unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
34756
34757#[repr(C)]
34759#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
34760pub struct XlibSurfaceCreateInfoKHR {
34761 pub s_type: StructureType,
34762 pub next: *const c_void,
34763 pub flags: XlibSurfaceCreateFlagsKHR,
34764 pub dpy: *mut Display,
34765 pub window: Window,
34766}
34767
34768impl Default for XlibSurfaceCreateInfoKHR {
34769 #[inline]
34770 fn default() -> Self {
34771 Self {
34772 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
34773 next: ptr::null(),
34774 flags: XlibSurfaceCreateFlagsKHR::default(),
34775 dpy: ptr::null_mut(),
34776 window: Window::default(),
34777 }
34778 }
34779}
34780
34781unsafe impl Send for XlibSurfaceCreateInfoKHR {}
34782unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
34783
34784pub type AabbPositionsNV = AabbPositionsKHR;
34786pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
34788pub type AttachmentDescription2KHR = AttachmentDescription2;
34790pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
34792pub type AttachmentReference2KHR = AttachmentReference2;
34794pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
34796pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
34798pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
34800pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
34802pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
34804pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
34806pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
34808pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
34810pub type BindMemoryStatusKHR = BindMemoryStatus;
34812pub type BlitImageInfo2KHR = BlitImageInfo2;
34814pub type BufferCopy2KHR = BufferCopy2;
34816pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
34818pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
34820pub type BufferImageCopy2KHR = BufferImageCopy2;
34822pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
34824pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
34826pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
34828pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
34830pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
34832pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
34834pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
34836pub type ConformanceVersionKHR = ConformanceVersion;
34838pub type CopyBufferInfo2KHR = CopyBufferInfo2;
34840pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
34842pub type CopyImageInfo2KHR = CopyImageInfo2;
34844pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
34846pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
34848pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
34850pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
34852pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
34854pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
34856pub type DependencyInfoKHR = DependencyInfo;
34858pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
34860pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
34862pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
34864pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
34866 DescriptorSetVariableDescriptorCountAllocateInfo;
34867pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
34869 DescriptorSetVariableDescriptorCountLayoutSupport;
34870pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
34872pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
34874pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
34876pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
34878pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
34880pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
34882pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
34884pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
34886pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
34888pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
34890pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
34892pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
34894pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
34896pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
34898pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
34900pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
34902pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
34904pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
34906pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
34908pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
34910pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
34912pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
34914pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
34916pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
34918pub type FormatProperties2KHR = FormatProperties2;
34920pub type FormatProperties3KHR = FormatProperties3;
34922pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
34924pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
34926pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
34928pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
34930pub type ImageBlit2KHR = ImageBlit2;
34932pub type ImageCopy2KHR = ImageCopy2;
34934pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
34936pub type ImageFormatProperties2KHR = ImageFormatProperties2;
34938pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
34940pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
34942pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
34944pub type ImageResolve2KHR = ImageResolve2;
34946pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
34948pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
34950pub type ImageSubresource2EXT = ImageSubresource2;
34952pub type ImageSubresource2KHR = ImageSubresource2;
34954pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
34956pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
34958pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
34960pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
34962pub type MemoryBarrier2KHR = MemoryBarrier2;
34964pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
34966pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
34968pub type MemoryMapInfoKHR = MemoryMapInfo;
34970pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
34972pub type MemoryRequirements2KHR = MemoryRequirements2;
34974pub type MemoryToImageCopyEXT = MemoryToImageCopy;
34976pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
34978pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
34980pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
34982pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
34984pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
34986pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
34988pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
34990pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
34992 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
34993pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
34995 PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
34996pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
34998pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
35000 PhysicalDeviceDepthStencilResolveProperties;
35001pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
35003pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
35005pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
35007pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
35009pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
35011 PhysicalDeviceDynamicRenderingLocalReadFeatures;
35012pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
35014pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
35016pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
35018pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
35020pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
35022pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
35024pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
35026pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
35028pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
35030 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
35031pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
35033 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
35034pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
35036 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
35037pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
35039pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
35041pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
35043pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
35045pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
35047pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
35049pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
35051pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
35053pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
35055pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
35057pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
35059pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
35061pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
35063pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
35065pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
35067pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
35069pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
35071pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
35073pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
35075pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
35077pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
35079pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
35081pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
35083pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
35085pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
35087pub type PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesEXT;
35089pub type PhysicalDeviceMemoryDecompressionPropertiesNV =
35091 PhysicalDeviceMemoryDecompressionPropertiesEXT;
35092pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
35094pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
35096pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
35098pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
35100 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
35101pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
35103 PhysicalDevicePipelineCreationCacheControlFeatures;
35104pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
35106 PhysicalDevicePipelineProtectedAccessFeatures;
35107pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
35109pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
35111pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
35113pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
35115 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
35116pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
35118pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
35120pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
35122pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
35124 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
35125pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
35127pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
35129pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
35131 PhysicalDeviceSamplerFilterMinmaxProperties;
35132pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
35134 PhysicalDeviceSamplerYcbcrConversionFeatures;
35135pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
35137pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
35139 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
35140pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
35142pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
35144 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
35145pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
35147pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
35149pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
35151pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
35153pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
35155 PhysicalDeviceShaderIntegerDotProductFeatures;
35156pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
35158 PhysicalDeviceShaderIntegerDotProductProperties;
35159pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
35161 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
35162pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
35164pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
35166 PhysicalDeviceShaderTerminateInvocationFeatures;
35167pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
35169pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
35171pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
35173 PhysicalDeviceSubgroupSizeControlProperties;
35174pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
35176 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
35177pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
35179pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
35181 PhysicalDeviceTexelBufferAlignmentProperties;
35182pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
35184 PhysicalDeviceTextureCompressionASTCHDRFeatures;
35185pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
35187pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
35189pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
35191pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
35193 PhysicalDeviceUniformBufferStandardLayoutFeatures;
35194pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
35196pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
35198pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
35200pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
35202 PhysicalDeviceVertexAttributeDivisorFeatures;
35203pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
35205 PhysicalDeviceVertexAttributeDivisorFeatures;
35206pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
35208 PhysicalDeviceVertexAttributeDivisorProperties;
35209pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
35211pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
35213 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
35214pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
35216pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
35218pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
35220pub type PipelineInfoEXT = PipelineInfoKHR;
35222pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
35224pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
35226pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
35228pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
35230pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
35232 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
35233pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
35235 PipelineTessellationDomainOriginStateCreateInfo;
35236pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
35238pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
35240pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
35242pub type PushConstantsInfoKHR = PushConstantsInfo;
35244pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
35246pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
35248pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
35250pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
35252pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
35254pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
35256pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
35258pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
35260pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
35262pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
35264pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
35266pub type RenderingAreaInfoKHR = RenderingAreaInfo;
35268pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
35270pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
35272pub type RenderingEndInfoEXT = RenderingEndInfoKHR;
35274pub type RenderingInfoKHR = RenderingInfo;
35276pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
35278pub type ResolveImageInfo2KHR = ResolveImageInfo2;
35280pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
35282pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
35284pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
35286 SamplerYcbcrConversionImageFormatProperties;
35287pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
35289pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
35291pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
35293pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
35295pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
35297pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
35299 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
35300pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
35302pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
35304pub type SubmitInfo2KHR = SubmitInfo2;
35306pub type SubpassBeginInfoKHR = SubpassBeginInfo;
35308pub type SubpassDependency2KHR = SubpassDependency2;
35310pub type SubpassDescription2KHR = SubpassDescription2;
35312pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
35314pub type SubpassEndInfoKHR = SubpassEndInfo;
35316pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
35318pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
35320pub type SubresourceLayout2EXT = SubresourceLayout2;
35322pub type SubresourceLayout2KHR = SubresourceLayout2;
35324pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
35326pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
35328pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
35330pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
35332pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
35334pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
35336pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
35338pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
35340pub type TransformMatrixNV = TransformMatrixKHR;
35342pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
35344pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
35346pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;