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 BindImageMemoryDeviceGroupInfo {
1601 pub s_type: StructureType,
1602 pub next: *const c_void,
1603 pub device_index_count: u32,
1604 pub device_indices: *const u32,
1605 pub split_instance_bind_region_count: u32,
1606 pub split_instance_bind_regions: *const Rect2D,
1607}
1608
1609impl Default for BindImageMemoryDeviceGroupInfo {
1610 #[inline]
1611 fn default() -> Self {
1612 Self {
1613 s_type: StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1614 next: ptr::null(),
1615 device_index_count: u32::default(),
1616 device_indices: ptr::null(),
1617 split_instance_bind_region_count: u32::default(),
1618 split_instance_bind_regions: ptr::null(),
1619 }
1620 }
1621}
1622
1623unsafe impl Send for BindImageMemoryDeviceGroupInfo {}
1624unsafe impl Sync for BindImageMemoryDeviceGroupInfo {}
1625
1626#[repr(C)]
1628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1629pub struct BindImageMemoryInfo {
1630 pub s_type: StructureType,
1631 pub next: *const c_void,
1632 pub image: Image,
1633 pub memory: DeviceMemory,
1634 pub memory_offset: DeviceSize,
1635}
1636
1637impl Default for BindImageMemoryInfo {
1638 #[inline]
1639 fn default() -> Self {
1640 Self {
1641 s_type: StructureType::BIND_IMAGE_MEMORY_INFO,
1642 next: ptr::null(),
1643 image: Image::default(),
1644 memory: DeviceMemory::default(),
1645 memory_offset: DeviceSize::default(),
1646 }
1647 }
1648}
1649
1650unsafe impl Send for BindImageMemoryInfo {}
1651unsafe impl Sync for BindImageMemoryInfo {}
1652
1653#[repr(C)]
1655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1656pub struct BindImageMemorySwapchainInfoKHR {
1657 pub s_type: StructureType,
1658 pub next: *const c_void,
1659 pub swapchain: SwapchainKHR,
1660 pub image_index: u32,
1661}
1662
1663impl Default for BindImageMemorySwapchainInfoKHR {
1664 #[inline]
1665 fn default() -> Self {
1666 Self {
1667 s_type: StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
1668 next: ptr::null(),
1669 swapchain: SwapchainKHR::default(),
1670 image_index: u32::default(),
1671 }
1672 }
1673}
1674
1675unsafe impl Send for BindImageMemorySwapchainInfoKHR {}
1676unsafe impl Sync for BindImageMemorySwapchainInfoKHR {}
1677
1678#[repr(C)]
1680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1681pub struct BindImagePlaneMemoryInfo {
1682 pub s_type: StructureType,
1683 pub next: *const c_void,
1684 pub plane_aspect: ImageAspectFlags,
1685}
1686
1687impl Default for BindImagePlaneMemoryInfo {
1688 #[inline]
1689 fn default() -> Self {
1690 Self {
1691 s_type: StructureType::BIND_IMAGE_PLANE_MEMORY_INFO,
1692 next: ptr::null(),
1693 plane_aspect: ImageAspectFlags::default(),
1694 }
1695 }
1696}
1697
1698unsafe impl Send for BindImagePlaneMemoryInfo {}
1699unsafe impl Sync for BindImagePlaneMemoryInfo {}
1700
1701#[repr(C)]
1703#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1704pub struct BindIndexBufferIndirectCommandEXT {
1705 pub buffer_address: DeviceAddress,
1706 pub size: u32,
1707 pub index_type: IndexType,
1708}
1709
1710#[repr(C)]
1712#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1713pub struct BindIndexBufferIndirectCommandNV {
1714 pub buffer_address: DeviceAddress,
1715 pub size: u32,
1716 pub index_type: IndexType,
1717}
1718
1719#[repr(C)]
1721#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1722pub struct BindMemoryStatus {
1723 pub s_type: StructureType,
1724 pub next: *const c_void,
1725 pub result: *mut Result,
1726}
1727
1728impl Default for BindMemoryStatus {
1729 #[inline]
1730 fn default() -> Self {
1731 Self {
1732 s_type: StructureType::BIND_MEMORY_STATUS,
1733 next: ptr::null(),
1734 result: ptr::null_mut(),
1735 }
1736 }
1737}
1738
1739unsafe impl Send for BindMemoryStatus {}
1740unsafe impl Sync for BindMemoryStatus {}
1741
1742#[repr(C)]
1744#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1745pub struct BindPipelineIndirectCommandNV {
1746 pub pipeline_address: DeviceAddress,
1747}
1748
1749#[repr(C)]
1751#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1752pub struct BindShaderGroupIndirectCommandNV {
1753 pub group_index: u32,
1754}
1755
1756#[repr(C)]
1758#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1759pub struct BindSparseInfo {
1760 pub s_type: StructureType,
1761 pub next: *const c_void,
1762 pub wait_semaphore_count: u32,
1763 pub wait_semaphores: *const Semaphore,
1764 pub buffer_bind_count: u32,
1765 pub buffer_binds: *const SparseBufferMemoryBindInfo,
1766 pub image_opaque_bind_count: u32,
1767 pub image_opaque_binds: *const SparseImageOpaqueMemoryBindInfo,
1768 pub image_bind_count: u32,
1769 pub image_binds: *const SparseImageMemoryBindInfo,
1770 pub signal_semaphore_count: u32,
1771 pub signal_semaphores: *const Semaphore,
1772}
1773
1774impl Default for BindSparseInfo {
1775 #[inline]
1776 fn default() -> Self {
1777 Self {
1778 s_type: StructureType::BIND_SPARSE_INFO,
1779 next: ptr::null(),
1780 wait_semaphore_count: u32::default(),
1781 wait_semaphores: ptr::null(),
1782 buffer_bind_count: u32::default(),
1783 buffer_binds: ptr::null(),
1784 image_opaque_bind_count: u32::default(),
1785 image_opaque_binds: ptr::null(),
1786 image_bind_count: u32::default(),
1787 image_binds: ptr::null(),
1788 signal_semaphore_count: u32::default(),
1789 signal_semaphores: ptr::null(),
1790 }
1791 }
1792}
1793
1794unsafe impl Send for BindSparseInfo {}
1795unsafe impl Sync for BindSparseInfo {}
1796
1797#[repr(C)]
1799#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1800pub struct BindTensorMemoryInfoARM {
1801 pub s_type: StructureType,
1802 pub next: *const c_void,
1803 pub tensor: TensorARM,
1804 pub memory: DeviceMemory,
1805 pub memory_offset: DeviceSize,
1806}
1807
1808impl Default for BindTensorMemoryInfoARM {
1809 #[inline]
1810 fn default() -> Self {
1811 Self {
1812 s_type: StructureType::BIND_TENSOR_MEMORY_INFO_ARM,
1813 next: ptr::null(),
1814 tensor: TensorARM::default(),
1815 memory: DeviceMemory::default(),
1816 memory_offset: DeviceSize::default(),
1817 }
1818 }
1819}
1820
1821unsafe impl Send for BindTensorMemoryInfoARM {}
1822unsafe impl Sync for BindTensorMemoryInfoARM {}
1823
1824#[repr(C)]
1826#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1827pub struct BindVertexBufferIndirectCommandEXT {
1828 pub buffer_address: DeviceAddress,
1829 pub size: u32,
1830 pub stride: u32,
1831}
1832
1833#[repr(C)]
1835#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
1836pub struct BindVertexBufferIndirectCommandNV {
1837 pub buffer_address: DeviceAddress,
1838 pub size: u32,
1839 pub stride: u32,
1840}
1841
1842#[repr(C)]
1844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1845pub struct BindVideoSessionMemoryInfoKHR {
1846 pub s_type: StructureType,
1847 pub next: *const c_void,
1848 pub memory_bind_index: u32,
1849 pub memory: DeviceMemory,
1850 pub memory_offset: DeviceSize,
1851 pub memory_size: DeviceSize,
1852}
1853
1854impl Default for BindVideoSessionMemoryInfoKHR {
1855 #[inline]
1856 fn default() -> Self {
1857 Self {
1858 s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
1859 next: ptr::null(),
1860 memory_bind_index: u32::default(),
1861 memory: DeviceMemory::default(),
1862 memory_offset: DeviceSize::default(),
1863 memory_size: DeviceSize::default(),
1864 }
1865 }
1866}
1867
1868unsafe impl Send for BindVideoSessionMemoryInfoKHR {}
1869unsafe impl Sync for BindVideoSessionMemoryInfoKHR {}
1870
1871#[repr(C)]
1873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1874pub struct BlitImageCubicWeightsInfoQCOM {
1875 pub s_type: StructureType,
1876 pub next: *const c_void,
1877 pub cubic_weights: CubicFilterWeightsQCOM,
1878}
1879
1880impl Default for BlitImageCubicWeightsInfoQCOM {
1881 #[inline]
1882 fn default() -> Self {
1883 Self {
1884 s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
1885 next: ptr::null(),
1886 cubic_weights: CubicFilterWeightsQCOM::default(),
1887 }
1888 }
1889}
1890
1891unsafe impl Send for BlitImageCubicWeightsInfoQCOM {}
1892unsafe impl Sync for BlitImageCubicWeightsInfoQCOM {}
1893
1894#[repr(C)]
1896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1897pub struct BlitImageInfo2 {
1898 pub s_type: StructureType,
1899 pub next: *const c_void,
1900 pub src_image: Image,
1901 pub src_image_layout: ImageLayout,
1902 pub dst_image: Image,
1903 pub dst_image_layout: ImageLayout,
1904 pub region_count: u32,
1905 pub regions: *const ImageBlit2,
1906 pub filter: Filter,
1907}
1908
1909impl Default for BlitImageInfo2 {
1910 #[inline]
1911 fn default() -> Self {
1912 Self {
1913 s_type: StructureType::BLIT_IMAGE_INFO_2,
1914 next: ptr::null(),
1915 src_image: Image::default(),
1916 src_image_layout: ImageLayout::default(),
1917 dst_image: Image::default(),
1918 dst_image_layout: ImageLayout::default(),
1919 region_count: u32::default(),
1920 regions: ptr::null(),
1921 filter: Filter::default(),
1922 }
1923 }
1924}
1925
1926unsafe impl Send for BlitImageInfo2 {}
1927unsafe impl Sync for BlitImageInfo2 {}
1928
1929#[repr(C)]
1931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1932pub struct BufferCaptureDescriptorDataInfoEXT {
1933 pub s_type: StructureType,
1934 pub next: *const c_void,
1935 pub buffer: Buffer,
1936}
1937
1938impl Default for BufferCaptureDescriptorDataInfoEXT {
1939 #[inline]
1940 fn default() -> Self {
1941 Self {
1942 s_type: StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
1943 next: ptr::null(),
1944 buffer: Buffer::default(),
1945 }
1946 }
1947}
1948
1949unsafe impl Send for BufferCaptureDescriptorDataInfoEXT {}
1950unsafe impl Sync for BufferCaptureDescriptorDataInfoEXT {}
1951
1952#[repr(C)]
1954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1955pub struct BufferCollectionBufferCreateInfoFUCHSIA {
1956 pub s_type: StructureType,
1957 pub next: *const c_void,
1958 pub collection: BufferCollectionFUCHSIA,
1959 pub index: u32,
1960}
1961
1962impl Default for BufferCollectionBufferCreateInfoFUCHSIA {
1963 #[inline]
1964 fn default() -> Self {
1965 Self {
1966 s_type: StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
1967 next: ptr::null(),
1968 collection: BufferCollectionFUCHSIA::default(),
1969 index: u32::default(),
1970 }
1971 }
1972}
1973
1974unsafe impl Send for BufferCollectionBufferCreateInfoFUCHSIA {}
1975unsafe impl Sync for BufferCollectionBufferCreateInfoFUCHSIA {}
1976
1977#[repr(C)]
1979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
1980pub struct BufferCollectionConstraintsInfoFUCHSIA {
1981 pub s_type: StructureType,
1982 pub next: *const c_void,
1983 pub min_buffer_count: u32,
1984 pub max_buffer_count: u32,
1985 pub min_buffer_count_for_camping: u32,
1986 pub min_buffer_count_for_dedicated_slack: u32,
1987 pub min_buffer_count_for_shared_slack: u32,
1988}
1989
1990impl Default for BufferCollectionConstraintsInfoFUCHSIA {
1991 #[inline]
1992 fn default() -> Self {
1993 Self {
1994 s_type: StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
1995 next: ptr::null(),
1996 min_buffer_count: u32::default(),
1997 max_buffer_count: u32::default(),
1998 min_buffer_count_for_camping: u32::default(),
1999 min_buffer_count_for_dedicated_slack: u32::default(),
2000 min_buffer_count_for_shared_slack: u32::default(),
2001 }
2002 }
2003}
2004
2005unsafe impl Send for BufferCollectionConstraintsInfoFUCHSIA {}
2006unsafe impl Sync for BufferCollectionConstraintsInfoFUCHSIA {}
2007
2008#[repr(C)]
2010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2011pub struct BufferCollectionCreateInfoFUCHSIA {
2012 pub s_type: StructureType,
2013 pub next: *const c_void,
2014 pub collection_token: zx_handle_t,
2015}
2016
2017impl Default for BufferCollectionCreateInfoFUCHSIA {
2018 #[inline]
2019 fn default() -> Self {
2020 Self {
2021 s_type: StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
2022 next: ptr::null(),
2023 collection_token: zx_handle_t::default(),
2024 }
2025 }
2026}
2027
2028unsafe impl Send for BufferCollectionCreateInfoFUCHSIA {}
2029unsafe impl Sync for BufferCollectionCreateInfoFUCHSIA {}
2030
2031#[repr(C)]
2033#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2034pub struct BufferCollectionImageCreateInfoFUCHSIA {
2035 pub s_type: StructureType,
2036 pub next: *const c_void,
2037 pub collection: BufferCollectionFUCHSIA,
2038 pub index: u32,
2039}
2040
2041impl Default for BufferCollectionImageCreateInfoFUCHSIA {
2042 #[inline]
2043 fn default() -> Self {
2044 Self {
2045 s_type: StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
2046 next: ptr::null(),
2047 collection: BufferCollectionFUCHSIA::default(),
2048 index: u32::default(),
2049 }
2050 }
2051}
2052
2053unsafe impl Send for BufferCollectionImageCreateInfoFUCHSIA {}
2054unsafe impl Sync for BufferCollectionImageCreateInfoFUCHSIA {}
2055
2056#[repr(C)]
2058#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2059pub struct BufferCollectionPropertiesFUCHSIA {
2060 pub s_type: StructureType,
2061 pub next: *mut c_void,
2062 pub memory_type_bits: u32,
2063 pub buffer_count: u32,
2064 pub create_info_index: u32,
2065 pub sysmem_pixel_format: u64,
2066 pub format_features: FormatFeatureFlags,
2067 pub sysmem_color_space_index: SysmemColorSpaceFUCHSIA,
2068 pub sampler_ycbcr_conversion_components: ComponentMapping,
2069 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
2070 pub suggested_ycbcr_range: SamplerYcbcrRange,
2071 pub suggested_x_chroma_offset: ChromaLocation,
2072 pub suggested_y_chroma_offset: ChromaLocation,
2073}
2074
2075impl Default for BufferCollectionPropertiesFUCHSIA {
2076 #[inline]
2077 fn default() -> Self {
2078 Self {
2079 s_type: StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
2080 next: ptr::null_mut(),
2081 memory_type_bits: u32::default(),
2082 buffer_count: u32::default(),
2083 create_info_index: u32::default(),
2084 sysmem_pixel_format: u64::default(),
2085 format_features: FormatFeatureFlags::default(),
2086 sysmem_color_space_index: SysmemColorSpaceFUCHSIA::default(),
2087 sampler_ycbcr_conversion_components: ComponentMapping::default(),
2088 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
2089 suggested_ycbcr_range: SamplerYcbcrRange::default(),
2090 suggested_x_chroma_offset: ChromaLocation::default(),
2091 suggested_y_chroma_offset: ChromaLocation::default(),
2092 }
2093 }
2094}
2095
2096unsafe impl Send for BufferCollectionPropertiesFUCHSIA {}
2097unsafe impl Sync for BufferCollectionPropertiesFUCHSIA {}
2098
2099#[repr(C)]
2101#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2102pub struct BufferConstraintsInfoFUCHSIA {
2103 pub s_type: StructureType,
2104 pub next: *const c_void,
2105 pub create_info: BufferCreateInfo,
2106 pub required_format_features: FormatFeatureFlags,
2107 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
2108}
2109
2110impl Default for BufferConstraintsInfoFUCHSIA {
2111 #[inline]
2112 fn default() -> Self {
2113 Self {
2114 s_type: StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA,
2115 next: ptr::null(),
2116 create_info: BufferCreateInfo::default(),
2117 required_format_features: FormatFeatureFlags::default(),
2118 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
2119 }
2120 }
2121}
2122
2123unsafe impl Send for BufferConstraintsInfoFUCHSIA {}
2124unsafe impl Sync for BufferConstraintsInfoFUCHSIA {}
2125
2126#[repr(C)]
2128#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2129pub struct BufferCopy {
2130 pub src_offset: DeviceSize,
2131 pub dst_offset: DeviceSize,
2132 pub size: DeviceSize,
2133}
2134
2135#[repr(C)]
2137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2138pub struct BufferCopy2 {
2139 pub s_type: StructureType,
2140 pub next: *const c_void,
2141 pub src_offset: DeviceSize,
2142 pub dst_offset: DeviceSize,
2143 pub size: DeviceSize,
2144}
2145
2146impl Default for BufferCopy2 {
2147 #[inline]
2148 fn default() -> Self {
2149 Self {
2150 s_type: StructureType::BUFFER_COPY_2,
2151 next: ptr::null(),
2152 src_offset: DeviceSize::default(),
2153 dst_offset: DeviceSize::default(),
2154 size: DeviceSize::default(),
2155 }
2156 }
2157}
2158
2159unsafe impl Send for BufferCopy2 {}
2160unsafe impl Sync for BufferCopy2 {}
2161
2162#[repr(C)]
2164#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2165pub struct BufferCreateInfo {
2166 pub s_type: StructureType,
2167 pub next: *const c_void,
2168 pub flags: BufferCreateFlags,
2169 pub size: DeviceSize,
2170 pub usage: BufferUsageFlags,
2171 pub sharing_mode: SharingMode,
2172 pub queue_family_index_count: u32,
2173 pub queue_family_indices: *const u32,
2174}
2175
2176impl Default for BufferCreateInfo {
2177 #[inline]
2178 fn default() -> Self {
2179 Self {
2180 s_type: StructureType::BUFFER_CREATE_INFO,
2181 next: ptr::null(),
2182 flags: BufferCreateFlags::default(),
2183 size: DeviceSize::default(),
2184 usage: BufferUsageFlags::default(),
2185 sharing_mode: SharingMode::default(),
2186 queue_family_index_count: u32::default(),
2187 queue_family_indices: ptr::null(),
2188 }
2189 }
2190}
2191
2192unsafe impl Send for BufferCreateInfo {}
2193unsafe impl Sync for BufferCreateInfo {}
2194
2195#[repr(C)]
2197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2198pub struct BufferDeviceAddressCreateInfoEXT {
2199 pub s_type: StructureType,
2200 pub next: *const c_void,
2201 pub device_address: DeviceAddress,
2202}
2203
2204impl Default for BufferDeviceAddressCreateInfoEXT {
2205 #[inline]
2206 fn default() -> Self {
2207 Self {
2208 s_type: StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
2209 next: ptr::null(),
2210 device_address: DeviceAddress::default(),
2211 }
2212 }
2213}
2214
2215unsafe impl Send for BufferDeviceAddressCreateInfoEXT {}
2216unsafe impl Sync for BufferDeviceAddressCreateInfoEXT {}
2217
2218#[repr(C)]
2220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2221pub struct BufferDeviceAddressInfo {
2222 pub s_type: StructureType,
2223 pub next: *const c_void,
2224 pub buffer: Buffer,
2225}
2226
2227impl Default for BufferDeviceAddressInfo {
2228 #[inline]
2229 fn default() -> Self {
2230 Self {
2231 s_type: StructureType::BUFFER_DEVICE_ADDRESS_INFO,
2232 next: ptr::null(),
2233 buffer: Buffer::default(),
2234 }
2235 }
2236}
2237
2238unsafe impl Send for BufferDeviceAddressInfo {}
2239unsafe impl Sync for BufferDeviceAddressInfo {}
2240
2241#[repr(C)]
2243#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2244pub struct BufferImageCopy {
2245 pub buffer_offset: DeviceSize,
2246 pub buffer_row_length: u32,
2247 pub buffer_image_height: u32,
2248 pub image_subresource: ImageSubresourceLayers,
2249 pub image_offset: Offset3D,
2250 pub image_extent: Extent3D,
2251}
2252
2253#[repr(C)]
2255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2256pub struct BufferImageCopy2 {
2257 pub s_type: StructureType,
2258 pub next: *const c_void,
2259 pub buffer_offset: DeviceSize,
2260 pub buffer_row_length: u32,
2261 pub buffer_image_height: u32,
2262 pub image_subresource: ImageSubresourceLayers,
2263 pub image_offset: Offset3D,
2264 pub image_extent: Extent3D,
2265}
2266
2267impl Default for BufferImageCopy2 {
2268 #[inline]
2269 fn default() -> Self {
2270 Self {
2271 s_type: StructureType::BUFFER_IMAGE_COPY_2,
2272 next: ptr::null(),
2273 buffer_offset: DeviceSize::default(),
2274 buffer_row_length: u32::default(),
2275 buffer_image_height: u32::default(),
2276 image_subresource: ImageSubresourceLayers::default(),
2277 image_offset: Offset3D::default(),
2278 image_extent: Extent3D::default(),
2279 }
2280 }
2281}
2282
2283unsafe impl Send for BufferImageCopy2 {}
2284unsafe impl Sync for BufferImageCopy2 {}
2285
2286#[repr(C)]
2288#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2289pub struct BufferMemoryBarrier {
2290 pub s_type: StructureType,
2291 pub next: *const c_void,
2292 pub src_access_mask: AccessFlags,
2293 pub dst_access_mask: AccessFlags,
2294 pub src_queue_family_index: u32,
2295 pub dst_queue_family_index: u32,
2296 pub buffer: Buffer,
2297 pub offset: DeviceSize,
2298 pub size: DeviceSize,
2299}
2300
2301impl Default for BufferMemoryBarrier {
2302 #[inline]
2303 fn default() -> Self {
2304 Self {
2305 s_type: StructureType::BUFFER_MEMORY_BARRIER,
2306 next: ptr::null(),
2307 src_access_mask: AccessFlags::default(),
2308 dst_access_mask: AccessFlags::default(),
2309 src_queue_family_index: u32::default(),
2310 dst_queue_family_index: u32::default(),
2311 buffer: Buffer::default(),
2312 offset: DeviceSize::default(),
2313 size: DeviceSize::default(),
2314 }
2315 }
2316}
2317
2318unsafe impl Send for BufferMemoryBarrier {}
2319unsafe impl Sync for BufferMemoryBarrier {}
2320
2321#[repr(C)]
2323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2324pub struct BufferMemoryBarrier2 {
2325 pub s_type: StructureType,
2326 pub next: *const c_void,
2327 pub src_stage_mask: PipelineStageFlags2,
2328 pub src_access_mask: AccessFlags2,
2329 pub dst_stage_mask: PipelineStageFlags2,
2330 pub dst_access_mask: AccessFlags2,
2331 pub src_queue_family_index: u32,
2332 pub dst_queue_family_index: u32,
2333 pub buffer: Buffer,
2334 pub offset: DeviceSize,
2335 pub size: DeviceSize,
2336}
2337
2338impl Default for BufferMemoryBarrier2 {
2339 #[inline]
2340 fn default() -> Self {
2341 Self {
2342 s_type: StructureType::BUFFER_MEMORY_BARRIER_2,
2343 next: ptr::null(),
2344 src_stage_mask: PipelineStageFlags2::default(),
2345 src_access_mask: AccessFlags2::default(),
2346 dst_stage_mask: PipelineStageFlags2::default(),
2347 dst_access_mask: AccessFlags2::default(),
2348 src_queue_family_index: u32::default(),
2349 dst_queue_family_index: u32::default(),
2350 buffer: Buffer::default(),
2351 offset: DeviceSize::default(),
2352 size: DeviceSize::default(),
2353 }
2354 }
2355}
2356
2357unsafe impl Send for BufferMemoryBarrier2 {}
2358unsafe impl Sync for BufferMemoryBarrier2 {}
2359
2360#[repr(C)]
2362#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2363pub struct BufferMemoryRequirementsInfo2 {
2364 pub s_type: StructureType,
2365 pub next: *const c_void,
2366 pub buffer: Buffer,
2367}
2368
2369impl Default for BufferMemoryRequirementsInfo2 {
2370 #[inline]
2371 fn default() -> Self {
2372 Self {
2373 s_type: StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2374 next: ptr::null(),
2375 buffer: Buffer::default(),
2376 }
2377 }
2378}
2379
2380unsafe impl Send for BufferMemoryRequirementsInfo2 {}
2381unsafe impl Sync for BufferMemoryRequirementsInfo2 {}
2382
2383#[repr(C)]
2385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2386pub struct BufferOpaqueCaptureAddressCreateInfo {
2387 pub s_type: StructureType,
2388 pub next: *const c_void,
2389 pub opaque_capture_address: u64,
2390}
2391
2392impl Default for BufferOpaqueCaptureAddressCreateInfo {
2393 #[inline]
2394 fn default() -> Self {
2395 Self {
2396 s_type: StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2397 next: ptr::null(),
2398 opaque_capture_address: u64::default(),
2399 }
2400 }
2401}
2402
2403unsafe impl Send for BufferOpaqueCaptureAddressCreateInfo {}
2404unsafe impl Sync for BufferOpaqueCaptureAddressCreateInfo {}
2405
2406#[repr(C)]
2408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2409pub struct BufferUsageFlags2CreateInfo {
2410 pub s_type: StructureType,
2411 pub next: *const c_void,
2412 pub usage: BufferUsageFlags2,
2413}
2414
2415impl Default for BufferUsageFlags2CreateInfo {
2416 #[inline]
2417 fn default() -> Self {
2418 Self {
2419 s_type: StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO,
2420 next: ptr::null(),
2421 usage: BufferUsageFlags2::default(),
2422 }
2423 }
2424}
2425
2426unsafe impl Send for BufferUsageFlags2CreateInfo {}
2427unsafe impl Sync for BufferUsageFlags2CreateInfo {}
2428
2429#[repr(C)]
2431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2432pub struct BufferViewCreateInfo {
2433 pub s_type: StructureType,
2434 pub next: *const c_void,
2435 pub flags: BufferViewCreateFlags,
2436 pub buffer: Buffer,
2437 pub format: Format,
2438 pub offset: DeviceSize,
2439 pub range: DeviceSize,
2440}
2441
2442impl Default for BufferViewCreateInfo {
2443 #[inline]
2444 fn default() -> Self {
2445 Self {
2446 s_type: StructureType::BUFFER_VIEW_CREATE_INFO,
2447 next: ptr::null(),
2448 flags: BufferViewCreateFlags::default(),
2449 buffer: Buffer::default(),
2450 format: Format::default(),
2451 offset: DeviceSize::default(),
2452 range: DeviceSize::default(),
2453 }
2454 }
2455}
2456
2457unsafe impl Send for BufferViewCreateInfo {}
2458unsafe impl Sync for BufferViewCreateInfo {}
2459
2460#[repr(C)]
2462#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2463pub struct BuildPartitionedAccelerationStructureIndirectCommandNV {
2464 pub op_type: PartitionedAccelerationStructureOpTypeNV,
2465 pub arg_count: u32,
2466 pub arg_data: StridedDeviceAddressNV,
2467}
2468
2469#[repr(C)]
2471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2472pub struct BuildPartitionedAccelerationStructureInfoNV {
2473 pub s_type: StructureType,
2474 pub next: *mut c_void,
2475 pub input: PartitionedAccelerationStructureInstancesInputNV,
2476 pub src_acceleration_structure_data: DeviceAddress,
2477 pub dst_acceleration_structure_data: DeviceAddress,
2478 pub scratch_data: DeviceAddress,
2479 pub src_infos: DeviceAddress,
2480 pub src_infos_count: DeviceAddress,
2481}
2482
2483impl Default for BuildPartitionedAccelerationStructureInfoNV {
2484 #[inline]
2485 fn default() -> Self {
2486 Self {
2487 s_type: StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
2488 next: ptr::null_mut(),
2489 input: PartitionedAccelerationStructureInstancesInputNV::default(),
2490 src_acceleration_structure_data: DeviceAddress::default(),
2491 dst_acceleration_structure_data: DeviceAddress::default(),
2492 scratch_data: DeviceAddress::default(),
2493 src_infos: DeviceAddress::default(),
2494 src_infos_count: DeviceAddress::default(),
2495 }
2496 }
2497}
2498
2499unsafe impl Send for BuildPartitionedAccelerationStructureInfoNV {}
2500unsafe impl Sync for BuildPartitionedAccelerationStructureInfoNV {}
2501
2502#[repr(C)]
2504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2505pub struct CalibratedTimestampInfoKHR {
2506 pub s_type: StructureType,
2507 pub next: *const c_void,
2508 pub time_domain: TimeDomainKHR,
2509}
2510
2511impl Default for CalibratedTimestampInfoKHR {
2512 #[inline]
2513 fn default() -> Self {
2514 Self {
2515 s_type: StructureType::CALIBRATED_TIMESTAMP_INFO_KHR,
2516 next: ptr::null(),
2517 time_domain: TimeDomainKHR::default(),
2518 }
2519 }
2520}
2521
2522unsafe impl Send for CalibratedTimestampInfoKHR {}
2523unsafe impl Sync for CalibratedTimestampInfoKHR {}
2524
2525#[repr(C)]
2527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2528pub struct CheckpointData2NV {
2529 pub s_type: StructureType,
2530 pub next: *mut c_void,
2531 pub stage: PipelineStageFlags2,
2532 pub checkpoint_marker: *mut c_void,
2533}
2534
2535impl Default for CheckpointData2NV {
2536 #[inline]
2537 fn default() -> Self {
2538 Self {
2539 s_type: StructureType::CHECKPOINT_DATA_2_NV,
2540 next: ptr::null_mut(),
2541 stage: PipelineStageFlags2::default(),
2542 checkpoint_marker: ptr::null_mut(),
2543 }
2544 }
2545}
2546
2547unsafe impl Send for CheckpointData2NV {}
2548unsafe impl Sync for CheckpointData2NV {}
2549
2550#[repr(C)]
2552#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2553pub struct CheckpointDataNV {
2554 pub s_type: StructureType,
2555 pub next: *mut c_void,
2556 pub stage: PipelineStageFlags,
2557 pub checkpoint_marker: *mut c_void,
2558}
2559
2560impl Default for CheckpointDataNV {
2561 #[inline]
2562 fn default() -> Self {
2563 Self {
2564 s_type: StructureType::CHECKPOINT_DATA_NV,
2565 next: ptr::null_mut(),
2566 stage: PipelineStageFlags::default(),
2567 checkpoint_marker: ptr::null_mut(),
2568 }
2569 }
2570}
2571
2572unsafe impl Send for CheckpointDataNV {}
2573unsafe impl Sync for CheckpointDataNV {}
2574
2575#[repr(C)]
2577#[derive(Copy, Clone, Default, Debug)]
2578pub struct ClearAttachment {
2579 pub aspect_mask: ImageAspectFlags,
2580 pub color_attachment: u32,
2581 pub clear_value: ClearValue,
2582}
2583
2584#[repr(C)]
2586#[derive(Copy, Clone, Default, Debug, PartialEq)]
2587pub struct ClearDepthStencilValue {
2588 pub depth: f32,
2589 pub stencil: u32,
2590}
2591
2592#[repr(C)]
2594#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2595pub struct ClearRect {
2596 pub rect: Rect2D,
2597 pub base_array_layer: u32,
2598 pub layer_count: u32,
2599}
2600
2601#[repr(C)]
2603#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2604pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
2605 pub cluster_references_count: u32,
2606 pub cluster_references_stride: u32,
2607 pub cluster_references: DeviceAddress,
2608}
2609
2610bitfields32! {
2611 struct ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0 {
2612 (triangle_count, with_triangle_count)[0 .. 9],
2613 (vertex_count, with_vertex_count)[9 .. 18],
2614 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2615 (index_type, with_index_type)[24 .. 28],
2616 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2617 }
2618}
2619
2620#[repr(C)]
2622#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2623pub struct ClusterAccelerationStructureBuildTriangleClusterInfoNV {
2624 pub cluster_id: u32,
2625 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2626 pub base_geometry_index_and_geometry_flags:
2627 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2628 pub index_buffer_stride: u16,
2629 pub vertex_buffer_stride: u16,
2630 pub geometry_index_and_flags_buffer_stride: u16,
2631 pub opacity_micromap_index_buffer_stride: u16,
2632 pub index_buffer: DeviceAddress,
2633 pub vertex_buffer: DeviceAddress,
2634 pub geometry_index_and_flags_buffer: DeviceAddress,
2635 pub opacity_micromap_array: DeviceAddress,
2636 pub opacity_micromap_index_buffer: DeviceAddress,
2637 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0,
2638}
2639
2640bitfields32! {
2641 struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0 {
2642 (triangle_count, with_triangle_count)[0 .. 9],
2643 (vertex_count, with_vertex_count)[9 .. 18],
2644 (position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
2645 (index_type, with_index_type)[24 .. 28],
2646 (opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
2647 }
2648}
2649
2650#[repr(C)]
2652#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2653pub struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
2654 pub cluster_id: u32,
2655 pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
2656 pub base_geometry_index_and_geometry_flags:
2657 ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
2658 pub index_buffer_stride: u16,
2659 pub vertex_buffer_stride: u16,
2660 pub geometry_index_and_flags_buffer_stride: u16,
2661 pub opacity_micromap_index_buffer_stride: u16,
2662 pub index_buffer: DeviceAddress,
2663 pub vertex_buffer: DeviceAddress,
2664 pub geometry_index_and_flags_buffer: DeviceAddress,
2665 pub opacity_micromap_array: DeviceAddress,
2666 pub opacity_micromap_index_buffer: DeviceAddress,
2667 pub instantiation_bounding_box_limit: DeviceAddress,
2668 pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0,
2669}
2670
2671#[repr(C)]
2673#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2674pub struct ClusterAccelerationStructureClustersBottomLevelInputNV {
2675 pub s_type: StructureType,
2676 pub next: *mut c_void,
2677 pub max_total_cluster_count: u32,
2678 pub max_cluster_count_per_acceleration_structure: u32,
2679}
2680
2681impl Default for ClusterAccelerationStructureClustersBottomLevelInputNV {
2682 #[inline]
2683 fn default() -> Self {
2684 Self {
2685 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
2686 next: ptr::null_mut(),
2687 max_total_cluster_count: u32::default(),
2688 max_cluster_count_per_acceleration_structure: u32::default(),
2689 }
2690 }
2691}
2692
2693unsafe impl Send for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2694unsafe impl Sync for ClusterAccelerationStructureClustersBottomLevelInputNV {}
2695
2696#[repr(C)]
2698#[derive(Copy, Clone, Debug)]
2699pub struct ClusterAccelerationStructureCommandsInfoNV {
2700 pub s_type: StructureType,
2701 pub next: *mut c_void,
2702 pub input: ClusterAccelerationStructureInputInfoNV,
2703 pub dst_implicit_data: DeviceAddress,
2704 pub scratch_data: DeviceAddress,
2705 pub dst_addresses_array: StridedDeviceAddressRegionKHR,
2706 pub dst_sizes_array: StridedDeviceAddressRegionKHR,
2707 pub src_infos_array: StridedDeviceAddressRegionKHR,
2708 pub src_infos_count: DeviceAddress,
2709 pub address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV,
2710}
2711
2712impl Default for ClusterAccelerationStructureCommandsInfoNV {
2713 #[inline]
2714 fn default() -> Self {
2715 Self {
2716 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
2717 next: ptr::null_mut(),
2718 input: ClusterAccelerationStructureInputInfoNV::default(),
2719 dst_implicit_data: DeviceAddress::default(),
2720 scratch_data: DeviceAddress::default(),
2721 dst_addresses_array: StridedDeviceAddressRegionKHR::default(),
2722 dst_sizes_array: StridedDeviceAddressRegionKHR::default(),
2723 src_infos_array: StridedDeviceAddressRegionKHR::default(),
2724 src_infos_count: DeviceAddress::default(),
2725 address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV::default(
2726 ),
2727 }
2728 }
2729}
2730
2731unsafe impl Send for ClusterAccelerationStructureCommandsInfoNV {}
2732unsafe impl Sync for ClusterAccelerationStructureCommandsInfoNV {}
2733
2734bitfields32! {
2735 struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0 {
2736 (geometry_index, with_geometry_index)[0 .. 24],
2737 (reserved, with_reserved)[24 .. 29],
2738 (geometry_flags, with_geometry_flags)[29 .. 32],
2739 }
2740}
2741
2742#[repr(C)]
2744#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2745pub struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
2746 pub bitfields0: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0,
2747}
2748
2749#[repr(C)]
2751#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2752pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNV {
2753 pub cluster_template_address: DeviceAddress,
2754}
2755
2756#[repr(C)]
2758#[derive(Copy, Clone, Debug)]
2759pub struct ClusterAccelerationStructureInputInfoNV {
2760 pub s_type: StructureType,
2761 pub next: *mut c_void,
2762 pub max_acceleration_structure_count: u32,
2763 pub flags: BuildAccelerationStructureFlagsKHR,
2764 pub op_type: ClusterAccelerationStructureOpTypeNV,
2765 pub op_mode: ClusterAccelerationStructureOpModeNV,
2766 pub op_input: ClusterAccelerationStructureOpInputNV,
2767}
2768
2769impl Default for ClusterAccelerationStructureInputInfoNV {
2770 #[inline]
2771 fn default() -> Self {
2772 Self {
2773 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
2774 next: ptr::null_mut(),
2775 max_acceleration_structure_count: u32::default(),
2776 flags: BuildAccelerationStructureFlagsKHR::default(),
2777 op_type: ClusterAccelerationStructureOpTypeNV::default(),
2778 op_mode: ClusterAccelerationStructureOpModeNV::default(),
2779 op_input: ClusterAccelerationStructureOpInputNV::default(),
2780 }
2781 }
2782}
2783
2784unsafe impl Send for ClusterAccelerationStructureInputInfoNV {}
2785unsafe impl Sync for ClusterAccelerationStructureInputInfoNV {}
2786
2787bitfields32! {
2788 struct ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0 {
2789 (geometry_index_offset, with_geometry_index_offset)[0 .. 24],
2790 (reserved, with_reserved)[24 .. 32],
2791 }
2792}
2793
2794#[repr(C)]
2796#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2797pub struct ClusterAccelerationStructureInstantiateClusterInfoNV {
2798 pub cluster_id_offset: u32,
2799 pub cluster_template_address: DeviceAddress,
2800 pub vertex_buffer: StridedDeviceAddressNV,
2801 pub bitfields0: ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0,
2802}
2803
2804#[repr(C)]
2806#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2807pub struct ClusterAccelerationStructureMoveObjectsInfoNV {
2808 pub src_acceleration_structure: DeviceAddress,
2809}
2810
2811#[repr(C)]
2813#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2814pub struct ClusterAccelerationStructureMoveObjectsInputNV {
2815 pub s_type: StructureType,
2816 pub next: *mut c_void,
2817 pub type_: ClusterAccelerationStructureTypeNV,
2818 pub no_move_overlap: Bool32,
2819 pub max_moved_bytes: DeviceSize,
2820}
2821
2822impl Default for ClusterAccelerationStructureMoveObjectsInputNV {
2823 #[inline]
2824 fn default() -> Self {
2825 Self {
2826 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
2827 next: ptr::null_mut(),
2828 type_: ClusterAccelerationStructureTypeNV::default(),
2829 no_move_overlap: Bool32::default(),
2830 max_moved_bytes: DeviceSize::default(),
2831 }
2832 }
2833}
2834
2835unsafe impl Send for ClusterAccelerationStructureMoveObjectsInputNV {}
2836unsafe impl Sync for ClusterAccelerationStructureMoveObjectsInputNV {}
2837
2838#[repr(C)]
2840#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2841pub struct ClusterAccelerationStructureTriangleClusterInputNV {
2842 pub s_type: StructureType,
2843 pub next: *mut c_void,
2844 pub vertex_format: Format,
2845 pub max_geometry_index_value: u32,
2846 pub max_cluster_unique_geometry_count: u32,
2847 pub max_cluster_triangle_count: u32,
2848 pub max_cluster_vertex_count: u32,
2849 pub max_total_triangle_count: u32,
2850 pub max_total_vertex_count: u32,
2851 pub min_position_truncate_bit_count: u32,
2852}
2853
2854impl Default for ClusterAccelerationStructureTriangleClusterInputNV {
2855 #[inline]
2856 fn default() -> Self {
2857 Self {
2858 s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
2859 next: ptr::null_mut(),
2860 vertex_format: Format::default(),
2861 max_geometry_index_value: u32::default(),
2862 max_cluster_unique_geometry_count: u32::default(),
2863 max_cluster_triangle_count: u32::default(),
2864 max_cluster_vertex_count: u32::default(),
2865 max_total_triangle_count: u32::default(),
2866 max_total_vertex_count: u32::default(),
2867 min_position_truncate_bit_count: u32::default(),
2868 }
2869 }
2870}
2871
2872unsafe impl Send for ClusterAccelerationStructureTriangleClusterInputNV {}
2873unsafe impl Sync for ClusterAccelerationStructureTriangleClusterInputNV {}
2874
2875#[repr(C)]
2877#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2878pub struct CoarseSampleLocationNV {
2879 pub pixel_x: u32,
2880 pub pixel_y: u32,
2881 pub sample: u32,
2882}
2883
2884#[repr(C)]
2886#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2887pub struct CoarseSampleOrderCustomNV {
2888 pub shading_rate: ShadingRatePaletteEntryNV,
2889 pub sample_count: u32,
2890 pub sample_location_count: u32,
2891 pub sample_locations: *const CoarseSampleLocationNV,
2892}
2893
2894impl Default for CoarseSampleOrderCustomNV {
2895 #[inline]
2896 fn default() -> Self {
2897 Self {
2898 shading_rate: ShadingRatePaletteEntryNV::default(),
2899 sample_count: u32::default(),
2900 sample_location_count: u32::default(),
2901 sample_locations: ptr::null(),
2902 }
2903 }
2904}
2905
2906unsafe impl Send for CoarseSampleOrderCustomNV {}
2907unsafe impl Sync for CoarseSampleOrderCustomNV {}
2908
2909#[repr(C)]
2911#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2912pub struct ColorBlendAdvancedEXT {
2913 pub advanced_blend_op: BlendOp,
2914 pub src_premultiplied: Bool32,
2915 pub dst_premultiplied: Bool32,
2916 pub blend_overlap: BlendOverlapEXT,
2917 pub clamp_results: Bool32,
2918}
2919
2920#[repr(C)]
2922#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
2923pub struct ColorBlendEquationEXT {
2924 pub src_color_blend_factor: BlendFactor,
2925 pub dst_color_blend_factor: BlendFactor,
2926 pub color_blend_op: BlendOp,
2927 pub src_alpha_blend_factor: BlendFactor,
2928 pub dst_alpha_blend_factor: BlendFactor,
2929 pub alpha_blend_op: BlendOp,
2930}
2931
2932#[repr(C)]
2934#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2935pub struct CommandBufferAllocateInfo {
2936 pub s_type: StructureType,
2937 pub next: *const c_void,
2938 pub command_pool: CommandPool,
2939 pub level: CommandBufferLevel,
2940 pub command_buffer_count: u32,
2941}
2942
2943impl Default for CommandBufferAllocateInfo {
2944 #[inline]
2945 fn default() -> Self {
2946 Self {
2947 s_type: StructureType::COMMAND_BUFFER_ALLOCATE_INFO,
2948 next: ptr::null(),
2949 command_pool: CommandPool::default(),
2950 level: CommandBufferLevel::default(),
2951 command_buffer_count: u32::default(),
2952 }
2953 }
2954}
2955
2956unsafe impl Send for CommandBufferAllocateInfo {}
2957unsafe impl Sync for CommandBufferAllocateInfo {}
2958
2959#[repr(C)]
2961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2962pub struct CommandBufferBeginInfo {
2963 pub s_type: StructureType,
2964 pub next: *const c_void,
2965 pub flags: CommandBufferUsageFlags,
2966 pub inheritance_info: *const CommandBufferInheritanceInfo,
2967}
2968
2969impl Default for CommandBufferBeginInfo {
2970 #[inline]
2971 fn default() -> Self {
2972 Self {
2973 s_type: StructureType::COMMAND_BUFFER_BEGIN_INFO,
2974 next: ptr::null(),
2975 flags: CommandBufferUsageFlags::default(),
2976 inheritance_info: ptr::null(),
2977 }
2978 }
2979}
2980
2981unsafe impl Send for CommandBufferBeginInfo {}
2982unsafe impl Sync for CommandBufferBeginInfo {}
2983
2984#[repr(C)]
2986#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
2987pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
2988 pub s_type: StructureType,
2989 pub next: *const c_void,
2990 pub conditional_rendering_enable: Bool32,
2991}
2992
2993impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
2994 #[inline]
2995 fn default() -> Self {
2996 Self {
2997 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
2998 next: ptr::null(),
2999 conditional_rendering_enable: Bool32::default(),
3000 }
3001 }
3002}
3003
3004unsafe impl Send for CommandBufferInheritanceConditionalRenderingInfoEXT {}
3005unsafe impl Sync for CommandBufferInheritanceConditionalRenderingInfoEXT {}
3006
3007#[repr(C)]
3009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3010pub struct CommandBufferInheritanceInfo {
3011 pub s_type: StructureType,
3012 pub next: *const c_void,
3013 pub render_pass: RenderPass,
3014 pub subpass: u32,
3015 pub framebuffer: Framebuffer,
3016 pub occlusion_query_enable: Bool32,
3017 pub query_flags: QueryControlFlags,
3018 pub pipeline_statistics: QueryPipelineStatisticFlags,
3019}
3020
3021impl Default for CommandBufferInheritanceInfo {
3022 #[inline]
3023 fn default() -> Self {
3024 Self {
3025 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_INFO,
3026 next: ptr::null(),
3027 render_pass: RenderPass::default(),
3028 subpass: u32::default(),
3029 framebuffer: Framebuffer::default(),
3030 occlusion_query_enable: Bool32::default(),
3031 query_flags: QueryControlFlags::default(),
3032 pipeline_statistics: QueryPipelineStatisticFlags::default(),
3033 }
3034 }
3035}
3036
3037unsafe impl Send for CommandBufferInheritanceInfo {}
3038unsafe impl Sync for CommandBufferInheritanceInfo {}
3039
3040#[repr(C)]
3042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3043pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
3044 pub s_type: StructureType,
3045 pub next: *const c_void,
3046 pub transform: SurfaceTransformFlagsKHR,
3047 pub render_area: Rect2D,
3048}
3049
3050impl Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
3051 #[inline]
3052 fn default() -> Self {
3053 Self {
3054 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
3055 next: ptr::null(),
3056 transform: SurfaceTransformFlagsKHR::default(),
3057 render_area: Rect2D::default(),
3058 }
3059 }
3060}
3061
3062unsafe impl Send for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3063unsafe impl Sync for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
3064
3065#[repr(C)]
3067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3068pub struct CommandBufferInheritanceRenderingInfo {
3069 pub s_type: StructureType,
3070 pub next: *const c_void,
3071 pub flags: RenderingFlags,
3072 pub view_mask: u32,
3073 pub color_attachment_count: u32,
3074 pub color_attachment_formats: *const Format,
3075 pub depth_attachment_format: Format,
3076 pub stencil_attachment_format: Format,
3077 pub rasterization_samples: SampleCountFlags,
3078}
3079
3080impl Default for CommandBufferInheritanceRenderingInfo {
3081 #[inline]
3082 fn default() -> Self {
3083 Self {
3084 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
3085 next: ptr::null(),
3086 flags: RenderingFlags::default(),
3087 view_mask: u32::default(),
3088 color_attachment_count: u32::default(),
3089 color_attachment_formats: ptr::null(),
3090 depth_attachment_format: Format::default(),
3091 stencil_attachment_format: Format::default(),
3092 rasterization_samples: SampleCountFlags::default(),
3093 }
3094 }
3095}
3096
3097unsafe impl Send for CommandBufferInheritanceRenderingInfo {}
3098unsafe impl Sync for CommandBufferInheritanceRenderingInfo {}
3099
3100#[repr(C)]
3102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3103pub struct CommandBufferInheritanceViewportScissorInfoNV {
3104 pub s_type: StructureType,
3105 pub next: *const c_void,
3106 pub viewport_scissor_2d: Bool32,
3107 pub viewport_depth_count: u32,
3108 pub viewport_depths: *const Viewport,
3109}
3110
3111impl Default for CommandBufferInheritanceViewportScissorInfoNV {
3112 #[inline]
3113 fn default() -> Self {
3114 Self {
3115 s_type: StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
3116 next: ptr::null(),
3117 viewport_scissor_2d: Bool32::default(),
3118 viewport_depth_count: u32::default(),
3119 viewport_depths: ptr::null(),
3120 }
3121 }
3122}
3123
3124unsafe impl Send for CommandBufferInheritanceViewportScissorInfoNV {}
3125unsafe impl Sync for CommandBufferInheritanceViewportScissorInfoNV {}
3126
3127#[repr(C)]
3129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3130pub struct CommandBufferSubmitInfo {
3131 pub s_type: StructureType,
3132 pub next: *const c_void,
3133 pub command_buffer: CommandBuffer,
3134 pub device_mask: u32,
3135}
3136
3137impl Default for CommandBufferSubmitInfo {
3138 #[inline]
3139 fn default() -> Self {
3140 Self {
3141 s_type: StructureType::COMMAND_BUFFER_SUBMIT_INFO,
3142 next: ptr::null(),
3143 command_buffer: CommandBuffer::default(),
3144 device_mask: u32::default(),
3145 }
3146 }
3147}
3148
3149unsafe impl Send for CommandBufferSubmitInfo {}
3150unsafe impl Sync for CommandBufferSubmitInfo {}
3151
3152#[repr(C)]
3154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3155pub struct CommandPoolCreateInfo {
3156 pub s_type: StructureType,
3157 pub next: *const c_void,
3158 pub flags: CommandPoolCreateFlags,
3159 pub queue_family_index: u32,
3160}
3161
3162impl Default for CommandPoolCreateInfo {
3163 #[inline]
3164 fn default() -> Self {
3165 Self {
3166 s_type: StructureType::COMMAND_POOL_CREATE_INFO,
3167 next: ptr::null(),
3168 flags: CommandPoolCreateFlags::default(),
3169 queue_family_index: u32::default(),
3170 }
3171 }
3172}
3173
3174unsafe impl Send for CommandPoolCreateInfo {}
3175unsafe impl Sync for CommandPoolCreateInfo {}
3176
3177#[repr(C)]
3179#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3180pub struct ComponentMapping {
3181 pub r: ComponentSwizzle,
3182 pub g: ComponentSwizzle,
3183 pub b: ComponentSwizzle,
3184 pub a: ComponentSwizzle,
3185}
3186
3187#[repr(C)]
3189#[derive(Copy, Clone, Debug, PartialEq)]
3190pub struct ComputeOccupancyPriorityParametersNV {
3191 pub s_type: StructureType,
3192 pub next: *const c_void,
3193 pub occupancy_priority: f32,
3194 pub occupancy_throttling: f32,
3195}
3196
3197impl Default for ComputeOccupancyPriorityParametersNV {
3198 #[inline]
3199 fn default() -> Self {
3200 Self {
3201 s_type: StructureType::COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV,
3202 next: ptr::null(),
3203 occupancy_priority: f32::default(),
3204 occupancy_throttling: f32::default(),
3205 }
3206 }
3207}
3208
3209unsafe impl Send for ComputeOccupancyPriorityParametersNV {}
3210unsafe impl Sync for ComputeOccupancyPriorityParametersNV {}
3211
3212#[repr(C)]
3214#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3215pub struct ComputePipelineCreateInfo {
3216 pub s_type: StructureType,
3217 pub next: *const c_void,
3218 pub flags: PipelineCreateFlags,
3219 pub stage: PipelineShaderStageCreateInfo,
3220 pub layout: PipelineLayout,
3221 pub base_pipeline_handle: Pipeline,
3222 pub base_pipeline_index: i32,
3223}
3224
3225impl Default for ComputePipelineCreateInfo {
3226 #[inline]
3227 fn default() -> Self {
3228 Self {
3229 s_type: StructureType::COMPUTE_PIPELINE_CREATE_INFO,
3230 next: ptr::null(),
3231 flags: PipelineCreateFlags::default(),
3232 stage: PipelineShaderStageCreateInfo::default(),
3233 layout: PipelineLayout::default(),
3234 base_pipeline_handle: Pipeline::default(),
3235 base_pipeline_index: i32::default(),
3236 }
3237 }
3238}
3239
3240unsafe impl Send for ComputePipelineCreateInfo {}
3241unsafe impl Sync for ComputePipelineCreateInfo {}
3242
3243#[repr(C)]
3245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3246pub struct ComputePipelineIndirectBufferInfoNV {
3247 pub s_type: StructureType,
3248 pub next: *const c_void,
3249 pub device_address: DeviceAddress,
3250 pub size: DeviceSize,
3251 pub pipeline_device_address_capture_replay: DeviceAddress,
3252}
3253
3254impl Default for ComputePipelineIndirectBufferInfoNV {
3255 #[inline]
3256 fn default() -> Self {
3257 Self {
3258 s_type: StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
3259 next: ptr::null(),
3260 device_address: DeviceAddress::default(),
3261 size: DeviceSize::default(),
3262 pipeline_device_address_capture_replay: DeviceAddress::default(),
3263 }
3264 }
3265}
3266
3267unsafe impl Send for ComputePipelineIndirectBufferInfoNV {}
3268unsafe impl Sync for ComputePipelineIndirectBufferInfoNV {}
3269
3270#[repr(C)]
3272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3273pub struct ConditionalRenderingBeginInfoEXT {
3274 pub s_type: StructureType,
3275 pub next: *const c_void,
3276 pub buffer: Buffer,
3277 pub offset: DeviceSize,
3278 pub flags: ConditionalRenderingFlagsEXT,
3279}
3280
3281impl Default for ConditionalRenderingBeginInfoEXT {
3282 #[inline]
3283 fn default() -> Self {
3284 Self {
3285 s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
3286 next: ptr::null(),
3287 buffer: Buffer::default(),
3288 offset: DeviceSize::default(),
3289 flags: ConditionalRenderingFlagsEXT::default(),
3290 }
3291 }
3292}
3293
3294unsafe impl Send for ConditionalRenderingBeginInfoEXT {}
3295unsafe impl Sync for ConditionalRenderingBeginInfoEXT {}
3296
3297#[repr(C)]
3299#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3300pub struct ConformanceVersion {
3301 pub major: u8,
3302 pub minor: u8,
3303 pub subminor: u8,
3304 pub patch: u8,
3305}
3306
3307#[repr(C)]
3309#[derive(Copy, Clone, Debug)]
3310pub struct ConvertCooperativeVectorMatrixInfoNV {
3311 pub s_type: StructureType,
3312 pub next: *const c_void,
3313 pub src_size: usize,
3314 pub src_data: DeviceOrHostAddressConstKHR,
3315 pub dst_size: *mut usize,
3316 pub dst_data: DeviceOrHostAddressKHR,
3317 pub src_component_type: ComponentTypeKHR,
3318 pub dst_component_type: ComponentTypeKHR,
3319 pub num_rows: u32,
3320 pub num_columns: u32,
3321 pub src_layout: CooperativeVectorMatrixLayoutNV,
3322 pub src_stride: usize,
3323 pub dst_layout: CooperativeVectorMatrixLayoutNV,
3324 pub dst_stride: usize,
3325}
3326
3327impl Default for ConvertCooperativeVectorMatrixInfoNV {
3328 #[inline]
3329 fn default() -> Self {
3330 Self {
3331 s_type: StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
3332 next: ptr::null(),
3333 src_size: usize::default(),
3334 src_data: DeviceOrHostAddressConstKHR::default(),
3335 dst_size: ptr::null_mut(),
3336 dst_data: DeviceOrHostAddressKHR::default(),
3337 src_component_type: ComponentTypeKHR::default(),
3338 dst_component_type: ComponentTypeKHR::default(),
3339 num_rows: u32::default(),
3340 num_columns: u32::default(),
3341 src_layout: CooperativeVectorMatrixLayoutNV::default(),
3342 src_stride: usize::default(),
3343 dst_layout: CooperativeVectorMatrixLayoutNV::default(),
3344 dst_stride: usize::default(),
3345 }
3346 }
3347}
3348
3349unsafe impl Send for ConvertCooperativeVectorMatrixInfoNV {}
3350unsafe impl Sync for ConvertCooperativeVectorMatrixInfoNV {}
3351
3352#[repr(C)]
3354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3355pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV {
3356 pub s_type: StructureType,
3357 pub next: *mut c_void,
3358 pub m_granularity: u32,
3359 pub n_granularity: u32,
3360 pub k_granularity: u32,
3361 pub a_type: ComponentTypeKHR,
3362 pub b_type: ComponentTypeKHR,
3363 pub c_type: ComponentTypeKHR,
3364 pub result_type: ComponentTypeKHR,
3365 pub saturating_accumulation: Bool32,
3366 pub scope: ScopeKHR,
3367 pub workgroup_invocations: u32,
3368}
3369
3370impl Default for CooperativeMatrixFlexibleDimensionsPropertiesNV {
3371 #[inline]
3372 fn default() -> Self {
3373 Self {
3374 s_type: StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
3375 next: ptr::null_mut(),
3376 m_granularity: u32::default(),
3377 n_granularity: u32::default(),
3378 k_granularity: u32::default(),
3379 a_type: ComponentTypeKHR::default(),
3380 b_type: ComponentTypeKHR::default(),
3381 c_type: ComponentTypeKHR::default(),
3382 result_type: ComponentTypeKHR::default(),
3383 saturating_accumulation: Bool32::default(),
3384 scope: ScopeKHR::default(),
3385 workgroup_invocations: u32::default(),
3386 }
3387 }
3388}
3389
3390unsafe impl Send for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3391unsafe impl Sync for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
3392
3393#[repr(C)]
3395#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3396pub struct CooperativeMatrixPropertiesKHR {
3397 pub s_type: StructureType,
3398 pub next: *mut c_void,
3399 pub m_size: u32,
3400 pub n_size: u32,
3401 pub k_size: u32,
3402 pub a_type: ComponentTypeKHR,
3403 pub b_type: ComponentTypeKHR,
3404 pub c_type: ComponentTypeKHR,
3405 pub result_type: ComponentTypeKHR,
3406 pub saturating_accumulation: Bool32,
3407 pub scope: ScopeKHR,
3408}
3409
3410impl Default for CooperativeMatrixPropertiesKHR {
3411 #[inline]
3412 fn default() -> Self {
3413 Self {
3414 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR,
3415 next: ptr::null_mut(),
3416 m_size: u32::default(),
3417 n_size: u32::default(),
3418 k_size: u32::default(),
3419 a_type: ComponentTypeKHR::default(),
3420 b_type: ComponentTypeKHR::default(),
3421 c_type: ComponentTypeKHR::default(),
3422 result_type: ComponentTypeKHR::default(),
3423 saturating_accumulation: Bool32::default(),
3424 scope: ScopeKHR::default(),
3425 }
3426 }
3427}
3428
3429unsafe impl Send for CooperativeMatrixPropertiesKHR {}
3430unsafe impl Sync for CooperativeMatrixPropertiesKHR {}
3431
3432#[repr(C)]
3434#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3435pub struct CooperativeMatrixPropertiesNV {
3436 pub s_type: StructureType,
3437 pub next: *mut c_void,
3438 pub m_size: u32,
3439 pub n_size: u32,
3440 pub k_size: u32,
3441 pub a_type: ComponentTypeNV,
3442 pub b_type: ComponentTypeNV,
3443 pub c_type: ComponentTypeNV,
3444 pub d_type: ComponentTypeNV,
3445 pub scope: ScopeNV,
3446}
3447
3448impl Default for CooperativeMatrixPropertiesNV {
3449 #[inline]
3450 fn default() -> Self {
3451 Self {
3452 s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV,
3453 next: ptr::null_mut(),
3454 m_size: u32::default(),
3455 n_size: u32::default(),
3456 k_size: u32::default(),
3457 a_type: ComponentTypeNV::default(),
3458 b_type: ComponentTypeNV::default(),
3459 c_type: ComponentTypeNV::default(),
3460 d_type: ComponentTypeNV::default(),
3461 scope: ScopeNV::default(),
3462 }
3463 }
3464}
3465
3466unsafe impl Send for CooperativeMatrixPropertiesNV {}
3467unsafe impl Sync for CooperativeMatrixPropertiesNV {}
3468
3469#[repr(C)]
3471#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3472pub struct CooperativeVectorPropertiesNV {
3473 pub s_type: StructureType,
3474 pub next: *mut c_void,
3475 pub input_type: ComponentTypeKHR,
3476 pub input_interpretation: ComponentTypeKHR,
3477 pub matrix_interpretation: ComponentTypeKHR,
3478 pub bias_interpretation: ComponentTypeKHR,
3479 pub result_type: ComponentTypeKHR,
3480 pub transpose: Bool32,
3481}
3482
3483impl Default for CooperativeVectorPropertiesNV {
3484 #[inline]
3485 fn default() -> Self {
3486 Self {
3487 s_type: StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV,
3488 next: ptr::null_mut(),
3489 input_type: ComponentTypeKHR::default(),
3490 input_interpretation: ComponentTypeKHR::default(),
3491 matrix_interpretation: ComponentTypeKHR::default(),
3492 bias_interpretation: ComponentTypeKHR::default(),
3493 result_type: ComponentTypeKHR::default(),
3494 transpose: Bool32::default(),
3495 }
3496 }
3497}
3498
3499unsafe impl Send for CooperativeVectorPropertiesNV {}
3500unsafe impl Sync for CooperativeVectorPropertiesNV {}
3501
3502#[repr(C)]
3504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3505pub struct CopyAccelerationStructureInfoKHR {
3506 pub s_type: StructureType,
3507 pub next: *const c_void,
3508 pub src: AccelerationStructureKHR,
3509 pub dst: AccelerationStructureKHR,
3510 pub mode: CopyAccelerationStructureModeKHR,
3511}
3512
3513impl Default for CopyAccelerationStructureInfoKHR {
3514 #[inline]
3515 fn default() -> Self {
3516 Self {
3517 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR,
3518 next: ptr::null(),
3519 src: AccelerationStructureKHR::default(),
3520 dst: AccelerationStructureKHR::default(),
3521 mode: CopyAccelerationStructureModeKHR::default(),
3522 }
3523 }
3524}
3525
3526unsafe impl Send for CopyAccelerationStructureInfoKHR {}
3527unsafe impl Sync for CopyAccelerationStructureInfoKHR {}
3528
3529#[repr(C)]
3531#[derive(Copy, Clone, Debug)]
3532pub struct CopyAccelerationStructureToMemoryInfoKHR {
3533 pub s_type: StructureType,
3534 pub next: *const c_void,
3535 pub src: AccelerationStructureKHR,
3536 pub dst: DeviceOrHostAddressKHR,
3537 pub mode: CopyAccelerationStructureModeKHR,
3538}
3539
3540impl Default for CopyAccelerationStructureToMemoryInfoKHR {
3541 #[inline]
3542 fn default() -> Self {
3543 Self {
3544 s_type: StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
3545 next: ptr::null(),
3546 src: AccelerationStructureKHR::default(),
3547 dst: DeviceOrHostAddressKHR::default(),
3548 mode: CopyAccelerationStructureModeKHR::default(),
3549 }
3550 }
3551}
3552
3553unsafe impl Send for CopyAccelerationStructureToMemoryInfoKHR {}
3554unsafe impl Sync for CopyAccelerationStructureToMemoryInfoKHR {}
3555
3556#[repr(C)]
3558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3559pub struct CopyBufferInfo2 {
3560 pub s_type: StructureType,
3561 pub next: *const c_void,
3562 pub src_buffer: Buffer,
3563 pub dst_buffer: Buffer,
3564 pub region_count: u32,
3565 pub regions: *const BufferCopy2,
3566}
3567
3568impl Default for CopyBufferInfo2 {
3569 #[inline]
3570 fn default() -> Self {
3571 Self {
3572 s_type: StructureType::COPY_BUFFER_INFO_2,
3573 next: ptr::null(),
3574 src_buffer: Buffer::default(),
3575 dst_buffer: Buffer::default(),
3576 region_count: u32::default(),
3577 regions: ptr::null(),
3578 }
3579 }
3580}
3581
3582unsafe impl Send for CopyBufferInfo2 {}
3583unsafe impl Sync for CopyBufferInfo2 {}
3584
3585#[repr(C)]
3587#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3588pub struct CopyBufferToImageInfo2 {
3589 pub s_type: StructureType,
3590 pub next: *const c_void,
3591 pub src_buffer: Buffer,
3592 pub dst_image: Image,
3593 pub dst_image_layout: ImageLayout,
3594 pub region_count: u32,
3595 pub regions: *const BufferImageCopy2,
3596}
3597
3598impl Default for CopyBufferToImageInfo2 {
3599 #[inline]
3600 fn default() -> Self {
3601 Self {
3602 s_type: StructureType::COPY_BUFFER_TO_IMAGE_INFO_2,
3603 next: ptr::null(),
3604 src_buffer: Buffer::default(),
3605 dst_image: Image::default(),
3606 dst_image_layout: ImageLayout::default(),
3607 region_count: u32::default(),
3608 regions: ptr::null(),
3609 }
3610 }
3611}
3612
3613unsafe impl Send for CopyBufferToImageInfo2 {}
3614unsafe impl Sync for CopyBufferToImageInfo2 {}
3615
3616#[repr(C)]
3618#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3619pub struct CopyCommandTransformInfoQCOM {
3620 pub s_type: StructureType,
3621 pub next: *const c_void,
3622 pub transform: SurfaceTransformFlagsKHR,
3623}
3624
3625impl Default for CopyCommandTransformInfoQCOM {
3626 #[inline]
3627 fn default() -> Self {
3628 Self {
3629 s_type: StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM,
3630 next: ptr::null(),
3631 transform: SurfaceTransformFlagsKHR::default(),
3632 }
3633 }
3634}
3635
3636unsafe impl Send for CopyCommandTransformInfoQCOM {}
3637unsafe impl Sync for CopyCommandTransformInfoQCOM {}
3638
3639#[repr(C)]
3641#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3642pub struct CopyDescriptorSet {
3643 pub s_type: StructureType,
3644 pub next: *const c_void,
3645 pub src_set: DescriptorSet,
3646 pub src_binding: u32,
3647 pub src_array_element: u32,
3648 pub dst_set: DescriptorSet,
3649 pub dst_binding: u32,
3650 pub dst_array_element: u32,
3651 pub descriptor_count: u32,
3652}
3653
3654impl Default for CopyDescriptorSet {
3655 #[inline]
3656 fn default() -> Self {
3657 Self {
3658 s_type: StructureType::COPY_DESCRIPTOR_SET,
3659 next: ptr::null(),
3660 src_set: DescriptorSet::default(),
3661 src_binding: u32::default(),
3662 src_array_element: u32::default(),
3663 dst_set: DescriptorSet::default(),
3664 dst_binding: u32::default(),
3665 dst_array_element: u32::default(),
3666 descriptor_count: u32::default(),
3667 }
3668 }
3669}
3670
3671unsafe impl Send for CopyDescriptorSet {}
3672unsafe impl Sync for CopyDescriptorSet {}
3673
3674#[repr(C)]
3676#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3677pub struct CopyImageInfo2 {
3678 pub s_type: StructureType,
3679 pub next: *const c_void,
3680 pub src_image: Image,
3681 pub src_image_layout: ImageLayout,
3682 pub dst_image: Image,
3683 pub dst_image_layout: ImageLayout,
3684 pub region_count: u32,
3685 pub regions: *const ImageCopy2,
3686}
3687
3688impl Default for CopyImageInfo2 {
3689 #[inline]
3690 fn default() -> Self {
3691 Self {
3692 s_type: StructureType::COPY_IMAGE_INFO_2,
3693 next: ptr::null(),
3694 src_image: Image::default(),
3695 src_image_layout: ImageLayout::default(),
3696 dst_image: Image::default(),
3697 dst_image_layout: ImageLayout::default(),
3698 region_count: u32::default(),
3699 regions: ptr::null(),
3700 }
3701 }
3702}
3703
3704unsafe impl Send for CopyImageInfo2 {}
3705unsafe impl Sync for CopyImageInfo2 {}
3706
3707#[repr(C)]
3709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3710pub struct CopyImageToBufferInfo2 {
3711 pub s_type: StructureType,
3712 pub next: *const c_void,
3713 pub src_image: Image,
3714 pub src_image_layout: ImageLayout,
3715 pub dst_buffer: Buffer,
3716 pub region_count: u32,
3717 pub regions: *const BufferImageCopy2,
3718}
3719
3720impl Default for CopyImageToBufferInfo2 {
3721 #[inline]
3722 fn default() -> Self {
3723 Self {
3724 s_type: StructureType::COPY_IMAGE_TO_BUFFER_INFO_2,
3725 next: ptr::null(),
3726 src_image: Image::default(),
3727 src_image_layout: ImageLayout::default(),
3728 dst_buffer: Buffer::default(),
3729 region_count: u32::default(),
3730 regions: ptr::null(),
3731 }
3732 }
3733}
3734
3735unsafe impl Send for CopyImageToBufferInfo2 {}
3736unsafe impl Sync for CopyImageToBufferInfo2 {}
3737
3738#[repr(C)]
3740#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3741pub struct CopyImageToImageInfo {
3742 pub s_type: StructureType,
3743 pub next: *const c_void,
3744 pub flags: HostImageCopyFlags,
3745 pub src_image: Image,
3746 pub src_image_layout: ImageLayout,
3747 pub dst_image: Image,
3748 pub dst_image_layout: ImageLayout,
3749 pub region_count: u32,
3750 pub regions: *const ImageCopy2,
3751}
3752
3753impl Default for CopyImageToImageInfo {
3754 #[inline]
3755 fn default() -> Self {
3756 Self {
3757 s_type: StructureType::COPY_IMAGE_TO_IMAGE_INFO,
3758 next: ptr::null(),
3759 flags: HostImageCopyFlags::default(),
3760 src_image: Image::default(),
3761 src_image_layout: ImageLayout::default(),
3762 dst_image: Image::default(),
3763 dst_image_layout: ImageLayout::default(),
3764 region_count: u32::default(),
3765 regions: ptr::null(),
3766 }
3767 }
3768}
3769
3770unsafe impl Send for CopyImageToImageInfo {}
3771unsafe impl Sync for CopyImageToImageInfo {}
3772
3773#[repr(C)]
3775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3776pub struct CopyImageToMemoryInfo {
3777 pub s_type: StructureType,
3778 pub next: *const c_void,
3779 pub flags: HostImageCopyFlags,
3780 pub src_image: Image,
3781 pub src_image_layout: ImageLayout,
3782 pub region_count: u32,
3783 pub regions: *const ImageToMemoryCopy,
3784}
3785
3786impl Default for CopyImageToMemoryInfo {
3787 #[inline]
3788 fn default() -> Self {
3789 Self {
3790 s_type: StructureType::COPY_IMAGE_TO_MEMORY_INFO,
3791 next: ptr::null(),
3792 flags: HostImageCopyFlags::default(),
3793 src_image: Image::default(),
3794 src_image_layout: ImageLayout::default(),
3795 region_count: u32::default(),
3796 regions: ptr::null(),
3797 }
3798 }
3799}
3800
3801unsafe impl Send for CopyImageToMemoryInfo {}
3802unsafe impl Sync for CopyImageToMemoryInfo {}
3803
3804#[repr(C)]
3806#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3807pub struct CopyMemoryIndirectCommandKHR {
3808 pub src_address: DeviceAddress,
3809 pub dst_address: DeviceAddress,
3810 pub size: DeviceSize,
3811}
3812
3813#[repr(C)]
3815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3816pub struct CopyMemoryIndirectInfoKHR {
3817 pub s_type: StructureType,
3818 pub next: *const c_void,
3819 pub src_copy_flags: AddressCopyFlagsKHR,
3820 pub dst_copy_flags: AddressCopyFlagsKHR,
3821 pub copy_count: u32,
3822 pub copy_address_range: StridedDeviceAddressRangeKHR,
3823}
3824
3825impl Default for CopyMemoryIndirectInfoKHR {
3826 #[inline]
3827 fn default() -> Self {
3828 Self {
3829 s_type: StructureType::COPY_MEMORY_INDIRECT_INFO_KHR,
3830 next: ptr::null(),
3831 src_copy_flags: AddressCopyFlagsKHR::default(),
3832 dst_copy_flags: AddressCopyFlagsKHR::default(),
3833 copy_count: u32::default(),
3834 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3835 }
3836 }
3837}
3838
3839unsafe impl Send for CopyMemoryIndirectInfoKHR {}
3840unsafe impl Sync for CopyMemoryIndirectInfoKHR {}
3841
3842#[repr(C)]
3844#[derive(Copy, Clone, Debug)]
3845pub struct CopyMemoryToAccelerationStructureInfoKHR {
3846 pub s_type: StructureType,
3847 pub next: *const c_void,
3848 pub src: DeviceOrHostAddressConstKHR,
3849 pub dst: AccelerationStructureKHR,
3850 pub mode: CopyAccelerationStructureModeKHR,
3851}
3852
3853impl Default for CopyMemoryToAccelerationStructureInfoKHR {
3854 #[inline]
3855 fn default() -> Self {
3856 Self {
3857 s_type: StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
3858 next: ptr::null(),
3859 src: DeviceOrHostAddressConstKHR::default(),
3860 dst: AccelerationStructureKHR::default(),
3861 mode: CopyAccelerationStructureModeKHR::default(),
3862 }
3863 }
3864}
3865
3866unsafe impl Send for CopyMemoryToAccelerationStructureInfoKHR {}
3867unsafe impl Sync for CopyMemoryToAccelerationStructureInfoKHR {}
3868
3869#[repr(C)]
3871#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
3872pub struct CopyMemoryToImageIndirectCommandKHR {
3873 pub src_address: DeviceAddress,
3874 pub buffer_row_length: u32,
3875 pub buffer_image_height: u32,
3876 pub image_subresource: ImageSubresourceLayers,
3877 pub image_offset: Offset3D,
3878 pub image_extent: Extent3D,
3879}
3880
3881#[repr(C)]
3883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3884pub struct CopyMemoryToImageIndirectInfoKHR {
3885 pub s_type: StructureType,
3886 pub next: *const c_void,
3887 pub src_copy_flags: AddressCopyFlagsKHR,
3888 pub copy_count: u32,
3889 pub copy_address_range: StridedDeviceAddressRangeKHR,
3890 pub dst_image: Image,
3891 pub dst_image_layout: ImageLayout,
3892 pub image_subresources: *const ImageSubresourceLayers,
3893}
3894
3895impl Default for CopyMemoryToImageIndirectInfoKHR {
3896 #[inline]
3897 fn default() -> Self {
3898 Self {
3899 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR,
3900 next: ptr::null(),
3901 src_copy_flags: AddressCopyFlagsKHR::default(),
3902 copy_count: u32::default(),
3903 copy_address_range: StridedDeviceAddressRangeKHR::default(),
3904 dst_image: Image::default(),
3905 dst_image_layout: ImageLayout::default(),
3906 image_subresources: ptr::null(),
3907 }
3908 }
3909}
3910
3911unsafe impl Send for CopyMemoryToImageIndirectInfoKHR {}
3912unsafe impl Sync for CopyMemoryToImageIndirectInfoKHR {}
3913
3914#[repr(C)]
3916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3917pub struct CopyMemoryToImageInfo {
3918 pub s_type: StructureType,
3919 pub next: *const c_void,
3920 pub flags: HostImageCopyFlags,
3921 pub dst_image: Image,
3922 pub dst_image_layout: ImageLayout,
3923 pub region_count: u32,
3924 pub regions: *const MemoryToImageCopy,
3925}
3926
3927impl Default for CopyMemoryToImageInfo {
3928 #[inline]
3929 fn default() -> Self {
3930 Self {
3931 s_type: StructureType::COPY_MEMORY_TO_IMAGE_INFO,
3932 next: ptr::null(),
3933 flags: HostImageCopyFlags::default(),
3934 dst_image: Image::default(),
3935 dst_image_layout: ImageLayout::default(),
3936 region_count: u32::default(),
3937 regions: ptr::null(),
3938 }
3939 }
3940}
3941
3942unsafe impl Send for CopyMemoryToImageInfo {}
3943unsafe impl Sync for CopyMemoryToImageInfo {}
3944
3945#[repr(C)]
3947#[derive(Copy, Clone, Debug)]
3948pub struct CopyMemoryToMicromapInfoEXT {
3949 pub s_type: StructureType,
3950 pub next: *const c_void,
3951 pub src: DeviceOrHostAddressConstKHR,
3952 pub dst: MicromapEXT,
3953 pub mode: CopyMicromapModeEXT,
3954}
3955
3956impl Default for CopyMemoryToMicromapInfoEXT {
3957 #[inline]
3958 fn default() -> Self {
3959 Self {
3960 s_type: StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT,
3961 next: ptr::null(),
3962 src: DeviceOrHostAddressConstKHR::default(),
3963 dst: MicromapEXT::default(),
3964 mode: CopyMicromapModeEXT::default(),
3965 }
3966 }
3967}
3968
3969unsafe impl Send for CopyMemoryToMicromapInfoEXT {}
3970unsafe impl Sync for CopyMemoryToMicromapInfoEXT {}
3971
3972#[repr(C)]
3974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
3975pub struct CopyMicromapInfoEXT {
3976 pub s_type: StructureType,
3977 pub next: *const c_void,
3978 pub src: MicromapEXT,
3979 pub dst: MicromapEXT,
3980 pub mode: CopyMicromapModeEXT,
3981}
3982
3983impl Default for CopyMicromapInfoEXT {
3984 #[inline]
3985 fn default() -> Self {
3986 Self {
3987 s_type: StructureType::COPY_MICROMAP_INFO_EXT,
3988 next: ptr::null(),
3989 src: MicromapEXT::default(),
3990 dst: MicromapEXT::default(),
3991 mode: CopyMicromapModeEXT::default(),
3992 }
3993 }
3994}
3995
3996unsafe impl Send for CopyMicromapInfoEXT {}
3997unsafe impl Sync for CopyMicromapInfoEXT {}
3998
3999#[repr(C)]
4001#[derive(Copy, Clone, Debug)]
4002pub struct CopyMicromapToMemoryInfoEXT {
4003 pub s_type: StructureType,
4004 pub next: *const c_void,
4005 pub src: MicromapEXT,
4006 pub dst: DeviceOrHostAddressKHR,
4007 pub mode: CopyMicromapModeEXT,
4008}
4009
4010impl Default for CopyMicromapToMemoryInfoEXT {
4011 #[inline]
4012 fn default() -> Self {
4013 Self {
4014 s_type: StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT,
4015 next: ptr::null(),
4016 src: MicromapEXT::default(),
4017 dst: DeviceOrHostAddressKHR::default(),
4018 mode: CopyMicromapModeEXT::default(),
4019 }
4020 }
4021}
4022
4023unsafe impl Send for CopyMicromapToMemoryInfoEXT {}
4024unsafe impl Sync for CopyMicromapToMemoryInfoEXT {}
4025
4026#[repr(C)]
4028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4029pub struct CopyTensorInfoARM {
4030 pub s_type: StructureType,
4031 pub next: *const c_void,
4032 pub src_tensor: TensorARM,
4033 pub dst_tensor: TensorARM,
4034 pub region_count: u32,
4035 pub regions: *const TensorCopyARM,
4036}
4037
4038impl Default for CopyTensorInfoARM {
4039 #[inline]
4040 fn default() -> Self {
4041 Self {
4042 s_type: StructureType::COPY_TENSOR_INFO_ARM,
4043 next: ptr::null(),
4044 src_tensor: TensorARM::default(),
4045 dst_tensor: TensorARM::default(),
4046 region_count: u32::default(),
4047 regions: ptr::null(),
4048 }
4049 }
4050}
4051
4052unsafe impl Send for CopyTensorInfoARM {}
4053unsafe impl Sync for CopyTensorInfoARM {}
4054
4055#[repr(C)]
4057#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4058pub struct CuFunctionCreateInfoNVX {
4059 pub s_type: StructureType,
4060 pub next: *const c_void,
4061 pub module: CuModuleNVX,
4062 pub name: *const c_char,
4063}
4064
4065impl Default for CuFunctionCreateInfoNVX {
4066 #[inline]
4067 fn default() -> Self {
4068 Self {
4069 s_type: StructureType::CU_FUNCTION_CREATE_INFO_NVX,
4070 next: ptr::null(),
4071 module: CuModuleNVX::default(),
4072 name: ptr::null(),
4073 }
4074 }
4075}
4076
4077unsafe impl Send for CuFunctionCreateInfoNVX {}
4078unsafe impl Sync for CuFunctionCreateInfoNVX {}
4079
4080#[repr(C)]
4082#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4083pub struct CuLaunchInfoNVX {
4084 pub s_type: StructureType,
4085 pub next: *const c_void,
4086 pub function: CuFunctionNVX,
4087 pub grid_dim_x: u32,
4088 pub grid_dim_y: u32,
4089 pub grid_dim_z: u32,
4090 pub block_dim_x: u32,
4091 pub block_dim_y: u32,
4092 pub block_dim_z: u32,
4093 pub shared_mem_bytes: u32,
4094 pub param_count: usize,
4095 pub params: *const c_void,
4096 pub extra_count: usize,
4097 pub extras: *const c_void,
4098}
4099
4100impl Default for CuLaunchInfoNVX {
4101 #[inline]
4102 fn default() -> Self {
4103 Self {
4104 s_type: StructureType::CU_LAUNCH_INFO_NVX,
4105 next: ptr::null(),
4106 function: CuFunctionNVX::default(),
4107 grid_dim_x: u32::default(),
4108 grid_dim_y: u32::default(),
4109 grid_dim_z: u32::default(),
4110 block_dim_x: u32::default(),
4111 block_dim_y: u32::default(),
4112 block_dim_z: u32::default(),
4113 shared_mem_bytes: u32::default(),
4114 param_count: usize::default(),
4115 params: ptr::null(),
4116 extra_count: usize::default(),
4117 extras: ptr::null(),
4118 }
4119 }
4120}
4121
4122unsafe impl Send for CuLaunchInfoNVX {}
4123unsafe impl Sync for CuLaunchInfoNVX {}
4124
4125#[repr(C)]
4127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4128pub struct CuModuleCreateInfoNVX {
4129 pub s_type: StructureType,
4130 pub next: *const c_void,
4131 pub data_size: usize,
4132 pub data: *const c_void,
4133}
4134
4135impl Default for CuModuleCreateInfoNVX {
4136 #[inline]
4137 fn default() -> Self {
4138 Self {
4139 s_type: StructureType::CU_MODULE_CREATE_INFO_NVX,
4140 next: ptr::null(),
4141 data_size: usize::default(),
4142 data: ptr::null(),
4143 }
4144 }
4145}
4146
4147unsafe impl Send for CuModuleCreateInfoNVX {}
4148unsafe impl Sync for CuModuleCreateInfoNVX {}
4149
4150#[repr(C)]
4152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4153pub struct CuModuleTexturingModeCreateInfoNVX {
4154 pub s_type: StructureType,
4155 pub next: *const c_void,
4156 pub use64bit_texturing: Bool32,
4157}
4158
4159impl Default for CuModuleTexturingModeCreateInfoNVX {
4160 #[inline]
4161 fn default() -> Self {
4162 Self {
4163 s_type: StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
4164 next: ptr::null(),
4165 use64bit_texturing: Bool32::default(),
4166 }
4167 }
4168}
4169
4170unsafe impl Send for CuModuleTexturingModeCreateInfoNVX {}
4171unsafe impl Sync for CuModuleTexturingModeCreateInfoNVX {}
4172
4173#[repr(C)]
4175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4176pub struct CudaFunctionCreateInfoNV {
4177 pub s_type: StructureType,
4178 pub next: *const c_void,
4179 pub module: CudaModuleNV,
4180 pub name: *const c_char,
4181}
4182
4183impl Default for CudaFunctionCreateInfoNV {
4184 #[inline]
4185 fn default() -> Self {
4186 Self {
4187 s_type: StructureType::CUDA_FUNCTION_CREATE_INFO_NV,
4188 next: ptr::null(),
4189 module: CudaModuleNV::default(),
4190 name: ptr::null(),
4191 }
4192 }
4193}
4194
4195unsafe impl Send for CudaFunctionCreateInfoNV {}
4196unsafe impl Sync for CudaFunctionCreateInfoNV {}
4197
4198#[repr(C)]
4200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4201pub struct CudaLaunchInfoNV {
4202 pub s_type: StructureType,
4203 pub next: *const c_void,
4204 pub function: CudaFunctionNV,
4205 pub grid_dim_x: u32,
4206 pub grid_dim_y: u32,
4207 pub grid_dim_z: u32,
4208 pub block_dim_x: u32,
4209 pub block_dim_y: u32,
4210 pub block_dim_z: u32,
4211 pub shared_mem_bytes: u32,
4212 pub param_count: usize,
4213 pub params: *const c_void,
4214 pub extra_count: usize,
4215 pub extras: *const c_void,
4216}
4217
4218impl Default for CudaLaunchInfoNV {
4219 #[inline]
4220 fn default() -> Self {
4221 Self {
4222 s_type: StructureType::CUDA_LAUNCH_INFO_NV,
4223 next: ptr::null(),
4224 function: CudaFunctionNV::default(),
4225 grid_dim_x: u32::default(),
4226 grid_dim_y: u32::default(),
4227 grid_dim_z: u32::default(),
4228 block_dim_x: u32::default(),
4229 block_dim_y: u32::default(),
4230 block_dim_z: u32::default(),
4231 shared_mem_bytes: u32::default(),
4232 param_count: usize::default(),
4233 params: ptr::null(),
4234 extra_count: usize::default(),
4235 extras: ptr::null(),
4236 }
4237 }
4238}
4239
4240unsafe impl Send for CudaLaunchInfoNV {}
4241unsafe impl Sync for CudaLaunchInfoNV {}
4242
4243#[repr(C)]
4245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4246pub struct CudaModuleCreateInfoNV {
4247 pub s_type: StructureType,
4248 pub next: *const c_void,
4249 pub data_size: usize,
4250 pub data: *const c_void,
4251}
4252
4253impl Default for CudaModuleCreateInfoNV {
4254 #[inline]
4255 fn default() -> Self {
4256 Self {
4257 s_type: StructureType::CUDA_MODULE_CREATE_INFO_NV,
4258 next: ptr::null(),
4259 data_size: usize::default(),
4260 data: ptr::null(),
4261 }
4262 }
4263}
4264
4265unsafe impl Send for CudaModuleCreateInfoNV {}
4266unsafe impl Sync for CudaModuleCreateInfoNV {}
4267
4268#[repr(C)]
4270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4271pub struct CustomResolveCreateInfoEXT {
4272 pub s_type: StructureType,
4273 pub next: *const c_void,
4274 pub custom_resolve: Bool32,
4275 pub color_attachment_count: u32,
4276 pub color_attachment_formats: *const Format,
4277 pub depth_attachment_format: Format,
4278 pub stencil_attachment_format: Format,
4279}
4280
4281impl Default for CustomResolveCreateInfoEXT {
4282 #[inline]
4283 fn default() -> Self {
4284 Self {
4285 s_type: StructureType::CUSTOM_RESOLVE_CREATE_INFO_EXT,
4286 next: ptr::null(),
4287 custom_resolve: Bool32::default(),
4288 color_attachment_count: u32::default(),
4289 color_attachment_formats: ptr::null(),
4290 depth_attachment_format: Format::default(),
4291 stencil_attachment_format: Format::default(),
4292 }
4293 }
4294}
4295
4296unsafe impl Send for CustomResolveCreateInfoEXT {}
4297unsafe impl Sync for CustomResolveCreateInfoEXT {}
4298
4299#[repr(C)]
4301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4302pub struct D3D12FenceSubmitInfoKHR {
4303 pub s_type: StructureType,
4304 pub next: *const c_void,
4305 pub wait_semaphore_values_count: u32,
4306 pub wait_semaphore_values: *const u64,
4307 pub signal_semaphore_values_count: u32,
4308 pub signal_semaphore_values: *const u64,
4309}
4310
4311impl Default for D3D12FenceSubmitInfoKHR {
4312 #[inline]
4313 fn default() -> Self {
4314 Self {
4315 s_type: StructureType::D3D12_FENCE_SUBMIT_INFO_KHR,
4316 next: ptr::null(),
4317 wait_semaphore_values_count: u32::default(),
4318 wait_semaphore_values: ptr::null(),
4319 signal_semaphore_values_count: u32::default(),
4320 signal_semaphore_values: ptr::null(),
4321 }
4322 }
4323}
4324
4325unsafe impl Send for D3D12FenceSubmitInfoKHR {}
4326unsafe impl Sync for D3D12FenceSubmitInfoKHR {}
4327
4328#[repr(C)]
4330#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4331pub struct DataGraphPipelineBuiltinModelCreateInfoQCOM {
4332 pub s_type: StructureType,
4333 pub next: *const c_void,
4334 pub operation: *const PhysicalDeviceDataGraphOperationSupportARM,
4335}
4336
4337impl Default for DataGraphPipelineBuiltinModelCreateInfoQCOM {
4338 #[inline]
4339 fn default() -> Self {
4340 Self {
4341 s_type: StructureType::DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
4342 next: ptr::null(),
4343 operation: ptr::null(),
4344 }
4345 }
4346}
4347
4348unsafe impl Send for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4349unsafe impl Sync for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
4350
4351#[repr(C)]
4353#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4354pub struct DataGraphPipelineCompilerControlCreateInfoARM {
4355 pub s_type: StructureType,
4356 pub next: *const c_void,
4357 pub vendor_options: *const c_char,
4358}
4359
4360impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
4361 #[inline]
4362 fn default() -> Self {
4363 Self {
4364 s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
4365 next: ptr::null(),
4366 vendor_options: ptr::null(),
4367 }
4368 }
4369}
4370
4371unsafe impl Send for DataGraphPipelineCompilerControlCreateInfoARM {}
4372unsafe impl Sync for DataGraphPipelineCompilerControlCreateInfoARM {}
4373
4374#[repr(C)]
4376#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4377pub struct DataGraphPipelineConstantARM {
4378 pub s_type: StructureType,
4379 pub next: *const c_void,
4380 pub id: u32,
4381 pub constant_data: *const c_void,
4382}
4383
4384impl Default for DataGraphPipelineConstantARM {
4385 #[inline]
4386 fn default() -> Self {
4387 Self {
4388 s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
4389 next: ptr::null(),
4390 id: u32::default(),
4391 constant_data: ptr::null(),
4392 }
4393 }
4394}
4395
4396unsafe impl Send for DataGraphPipelineConstantARM {}
4397unsafe impl Sync for DataGraphPipelineConstantARM {}
4398
4399#[repr(C)]
4401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4402pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4403 pub s_type: StructureType,
4404 pub next: *const c_void,
4405 pub dimension: u32,
4406 pub zero_count: u32,
4407 pub group_size: u32,
4408}
4409
4410impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
4411 #[inline]
4412 fn default() -> Self {
4413 Self {
4414 s_type:
4415 StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
4416 next: ptr::null(),
4417 dimension: u32::default(),
4418 zero_count: u32::default(),
4419 group_size: u32::default(),
4420 }
4421 }
4422}
4423
4424unsafe impl Send for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4425unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
4426
4427#[repr(C)]
4429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4430pub struct DataGraphPipelineCreateInfoARM {
4431 pub s_type: StructureType,
4432 pub next: *const c_void,
4433 pub flags: PipelineCreateFlags2KHR,
4434 pub layout: PipelineLayout,
4435 pub resource_info_count: u32,
4436 pub resource_infos: *const DataGraphPipelineResourceInfoARM,
4437}
4438
4439impl Default for DataGraphPipelineCreateInfoARM {
4440 #[inline]
4441 fn default() -> Self {
4442 Self {
4443 s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
4444 next: ptr::null(),
4445 flags: PipelineCreateFlags2KHR::default(),
4446 layout: PipelineLayout::default(),
4447 resource_info_count: u32::default(),
4448 resource_infos: ptr::null(),
4449 }
4450 }
4451}
4452
4453unsafe impl Send for DataGraphPipelineCreateInfoARM {}
4454unsafe impl Sync for DataGraphPipelineCreateInfoARM {}
4455
4456#[repr(C)]
4458#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4459pub struct DataGraphPipelineDispatchInfoARM {
4460 pub s_type: StructureType,
4461 pub next: *mut c_void,
4462 pub flags: DataGraphPipelineDispatchFlagsARM,
4463}
4464
4465impl Default for DataGraphPipelineDispatchInfoARM {
4466 #[inline]
4467 fn default() -> Self {
4468 Self {
4469 s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
4470 next: ptr::null_mut(),
4471 flags: DataGraphPipelineDispatchFlagsARM::default(),
4472 }
4473 }
4474}
4475
4476unsafe impl Send for DataGraphPipelineDispatchInfoARM {}
4477unsafe impl Sync for DataGraphPipelineDispatchInfoARM {}
4478
4479#[repr(C)]
4481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4482pub struct DataGraphPipelineIdentifierCreateInfoARM {
4483 pub s_type: StructureType,
4484 pub next: *const c_void,
4485 pub identifier_size: u32,
4486 pub identifier: *const u8,
4487}
4488
4489impl Default for DataGraphPipelineIdentifierCreateInfoARM {
4490 #[inline]
4491 fn default() -> Self {
4492 Self {
4493 s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
4494 next: ptr::null(),
4495 identifier_size: u32::default(),
4496 identifier: ptr::null(),
4497 }
4498 }
4499}
4500
4501unsafe impl Send for DataGraphPipelineIdentifierCreateInfoARM {}
4502unsafe impl Sync for DataGraphPipelineIdentifierCreateInfoARM {}
4503
4504#[repr(C)]
4506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4507pub struct DataGraphPipelineInfoARM {
4508 pub s_type: StructureType,
4509 pub next: *const c_void,
4510 pub data_graph_pipeline: Pipeline,
4511}
4512
4513impl Default for DataGraphPipelineInfoARM {
4514 #[inline]
4515 fn default() -> Self {
4516 Self {
4517 s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
4518 next: ptr::null(),
4519 data_graph_pipeline: Pipeline::default(),
4520 }
4521 }
4522}
4523
4524unsafe impl Send for DataGraphPipelineInfoARM {}
4525unsafe impl Sync for DataGraphPipelineInfoARM {}
4526
4527#[repr(C)]
4529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4530pub struct DataGraphPipelinePropertyQueryResultARM {
4531 pub s_type: StructureType,
4532 pub next: *const c_void,
4533 pub property: DataGraphPipelinePropertyARM,
4534 pub is_text: Bool32,
4535 pub data_size: usize,
4536 pub data: *mut c_void,
4537}
4538
4539impl Default for DataGraphPipelinePropertyQueryResultARM {
4540 #[inline]
4541 fn default() -> Self {
4542 Self {
4543 s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
4544 next: ptr::null(),
4545 property: DataGraphPipelinePropertyARM::default(),
4546 is_text: Bool32::default(),
4547 data_size: usize::default(),
4548 data: ptr::null_mut(),
4549 }
4550 }
4551}
4552
4553unsafe impl Send for DataGraphPipelinePropertyQueryResultARM {}
4554unsafe impl Sync for DataGraphPipelinePropertyQueryResultARM {}
4555
4556#[repr(C)]
4558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4559pub struct DataGraphPipelineResourceInfoARM {
4560 pub s_type: StructureType,
4561 pub next: *const c_void,
4562 pub descriptor_set: u32,
4563 pub binding: u32,
4564 pub array_element: u32,
4565}
4566
4567impl Default for DataGraphPipelineResourceInfoARM {
4568 #[inline]
4569 fn default() -> Self {
4570 Self {
4571 s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
4572 next: ptr::null(),
4573 descriptor_set: u32::default(),
4574 binding: u32::default(),
4575 array_element: u32::default(),
4576 }
4577 }
4578}
4579
4580unsafe impl Send for DataGraphPipelineResourceInfoARM {}
4581unsafe impl Sync for DataGraphPipelineResourceInfoARM {}
4582
4583#[repr(C)]
4585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4586pub struct DataGraphPipelineSessionBindPointRequirementARM {
4587 pub s_type: StructureType,
4588 pub next: *const c_void,
4589 pub bind_point: DataGraphPipelineSessionBindPointARM,
4590 pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
4591 pub num_objects: u32,
4592}
4593
4594impl Default for DataGraphPipelineSessionBindPointRequirementARM {
4595 #[inline]
4596 fn default() -> Self {
4597 Self {
4598 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
4599 next: ptr::null(),
4600 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4601 bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
4602 num_objects: u32::default(),
4603 }
4604 }
4605}
4606
4607unsafe impl Send for DataGraphPipelineSessionBindPointRequirementARM {}
4608unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementARM {}
4609
4610#[repr(C)]
4612#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4613pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
4614 pub s_type: StructureType,
4615 pub next: *const c_void,
4616 pub session: DataGraphPipelineSessionARM,
4617}
4618
4619impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
4620 #[inline]
4621 fn default() -> Self {
4622 Self {
4623 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
4624 next: ptr::null(),
4625 session: DataGraphPipelineSessionARM::default(),
4626 }
4627 }
4628}
4629
4630unsafe impl Send for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4631unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
4632
4633#[repr(C)]
4635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4636pub struct DataGraphPipelineSessionCreateInfoARM {
4637 pub s_type: StructureType,
4638 pub next: *const c_void,
4639 pub flags: DataGraphPipelineSessionCreateFlagsARM,
4640 pub data_graph_pipeline: Pipeline,
4641}
4642
4643impl Default for DataGraphPipelineSessionCreateInfoARM {
4644 #[inline]
4645 fn default() -> Self {
4646 Self {
4647 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
4648 next: ptr::null(),
4649 flags: DataGraphPipelineSessionCreateFlagsARM::default(),
4650 data_graph_pipeline: Pipeline::default(),
4651 }
4652 }
4653}
4654
4655unsafe impl Send for DataGraphPipelineSessionCreateInfoARM {}
4656unsafe impl Sync for DataGraphPipelineSessionCreateInfoARM {}
4657
4658#[repr(C)]
4660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4661pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
4662 pub s_type: StructureType,
4663 pub next: *const c_void,
4664 pub session: DataGraphPipelineSessionARM,
4665 pub bind_point: DataGraphPipelineSessionBindPointARM,
4666 pub object_index: u32,
4667}
4668
4669impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
4670 #[inline]
4671 fn default() -> Self {
4672 Self {
4673 s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
4674 next: ptr::null(),
4675 session: DataGraphPipelineSessionARM::default(),
4676 bind_point: DataGraphPipelineSessionBindPointARM::default(),
4677 object_index: u32::default(),
4678 }
4679 }
4680}
4681
4682unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4683unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
4684
4685#[repr(C)]
4687#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4688pub struct DataGraphPipelineShaderModuleCreateInfoARM {
4689 pub s_type: StructureType,
4690 pub next: *const c_void,
4691 pub module: ShaderModule,
4692 pub name: *const c_char,
4693 pub specialization_info: *const SpecializationInfo,
4694 pub constant_count: u32,
4695 pub constants: *const DataGraphPipelineConstantARM,
4696}
4697
4698impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
4699 #[inline]
4700 fn default() -> Self {
4701 Self {
4702 s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
4703 next: ptr::null(),
4704 module: ShaderModule::default(),
4705 name: ptr::null(),
4706 specialization_info: ptr::null(),
4707 constant_count: u32::default(),
4708 constants: ptr::null(),
4709 }
4710 }
4711}
4712
4713unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {}
4714unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {}
4715
4716#[repr(C)]
4718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4719pub struct DataGraphProcessingEngineCreateInfoARM {
4720 pub s_type: StructureType,
4721 pub next: *const c_void,
4722 pub processing_engine_count: u32,
4723 pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
4724}
4725
4726impl Default for DataGraphProcessingEngineCreateInfoARM {
4727 #[inline]
4728 fn default() -> Self {
4729 Self {
4730 s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
4731 next: ptr::null(),
4732 processing_engine_count: u32::default(),
4733 processing_engines: ptr::null_mut(),
4734 }
4735 }
4736}
4737
4738unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {}
4739unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {}
4740
4741#[repr(C)]
4743#[derive(Copy, Clone, Debug, PartialEq)]
4744pub struct DebugMarkerMarkerInfoEXT {
4745 pub s_type: StructureType,
4746 pub next: *const c_void,
4747 pub marker_name: *const c_char,
4748 pub color: [f32; 4],
4749}
4750
4751impl Default for DebugMarkerMarkerInfoEXT {
4752 #[inline]
4753 fn default() -> Self {
4754 Self {
4755 s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
4756 next: ptr::null(),
4757 marker_name: ptr::null(),
4758 color: [f32::default(); 4],
4759 }
4760 }
4761}
4762
4763unsafe impl Send for DebugMarkerMarkerInfoEXT {}
4764unsafe impl Sync for DebugMarkerMarkerInfoEXT {}
4765
4766#[repr(C)]
4768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4769pub struct DebugMarkerObjectNameInfoEXT {
4770 pub s_type: StructureType,
4771 pub next: *const c_void,
4772 pub object_type: DebugReportObjectTypeEXT,
4773 pub object: u64,
4774 pub object_name: *const c_char,
4775}
4776
4777impl Default for DebugMarkerObjectNameInfoEXT {
4778 #[inline]
4779 fn default() -> Self {
4780 Self {
4781 s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
4782 next: ptr::null(),
4783 object_type: DebugReportObjectTypeEXT::default(),
4784 object: u64::default(),
4785 object_name: ptr::null(),
4786 }
4787 }
4788}
4789
4790unsafe impl Send for DebugMarkerObjectNameInfoEXT {}
4791unsafe impl Sync for DebugMarkerObjectNameInfoEXT {}
4792
4793#[repr(C)]
4795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4796pub struct DebugMarkerObjectTagInfoEXT {
4797 pub s_type: StructureType,
4798 pub next: *const c_void,
4799 pub object_type: DebugReportObjectTypeEXT,
4800 pub object: u64,
4801 pub tag_name: u64,
4802 pub tag_size: usize,
4803 pub tag: *const c_void,
4804}
4805
4806impl Default for DebugMarkerObjectTagInfoEXT {
4807 #[inline]
4808 fn default() -> Self {
4809 Self {
4810 s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
4811 next: ptr::null(),
4812 object_type: DebugReportObjectTypeEXT::default(),
4813 object: u64::default(),
4814 tag_name: u64::default(),
4815 tag_size: usize::default(),
4816 tag: ptr::null(),
4817 }
4818 }
4819}
4820
4821unsafe impl Send for DebugMarkerObjectTagInfoEXT {}
4822unsafe impl Sync for DebugMarkerObjectTagInfoEXT {}
4823
4824#[repr(C)]
4826#[derive(Copy, Clone)]
4827pub struct DebugReportCallbackCreateInfoEXT {
4828 pub s_type: StructureType,
4829 pub next: *const c_void,
4830 pub flags: DebugReportFlagsEXT,
4831 pub callback: PFN_vkDebugReportCallbackEXT,
4832 pub user_data: *mut c_void,
4833}
4834
4835impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
4836 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4837 f.debug_struct("DebugReportCallbackCreateInfoEXT")
4838 .field("s_type", &self.s_type)
4839 .field("next", &self.next)
4840 .field("flags", &self.flags)
4841 .field("callback", &(self.callback.map(|f| f as *const u8)))
4842 .field("user_data", &self.user_data)
4843 .finish()
4844 }
4845}
4846
4847impl Default for DebugReportCallbackCreateInfoEXT {
4848 #[inline]
4849 fn default() -> Self {
4850 Self {
4851 s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
4852 next: ptr::null(),
4853 flags: DebugReportFlagsEXT::default(),
4854 callback: PFN_vkDebugReportCallbackEXT::default(),
4855 user_data: ptr::null_mut(),
4856 }
4857 }
4858}
4859
4860unsafe impl Send for DebugReportCallbackCreateInfoEXT {}
4861unsafe impl Sync for DebugReportCallbackCreateInfoEXT {}
4862
4863#[repr(C)]
4865#[derive(Copy, Clone, Debug, PartialEq)]
4866pub struct DebugUtilsLabelEXT {
4867 pub s_type: StructureType,
4868 pub next: *const c_void,
4869 pub label_name: *const c_char,
4870 pub color: [f32; 4],
4871}
4872
4873impl Default for DebugUtilsLabelEXT {
4874 #[inline]
4875 fn default() -> Self {
4876 Self {
4877 s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
4878 next: ptr::null(),
4879 label_name: ptr::null(),
4880 color: [f32::default(); 4],
4881 }
4882 }
4883}
4884
4885unsafe impl Send for DebugUtilsLabelEXT {}
4886unsafe impl Sync for DebugUtilsLabelEXT {}
4887
4888#[repr(C)]
4890#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4891pub struct DebugUtilsMessengerCallbackDataEXT {
4892 pub s_type: StructureType,
4893 pub next: *const c_void,
4894 pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
4895 pub message_id_name: *const c_char,
4896 pub message_id_number: i32,
4897 pub message: *const c_char,
4898 pub queue_label_count: u32,
4899 pub queue_labels: *const DebugUtilsLabelEXT,
4900 pub cmd_buf_label_count: u32,
4901 pub cmd_buf_labels: *const DebugUtilsLabelEXT,
4902 pub object_count: u32,
4903 pub objects: *const DebugUtilsObjectNameInfoEXT,
4904}
4905
4906impl Default for DebugUtilsMessengerCallbackDataEXT {
4907 #[inline]
4908 fn default() -> Self {
4909 Self {
4910 s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
4911 next: ptr::null(),
4912 flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
4913 message_id_name: ptr::null(),
4914 message_id_number: i32::default(),
4915 message: ptr::null(),
4916 queue_label_count: u32::default(),
4917 queue_labels: ptr::null(),
4918 cmd_buf_label_count: u32::default(),
4919 cmd_buf_labels: ptr::null(),
4920 object_count: u32::default(),
4921 objects: ptr::null(),
4922 }
4923 }
4924}
4925
4926unsafe impl Send for DebugUtilsMessengerCallbackDataEXT {}
4927unsafe impl Sync for DebugUtilsMessengerCallbackDataEXT {}
4928
4929#[repr(C)]
4931#[derive(Copy, Clone)]
4932pub struct DebugUtilsMessengerCreateInfoEXT {
4933 pub s_type: StructureType,
4934 pub next: *const c_void,
4935 pub flags: DebugUtilsMessengerCreateFlagsEXT,
4936 pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
4937 pub message_type: DebugUtilsMessageTypeFlagsEXT,
4938 pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
4939 pub user_data: *mut c_void,
4940}
4941
4942impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
4943 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4944 f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
4945 .field("s_type", &self.s_type)
4946 .field("next", &self.next)
4947 .field("flags", &self.flags)
4948 .field("message_severity", &self.message_severity)
4949 .field("message_type", &self.message_type)
4950 .field(
4951 "user_callback",
4952 &(self.user_callback.map(|f| f as *const u8)),
4953 )
4954 .field("user_data", &self.user_data)
4955 .finish()
4956 }
4957}
4958
4959impl Default for DebugUtilsMessengerCreateInfoEXT {
4960 #[inline]
4961 fn default() -> Self {
4962 Self {
4963 s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
4964 next: ptr::null(),
4965 flags: DebugUtilsMessengerCreateFlagsEXT::default(),
4966 message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
4967 message_type: DebugUtilsMessageTypeFlagsEXT::default(),
4968 user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
4969 user_data: ptr::null_mut(),
4970 }
4971 }
4972}
4973
4974unsafe impl Send for DebugUtilsMessengerCreateInfoEXT {}
4975unsafe impl Sync for DebugUtilsMessengerCreateInfoEXT {}
4976
4977#[repr(C)]
4979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
4980pub struct DebugUtilsObjectNameInfoEXT {
4981 pub s_type: StructureType,
4982 pub next: *const c_void,
4983 pub object_type: ObjectType,
4984 pub object_handle: u64,
4985 pub object_name: *const c_char,
4986}
4987
4988impl Default for DebugUtilsObjectNameInfoEXT {
4989 #[inline]
4990 fn default() -> Self {
4991 Self {
4992 s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
4993 next: ptr::null(),
4994 object_type: ObjectType::default(),
4995 object_handle: u64::default(),
4996 object_name: ptr::null(),
4997 }
4998 }
4999}
5000
5001unsafe impl Send for DebugUtilsObjectNameInfoEXT {}
5002unsafe impl Sync for DebugUtilsObjectNameInfoEXT {}
5003
5004#[repr(C)]
5006#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5007pub struct DebugUtilsObjectTagInfoEXT {
5008 pub s_type: StructureType,
5009 pub next: *const c_void,
5010 pub object_type: ObjectType,
5011 pub object_handle: u64,
5012 pub tag_name: u64,
5013 pub tag_size: usize,
5014 pub tag: *const c_void,
5015}
5016
5017impl Default for DebugUtilsObjectTagInfoEXT {
5018 #[inline]
5019 fn default() -> Self {
5020 Self {
5021 s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
5022 next: ptr::null(),
5023 object_type: ObjectType::default(),
5024 object_handle: u64::default(),
5025 tag_name: u64::default(),
5026 tag_size: usize::default(),
5027 tag: ptr::null(),
5028 }
5029 }
5030}
5031
5032unsafe impl Send for DebugUtilsObjectTagInfoEXT {}
5033unsafe impl Sync for DebugUtilsObjectTagInfoEXT {}
5034
5035#[repr(C)]
5037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5038pub struct DecompressMemoryInfoEXT {
5039 pub s_type: StructureType,
5040 pub next: *const c_void,
5041 pub decompression_method: MemoryDecompressionMethodFlagsEXT,
5042 pub region_count: u32,
5043 pub regions: *const DecompressMemoryRegionEXT,
5044}
5045
5046impl Default for DecompressMemoryInfoEXT {
5047 #[inline]
5048 fn default() -> Self {
5049 Self {
5050 s_type: StructureType::DECOMPRESS_MEMORY_INFO_EXT,
5051 next: ptr::null(),
5052 decompression_method: MemoryDecompressionMethodFlagsEXT::default(),
5053 region_count: u32::default(),
5054 regions: ptr::null(),
5055 }
5056 }
5057}
5058
5059unsafe impl Send for DecompressMemoryInfoEXT {}
5060unsafe impl Sync for DecompressMemoryInfoEXT {}
5061
5062#[repr(C)]
5064#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5065pub struct DecompressMemoryRegionEXT {
5066 pub src_address: DeviceAddress,
5067 pub dst_address: DeviceAddress,
5068 pub compressed_size: DeviceSize,
5069 pub decompressed_size: DeviceSize,
5070}
5071
5072#[repr(C)]
5074#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5075pub struct DecompressMemoryRegionNV {
5076 pub src_address: DeviceAddress,
5077 pub dst_address: DeviceAddress,
5078 pub compressed_size: DeviceSize,
5079 pub decompressed_size: DeviceSize,
5080 pub decompression_method: MemoryDecompressionMethodFlagsNV,
5081}
5082
5083#[repr(C)]
5085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5086pub struct DedicatedAllocationBufferCreateInfoNV {
5087 pub s_type: StructureType,
5088 pub next: *const c_void,
5089 pub dedicated_allocation: Bool32,
5090}
5091
5092impl Default for DedicatedAllocationBufferCreateInfoNV {
5093 #[inline]
5094 fn default() -> Self {
5095 Self {
5096 s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
5097 next: ptr::null(),
5098 dedicated_allocation: Bool32::default(),
5099 }
5100 }
5101}
5102
5103unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
5104unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
5105
5106#[repr(C)]
5108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5109pub struct DedicatedAllocationImageCreateInfoNV {
5110 pub s_type: StructureType,
5111 pub next: *const c_void,
5112 pub dedicated_allocation: Bool32,
5113}
5114
5115impl Default for DedicatedAllocationImageCreateInfoNV {
5116 #[inline]
5117 fn default() -> Self {
5118 Self {
5119 s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
5120 next: ptr::null(),
5121 dedicated_allocation: Bool32::default(),
5122 }
5123 }
5124}
5125
5126unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
5127unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
5128
5129#[repr(C)]
5131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5132pub struct DedicatedAllocationMemoryAllocateInfoNV {
5133 pub s_type: StructureType,
5134 pub next: *const c_void,
5135 pub image: Image,
5136 pub buffer: Buffer,
5137}
5138
5139impl Default for DedicatedAllocationMemoryAllocateInfoNV {
5140 #[inline]
5141 fn default() -> Self {
5142 Self {
5143 s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
5144 next: ptr::null(),
5145 image: Image::default(),
5146 buffer: Buffer::default(),
5147 }
5148 }
5149}
5150
5151unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
5152unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
5153
5154#[repr(C)]
5156#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5157pub struct DependencyInfo {
5158 pub s_type: StructureType,
5159 pub next: *const c_void,
5160 pub dependency_flags: DependencyFlags,
5161 pub memory_barrier_count: u32,
5162 pub memory_barriers: *const MemoryBarrier2,
5163 pub buffer_memory_barrier_count: u32,
5164 pub buffer_memory_barriers: *const BufferMemoryBarrier2,
5165 pub image_memory_barrier_count: u32,
5166 pub image_memory_barriers: *const ImageMemoryBarrier2,
5167}
5168
5169impl Default for DependencyInfo {
5170 #[inline]
5171 fn default() -> Self {
5172 Self {
5173 s_type: StructureType::DEPENDENCY_INFO,
5174 next: ptr::null(),
5175 dependency_flags: DependencyFlags::default(),
5176 memory_barrier_count: u32::default(),
5177 memory_barriers: ptr::null(),
5178 buffer_memory_barrier_count: u32::default(),
5179 buffer_memory_barriers: ptr::null(),
5180 image_memory_barrier_count: u32::default(),
5181 image_memory_barriers: ptr::null(),
5182 }
5183 }
5184}
5185
5186unsafe impl Send for DependencyInfo {}
5187unsafe impl Sync for DependencyInfo {}
5188
5189#[repr(C)]
5191#[derive(Copy, Clone, Debug, PartialEq)]
5192pub struct DepthBiasInfoEXT {
5193 pub s_type: StructureType,
5194 pub next: *const c_void,
5195 pub depth_bias_constant_factor: f32,
5196 pub depth_bias_clamp: f32,
5197 pub depth_bias_slope_factor: f32,
5198}
5199
5200impl Default for DepthBiasInfoEXT {
5201 #[inline]
5202 fn default() -> Self {
5203 Self {
5204 s_type: StructureType::DEPTH_BIAS_INFO_EXT,
5205 next: ptr::null(),
5206 depth_bias_constant_factor: f32::default(),
5207 depth_bias_clamp: f32::default(),
5208 depth_bias_slope_factor: f32::default(),
5209 }
5210 }
5211}
5212
5213unsafe impl Send for DepthBiasInfoEXT {}
5214unsafe impl Sync for DepthBiasInfoEXT {}
5215
5216#[repr(C)]
5218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5219pub struct DepthBiasRepresentationInfoEXT {
5220 pub s_type: StructureType,
5221 pub next: *const c_void,
5222 pub depth_bias_representation: DepthBiasRepresentationEXT,
5223 pub depth_bias_exact: Bool32,
5224}
5225
5226impl Default for DepthBiasRepresentationInfoEXT {
5227 #[inline]
5228 fn default() -> Self {
5229 Self {
5230 s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
5231 next: ptr::null(),
5232 depth_bias_representation: DepthBiasRepresentationEXT::default(),
5233 depth_bias_exact: Bool32::default(),
5234 }
5235 }
5236}
5237
5238unsafe impl Send for DepthBiasRepresentationInfoEXT {}
5239unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
5240
5241#[repr(C)]
5243#[derive(Copy, Clone, Default, Debug, PartialEq)]
5244pub struct DepthClampRangeEXT {
5245 pub min_depth_clamp: f32,
5246 pub max_depth_clamp: f32,
5247}
5248
5249#[repr(C)]
5251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5252pub struct DescriptorAddressInfoEXT {
5253 pub s_type: StructureType,
5254 pub next: *mut c_void,
5255 pub address: DeviceAddress,
5256 pub range: DeviceSize,
5257 pub format: Format,
5258}
5259
5260impl Default for DescriptorAddressInfoEXT {
5261 #[inline]
5262 fn default() -> Self {
5263 Self {
5264 s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
5265 next: ptr::null_mut(),
5266 address: DeviceAddress::default(),
5267 range: DeviceSize::default(),
5268 format: Format::default(),
5269 }
5270 }
5271}
5272
5273unsafe impl Send for DescriptorAddressInfoEXT {}
5274unsafe impl Sync for DescriptorAddressInfoEXT {}
5275
5276#[repr(C)]
5278#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5279pub struct DescriptorBufferBindingInfoEXT {
5280 pub s_type: StructureType,
5281 pub next: *const c_void,
5282 pub address: DeviceAddress,
5283 pub usage: BufferUsageFlags,
5284}
5285
5286impl Default for DescriptorBufferBindingInfoEXT {
5287 #[inline]
5288 fn default() -> Self {
5289 Self {
5290 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
5291 next: ptr::null(),
5292 address: DeviceAddress::default(),
5293 usage: BufferUsageFlags::default(),
5294 }
5295 }
5296}
5297
5298unsafe impl Send for DescriptorBufferBindingInfoEXT {}
5299unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
5300
5301#[repr(C)]
5303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5304pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5305 pub s_type: StructureType,
5306 pub next: *const c_void,
5307 pub buffer: Buffer,
5308}
5309
5310impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
5311 #[inline]
5312 fn default() -> Self {
5313 Self {
5314 s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
5315 next: ptr::null(),
5316 buffer: Buffer::default(),
5317 }
5318 }
5319}
5320
5321unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5322unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
5323
5324#[repr(C)]
5326#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5327pub struct DescriptorBufferInfo {
5328 pub buffer: Buffer,
5329 pub offset: DeviceSize,
5330 pub range: DeviceSize,
5331}
5332
5333#[repr(C)]
5335#[derive(Copy, Clone, Debug)]
5336pub struct DescriptorGetInfoEXT {
5337 pub s_type: StructureType,
5338 pub next: *const c_void,
5339 pub type_: DescriptorType,
5340 pub data: DescriptorDataEXT,
5341}
5342
5343impl Default for DescriptorGetInfoEXT {
5344 #[inline]
5345 fn default() -> Self {
5346 Self {
5347 s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
5348 next: ptr::null(),
5349 type_: DescriptorType::default(),
5350 data: DescriptorDataEXT::default(),
5351 }
5352 }
5353}
5354
5355unsafe impl Send for DescriptorGetInfoEXT {}
5356unsafe impl Sync for DescriptorGetInfoEXT {}
5357
5358#[repr(C)]
5360#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5361pub struct DescriptorGetTensorInfoARM {
5362 pub s_type: StructureType,
5363 pub next: *const c_void,
5364 pub tensor_view: TensorViewARM,
5365}
5366
5367impl Default for DescriptorGetTensorInfoARM {
5368 #[inline]
5369 fn default() -> Self {
5370 Self {
5371 s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
5372 next: ptr::null(),
5373 tensor_view: TensorViewARM::default(),
5374 }
5375 }
5376}
5377
5378unsafe impl Send for DescriptorGetTensorInfoARM {}
5379unsafe impl Sync for DescriptorGetTensorInfoARM {}
5380
5381#[repr(C)]
5383#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5384pub struct DescriptorImageInfo {
5385 pub sampler: Sampler,
5386 pub image_view: ImageView,
5387 pub image_layout: ImageLayout,
5388}
5389
5390#[repr(C)]
5392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5393pub struct DescriptorPoolCreateInfo {
5394 pub s_type: StructureType,
5395 pub next: *const c_void,
5396 pub flags: DescriptorPoolCreateFlags,
5397 pub max_sets: u32,
5398 pub pool_size_count: u32,
5399 pub pool_sizes: *const DescriptorPoolSize,
5400}
5401
5402impl Default for DescriptorPoolCreateInfo {
5403 #[inline]
5404 fn default() -> Self {
5405 Self {
5406 s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
5407 next: ptr::null(),
5408 flags: DescriptorPoolCreateFlags::default(),
5409 max_sets: u32::default(),
5410 pool_size_count: u32::default(),
5411 pool_sizes: ptr::null(),
5412 }
5413 }
5414}
5415
5416unsafe impl Send for DescriptorPoolCreateInfo {}
5417unsafe impl Sync for DescriptorPoolCreateInfo {}
5418
5419#[repr(C)]
5421#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5422pub struct DescriptorPoolInlineUniformBlockCreateInfo {
5423 pub s_type: StructureType,
5424 pub next: *const c_void,
5425 pub max_inline_uniform_block_bindings: u32,
5426}
5427
5428impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
5429 #[inline]
5430 fn default() -> Self {
5431 Self {
5432 s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
5433 next: ptr::null(),
5434 max_inline_uniform_block_bindings: u32::default(),
5435 }
5436 }
5437}
5438
5439unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
5440unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
5441
5442#[repr(C)]
5444#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5445pub struct DescriptorPoolSize {
5446 pub type_: DescriptorType,
5447 pub descriptor_count: u32,
5448}
5449
5450#[repr(C)]
5452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5453pub struct DescriptorSetAllocateInfo {
5454 pub s_type: StructureType,
5455 pub next: *const c_void,
5456 pub descriptor_pool: DescriptorPool,
5457 pub descriptor_set_count: u32,
5458 pub set_layouts: *const DescriptorSetLayout,
5459}
5460
5461impl Default for DescriptorSetAllocateInfo {
5462 #[inline]
5463 fn default() -> Self {
5464 Self {
5465 s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
5466 next: ptr::null(),
5467 descriptor_pool: DescriptorPool::default(),
5468 descriptor_set_count: u32::default(),
5469 set_layouts: ptr::null(),
5470 }
5471 }
5472}
5473
5474unsafe impl Send for DescriptorSetAllocateInfo {}
5475unsafe impl Sync for DescriptorSetAllocateInfo {}
5476
5477#[repr(C)]
5479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5480pub struct DescriptorSetBindingReferenceVALVE {
5481 pub s_type: StructureType,
5482 pub next: *const c_void,
5483 pub descriptor_set_layout: DescriptorSetLayout,
5484 pub binding: u32,
5485}
5486
5487impl Default for DescriptorSetBindingReferenceVALVE {
5488 #[inline]
5489 fn default() -> Self {
5490 Self {
5491 s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
5492 next: ptr::null(),
5493 descriptor_set_layout: DescriptorSetLayout::default(),
5494 binding: u32::default(),
5495 }
5496 }
5497}
5498
5499unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
5500unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
5501
5502#[repr(C)]
5504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5505pub struct DescriptorSetLayoutBinding {
5506 pub binding: u32,
5507 pub descriptor_type: DescriptorType,
5508 pub descriptor_count: u32,
5509 pub stage_flags: ShaderStageFlags,
5510 pub immutable_samplers: *const Sampler,
5511}
5512
5513impl Default for DescriptorSetLayoutBinding {
5514 #[inline]
5515 fn default() -> Self {
5516 Self {
5517 binding: u32::default(),
5518 descriptor_type: DescriptorType::default(),
5519 descriptor_count: u32::default(),
5520 stage_flags: ShaderStageFlags::default(),
5521 immutable_samplers: ptr::null(),
5522 }
5523 }
5524}
5525
5526unsafe impl Send for DescriptorSetLayoutBinding {}
5527unsafe impl Sync for DescriptorSetLayoutBinding {}
5528
5529#[repr(C)]
5531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5532pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
5533 pub s_type: StructureType,
5534 pub next: *const c_void,
5535 pub binding_count: u32,
5536 pub binding_flags: *const DescriptorBindingFlags,
5537}
5538
5539impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
5540 #[inline]
5541 fn default() -> Self {
5542 Self {
5543 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
5544 next: ptr::null(),
5545 binding_count: u32::default(),
5546 binding_flags: ptr::null(),
5547 }
5548 }
5549}
5550
5551unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
5552unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
5553
5554#[repr(C)]
5556#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5557pub struct DescriptorSetLayoutCreateInfo {
5558 pub s_type: StructureType,
5559 pub next: *const c_void,
5560 pub flags: DescriptorSetLayoutCreateFlags,
5561 pub binding_count: u32,
5562 pub bindings: *const DescriptorSetLayoutBinding,
5563}
5564
5565impl Default for DescriptorSetLayoutCreateInfo {
5566 #[inline]
5567 fn default() -> Self {
5568 Self {
5569 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
5570 next: ptr::null(),
5571 flags: DescriptorSetLayoutCreateFlags::default(),
5572 binding_count: u32::default(),
5573 bindings: ptr::null(),
5574 }
5575 }
5576}
5577
5578unsafe impl Send for DescriptorSetLayoutCreateInfo {}
5579unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
5580
5581#[repr(C)]
5583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5584pub struct DescriptorSetLayoutHostMappingInfoVALVE {
5585 pub s_type: StructureType,
5586 pub next: *mut c_void,
5587 pub descriptor_offset: usize,
5588 pub descriptor_size: u32,
5589}
5590
5591impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
5592 #[inline]
5593 fn default() -> Self {
5594 Self {
5595 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
5596 next: ptr::null_mut(),
5597 descriptor_offset: usize::default(),
5598 descriptor_size: u32::default(),
5599 }
5600 }
5601}
5602
5603unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
5604unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
5605
5606#[repr(C)]
5608#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5609pub struct DescriptorSetLayoutSupport {
5610 pub s_type: StructureType,
5611 pub next: *mut c_void,
5612 pub supported: Bool32,
5613}
5614
5615impl Default for DescriptorSetLayoutSupport {
5616 #[inline]
5617 fn default() -> Self {
5618 Self {
5619 s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
5620 next: ptr::null_mut(),
5621 supported: Bool32::default(),
5622 }
5623 }
5624}
5625
5626unsafe impl Send for DescriptorSetLayoutSupport {}
5627unsafe impl Sync for DescriptorSetLayoutSupport {}
5628
5629#[repr(C)]
5631#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5632pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
5633 pub s_type: StructureType,
5634 pub next: *const c_void,
5635 pub descriptor_set_count: u32,
5636 pub descriptor_counts: *const u32,
5637}
5638
5639impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
5640 #[inline]
5641 fn default() -> Self {
5642 Self {
5643 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
5644 next: ptr::null(),
5645 descriptor_set_count: u32::default(),
5646 descriptor_counts: ptr::null(),
5647 }
5648 }
5649}
5650
5651unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
5652unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
5653
5654#[repr(C)]
5656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5657pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
5658 pub s_type: StructureType,
5659 pub next: *mut c_void,
5660 pub max_variable_descriptor_count: u32,
5661}
5662
5663impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
5664 #[inline]
5665 fn default() -> Self {
5666 Self {
5667 s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
5668 next: ptr::null_mut(),
5669 max_variable_descriptor_count: u32::default(),
5670 }
5671 }
5672}
5673
5674unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
5675unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
5676
5677#[repr(C)]
5679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5680pub struct DescriptorUpdateTemplateCreateInfo {
5681 pub s_type: StructureType,
5682 pub next: *const c_void,
5683 pub flags: DescriptorUpdateTemplateCreateFlags,
5684 pub descriptor_update_entry_count: u32,
5685 pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
5686 pub template_type: DescriptorUpdateTemplateType,
5687 pub descriptor_set_layout: DescriptorSetLayout,
5688 pub pipeline_bind_point: PipelineBindPoint,
5689 pub pipeline_layout: PipelineLayout,
5690 pub set: u32,
5691}
5692
5693impl Default for DescriptorUpdateTemplateCreateInfo {
5694 #[inline]
5695 fn default() -> Self {
5696 Self {
5697 s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
5698 next: ptr::null(),
5699 flags: DescriptorUpdateTemplateCreateFlags::default(),
5700 descriptor_update_entry_count: u32::default(),
5701 descriptor_update_entries: ptr::null(),
5702 template_type: DescriptorUpdateTemplateType::default(),
5703 descriptor_set_layout: DescriptorSetLayout::default(),
5704 pipeline_bind_point: PipelineBindPoint::default(),
5705 pipeline_layout: PipelineLayout::default(),
5706 set: u32::default(),
5707 }
5708 }
5709}
5710
5711unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
5712unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
5713
5714#[repr(C)]
5716#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5717pub struct DescriptorUpdateTemplateEntry {
5718 pub dst_binding: u32,
5719 pub dst_array_element: u32,
5720 pub descriptor_count: u32,
5721 pub descriptor_type: DescriptorType,
5722 pub offset: usize,
5723 pub stride: usize,
5724}
5725
5726#[repr(C)]
5728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5729pub struct DeviceAddressBindingCallbackDataEXT {
5730 pub s_type: StructureType,
5731 pub next: *mut c_void,
5732 pub flags: DeviceAddressBindingFlagsEXT,
5733 pub base_address: DeviceAddress,
5734 pub size: DeviceSize,
5735 pub binding_type: DeviceAddressBindingTypeEXT,
5736}
5737
5738impl Default for DeviceAddressBindingCallbackDataEXT {
5739 #[inline]
5740 fn default() -> Self {
5741 Self {
5742 s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
5743 next: ptr::null_mut(),
5744 flags: DeviceAddressBindingFlagsEXT::default(),
5745 base_address: DeviceAddress::default(),
5746 size: DeviceSize::default(),
5747 binding_type: DeviceAddressBindingTypeEXT::default(),
5748 }
5749 }
5750}
5751
5752unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
5753unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
5754
5755#[repr(C)]
5757#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5758pub struct DeviceBufferMemoryRequirements {
5759 pub s_type: StructureType,
5760 pub next: *const c_void,
5761 pub create_info: *const BufferCreateInfo,
5762}
5763
5764impl Default for DeviceBufferMemoryRequirements {
5765 #[inline]
5766 fn default() -> Self {
5767 Self {
5768 s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
5769 next: ptr::null(),
5770 create_info: ptr::null(),
5771 }
5772 }
5773}
5774
5775unsafe impl Send for DeviceBufferMemoryRequirements {}
5776unsafe impl Sync for DeviceBufferMemoryRequirements {}
5777
5778#[repr(C)]
5780#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5781pub struct DeviceCreateInfo {
5782 pub s_type: StructureType,
5783 pub next: *const c_void,
5784 pub flags: DeviceCreateFlags,
5785 pub queue_create_info_count: u32,
5786 pub queue_create_infos: *const DeviceQueueCreateInfo,
5787 pub enabled_layer_count: u32,
5788 pub enabled_layer_names: *const *const c_char,
5789 pub enabled_extension_count: u32,
5790 pub enabled_extension_names: *const *const c_char,
5791 pub enabled_features: *const PhysicalDeviceFeatures,
5792}
5793
5794impl Default for DeviceCreateInfo {
5795 #[inline]
5796 fn default() -> Self {
5797 Self {
5798 s_type: StructureType::DEVICE_CREATE_INFO,
5799 next: ptr::null(),
5800 flags: DeviceCreateFlags::default(),
5801 queue_create_info_count: u32::default(),
5802 queue_create_infos: ptr::null(),
5803 enabled_layer_count: u32::default(),
5804 enabled_layer_names: ptr::null(),
5805 enabled_extension_count: u32::default(),
5806 enabled_extension_names: ptr::null(),
5807 enabled_features: ptr::null(),
5808 }
5809 }
5810}
5811
5812unsafe impl Send for DeviceCreateInfo {}
5813unsafe impl Sync for DeviceCreateInfo {}
5814
5815#[repr(C)]
5817#[derive(Copy, Clone)]
5818pub struct DeviceDeviceMemoryReportCreateInfoEXT {
5819 pub s_type: StructureType,
5820 pub next: *const c_void,
5821 pub flags: DeviceMemoryReportFlagsEXT,
5822 pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
5823 pub user_data: *mut c_void,
5824}
5825
5826impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
5827 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
5828 f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
5829 .field("s_type", &self.s_type)
5830 .field("next", &self.next)
5831 .field("flags", &self.flags)
5832 .field(
5833 "user_callback",
5834 &(self.user_callback.map(|f| f as *const u8)),
5835 )
5836 .field("user_data", &self.user_data)
5837 .finish()
5838 }
5839}
5840
5841impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
5842 #[inline]
5843 fn default() -> Self {
5844 Self {
5845 s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
5846 next: ptr::null(),
5847 flags: DeviceMemoryReportFlagsEXT::default(),
5848 user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
5849 user_data: ptr::null_mut(),
5850 }
5851 }
5852}
5853
5854unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
5855unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
5856
5857#[repr(C)]
5859#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5860pub struct DeviceDiagnosticsConfigCreateInfoNV {
5861 pub s_type: StructureType,
5862 pub next: *const c_void,
5863 pub flags: DeviceDiagnosticsConfigFlagsNV,
5864}
5865
5866impl Default for DeviceDiagnosticsConfigCreateInfoNV {
5867 #[inline]
5868 fn default() -> Self {
5869 Self {
5870 s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
5871 next: ptr::null(),
5872 flags: DeviceDiagnosticsConfigFlagsNV::default(),
5873 }
5874 }
5875}
5876
5877unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
5878unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
5879
5880#[repr(C)]
5882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5883pub struct DeviceEventInfoEXT {
5884 pub s_type: StructureType,
5885 pub next: *const c_void,
5886 pub device_event: DeviceEventTypeEXT,
5887}
5888
5889impl Default for DeviceEventInfoEXT {
5890 #[inline]
5891 fn default() -> Self {
5892 Self {
5893 s_type: StructureType::DEVICE_EVENT_INFO_EXT,
5894 next: ptr::null(),
5895 device_event: DeviceEventTypeEXT::default(),
5896 }
5897 }
5898}
5899
5900unsafe impl Send for DeviceEventInfoEXT {}
5901unsafe impl Sync for DeviceEventInfoEXT {}
5902
5903#[repr(C)]
5905#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5906pub struct DeviceFaultAddressInfoEXT {
5907 pub address_type: DeviceFaultAddressTypeEXT,
5908 pub reported_address: DeviceAddress,
5909 pub address_precision: DeviceSize,
5910}
5911
5912#[repr(C)]
5914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5915pub struct DeviceFaultCountsEXT {
5916 pub s_type: StructureType,
5917 pub next: *mut c_void,
5918 pub address_info_count: u32,
5919 pub vendor_info_count: u32,
5920 pub vendor_binary_size: DeviceSize,
5921}
5922
5923impl Default for DeviceFaultCountsEXT {
5924 #[inline]
5925 fn default() -> Self {
5926 Self {
5927 s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
5928 next: ptr::null_mut(),
5929 address_info_count: u32::default(),
5930 vendor_info_count: u32::default(),
5931 vendor_binary_size: DeviceSize::default(),
5932 }
5933 }
5934}
5935
5936unsafe impl Send for DeviceFaultCountsEXT {}
5937unsafe impl Sync for DeviceFaultCountsEXT {}
5938
5939#[repr(C)]
5941#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5942pub struct DeviceFaultInfoEXT {
5943 pub s_type: StructureType,
5944 pub next: *mut c_void,
5945 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5946 pub address_infos: *mut DeviceFaultAddressInfoEXT,
5947 pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
5948 pub vendor_binary_data: *mut c_void,
5949}
5950
5951impl Default for DeviceFaultInfoEXT {
5952 #[inline]
5953 fn default() -> Self {
5954 Self {
5955 s_type: StructureType::DEVICE_FAULT_INFO_EXT,
5956 next: ptr::null_mut(),
5957 description: StringArray::default(),
5958 address_infos: ptr::null_mut(),
5959 vendor_infos: ptr::null_mut(),
5960 vendor_binary_data: ptr::null_mut(),
5961 }
5962 }
5963}
5964
5965unsafe impl Send for DeviceFaultInfoEXT {}
5966unsafe impl Sync for DeviceFaultInfoEXT {}
5967
5968#[repr(C)]
5970#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5971pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
5972 pub header_size: u32,
5973 pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
5974 pub vendor_id: u32,
5975 pub device_id: u32,
5976 pub driver_version: u32,
5977 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
5978 pub application_name_offset: u32,
5979 pub application_version: u32,
5980 pub engine_name_offset: u32,
5981 pub engine_version: u32,
5982 pub api_version: u32,
5983}
5984
5985#[repr(C)]
5987#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
5988pub struct DeviceFaultVendorInfoEXT {
5989 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
5990 pub vendor_fault_code: u64,
5991 pub vendor_fault_data: u64,
5992}
5993
5994#[repr(C)]
5996#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
5997pub struct DeviceGroupBindSparseInfo {
5998 pub s_type: StructureType,
5999 pub next: *const c_void,
6000 pub resource_device_index: u32,
6001 pub memory_device_index: u32,
6002}
6003
6004impl Default for DeviceGroupBindSparseInfo {
6005 #[inline]
6006 fn default() -> Self {
6007 Self {
6008 s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
6009 next: ptr::null(),
6010 resource_device_index: u32::default(),
6011 memory_device_index: u32::default(),
6012 }
6013 }
6014}
6015
6016unsafe impl Send for DeviceGroupBindSparseInfo {}
6017unsafe impl Sync for DeviceGroupBindSparseInfo {}
6018
6019#[repr(C)]
6021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6022pub struct DeviceGroupCommandBufferBeginInfo {
6023 pub s_type: StructureType,
6024 pub next: *const c_void,
6025 pub device_mask: u32,
6026}
6027
6028impl Default for DeviceGroupCommandBufferBeginInfo {
6029 #[inline]
6030 fn default() -> Self {
6031 Self {
6032 s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
6033 next: ptr::null(),
6034 device_mask: u32::default(),
6035 }
6036 }
6037}
6038
6039unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
6040unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
6041
6042#[repr(C)]
6044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6045pub struct DeviceGroupDeviceCreateInfo {
6046 pub s_type: StructureType,
6047 pub next: *const c_void,
6048 pub physical_device_count: u32,
6049 pub physical_devices: *const PhysicalDevice,
6050}
6051
6052impl Default for DeviceGroupDeviceCreateInfo {
6053 #[inline]
6054 fn default() -> Self {
6055 Self {
6056 s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
6057 next: ptr::null(),
6058 physical_device_count: u32::default(),
6059 physical_devices: ptr::null(),
6060 }
6061 }
6062}
6063
6064unsafe impl Send for DeviceGroupDeviceCreateInfo {}
6065unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
6066
6067#[repr(C)]
6069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6070pub struct DeviceGroupPresentCapabilitiesKHR {
6071 pub s_type: StructureType,
6072 pub next: *mut c_void,
6073 pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE as usize],
6074 pub modes: DeviceGroupPresentModeFlagsKHR,
6075}
6076
6077impl Default for DeviceGroupPresentCapabilitiesKHR {
6078 #[inline]
6079 fn default() -> Self {
6080 Self {
6081 s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
6082 next: ptr::null_mut(),
6083 present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
6084 modes: DeviceGroupPresentModeFlagsKHR::default(),
6085 }
6086 }
6087}
6088
6089unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
6090unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
6091
6092#[repr(C)]
6094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6095pub struct DeviceGroupPresentInfoKHR {
6096 pub s_type: StructureType,
6097 pub next: *const c_void,
6098 pub swapchain_count: u32,
6099 pub device_masks: *const u32,
6100 pub mode: DeviceGroupPresentModeFlagsKHR,
6101}
6102
6103impl Default for DeviceGroupPresentInfoKHR {
6104 #[inline]
6105 fn default() -> Self {
6106 Self {
6107 s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
6108 next: ptr::null(),
6109 swapchain_count: u32::default(),
6110 device_masks: ptr::null(),
6111 mode: DeviceGroupPresentModeFlagsKHR::default(),
6112 }
6113 }
6114}
6115
6116unsafe impl Send for DeviceGroupPresentInfoKHR {}
6117unsafe impl Sync for DeviceGroupPresentInfoKHR {}
6118
6119#[repr(C)]
6121#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6122pub struct DeviceGroupRenderPassBeginInfo {
6123 pub s_type: StructureType,
6124 pub next: *const c_void,
6125 pub device_mask: u32,
6126 pub device_render_area_count: u32,
6127 pub device_render_areas: *const Rect2D,
6128}
6129
6130impl Default for DeviceGroupRenderPassBeginInfo {
6131 #[inline]
6132 fn default() -> Self {
6133 Self {
6134 s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
6135 next: ptr::null(),
6136 device_mask: u32::default(),
6137 device_render_area_count: u32::default(),
6138 device_render_areas: ptr::null(),
6139 }
6140 }
6141}
6142
6143unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
6144unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
6145
6146#[repr(C)]
6148#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6149pub struct DeviceGroupSubmitInfo {
6150 pub s_type: StructureType,
6151 pub next: *const c_void,
6152 pub wait_semaphore_count: u32,
6153 pub wait_semaphore_device_indices: *const u32,
6154 pub command_buffer_count: u32,
6155 pub command_buffer_device_masks: *const u32,
6156 pub signal_semaphore_count: u32,
6157 pub signal_semaphore_device_indices: *const u32,
6158}
6159
6160impl Default for DeviceGroupSubmitInfo {
6161 #[inline]
6162 fn default() -> Self {
6163 Self {
6164 s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
6165 next: ptr::null(),
6166 wait_semaphore_count: u32::default(),
6167 wait_semaphore_device_indices: ptr::null(),
6168 command_buffer_count: u32::default(),
6169 command_buffer_device_masks: ptr::null(),
6170 signal_semaphore_count: u32::default(),
6171 signal_semaphore_device_indices: ptr::null(),
6172 }
6173 }
6174}
6175
6176unsafe impl Send for DeviceGroupSubmitInfo {}
6177unsafe impl Sync for DeviceGroupSubmitInfo {}
6178
6179#[repr(C)]
6181#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6182pub struct DeviceGroupSwapchainCreateInfoKHR {
6183 pub s_type: StructureType,
6184 pub next: *const c_void,
6185 pub modes: DeviceGroupPresentModeFlagsKHR,
6186}
6187
6188impl Default for DeviceGroupSwapchainCreateInfoKHR {
6189 #[inline]
6190 fn default() -> Self {
6191 Self {
6192 s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
6193 next: ptr::null(),
6194 modes: DeviceGroupPresentModeFlagsKHR::default(),
6195 }
6196 }
6197}
6198
6199unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
6200unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
6201
6202#[repr(C)]
6204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6205pub struct DeviceImageMemoryRequirements {
6206 pub s_type: StructureType,
6207 pub next: *const c_void,
6208 pub create_info: *const ImageCreateInfo,
6209 pub plane_aspect: ImageAspectFlags,
6210}
6211
6212impl Default for DeviceImageMemoryRequirements {
6213 #[inline]
6214 fn default() -> Self {
6215 Self {
6216 s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
6217 next: ptr::null(),
6218 create_info: ptr::null(),
6219 plane_aspect: ImageAspectFlags::default(),
6220 }
6221 }
6222}
6223
6224unsafe impl Send for DeviceImageMemoryRequirements {}
6225unsafe impl Sync for DeviceImageMemoryRequirements {}
6226
6227#[repr(C)]
6229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6230pub struct DeviceImageSubresourceInfo {
6231 pub s_type: StructureType,
6232 pub next: *const c_void,
6233 pub create_info: *const ImageCreateInfo,
6234 pub subresource: *const ImageSubresource2,
6235}
6236
6237impl Default for DeviceImageSubresourceInfo {
6238 #[inline]
6239 fn default() -> Self {
6240 Self {
6241 s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
6242 next: ptr::null(),
6243 create_info: ptr::null(),
6244 subresource: ptr::null(),
6245 }
6246 }
6247}
6248
6249unsafe impl Send for DeviceImageSubresourceInfo {}
6250unsafe impl Sync for DeviceImageSubresourceInfo {}
6251
6252#[repr(C)]
6254#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6255pub struct DeviceMemoryOpaqueCaptureAddressInfo {
6256 pub s_type: StructureType,
6257 pub next: *const c_void,
6258 pub memory: DeviceMemory,
6259}
6260
6261impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
6262 #[inline]
6263 fn default() -> Self {
6264 Self {
6265 s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
6266 next: ptr::null(),
6267 memory: DeviceMemory::default(),
6268 }
6269 }
6270}
6271
6272unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
6273unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
6274
6275#[repr(C)]
6277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6278pub struct DeviceMemoryOverallocationCreateInfoAMD {
6279 pub s_type: StructureType,
6280 pub next: *const c_void,
6281 pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
6282}
6283
6284impl Default for DeviceMemoryOverallocationCreateInfoAMD {
6285 #[inline]
6286 fn default() -> Self {
6287 Self {
6288 s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
6289 next: ptr::null(),
6290 overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
6291 }
6292 }
6293}
6294
6295unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
6296unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
6297
6298#[repr(C)]
6300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6301pub struct DeviceMemoryReportCallbackDataEXT {
6302 pub s_type: StructureType,
6303 pub next: *mut c_void,
6304 pub flags: DeviceMemoryReportFlagsEXT,
6305 pub type_: DeviceMemoryReportEventTypeEXT,
6306 pub memory_object_id: u64,
6307 pub size: DeviceSize,
6308 pub object_type: ObjectType,
6309 pub object_handle: u64,
6310 pub heap_index: u32,
6311}
6312
6313impl Default for DeviceMemoryReportCallbackDataEXT {
6314 #[inline]
6315 fn default() -> Self {
6316 Self {
6317 s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
6318 next: ptr::null_mut(),
6319 flags: DeviceMemoryReportFlagsEXT::default(),
6320 type_: DeviceMemoryReportEventTypeEXT::default(),
6321 memory_object_id: u64::default(),
6322 size: DeviceSize::default(),
6323 object_type: ObjectType::default(),
6324 object_handle: u64::default(),
6325 heap_index: u32::default(),
6326 }
6327 }
6328}
6329
6330unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
6331unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
6332
6333#[repr(C)]
6335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6336pub struct DevicePipelineBinaryInternalCacheControlKHR {
6337 pub s_type: StructureType,
6338 pub next: *const c_void,
6339 pub disable_internal_cache: Bool32,
6340}
6341
6342impl Default for DevicePipelineBinaryInternalCacheControlKHR {
6343 #[inline]
6344 fn default() -> Self {
6345 Self {
6346 s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
6347 next: ptr::null(),
6348 disable_internal_cache: Bool32::default(),
6349 }
6350 }
6351}
6352
6353unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
6354unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
6355
6356#[repr(C)]
6358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6359pub struct DevicePrivateDataCreateInfo {
6360 pub s_type: StructureType,
6361 pub next: *const c_void,
6362 pub private_data_slot_request_count: u32,
6363}
6364
6365impl Default for DevicePrivateDataCreateInfo {
6366 #[inline]
6367 fn default() -> Self {
6368 Self {
6369 s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
6370 next: ptr::null(),
6371 private_data_slot_request_count: u32::default(),
6372 }
6373 }
6374}
6375
6376unsafe impl Send for DevicePrivateDataCreateInfo {}
6377unsafe impl Sync for DevicePrivateDataCreateInfo {}
6378
6379#[repr(C)]
6381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6382pub struct DeviceQueueCreateInfo {
6383 pub s_type: StructureType,
6384 pub next: *const c_void,
6385 pub flags: DeviceQueueCreateFlags,
6386 pub queue_family_index: u32,
6387 pub queue_count: u32,
6388 pub queue_priorities: *const f32,
6389}
6390
6391impl Default for DeviceQueueCreateInfo {
6392 #[inline]
6393 fn default() -> Self {
6394 Self {
6395 s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
6396 next: ptr::null(),
6397 flags: DeviceQueueCreateFlags::default(),
6398 queue_family_index: u32::default(),
6399 queue_count: u32::default(),
6400 queue_priorities: ptr::null(),
6401 }
6402 }
6403}
6404
6405unsafe impl Send for DeviceQueueCreateInfo {}
6406unsafe impl Sync for DeviceQueueCreateInfo {}
6407
6408#[repr(C)]
6410#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6411pub struct DeviceQueueGlobalPriorityCreateInfo {
6412 pub s_type: StructureType,
6413 pub next: *const c_void,
6414 pub global_priority: QueueGlobalPriority,
6415}
6416
6417impl Default for DeviceQueueGlobalPriorityCreateInfo {
6418 #[inline]
6419 fn default() -> Self {
6420 Self {
6421 s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
6422 next: ptr::null(),
6423 global_priority: QueueGlobalPriority::default(),
6424 }
6425 }
6426}
6427
6428unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
6429unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
6430
6431#[repr(C)]
6433#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6434pub struct DeviceQueueInfo2 {
6435 pub s_type: StructureType,
6436 pub next: *const c_void,
6437 pub flags: DeviceQueueCreateFlags,
6438 pub queue_family_index: u32,
6439 pub queue_index: u32,
6440}
6441
6442impl Default for DeviceQueueInfo2 {
6443 #[inline]
6444 fn default() -> Self {
6445 Self {
6446 s_type: StructureType::DEVICE_QUEUE_INFO_2,
6447 next: ptr::null(),
6448 flags: DeviceQueueCreateFlags::default(),
6449 queue_family_index: u32::default(),
6450 queue_index: u32::default(),
6451 }
6452 }
6453}
6454
6455unsafe impl Send for DeviceQueueInfo2 {}
6456unsafe impl Sync for DeviceQueueInfo2 {}
6457
6458#[repr(C)]
6460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6461pub struct DeviceQueueShaderCoreControlCreateInfoARM {
6462 pub s_type: StructureType,
6463 pub next: *mut c_void,
6464 pub shader_core_count: u32,
6465}
6466
6467impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
6468 #[inline]
6469 fn default() -> Self {
6470 Self {
6471 s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
6472 next: ptr::null_mut(),
6473 shader_core_count: u32::default(),
6474 }
6475 }
6476}
6477
6478unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
6479unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
6480
6481#[repr(C)]
6483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6484pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6485 pub s_type: StructureType,
6486 pub next: *const c_void,
6487 pub semaphore_sci_sync_pool_request_count: u32,
6488}
6489
6490impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
6491 #[inline]
6492 fn default() -> Self {
6493 Self {
6494 s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
6495 next: ptr::null(),
6496 semaphore_sci_sync_pool_request_count: u32::default(),
6497 }
6498 }
6499}
6500
6501unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6502unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
6503
6504#[repr(C)]
6506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6507pub struct DeviceTensorMemoryRequirementsARM {
6508 pub s_type: StructureType,
6509 pub next: *const c_void,
6510 pub create_info: *const TensorCreateInfoARM,
6511}
6512
6513impl Default for DeviceTensorMemoryRequirementsARM {
6514 #[inline]
6515 fn default() -> Self {
6516 Self {
6517 s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
6518 next: ptr::null(),
6519 create_info: ptr::null(),
6520 }
6521 }
6522}
6523
6524unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
6525unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
6526
6527#[repr(C)]
6529#[derive(Copy, Clone)]
6530pub struct DirectDriverLoadingInfoLUNARG {
6531 pub s_type: StructureType,
6532 pub next: *mut c_void,
6533 pub flags: DirectDriverLoadingFlagsLUNARG,
6534 pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
6535}
6536
6537impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
6538 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
6539 f.debug_struct("DirectDriverLoadingInfoLUNARG")
6540 .field("s_type", &self.s_type)
6541 .field("next", &self.next)
6542 .field("flags", &self.flags)
6543 .field(
6544 "get_instance_proc_addr",
6545 &(self.get_instance_proc_addr.map(|f| f as *const u8)),
6546 )
6547 .finish()
6548 }
6549}
6550
6551impl Default for DirectDriverLoadingInfoLUNARG {
6552 #[inline]
6553 fn default() -> Self {
6554 Self {
6555 s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
6556 next: ptr::null_mut(),
6557 flags: DirectDriverLoadingFlagsLUNARG::default(),
6558 get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
6559 }
6560 }
6561}
6562
6563unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
6564unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
6565
6566#[repr(C)]
6568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6569pub struct DirectDriverLoadingListLUNARG {
6570 pub s_type: StructureType,
6571 pub next: *const c_void,
6572 pub mode: DirectDriverLoadingModeLUNARG,
6573 pub driver_count: u32,
6574 pub drivers: *const DirectDriverLoadingInfoLUNARG,
6575}
6576
6577impl Default for DirectDriverLoadingListLUNARG {
6578 #[inline]
6579 fn default() -> Self {
6580 Self {
6581 s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
6582 next: ptr::null(),
6583 mode: DirectDriverLoadingModeLUNARG::default(),
6584 driver_count: u32::default(),
6585 drivers: ptr::null(),
6586 }
6587 }
6588}
6589
6590unsafe impl Send for DirectDriverLoadingListLUNARG {}
6591unsafe impl Sync for DirectDriverLoadingListLUNARG {}
6592
6593#[repr(C)]
6595#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6596pub struct DirectFBSurfaceCreateInfoEXT {
6597 pub s_type: StructureType,
6598 pub next: *const c_void,
6599 pub flags: DirectFBSurfaceCreateFlagsEXT,
6600 pub dfb: *mut IDirectFB,
6601 pub surface: *mut IDirectFBSurface,
6602}
6603
6604impl Default for DirectFBSurfaceCreateInfoEXT {
6605 #[inline]
6606 fn default() -> Self {
6607 Self {
6608 s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
6609 next: ptr::null(),
6610 flags: DirectFBSurfaceCreateFlagsEXT::default(),
6611 dfb: ptr::null_mut(),
6612 surface: ptr::null_mut(),
6613 }
6614 }
6615}
6616
6617unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
6618unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
6619
6620#[repr(C)]
6622#[derive(Copy, Clone, Default, Debug)]
6623pub struct DispatchGraphCountInfoAMDX {
6624 pub count: u32,
6625 pub infos: DeviceOrHostAddressConstAMDX,
6626 pub stride: u64,
6627}
6628
6629#[repr(C)]
6631#[derive(Copy, Clone, Default, Debug)]
6632pub struct DispatchGraphInfoAMDX {
6633 pub node_index: u32,
6634 pub payload_count: u32,
6635 pub payloads: DeviceOrHostAddressConstAMDX,
6636 pub payload_stride: u64,
6637}
6638
6639#[repr(C)]
6641#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6642pub struct DispatchIndirectCommand {
6643 pub x: u32,
6644 pub y: u32,
6645 pub z: u32,
6646}
6647
6648#[repr(C)]
6650#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6651pub struct DispatchTileInfoQCOM {
6652 pub s_type: StructureType,
6653 pub next: *const c_void,
6654}
6655
6656impl Default for DispatchTileInfoQCOM {
6657 #[inline]
6658 fn default() -> Self {
6659 Self {
6660 s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
6661 next: ptr::null(),
6662 }
6663 }
6664}
6665
6666unsafe impl Send for DispatchTileInfoQCOM {}
6667unsafe impl Sync for DispatchTileInfoQCOM {}
6668
6669#[repr(C)]
6671#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6672pub struct DisplayEventInfoEXT {
6673 pub s_type: StructureType,
6674 pub next: *const c_void,
6675 pub display_event: DisplayEventTypeEXT,
6676}
6677
6678impl Default for DisplayEventInfoEXT {
6679 #[inline]
6680 fn default() -> Self {
6681 Self {
6682 s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
6683 next: ptr::null(),
6684 display_event: DisplayEventTypeEXT::default(),
6685 }
6686 }
6687}
6688
6689unsafe impl Send for DisplayEventInfoEXT {}
6690unsafe impl Sync for DisplayEventInfoEXT {}
6691
6692#[repr(C)]
6694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6695pub struct DisplayModeCreateInfoKHR {
6696 pub s_type: StructureType,
6697 pub next: *const c_void,
6698 pub flags: DisplayModeCreateFlagsKHR,
6699 pub parameters: DisplayModeParametersKHR,
6700}
6701
6702impl Default for DisplayModeCreateInfoKHR {
6703 #[inline]
6704 fn default() -> Self {
6705 Self {
6706 s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
6707 next: ptr::null(),
6708 flags: DisplayModeCreateFlagsKHR::default(),
6709 parameters: DisplayModeParametersKHR::default(),
6710 }
6711 }
6712}
6713
6714unsafe impl Send for DisplayModeCreateInfoKHR {}
6715unsafe impl Sync for DisplayModeCreateInfoKHR {}
6716
6717#[repr(C)]
6719#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6720pub struct DisplayModeParametersKHR {
6721 pub visible_region: Extent2D,
6722 pub refresh_rate: u32,
6723}
6724
6725#[repr(C)]
6727#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6728pub struct DisplayModeProperties2KHR {
6729 pub s_type: StructureType,
6730 pub next: *mut c_void,
6731 pub display_mode_properties: DisplayModePropertiesKHR,
6732}
6733
6734impl Default for DisplayModeProperties2KHR {
6735 #[inline]
6736 fn default() -> Self {
6737 Self {
6738 s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
6739 next: ptr::null_mut(),
6740 display_mode_properties: DisplayModePropertiesKHR::default(),
6741 }
6742 }
6743}
6744
6745unsafe impl Send for DisplayModeProperties2KHR {}
6746unsafe impl Sync for DisplayModeProperties2KHR {}
6747
6748#[repr(C)]
6750#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6751pub struct DisplayModePropertiesKHR {
6752 pub display_mode: DisplayModeKHR,
6753 pub parameters: DisplayModeParametersKHR,
6754}
6755
6756#[repr(C)]
6758#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6759pub struct DisplayModeStereoPropertiesNV {
6760 pub s_type: StructureType,
6761 pub next: *mut c_void,
6762 pub hdmi_3d_supported: Bool32,
6763}
6764
6765impl Default for DisplayModeStereoPropertiesNV {
6766 #[inline]
6767 fn default() -> Self {
6768 Self {
6769 s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
6770 next: ptr::null_mut(),
6771 hdmi_3d_supported: Bool32::default(),
6772 }
6773 }
6774}
6775
6776unsafe impl Send for DisplayModeStereoPropertiesNV {}
6777unsafe impl Sync for DisplayModeStereoPropertiesNV {}
6778
6779#[repr(C)]
6781#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6782pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
6783 pub s_type: StructureType,
6784 pub next: *mut c_void,
6785 pub local_dimming_support: Bool32,
6786}
6787
6788impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
6789 #[inline]
6790 fn default() -> Self {
6791 Self {
6792 s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
6793 next: ptr::null_mut(),
6794 local_dimming_support: Bool32::default(),
6795 }
6796 }
6797}
6798
6799unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6800unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
6801
6802#[repr(C)]
6804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6805pub struct DisplayPlaneCapabilities2KHR {
6806 pub s_type: StructureType,
6807 pub next: *mut c_void,
6808 pub capabilities: DisplayPlaneCapabilitiesKHR,
6809}
6810
6811impl Default for DisplayPlaneCapabilities2KHR {
6812 #[inline]
6813 fn default() -> Self {
6814 Self {
6815 s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
6816 next: ptr::null_mut(),
6817 capabilities: DisplayPlaneCapabilitiesKHR::default(),
6818 }
6819 }
6820}
6821
6822unsafe impl Send for DisplayPlaneCapabilities2KHR {}
6823unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
6824
6825#[repr(C)]
6827#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6828pub struct DisplayPlaneCapabilitiesKHR {
6829 pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
6830 pub min_src_position: Offset2D,
6831 pub max_src_position: Offset2D,
6832 pub min_src_extent: Extent2D,
6833 pub max_src_extent: Extent2D,
6834 pub min_dst_position: Offset2D,
6835 pub max_dst_position: Offset2D,
6836 pub min_dst_extent: Extent2D,
6837 pub max_dst_extent: Extent2D,
6838}
6839
6840#[repr(C)]
6842#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6843pub struct DisplayPlaneInfo2KHR {
6844 pub s_type: StructureType,
6845 pub next: *const c_void,
6846 pub mode: DisplayModeKHR,
6847 pub plane_index: u32,
6848}
6849
6850impl Default for DisplayPlaneInfo2KHR {
6851 #[inline]
6852 fn default() -> Self {
6853 Self {
6854 s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
6855 next: ptr::null(),
6856 mode: DisplayModeKHR::default(),
6857 plane_index: u32::default(),
6858 }
6859 }
6860}
6861
6862unsafe impl Send for DisplayPlaneInfo2KHR {}
6863unsafe impl Sync for DisplayPlaneInfo2KHR {}
6864
6865#[repr(C)]
6867#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6868pub struct DisplayPlaneProperties2KHR {
6869 pub s_type: StructureType,
6870 pub next: *mut c_void,
6871 pub display_plane_properties: DisplayPlanePropertiesKHR,
6872}
6873
6874impl Default for DisplayPlaneProperties2KHR {
6875 #[inline]
6876 fn default() -> Self {
6877 Self {
6878 s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
6879 next: ptr::null_mut(),
6880 display_plane_properties: DisplayPlanePropertiesKHR::default(),
6881 }
6882 }
6883}
6884
6885unsafe impl Send for DisplayPlaneProperties2KHR {}
6886unsafe impl Sync for DisplayPlaneProperties2KHR {}
6887
6888#[repr(C)]
6890#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
6891pub struct DisplayPlanePropertiesKHR {
6892 pub current_display: DisplayKHR,
6893 pub current_stack_index: u32,
6894}
6895
6896#[repr(C)]
6898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6899pub struct DisplayPowerInfoEXT {
6900 pub s_type: StructureType,
6901 pub next: *const c_void,
6902 pub power_state: DisplayPowerStateEXT,
6903}
6904
6905impl Default for DisplayPowerInfoEXT {
6906 #[inline]
6907 fn default() -> Self {
6908 Self {
6909 s_type: StructureType::DISPLAY_POWER_INFO_EXT,
6910 next: ptr::null(),
6911 power_state: DisplayPowerStateEXT::default(),
6912 }
6913 }
6914}
6915
6916unsafe impl Send for DisplayPowerInfoEXT {}
6917unsafe impl Sync for DisplayPowerInfoEXT {}
6918
6919#[repr(C)]
6921#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6922pub struct DisplayPresentInfoKHR {
6923 pub s_type: StructureType,
6924 pub next: *const c_void,
6925 pub src_rect: Rect2D,
6926 pub dst_rect: Rect2D,
6927 pub persistent: Bool32,
6928}
6929
6930impl Default for DisplayPresentInfoKHR {
6931 #[inline]
6932 fn default() -> Self {
6933 Self {
6934 s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
6935 next: ptr::null(),
6936 src_rect: Rect2D::default(),
6937 dst_rect: Rect2D::default(),
6938 persistent: Bool32::default(),
6939 }
6940 }
6941}
6942
6943unsafe impl Send for DisplayPresentInfoKHR {}
6944unsafe impl Sync for DisplayPresentInfoKHR {}
6945
6946#[repr(C)]
6948#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6949pub struct DisplayProperties2KHR {
6950 pub s_type: StructureType,
6951 pub next: *mut c_void,
6952 pub display_properties: DisplayPropertiesKHR,
6953}
6954
6955impl Default for DisplayProperties2KHR {
6956 #[inline]
6957 fn default() -> Self {
6958 Self {
6959 s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
6960 next: ptr::null_mut(),
6961 display_properties: DisplayPropertiesKHR::default(),
6962 }
6963 }
6964}
6965
6966unsafe impl Send for DisplayProperties2KHR {}
6967unsafe impl Sync for DisplayProperties2KHR {}
6968
6969#[repr(C)]
6971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
6972pub struct DisplayPropertiesKHR {
6973 pub display: DisplayKHR,
6974 pub display_name: *const c_char,
6975 pub physical_dimensions: Extent2D,
6976 pub physical_resolution: Extent2D,
6977 pub supported_transforms: SurfaceTransformFlagsKHR,
6978 pub plane_reorder_possible: Bool32,
6979 pub persistent_content: Bool32,
6980}
6981
6982impl Default for DisplayPropertiesKHR {
6983 #[inline]
6984 fn default() -> Self {
6985 Self {
6986 display: DisplayKHR::default(),
6987 display_name: ptr::null(),
6988 physical_dimensions: Extent2D::default(),
6989 physical_resolution: Extent2D::default(),
6990 supported_transforms: SurfaceTransformFlagsKHR::default(),
6991 plane_reorder_possible: Bool32::default(),
6992 persistent_content: Bool32::default(),
6993 }
6994 }
6995}
6996
6997unsafe impl Send for DisplayPropertiesKHR {}
6998unsafe impl Sync for DisplayPropertiesKHR {}
6999
7000#[repr(C)]
7002#[derive(Copy, Clone, Debug, PartialEq)]
7003pub struct DisplaySurfaceCreateInfoKHR {
7004 pub s_type: StructureType,
7005 pub next: *const c_void,
7006 pub flags: DisplaySurfaceCreateFlagsKHR,
7007 pub display_mode: DisplayModeKHR,
7008 pub plane_index: u32,
7009 pub plane_stack_index: u32,
7010 pub transform: SurfaceTransformFlagsKHR,
7011 pub global_alpha: f32,
7012 pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
7013 pub image_extent: Extent2D,
7014}
7015
7016impl Default for DisplaySurfaceCreateInfoKHR {
7017 #[inline]
7018 fn default() -> Self {
7019 Self {
7020 s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
7021 next: ptr::null(),
7022 flags: DisplaySurfaceCreateFlagsKHR::default(),
7023 display_mode: DisplayModeKHR::default(),
7024 plane_index: u32::default(),
7025 plane_stack_index: u32::default(),
7026 transform: SurfaceTransformFlagsKHR::default(),
7027 global_alpha: f32::default(),
7028 alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
7029 image_extent: Extent2D::default(),
7030 }
7031 }
7032}
7033
7034unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
7035unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
7036
7037#[repr(C)]
7039#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7040pub struct DisplaySurfaceStereoCreateInfoNV {
7041 pub s_type: StructureType,
7042 pub next: *const c_void,
7043 pub stereo_type: DisplaySurfaceStereoTypeNV,
7044}
7045
7046impl Default for DisplaySurfaceStereoCreateInfoNV {
7047 #[inline]
7048 fn default() -> Self {
7049 Self {
7050 s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
7051 next: ptr::null(),
7052 stereo_type: DisplaySurfaceStereoTypeNV::default(),
7053 }
7054 }
7055}
7056
7057unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
7058unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
7059
7060#[repr(C)]
7062#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7063pub struct DrawIndexedIndirectCommand {
7064 pub index_count: u32,
7065 pub instance_count: u32,
7066 pub first_index: u32,
7067 pub vertex_offset: i32,
7068 pub first_instance: u32,
7069}
7070
7071#[repr(C)]
7073#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7074pub struct DrawIndirectCommand {
7075 pub vertex_count: u32,
7076 pub instance_count: u32,
7077 pub first_vertex: u32,
7078 pub first_instance: u32,
7079}
7080
7081#[repr(C)]
7083#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7084pub struct DrawIndirectCountIndirectCommandEXT {
7085 pub buffer_address: DeviceAddress,
7086 pub stride: u32,
7087 pub command_count: u32,
7088}
7089
7090#[repr(C)]
7092#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7093pub struct DrawMeshTasksIndirectCommandEXT {
7094 pub group_count_x: u32,
7095 pub group_count_y: u32,
7096 pub group_count_z: u32,
7097}
7098
7099#[repr(C)]
7101#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7102pub struct DrawMeshTasksIndirectCommandNV {
7103 pub task_count: u32,
7104 pub first_task: u32,
7105}
7106
7107#[repr(C)]
7109#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7110pub struct DrmFormatModifierProperties2EXT {
7111 pub drm_format_modifier: u64,
7112 pub drm_format_modifier_plane_count: u32,
7113 pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
7114}
7115
7116#[repr(C)]
7118#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7119pub struct DrmFormatModifierPropertiesEXT {
7120 pub drm_format_modifier: u64,
7121 pub drm_format_modifier_plane_count: u32,
7122 pub drm_format_modifier_tiling_features: FormatFeatureFlags,
7123}
7124
7125#[repr(C)]
7127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7128pub struct DrmFormatModifierPropertiesList2EXT {
7129 pub s_type: StructureType,
7130 pub next: *mut c_void,
7131 pub drm_format_modifier_count: u32,
7132 pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
7133}
7134
7135impl Default for DrmFormatModifierPropertiesList2EXT {
7136 #[inline]
7137 fn default() -> Self {
7138 Self {
7139 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
7140 next: ptr::null_mut(),
7141 drm_format_modifier_count: u32::default(),
7142 drm_format_modifier_properties: ptr::null_mut(),
7143 }
7144 }
7145}
7146
7147unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
7148unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
7149
7150#[repr(C)]
7152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7153pub struct DrmFormatModifierPropertiesListEXT {
7154 pub s_type: StructureType,
7155 pub next: *mut c_void,
7156 pub drm_format_modifier_count: u32,
7157 pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
7158}
7159
7160impl Default for DrmFormatModifierPropertiesListEXT {
7161 #[inline]
7162 fn default() -> Self {
7163 Self {
7164 s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
7165 next: ptr::null_mut(),
7166 drm_format_modifier_count: u32::default(),
7167 drm_format_modifier_properties: ptr::null_mut(),
7168 }
7169 }
7170}
7171
7172unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
7173unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
7174
7175#[repr(C)]
7177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7178pub struct EventCreateInfo {
7179 pub s_type: StructureType,
7180 pub next: *const c_void,
7181 pub flags: EventCreateFlags,
7182}
7183
7184impl Default for EventCreateInfo {
7185 #[inline]
7186 fn default() -> Self {
7187 Self {
7188 s_type: StructureType::EVENT_CREATE_INFO,
7189 next: ptr::null(),
7190 flags: EventCreateFlags::default(),
7191 }
7192 }
7193}
7194
7195unsafe impl Send for EventCreateInfo {}
7196unsafe impl Sync for EventCreateInfo {}
7197
7198#[repr(C)]
7200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7201pub struct ExecutionGraphPipelineCreateInfoAMDX {
7202 pub s_type: StructureType,
7203 pub next: *const c_void,
7204 pub flags: PipelineCreateFlags,
7205 pub stage_count: u32,
7206 pub stages: *const PipelineShaderStageCreateInfo,
7207 pub library_info: *const PipelineLibraryCreateInfoKHR,
7208 pub layout: PipelineLayout,
7209 pub base_pipeline_handle: Pipeline,
7210 pub base_pipeline_index: i32,
7211}
7212
7213impl Default for ExecutionGraphPipelineCreateInfoAMDX {
7214 #[inline]
7215 fn default() -> Self {
7216 Self {
7217 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
7218 next: ptr::null(),
7219 flags: PipelineCreateFlags::default(),
7220 stage_count: u32::default(),
7221 stages: ptr::null(),
7222 library_info: ptr::null(),
7223 layout: PipelineLayout::default(),
7224 base_pipeline_handle: Pipeline::default(),
7225 base_pipeline_index: i32::default(),
7226 }
7227 }
7228}
7229
7230unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
7231unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
7232
7233#[repr(C)]
7235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7236pub struct ExecutionGraphPipelineScratchSizeAMDX {
7237 pub s_type: StructureType,
7238 pub next: *mut c_void,
7239 pub min_size: DeviceSize,
7240 pub max_size: DeviceSize,
7241 pub size_granularity: DeviceSize,
7242}
7243
7244impl Default for ExecutionGraphPipelineScratchSizeAMDX {
7245 #[inline]
7246 fn default() -> Self {
7247 Self {
7248 s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
7249 next: ptr::null_mut(),
7250 min_size: DeviceSize::default(),
7251 max_size: DeviceSize::default(),
7252 size_granularity: DeviceSize::default(),
7253 }
7254 }
7255}
7256
7257unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
7258unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
7259
7260#[repr(C)]
7262#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7263pub struct ExportFenceCreateInfo {
7264 pub s_type: StructureType,
7265 pub next: *const c_void,
7266 pub handle_types: ExternalFenceHandleTypeFlags,
7267}
7268
7269impl Default for ExportFenceCreateInfo {
7270 #[inline]
7271 fn default() -> Self {
7272 Self {
7273 s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
7274 next: ptr::null(),
7275 handle_types: ExternalFenceHandleTypeFlags::default(),
7276 }
7277 }
7278}
7279
7280unsafe impl Send for ExportFenceCreateInfo {}
7281unsafe impl Sync for ExportFenceCreateInfo {}
7282
7283#[repr(C)]
7285#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7286pub struct ExportFenceSciSyncInfoNV {
7287 pub s_type: StructureType,
7288 pub next: *const c_void,
7289 pub attributes: NvSciSyncAttrList,
7290}
7291
7292impl Default for ExportFenceSciSyncInfoNV {
7293 #[inline]
7294 fn default() -> Self {
7295 Self {
7296 s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
7297 next: ptr::null(),
7298 attributes: ptr::null_mut(),
7299 }
7300 }
7301}
7302
7303unsafe impl Send for ExportFenceSciSyncInfoNV {}
7304unsafe impl Sync for ExportFenceSciSyncInfoNV {}
7305
7306#[repr(C)]
7308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7309pub struct ExportFenceWin32HandleInfoKHR {
7310 pub s_type: StructureType,
7311 pub next: *const c_void,
7312 pub attributes: *const SECURITY_ATTRIBUTES,
7313 pub dw_access: DWORD,
7314 pub name: LPCWSTR,
7315}
7316
7317impl Default for ExportFenceWin32HandleInfoKHR {
7318 #[inline]
7319 fn default() -> Self {
7320 Self {
7321 s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
7322 next: ptr::null(),
7323 attributes: ptr::null(),
7324 dw_access: DWORD::default(),
7325 name: ptr::null_mut(),
7326 }
7327 }
7328}
7329
7330unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
7331unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
7332
7333#[repr(C)]
7335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7336pub struct ExportMemoryAllocateInfo {
7337 pub s_type: StructureType,
7338 pub next: *const c_void,
7339 pub handle_types: ExternalMemoryHandleTypeFlags,
7340}
7341
7342impl Default for ExportMemoryAllocateInfo {
7343 #[inline]
7344 fn default() -> Self {
7345 Self {
7346 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
7347 next: ptr::null(),
7348 handle_types: ExternalMemoryHandleTypeFlags::default(),
7349 }
7350 }
7351}
7352
7353unsafe impl Send for ExportMemoryAllocateInfo {}
7354unsafe impl Sync for ExportMemoryAllocateInfo {}
7355
7356#[repr(C)]
7358#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7359pub struct ExportMemoryAllocateInfoNV {
7360 pub s_type: StructureType,
7361 pub next: *const c_void,
7362 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
7363}
7364
7365impl Default for ExportMemoryAllocateInfoNV {
7366 #[inline]
7367 fn default() -> Self {
7368 Self {
7369 s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
7370 next: ptr::null(),
7371 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
7372 }
7373 }
7374}
7375
7376unsafe impl Send for ExportMemoryAllocateInfoNV {}
7377unsafe impl Sync for ExportMemoryAllocateInfoNV {}
7378
7379#[repr(C)]
7381#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7382pub struct ExportMemorySciBufInfoNV {
7383 pub s_type: StructureType,
7384 pub next: *const c_void,
7385 pub attributes: NvSciBufAttrList,
7386}
7387
7388impl Default for ExportMemorySciBufInfoNV {
7389 #[inline]
7390 fn default() -> Self {
7391 Self {
7392 s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
7393 next: ptr::null(),
7394 attributes: ptr::null_mut(),
7395 }
7396 }
7397}
7398
7399unsafe impl Send for ExportMemorySciBufInfoNV {}
7400unsafe impl Sync for ExportMemorySciBufInfoNV {}
7401
7402#[repr(C)]
7404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7405pub struct ExportMemoryWin32HandleInfoKHR {
7406 pub s_type: StructureType,
7407 pub next: *const c_void,
7408 pub attributes: *const SECURITY_ATTRIBUTES,
7409 pub dw_access: DWORD,
7410 pub name: LPCWSTR,
7411}
7412
7413impl Default for ExportMemoryWin32HandleInfoKHR {
7414 #[inline]
7415 fn default() -> Self {
7416 Self {
7417 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
7418 next: ptr::null(),
7419 attributes: ptr::null(),
7420 dw_access: DWORD::default(),
7421 name: ptr::null_mut(),
7422 }
7423 }
7424}
7425
7426unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
7427unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
7428
7429#[repr(C)]
7431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7432pub struct ExportMemoryWin32HandleInfoNV {
7433 pub s_type: StructureType,
7434 pub next: *const c_void,
7435 pub attributes: *const SECURITY_ATTRIBUTES,
7436 pub dw_access: DWORD,
7437}
7438
7439impl Default for ExportMemoryWin32HandleInfoNV {
7440 #[inline]
7441 fn default() -> Self {
7442 Self {
7443 s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
7444 next: ptr::null(),
7445 attributes: ptr::null(),
7446 dw_access: DWORD::default(),
7447 }
7448 }
7449}
7450
7451unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
7452unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
7453
7454#[repr(C)]
7456#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7457pub struct ExportMetalBufferInfoEXT {
7458 pub s_type: StructureType,
7459 pub next: *const c_void,
7460 pub memory: DeviceMemory,
7461 pub mtl_buffer: MTLBuffer_id,
7462}
7463
7464impl Default for ExportMetalBufferInfoEXT {
7465 #[inline]
7466 fn default() -> Self {
7467 Self {
7468 s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
7469 next: ptr::null(),
7470 memory: DeviceMemory::default(),
7471 mtl_buffer: ptr::null_mut(),
7472 }
7473 }
7474}
7475
7476unsafe impl Send for ExportMetalBufferInfoEXT {}
7477unsafe impl Sync for ExportMetalBufferInfoEXT {}
7478
7479#[repr(C)]
7481#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7482pub struct ExportMetalCommandQueueInfoEXT {
7483 pub s_type: StructureType,
7484 pub next: *const c_void,
7485 pub queue: Queue,
7486 pub mtl_command_queue: MTLCommandQueue_id,
7487}
7488
7489impl Default for ExportMetalCommandQueueInfoEXT {
7490 #[inline]
7491 fn default() -> Self {
7492 Self {
7493 s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
7494 next: ptr::null(),
7495 queue: Queue::default(),
7496 mtl_command_queue: ptr::null_mut(),
7497 }
7498 }
7499}
7500
7501unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
7502unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
7503
7504#[repr(C)]
7506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7507pub struct ExportMetalDeviceInfoEXT {
7508 pub s_type: StructureType,
7509 pub next: *const c_void,
7510 pub mtl_device: MTLDevice_id,
7511}
7512
7513impl Default for ExportMetalDeviceInfoEXT {
7514 #[inline]
7515 fn default() -> Self {
7516 Self {
7517 s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
7518 next: ptr::null(),
7519 mtl_device: ptr::null_mut(),
7520 }
7521 }
7522}
7523
7524unsafe impl Send for ExportMetalDeviceInfoEXT {}
7525unsafe impl Sync for ExportMetalDeviceInfoEXT {}
7526
7527#[repr(C)]
7529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7530pub struct ExportMetalIOSurfaceInfoEXT {
7531 pub s_type: StructureType,
7532 pub next: *const c_void,
7533 pub image: Image,
7534 pub io_surface: IOSurfaceRef,
7535}
7536
7537impl Default for ExportMetalIOSurfaceInfoEXT {
7538 #[inline]
7539 fn default() -> Self {
7540 Self {
7541 s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
7542 next: ptr::null(),
7543 image: Image::default(),
7544 io_surface: ptr::null_mut(),
7545 }
7546 }
7547}
7548
7549unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
7550unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
7551
7552#[repr(C)]
7554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7555pub struct ExportMetalObjectCreateInfoEXT {
7556 pub s_type: StructureType,
7557 pub next: *const c_void,
7558 pub export_object_type: ExportMetalObjectTypeFlagsEXT,
7559}
7560
7561impl Default for ExportMetalObjectCreateInfoEXT {
7562 #[inline]
7563 fn default() -> Self {
7564 Self {
7565 s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
7566 next: ptr::null(),
7567 export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
7568 }
7569 }
7570}
7571
7572unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
7573unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
7574
7575#[repr(C)]
7577#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7578pub struct ExportMetalObjectsInfoEXT {
7579 pub s_type: StructureType,
7580 pub next: *const c_void,
7581}
7582
7583impl Default for ExportMetalObjectsInfoEXT {
7584 #[inline]
7585 fn default() -> Self {
7586 Self {
7587 s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
7588 next: ptr::null(),
7589 }
7590 }
7591}
7592
7593unsafe impl Send for ExportMetalObjectsInfoEXT {}
7594unsafe impl Sync for ExportMetalObjectsInfoEXT {}
7595
7596#[repr(C)]
7598#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7599pub struct ExportMetalSharedEventInfoEXT {
7600 pub s_type: StructureType,
7601 pub next: *const c_void,
7602 pub semaphore: Semaphore,
7603 pub event: Event,
7604 pub mtl_shared_event: MTLSharedEvent_id,
7605}
7606
7607impl Default for ExportMetalSharedEventInfoEXT {
7608 #[inline]
7609 fn default() -> Self {
7610 Self {
7611 s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
7612 next: ptr::null(),
7613 semaphore: Semaphore::default(),
7614 event: Event::default(),
7615 mtl_shared_event: ptr::null_mut(),
7616 }
7617 }
7618}
7619
7620unsafe impl Send for ExportMetalSharedEventInfoEXT {}
7621unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
7622
7623#[repr(C)]
7625#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7626pub struct ExportMetalTextureInfoEXT {
7627 pub s_type: StructureType,
7628 pub next: *const c_void,
7629 pub image: Image,
7630 pub image_view: ImageView,
7631 pub buffer_view: BufferView,
7632 pub plane: ImageAspectFlags,
7633 pub mtl_texture: MTLTexture_id,
7634}
7635
7636impl Default for ExportMetalTextureInfoEXT {
7637 #[inline]
7638 fn default() -> Self {
7639 Self {
7640 s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
7641 next: ptr::null(),
7642 image: Image::default(),
7643 image_view: ImageView::default(),
7644 buffer_view: BufferView::default(),
7645 plane: ImageAspectFlags::default(),
7646 mtl_texture: ptr::null_mut(),
7647 }
7648 }
7649}
7650
7651unsafe impl Send for ExportMetalTextureInfoEXT {}
7652unsafe impl Sync for ExportMetalTextureInfoEXT {}
7653
7654#[repr(C)]
7656#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7657pub struct ExportSemaphoreCreateInfo {
7658 pub s_type: StructureType,
7659 pub next: *const c_void,
7660 pub handle_types: ExternalSemaphoreHandleTypeFlags,
7661}
7662
7663impl Default for ExportSemaphoreCreateInfo {
7664 #[inline]
7665 fn default() -> Self {
7666 Self {
7667 s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
7668 next: ptr::null(),
7669 handle_types: ExternalSemaphoreHandleTypeFlags::default(),
7670 }
7671 }
7672}
7673
7674unsafe impl Send for ExportSemaphoreCreateInfo {}
7675unsafe impl Sync for ExportSemaphoreCreateInfo {}
7676
7677#[repr(C)]
7679#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7680pub struct ExportSemaphoreSciSyncInfoNV {
7681 pub s_type: StructureType,
7682 pub next: *const c_void,
7683 pub attributes: NvSciSyncAttrList,
7684}
7685
7686impl Default for ExportSemaphoreSciSyncInfoNV {
7687 #[inline]
7688 fn default() -> Self {
7689 Self {
7690 s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
7691 next: ptr::null(),
7692 attributes: ptr::null_mut(),
7693 }
7694 }
7695}
7696
7697unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
7698unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
7699
7700#[repr(C)]
7702#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7703pub struct ExportSemaphoreWin32HandleInfoKHR {
7704 pub s_type: StructureType,
7705 pub next: *const c_void,
7706 pub attributes: *const SECURITY_ATTRIBUTES,
7707 pub dw_access: DWORD,
7708 pub name: LPCWSTR,
7709}
7710
7711impl Default for ExportSemaphoreWin32HandleInfoKHR {
7712 #[inline]
7713 fn default() -> Self {
7714 Self {
7715 s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
7716 next: ptr::null(),
7717 attributes: ptr::null(),
7718 dw_access: DWORD::default(),
7719 name: ptr::null_mut(),
7720 }
7721 }
7722}
7723
7724unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
7725unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
7726
7727#[repr(C)]
7729#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7730pub struct ExtensionProperties {
7731 pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
7732 pub spec_version: u32,
7733}
7734
7735#[repr(C)]
7737#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7738pub struct Extent2D {
7739 pub width: u32,
7740 pub height: u32,
7741}
7742
7743#[repr(C)]
7745#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7746pub struct Extent3D {
7747 pub width: u32,
7748 pub height: u32,
7749 pub depth: u32,
7750}
7751
7752#[repr(C)]
7754#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7755pub struct ExternalBufferProperties {
7756 pub s_type: StructureType,
7757 pub next: *mut c_void,
7758 pub external_memory_properties: ExternalMemoryProperties,
7759}
7760
7761impl Default for ExternalBufferProperties {
7762 #[inline]
7763 fn default() -> Self {
7764 Self {
7765 s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
7766 next: ptr::null_mut(),
7767 external_memory_properties: ExternalMemoryProperties::default(),
7768 }
7769 }
7770}
7771
7772unsafe impl Send for ExternalBufferProperties {}
7773unsafe impl Sync for ExternalBufferProperties {}
7774
7775#[repr(C)]
7777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7778pub struct ExternalComputeQueueCreateInfoNV {
7779 pub s_type: StructureType,
7780 pub next: *const c_void,
7781 pub preferred_queue: Queue,
7782}
7783
7784impl Default for ExternalComputeQueueCreateInfoNV {
7785 #[inline]
7786 fn default() -> Self {
7787 Self {
7788 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
7789 next: ptr::null(),
7790 preferred_queue: Queue::default(),
7791 }
7792 }
7793}
7794
7795unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
7796unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
7797
7798#[repr(C)]
7800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7801pub struct ExternalComputeQueueDataParamsNV {
7802 pub s_type: StructureType,
7803 pub next: *const c_void,
7804 pub device_index: u32,
7805}
7806
7807impl Default for ExternalComputeQueueDataParamsNV {
7808 #[inline]
7809 fn default() -> Self {
7810 Self {
7811 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
7812 next: ptr::null(),
7813 device_index: u32::default(),
7814 }
7815 }
7816}
7817
7818unsafe impl Send for ExternalComputeQueueDataParamsNV {}
7819unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
7820
7821#[repr(C)]
7823#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7824pub struct ExternalComputeQueueDeviceCreateInfoNV {
7825 pub s_type: StructureType,
7826 pub next: *const c_void,
7827 pub reserved_external_queues: u32,
7828}
7829
7830impl Default for ExternalComputeQueueDeviceCreateInfoNV {
7831 #[inline]
7832 fn default() -> Self {
7833 Self {
7834 s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
7835 next: ptr::null(),
7836 reserved_external_queues: u32::default(),
7837 }
7838 }
7839}
7840
7841unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
7842unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
7843
7844#[repr(C)]
7846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7847pub struct ExternalFenceProperties {
7848 pub s_type: StructureType,
7849 pub next: *mut c_void,
7850 pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
7851 pub compatible_handle_types: ExternalFenceHandleTypeFlags,
7852 pub external_fence_features: ExternalFenceFeatureFlags,
7853}
7854
7855impl Default for ExternalFenceProperties {
7856 #[inline]
7857 fn default() -> Self {
7858 Self {
7859 s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
7860 next: ptr::null_mut(),
7861 export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
7862 compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
7863 external_fence_features: ExternalFenceFeatureFlags::default(),
7864 }
7865 }
7866}
7867
7868unsafe impl Send for ExternalFenceProperties {}
7869unsafe impl Sync for ExternalFenceProperties {}
7870
7871#[repr(C)]
7873#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7874pub struct ExternalFormatANDROID {
7875 pub s_type: StructureType,
7876 pub next: *mut c_void,
7877 pub external_format: u64,
7878}
7879
7880impl Default for ExternalFormatANDROID {
7881 #[inline]
7882 fn default() -> Self {
7883 Self {
7884 s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
7885 next: ptr::null_mut(),
7886 external_format: u64::default(),
7887 }
7888 }
7889}
7890
7891unsafe impl Send for ExternalFormatANDROID {}
7892unsafe impl Sync for ExternalFormatANDROID {}
7893
7894#[repr(C)]
7896#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7897pub struct ExternalFormatOHOS {
7898 pub s_type: StructureType,
7899 pub next: *mut c_void,
7900 pub external_format: u64,
7901}
7902
7903impl Default for ExternalFormatOHOS {
7904 #[inline]
7905 fn default() -> Self {
7906 Self {
7907 s_type: StructureType::EXTERNAL_FORMAT_OHOS,
7908 next: ptr::null_mut(),
7909 external_format: u64::default(),
7910 }
7911 }
7912}
7913
7914unsafe impl Send for ExternalFormatOHOS {}
7915unsafe impl Sync for ExternalFormatOHOS {}
7916
7917#[repr(C)]
7919#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7920pub struct ExternalFormatQNX {
7921 pub s_type: StructureType,
7922 pub next: *mut c_void,
7923 pub external_format: u64,
7924}
7925
7926impl Default for ExternalFormatQNX {
7927 #[inline]
7928 fn default() -> Self {
7929 Self {
7930 s_type: StructureType::EXTERNAL_FORMAT_QNX,
7931 next: ptr::null_mut(),
7932 external_format: u64::default(),
7933 }
7934 }
7935}
7936
7937unsafe impl Send for ExternalFormatQNX {}
7938unsafe impl Sync for ExternalFormatQNX {}
7939
7940#[repr(C)]
7942#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7943pub struct ExternalImageFormatProperties {
7944 pub s_type: StructureType,
7945 pub next: *mut c_void,
7946 pub external_memory_properties: ExternalMemoryProperties,
7947}
7948
7949impl Default for ExternalImageFormatProperties {
7950 #[inline]
7951 fn default() -> Self {
7952 Self {
7953 s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
7954 next: ptr::null_mut(),
7955 external_memory_properties: ExternalMemoryProperties::default(),
7956 }
7957 }
7958}
7959
7960unsafe impl Send for ExternalImageFormatProperties {}
7961unsafe impl Sync for ExternalImageFormatProperties {}
7962
7963#[repr(C)]
7965#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
7966pub struct ExternalImageFormatPropertiesNV {
7967 pub image_format_properties: ImageFormatProperties,
7968 pub external_memory_features: ExternalMemoryFeatureFlagsNV,
7969 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
7970 pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
7971}
7972
7973#[repr(C)]
7975#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7976pub struct ExternalMemoryAcquireUnmodifiedEXT {
7977 pub s_type: StructureType,
7978 pub next: *const c_void,
7979 pub acquire_unmodified_memory: Bool32,
7980}
7981
7982impl Default for ExternalMemoryAcquireUnmodifiedEXT {
7983 #[inline]
7984 fn default() -> Self {
7985 Self {
7986 s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
7987 next: ptr::null(),
7988 acquire_unmodified_memory: Bool32::default(),
7989 }
7990 }
7991}
7992
7993unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
7994unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
7995
7996#[repr(C)]
7998#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
7999pub struct ExternalMemoryBufferCreateInfo {
8000 pub s_type: StructureType,
8001 pub next: *const c_void,
8002 pub handle_types: ExternalMemoryHandleTypeFlags,
8003}
8004
8005impl Default for ExternalMemoryBufferCreateInfo {
8006 #[inline]
8007 fn default() -> Self {
8008 Self {
8009 s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
8010 next: ptr::null(),
8011 handle_types: ExternalMemoryHandleTypeFlags::default(),
8012 }
8013 }
8014}
8015
8016unsafe impl Send for ExternalMemoryBufferCreateInfo {}
8017unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
8018
8019#[repr(C)]
8021#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8022pub struct ExternalMemoryImageCreateInfo {
8023 pub s_type: StructureType,
8024 pub next: *const c_void,
8025 pub handle_types: ExternalMemoryHandleTypeFlags,
8026}
8027
8028impl Default for ExternalMemoryImageCreateInfo {
8029 #[inline]
8030 fn default() -> Self {
8031 Self {
8032 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
8033 next: ptr::null(),
8034 handle_types: ExternalMemoryHandleTypeFlags::default(),
8035 }
8036 }
8037}
8038
8039unsafe impl Send for ExternalMemoryImageCreateInfo {}
8040unsafe impl Sync for ExternalMemoryImageCreateInfo {}
8041
8042#[repr(C)]
8044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8045pub struct ExternalMemoryImageCreateInfoNV {
8046 pub s_type: StructureType,
8047 pub next: *const c_void,
8048 pub handle_types: ExternalMemoryHandleTypeFlagsNV,
8049}
8050
8051impl Default for ExternalMemoryImageCreateInfoNV {
8052 #[inline]
8053 fn default() -> Self {
8054 Self {
8055 s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
8056 next: ptr::null(),
8057 handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
8058 }
8059 }
8060}
8061
8062unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
8063unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
8064
8065#[repr(C)]
8067#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8068pub struct ExternalMemoryProperties {
8069 pub external_memory_features: ExternalMemoryFeatureFlags,
8070 pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
8071 pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
8072}
8073
8074#[repr(C)]
8076#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8077pub struct ExternalMemoryTensorCreateInfoARM {
8078 pub s_type: StructureType,
8079 pub next: *const c_void,
8080 pub handle_types: ExternalMemoryHandleTypeFlags,
8081}
8082
8083impl Default for ExternalMemoryTensorCreateInfoARM {
8084 #[inline]
8085 fn default() -> Self {
8086 Self {
8087 s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
8088 next: ptr::null(),
8089 handle_types: ExternalMemoryHandleTypeFlags::default(),
8090 }
8091 }
8092}
8093
8094unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
8095unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
8096
8097#[repr(C)]
8099#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8100pub struct ExternalSemaphoreProperties {
8101 pub s_type: StructureType,
8102 pub next: *mut c_void,
8103 pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
8104 pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
8105 pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
8106}
8107
8108impl Default for ExternalSemaphoreProperties {
8109 #[inline]
8110 fn default() -> Self {
8111 Self {
8112 s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
8113 next: ptr::null_mut(),
8114 export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8115 compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
8116 external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
8117 }
8118 }
8119}
8120
8121unsafe impl Send for ExternalSemaphoreProperties {}
8122unsafe impl Sync for ExternalSemaphoreProperties {}
8123
8124#[repr(C)]
8126#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8127pub struct ExternalTensorPropertiesARM {
8128 pub s_type: StructureType,
8129 pub next: *const c_void,
8130 pub external_memory_properties: ExternalMemoryProperties,
8131}
8132
8133impl Default for ExternalTensorPropertiesARM {
8134 #[inline]
8135 fn default() -> Self {
8136 Self {
8137 s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
8138 next: ptr::null(),
8139 external_memory_properties: ExternalMemoryProperties::default(),
8140 }
8141 }
8142}
8143
8144unsafe impl Send for ExternalTensorPropertiesARM {}
8145unsafe impl Sync for ExternalTensorPropertiesARM {}
8146
8147#[repr(C)]
8149#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8150pub struct FenceCreateInfo {
8151 pub s_type: StructureType,
8152 pub next: *const c_void,
8153 pub flags: FenceCreateFlags,
8154}
8155
8156impl Default for FenceCreateInfo {
8157 #[inline]
8158 fn default() -> Self {
8159 Self {
8160 s_type: StructureType::FENCE_CREATE_INFO,
8161 next: ptr::null(),
8162 flags: FenceCreateFlags::default(),
8163 }
8164 }
8165}
8166
8167unsafe impl Send for FenceCreateInfo {}
8168unsafe impl Sync for FenceCreateInfo {}
8169
8170#[repr(C)]
8172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8173pub struct FenceGetFdInfoKHR {
8174 pub s_type: StructureType,
8175 pub next: *const c_void,
8176 pub fence: Fence,
8177 pub handle_type: ExternalFenceHandleTypeFlags,
8178}
8179
8180impl Default for FenceGetFdInfoKHR {
8181 #[inline]
8182 fn default() -> Self {
8183 Self {
8184 s_type: StructureType::FENCE_GET_FD_INFO_KHR,
8185 next: ptr::null(),
8186 fence: Fence::default(),
8187 handle_type: ExternalFenceHandleTypeFlags::default(),
8188 }
8189 }
8190}
8191
8192unsafe impl Send for FenceGetFdInfoKHR {}
8193unsafe impl Sync for FenceGetFdInfoKHR {}
8194
8195#[repr(C)]
8197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8198pub struct FenceGetSciSyncInfoNV {
8199 pub s_type: StructureType,
8200 pub next: *const c_void,
8201 pub fence: Fence,
8202 pub handle_type: ExternalFenceHandleTypeFlags,
8203}
8204
8205impl Default for FenceGetSciSyncInfoNV {
8206 #[inline]
8207 fn default() -> Self {
8208 Self {
8209 s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
8210 next: ptr::null(),
8211 fence: Fence::default(),
8212 handle_type: ExternalFenceHandleTypeFlags::default(),
8213 }
8214 }
8215}
8216
8217unsafe impl Send for FenceGetSciSyncInfoNV {}
8218unsafe impl Sync for FenceGetSciSyncInfoNV {}
8219
8220#[repr(C)]
8222#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8223pub struct FenceGetWin32HandleInfoKHR {
8224 pub s_type: StructureType,
8225 pub next: *const c_void,
8226 pub fence: Fence,
8227 pub handle_type: ExternalFenceHandleTypeFlags,
8228}
8229
8230impl Default for FenceGetWin32HandleInfoKHR {
8231 #[inline]
8232 fn default() -> Self {
8233 Self {
8234 s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
8235 next: ptr::null(),
8236 fence: Fence::default(),
8237 handle_type: ExternalFenceHandleTypeFlags::default(),
8238 }
8239 }
8240}
8241
8242unsafe impl Send for FenceGetWin32HandleInfoKHR {}
8243unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
8244
8245#[repr(C)]
8247#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8248pub struct FilterCubicImageViewImageFormatPropertiesEXT {
8249 pub s_type: StructureType,
8250 pub next: *mut c_void,
8251 pub filter_cubic: Bool32,
8252 pub filter_cubic_minmax: Bool32,
8253}
8254
8255impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
8256 #[inline]
8257 fn default() -> Self {
8258 Self {
8259 s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
8260 next: ptr::null_mut(),
8261 filter_cubic: Bool32::default(),
8262 filter_cubic_minmax: Bool32::default(),
8263 }
8264 }
8265}
8266
8267unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
8268unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
8269
8270#[repr(C)]
8272#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8273pub struct FormatProperties {
8274 pub linear_tiling_features: FormatFeatureFlags,
8275 pub optimal_tiling_features: FormatFeatureFlags,
8276 pub buffer_features: FormatFeatureFlags,
8277}
8278
8279#[repr(C)]
8281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8282pub struct FormatProperties2 {
8283 pub s_type: StructureType,
8284 pub next: *mut c_void,
8285 pub format_properties: FormatProperties,
8286}
8287
8288impl Default for FormatProperties2 {
8289 #[inline]
8290 fn default() -> Self {
8291 Self {
8292 s_type: StructureType::FORMAT_PROPERTIES_2,
8293 next: ptr::null_mut(),
8294 format_properties: FormatProperties::default(),
8295 }
8296 }
8297}
8298
8299unsafe impl Send for FormatProperties2 {}
8300unsafe impl Sync for FormatProperties2 {}
8301
8302#[repr(C)]
8304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8305pub struct FormatProperties3 {
8306 pub s_type: StructureType,
8307 pub next: *mut c_void,
8308 pub linear_tiling_features: FormatFeatureFlags2,
8309 pub optimal_tiling_features: FormatFeatureFlags2,
8310 pub buffer_features: FormatFeatureFlags2,
8311}
8312
8313impl Default for FormatProperties3 {
8314 #[inline]
8315 fn default() -> Self {
8316 Self {
8317 s_type: StructureType::FORMAT_PROPERTIES_3,
8318 next: ptr::null_mut(),
8319 linear_tiling_features: FormatFeatureFlags2::default(),
8320 optimal_tiling_features: FormatFeatureFlags2::default(),
8321 buffer_features: FormatFeatureFlags2::default(),
8322 }
8323 }
8324}
8325
8326unsafe impl Send for FormatProperties3 {}
8327unsafe impl Sync for FormatProperties3 {}
8328
8329#[repr(C)]
8331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8332pub struct FragmentShadingRateAttachmentInfoKHR {
8333 pub s_type: StructureType,
8334 pub next: *const c_void,
8335 pub fragment_shading_rate_attachment: *const AttachmentReference2,
8336 pub shading_rate_attachment_texel_size: Extent2D,
8337}
8338
8339impl Default for FragmentShadingRateAttachmentInfoKHR {
8340 #[inline]
8341 fn default() -> Self {
8342 Self {
8343 s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
8344 next: ptr::null(),
8345 fragment_shading_rate_attachment: ptr::null(),
8346 shading_rate_attachment_texel_size: Extent2D::default(),
8347 }
8348 }
8349}
8350
8351unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
8352unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
8353
8354#[repr(C)]
8356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8357pub struct FrameBoundaryEXT {
8358 pub s_type: StructureType,
8359 pub next: *const c_void,
8360 pub flags: FrameBoundaryFlagsEXT,
8361 pub frame_id: u64,
8362 pub image_count: u32,
8363 pub images: *const Image,
8364 pub buffer_count: u32,
8365 pub buffers: *const Buffer,
8366 pub tag_name: u64,
8367 pub tag_size: usize,
8368 pub tag: *const c_void,
8369}
8370
8371impl Default for FrameBoundaryEXT {
8372 #[inline]
8373 fn default() -> Self {
8374 Self {
8375 s_type: StructureType::FRAME_BOUNDARY_EXT,
8376 next: ptr::null(),
8377 flags: FrameBoundaryFlagsEXT::default(),
8378 frame_id: u64::default(),
8379 image_count: u32::default(),
8380 images: ptr::null(),
8381 buffer_count: u32::default(),
8382 buffers: ptr::null(),
8383 tag_name: u64::default(),
8384 tag_size: usize::default(),
8385 tag: ptr::null(),
8386 }
8387 }
8388}
8389
8390unsafe impl Send for FrameBoundaryEXT {}
8391unsafe impl Sync for FrameBoundaryEXT {}
8392
8393#[repr(C)]
8395#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8396pub struct FrameBoundaryTensorsARM {
8397 pub s_type: StructureType,
8398 pub next: *const c_void,
8399 pub tensor_count: u32,
8400 pub tensors: *const TensorARM,
8401}
8402
8403impl Default for FrameBoundaryTensorsARM {
8404 #[inline]
8405 fn default() -> Self {
8406 Self {
8407 s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
8408 next: ptr::null(),
8409 tensor_count: u32::default(),
8410 tensors: ptr::null(),
8411 }
8412 }
8413}
8414
8415unsafe impl Send for FrameBoundaryTensorsARM {}
8416unsafe impl Sync for FrameBoundaryTensorsARM {}
8417
8418#[repr(C)]
8420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8421pub struct FramebufferAttachmentImageInfo {
8422 pub s_type: StructureType,
8423 pub next: *const c_void,
8424 pub flags: ImageCreateFlags,
8425 pub usage: ImageUsageFlags,
8426 pub width: u32,
8427 pub height: u32,
8428 pub layer_count: u32,
8429 pub view_format_count: u32,
8430 pub view_formats: *const Format,
8431}
8432
8433impl Default for FramebufferAttachmentImageInfo {
8434 #[inline]
8435 fn default() -> Self {
8436 Self {
8437 s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
8438 next: ptr::null(),
8439 flags: ImageCreateFlags::default(),
8440 usage: ImageUsageFlags::default(),
8441 width: u32::default(),
8442 height: u32::default(),
8443 layer_count: u32::default(),
8444 view_format_count: u32::default(),
8445 view_formats: ptr::null(),
8446 }
8447 }
8448}
8449
8450unsafe impl Send for FramebufferAttachmentImageInfo {}
8451unsafe impl Sync for FramebufferAttachmentImageInfo {}
8452
8453#[repr(C)]
8455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8456pub struct FramebufferAttachmentsCreateInfo {
8457 pub s_type: StructureType,
8458 pub next: *const c_void,
8459 pub attachment_image_info_count: u32,
8460 pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
8461}
8462
8463impl Default for FramebufferAttachmentsCreateInfo {
8464 #[inline]
8465 fn default() -> Self {
8466 Self {
8467 s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
8468 next: ptr::null(),
8469 attachment_image_info_count: u32::default(),
8470 attachment_image_infos: ptr::null(),
8471 }
8472 }
8473}
8474
8475unsafe impl Send for FramebufferAttachmentsCreateInfo {}
8476unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
8477
8478#[repr(C)]
8480#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8481pub struct FramebufferCreateInfo {
8482 pub s_type: StructureType,
8483 pub next: *const c_void,
8484 pub flags: FramebufferCreateFlags,
8485 pub render_pass: RenderPass,
8486 pub attachment_count: u32,
8487 pub attachments: *const ImageView,
8488 pub width: u32,
8489 pub height: u32,
8490 pub layers: u32,
8491}
8492
8493impl Default for FramebufferCreateInfo {
8494 #[inline]
8495 fn default() -> Self {
8496 Self {
8497 s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
8498 next: ptr::null(),
8499 flags: FramebufferCreateFlags::default(),
8500 render_pass: RenderPass::default(),
8501 attachment_count: u32::default(),
8502 attachments: ptr::null(),
8503 width: u32::default(),
8504 height: u32::default(),
8505 layers: u32::default(),
8506 }
8507 }
8508}
8509
8510unsafe impl Send for FramebufferCreateInfo {}
8511unsafe impl Sync for FramebufferCreateInfo {}
8512
8513#[repr(C)]
8515#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8516pub struct FramebufferMixedSamplesCombinationNV {
8517 pub s_type: StructureType,
8518 pub next: *mut c_void,
8519 pub coverage_reduction_mode: CoverageReductionModeNV,
8520 pub rasterization_samples: SampleCountFlags,
8521 pub depth_stencil_samples: SampleCountFlags,
8522 pub color_samples: SampleCountFlags,
8523}
8524
8525impl Default for FramebufferMixedSamplesCombinationNV {
8526 #[inline]
8527 fn default() -> Self {
8528 Self {
8529 s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
8530 next: ptr::null_mut(),
8531 coverage_reduction_mode: CoverageReductionModeNV::default(),
8532 rasterization_samples: SampleCountFlags::default(),
8533 depth_stencil_samples: SampleCountFlags::default(),
8534 color_samples: SampleCountFlags::default(),
8535 }
8536 }
8537}
8538
8539unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
8540unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
8541
8542#[repr(C)]
8544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8545pub struct GeneratedCommandsInfoEXT {
8546 pub s_type: StructureType,
8547 pub next: *const c_void,
8548 pub shader_stages: ShaderStageFlags,
8549 pub indirect_execution_set: IndirectExecutionSetEXT,
8550 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8551 pub indirect_address: DeviceAddress,
8552 pub indirect_address_size: DeviceSize,
8553 pub preprocess_address: DeviceAddress,
8554 pub preprocess_size: DeviceSize,
8555 pub max_sequence_count: u32,
8556 pub sequence_count_address: DeviceAddress,
8557 pub max_draw_count: u32,
8558}
8559
8560impl Default for GeneratedCommandsInfoEXT {
8561 #[inline]
8562 fn default() -> Self {
8563 Self {
8564 s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
8565 next: ptr::null(),
8566 shader_stages: ShaderStageFlags::default(),
8567 indirect_execution_set: IndirectExecutionSetEXT::default(),
8568 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8569 indirect_address: DeviceAddress::default(),
8570 indirect_address_size: DeviceSize::default(),
8571 preprocess_address: DeviceAddress::default(),
8572 preprocess_size: DeviceSize::default(),
8573 max_sequence_count: u32::default(),
8574 sequence_count_address: DeviceAddress::default(),
8575 max_draw_count: u32::default(),
8576 }
8577 }
8578}
8579
8580unsafe impl Send for GeneratedCommandsInfoEXT {}
8581unsafe impl Sync for GeneratedCommandsInfoEXT {}
8582
8583#[repr(C)]
8585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8586pub struct GeneratedCommandsInfoNV {
8587 pub s_type: StructureType,
8588 pub next: *const c_void,
8589 pub pipeline_bind_point: PipelineBindPoint,
8590 pub pipeline: Pipeline,
8591 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8592 pub stream_count: u32,
8593 pub streams: *const IndirectCommandsStreamNV,
8594 pub sequences_count: u32,
8595 pub preprocess_buffer: Buffer,
8596 pub preprocess_offset: DeviceSize,
8597 pub preprocess_size: DeviceSize,
8598 pub sequences_count_buffer: Buffer,
8599 pub sequences_count_offset: DeviceSize,
8600 pub sequences_index_buffer: Buffer,
8601 pub sequences_index_offset: DeviceSize,
8602}
8603
8604impl Default for GeneratedCommandsInfoNV {
8605 #[inline]
8606 fn default() -> Self {
8607 Self {
8608 s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
8609 next: ptr::null(),
8610 pipeline_bind_point: PipelineBindPoint::default(),
8611 pipeline: Pipeline::default(),
8612 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8613 stream_count: u32::default(),
8614 streams: ptr::null(),
8615 sequences_count: u32::default(),
8616 preprocess_buffer: Buffer::default(),
8617 preprocess_offset: DeviceSize::default(),
8618 preprocess_size: DeviceSize::default(),
8619 sequences_count_buffer: Buffer::default(),
8620 sequences_count_offset: DeviceSize::default(),
8621 sequences_index_buffer: Buffer::default(),
8622 sequences_index_offset: DeviceSize::default(),
8623 }
8624 }
8625}
8626
8627unsafe impl Send for GeneratedCommandsInfoNV {}
8628unsafe impl Sync for GeneratedCommandsInfoNV {}
8629
8630#[repr(C)]
8632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8633pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
8634 pub s_type: StructureType,
8635 pub next: *const c_void,
8636 pub indirect_execution_set: IndirectExecutionSetEXT,
8637 pub indirect_commands_layout: IndirectCommandsLayoutEXT,
8638 pub max_sequence_count: u32,
8639 pub max_draw_count: u32,
8640}
8641
8642impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
8643 #[inline]
8644 fn default() -> Self {
8645 Self {
8646 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
8647 next: ptr::null(),
8648 indirect_execution_set: IndirectExecutionSetEXT::default(),
8649 indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
8650 max_sequence_count: u32::default(),
8651 max_draw_count: u32::default(),
8652 }
8653 }
8654}
8655
8656unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
8657unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
8658
8659#[repr(C)]
8661#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8662pub struct GeneratedCommandsMemoryRequirementsInfoNV {
8663 pub s_type: StructureType,
8664 pub next: *const c_void,
8665 pub pipeline_bind_point: PipelineBindPoint,
8666 pub pipeline: Pipeline,
8667 pub indirect_commands_layout: IndirectCommandsLayoutNV,
8668 pub max_sequences_count: u32,
8669}
8670
8671impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
8672 #[inline]
8673 fn default() -> Self {
8674 Self {
8675 s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
8676 next: ptr::null(),
8677 pipeline_bind_point: PipelineBindPoint::default(),
8678 pipeline: Pipeline::default(),
8679 indirect_commands_layout: IndirectCommandsLayoutNV::default(),
8680 max_sequences_count: u32::default(),
8681 }
8682 }
8683}
8684
8685unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
8686unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
8687
8688#[repr(C)]
8690#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8691pub struct GeneratedCommandsPipelineInfoEXT {
8692 pub s_type: StructureType,
8693 pub next: *mut c_void,
8694 pub pipeline: Pipeline,
8695}
8696
8697impl Default for GeneratedCommandsPipelineInfoEXT {
8698 #[inline]
8699 fn default() -> Self {
8700 Self {
8701 s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
8702 next: ptr::null_mut(),
8703 pipeline: Pipeline::default(),
8704 }
8705 }
8706}
8707
8708unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
8709unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
8710
8711#[repr(C)]
8713#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8714pub struct GeneratedCommandsShaderInfoEXT {
8715 pub s_type: StructureType,
8716 pub next: *mut c_void,
8717 pub shader_count: u32,
8718 pub shaders: *const ShaderEXT,
8719}
8720
8721impl Default for GeneratedCommandsShaderInfoEXT {
8722 #[inline]
8723 fn default() -> Self {
8724 Self {
8725 s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
8726 next: ptr::null_mut(),
8727 shader_count: u32::default(),
8728 shaders: ptr::null(),
8729 }
8730 }
8731}
8732
8733unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
8734unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
8735
8736#[repr(C)]
8738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8739pub struct GeometryAABBNV {
8740 pub s_type: StructureType,
8741 pub next: *const c_void,
8742 pub aabb_data: Buffer,
8743 pub num_aab_bs: u32,
8744 pub stride: u32,
8745 pub offset: DeviceSize,
8746}
8747
8748impl Default for GeometryAABBNV {
8749 #[inline]
8750 fn default() -> Self {
8751 Self {
8752 s_type: StructureType::GEOMETRY_AABB_NV,
8753 next: ptr::null(),
8754 aabb_data: Buffer::default(),
8755 num_aab_bs: u32::default(),
8756 stride: u32::default(),
8757 offset: DeviceSize::default(),
8758 }
8759 }
8760}
8761
8762unsafe impl Send for GeometryAABBNV {}
8763unsafe impl Sync for GeometryAABBNV {}
8764
8765#[repr(C)]
8767#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
8768pub struct GeometryDataNV {
8769 pub triangles: GeometryTrianglesNV,
8770 pub aabbs: GeometryAABBNV,
8771}
8772
8773#[repr(C)]
8775#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8776pub struct GeometryNV {
8777 pub s_type: StructureType,
8778 pub next: *const c_void,
8779 pub geometry_type: GeometryTypeKHR,
8780 pub geometry: GeometryDataNV,
8781 pub flags: GeometryFlagsKHR,
8782}
8783
8784impl Default for GeometryNV {
8785 #[inline]
8786 fn default() -> Self {
8787 Self {
8788 s_type: StructureType::GEOMETRY_NV,
8789 next: ptr::null(),
8790 geometry_type: GeometryTypeKHR::default(),
8791 geometry: GeometryDataNV::default(),
8792 flags: GeometryFlagsKHR::default(),
8793 }
8794 }
8795}
8796
8797unsafe impl Send for GeometryNV {}
8798unsafe impl Sync for GeometryNV {}
8799
8800#[repr(C)]
8802#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8803pub struct GeometryTrianglesNV {
8804 pub s_type: StructureType,
8805 pub next: *const c_void,
8806 pub vertex_data: Buffer,
8807 pub vertex_offset: DeviceSize,
8808 pub vertex_count: u32,
8809 pub vertex_stride: DeviceSize,
8810 pub vertex_format: Format,
8811 pub index_data: Buffer,
8812 pub index_offset: DeviceSize,
8813 pub index_count: u32,
8814 pub index_type: IndexType,
8815 pub transform_data: Buffer,
8816 pub transform_offset: DeviceSize,
8817}
8818
8819impl Default for GeometryTrianglesNV {
8820 #[inline]
8821 fn default() -> Self {
8822 Self {
8823 s_type: StructureType::GEOMETRY_TRIANGLES_NV,
8824 next: ptr::null(),
8825 vertex_data: Buffer::default(),
8826 vertex_offset: DeviceSize::default(),
8827 vertex_count: u32::default(),
8828 vertex_stride: DeviceSize::default(),
8829 vertex_format: Format::default(),
8830 index_data: Buffer::default(),
8831 index_offset: DeviceSize::default(),
8832 index_count: u32::default(),
8833 index_type: IndexType::default(),
8834 transform_data: Buffer::default(),
8835 transform_offset: DeviceSize::default(),
8836 }
8837 }
8838}
8839
8840unsafe impl Send for GeometryTrianglesNV {}
8841unsafe impl Sync for GeometryTrianglesNV {}
8842
8843#[repr(C)]
8845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8846pub struct GetLatencyMarkerInfoNV {
8847 pub s_type: StructureType,
8848 pub next: *const c_void,
8849 pub timing_count: u32,
8850 pub timings: *mut LatencyTimingsFrameReportNV,
8851}
8852
8853impl Default for GetLatencyMarkerInfoNV {
8854 #[inline]
8855 fn default() -> Self {
8856 Self {
8857 s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
8858 next: ptr::null(),
8859 timing_count: u32::default(),
8860 timings: ptr::null_mut(),
8861 }
8862 }
8863}
8864
8865unsafe impl Send for GetLatencyMarkerInfoNV {}
8866unsafe impl Sync for GetLatencyMarkerInfoNV {}
8867
8868#[repr(C)]
8870#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8871pub struct GraphicsPipelineCreateInfo {
8872 pub s_type: StructureType,
8873 pub next: *const c_void,
8874 pub flags: PipelineCreateFlags,
8875 pub stage_count: u32,
8876 pub stages: *const PipelineShaderStageCreateInfo,
8877 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8878 pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
8879 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8880 pub viewport_state: *const PipelineViewportStateCreateInfo,
8881 pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
8882 pub multisample_state: *const PipelineMultisampleStateCreateInfo,
8883 pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
8884 pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
8885 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
8886 pub layout: PipelineLayout,
8887 pub render_pass: RenderPass,
8888 pub subpass: u32,
8889 pub base_pipeline_handle: Pipeline,
8890 pub base_pipeline_index: i32,
8891}
8892
8893impl Default for GraphicsPipelineCreateInfo {
8894 #[inline]
8895 fn default() -> Self {
8896 Self {
8897 s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
8898 next: ptr::null(),
8899 flags: PipelineCreateFlags::default(),
8900 stage_count: u32::default(),
8901 stages: ptr::null(),
8902 vertex_input_state: ptr::null(),
8903 input_assembly_state: ptr::null(),
8904 tessellation_state: ptr::null(),
8905 viewport_state: ptr::null(),
8906 rasterization_state: ptr::null(),
8907 multisample_state: ptr::null(),
8908 depth_stencil_state: ptr::null(),
8909 color_blend_state: ptr::null(),
8910 dynamic_state: ptr::null(),
8911 layout: PipelineLayout::default(),
8912 render_pass: RenderPass::default(),
8913 subpass: u32::default(),
8914 base_pipeline_handle: Pipeline::default(),
8915 base_pipeline_index: i32::default(),
8916 }
8917 }
8918}
8919
8920unsafe impl Send for GraphicsPipelineCreateInfo {}
8921unsafe impl Sync for GraphicsPipelineCreateInfo {}
8922
8923#[repr(C)]
8925#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8926pub struct GraphicsPipelineLibraryCreateInfoEXT {
8927 pub s_type: StructureType,
8928 pub next: *const c_void,
8929 pub flags: GraphicsPipelineLibraryFlagsEXT,
8930}
8931
8932impl Default for GraphicsPipelineLibraryCreateInfoEXT {
8933 #[inline]
8934 fn default() -> Self {
8935 Self {
8936 s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
8937 next: ptr::null(),
8938 flags: GraphicsPipelineLibraryFlagsEXT::default(),
8939 }
8940 }
8941}
8942
8943unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
8944unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
8945
8946#[repr(C)]
8948#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8949pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
8950 pub s_type: StructureType,
8951 pub next: *const c_void,
8952 pub group_count: u32,
8953 pub groups: *const GraphicsShaderGroupCreateInfoNV,
8954 pub pipeline_count: u32,
8955 pub pipelines: *const Pipeline,
8956}
8957
8958impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
8959 #[inline]
8960 fn default() -> Self {
8961 Self {
8962 s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
8963 next: ptr::null(),
8964 group_count: u32::default(),
8965 groups: ptr::null(),
8966 pipeline_count: u32::default(),
8967 pipelines: ptr::null(),
8968 }
8969 }
8970}
8971
8972unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
8973unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
8974
8975#[repr(C)]
8977#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
8978pub struct GraphicsShaderGroupCreateInfoNV {
8979 pub s_type: StructureType,
8980 pub next: *const c_void,
8981 pub stage_count: u32,
8982 pub stages: *const PipelineShaderStageCreateInfo,
8983 pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
8984 pub tessellation_state: *const PipelineTessellationStateCreateInfo,
8985}
8986
8987impl Default for GraphicsShaderGroupCreateInfoNV {
8988 #[inline]
8989 fn default() -> Self {
8990 Self {
8991 s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
8992 next: ptr::null(),
8993 stage_count: u32::default(),
8994 stages: ptr::null(),
8995 vertex_input_state: ptr::null(),
8996 tessellation_state: ptr::null(),
8997 }
8998 }
8999}
9000
9001unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
9002unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
9003
9004#[repr(C)]
9006#[derive(Copy, Clone, Debug, PartialEq)]
9007pub struct HdrMetadataEXT {
9008 pub s_type: StructureType,
9009 pub next: *const c_void,
9010 pub display_primary_red: XYColorEXT,
9011 pub display_primary_green: XYColorEXT,
9012 pub display_primary_blue: XYColorEXT,
9013 pub white_point: XYColorEXT,
9014 pub max_luminance: f32,
9015 pub min_luminance: f32,
9016 pub max_content_light_level: f32,
9017 pub max_frame_average_light_level: f32,
9018}
9019
9020impl Default for HdrMetadataEXT {
9021 #[inline]
9022 fn default() -> Self {
9023 Self {
9024 s_type: StructureType::HDR_METADATA_EXT,
9025 next: ptr::null(),
9026 display_primary_red: XYColorEXT::default(),
9027 display_primary_green: XYColorEXT::default(),
9028 display_primary_blue: XYColorEXT::default(),
9029 white_point: XYColorEXT::default(),
9030 max_luminance: f32::default(),
9031 min_luminance: f32::default(),
9032 max_content_light_level: f32::default(),
9033 max_frame_average_light_level: f32::default(),
9034 }
9035 }
9036}
9037
9038unsafe impl Send for HdrMetadataEXT {}
9039unsafe impl Sync for HdrMetadataEXT {}
9040
9041#[repr(C)]
9043#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9044pub struct HdrVividDynamicMetadataHUAWEI {
9045 pub s_type: StructureType,
9046 pub next: *const c_void,
9047 pub dynamic_metadata_size: usize,
9048 pub dynamic_metadata: *const c_void,
9049}
9050
9051impl Default for HdrVividDynamicMetadataHUAWEI {
9052 #[inline]
9053 fn default() -> Self {
9054 Self {
9055 s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
9056 next: ptr::null(),
9057 dynamic_metadata_size: usize::default(),
9058 dynamic_metadata: ptr::null(),
9059 }
9060 }
9061}
9062
9063unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
9064unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
9065
9066#[repr(C)]
9068#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9069pub struct HeadlessSurfaceCreateInfoEXT {
9070 pub s_type: StructureType,
9071 pub next: *const c_void,
9072 pub flags: HeadlessSurfaceCreateFlagsEXT,
9073}
9074
9075impl Default for HeadlessSurfaceCreateInfoEXT {
9076 #[inline]
9077 fn default() -> Self {
9078 Self {
9079 s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
9080 next: ptr::null(),
9081 flags: HeadlessSurfaceCreateFlagsEXT::default(),
9082 }
9083 }
9084}
9085
9086unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
9087unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
9088
9089#[repr(C)]
9091#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9092pub struct HostImageCopyDevicePerformanceQuery {
9093 pub s_type: StructureType,
9094 pub next: *mut c_void,
9095 pub optimal_device_access: Bool32,
9096 pub identical_memory_layout: Bool32,
9097}
9098
9099impl Default for HostImageCopyDevicePerformanceQuery {
9100 #[inline]
9101 fn default() -> Self {
9102 Self {
9103 s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
9104 next: ptr::null_mut(),
9105 optimal_device_access: Bool32::default(),
9106 identical_memory_layout: Bool32::default(),
9107 }
9108 }
9109}
9110
9111unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
9112unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
9113
9114#[repr(C)]
9116#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9117pub struct HostImageLayoutTransitionInfo {
9118 pub s_type: StructureType,
9119 pub next: *const c_void,
9120 pub image: Image,
9121 pub old_layout: ImageLayout,
9122 pub new_layout: ImageLayout,
9123 pub subresource_range: ImageSubresourceRange,
9124}
9125
9126impl Default for HostImageLayoutTransitionInfo {
9127 #[inline]
9128 fn default() -> Self {
9129 Self {
9130 s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
9131 next: ptr::null(),
9132 image: Image::default(),
9133 old_layout: ImageLayout::default(),
9134 new_layout: ImageLayout::default(),
9135 subresource_range: ImageSubresourceRange::default(),
9136 }
9137 }
9138}
9139
9140unsafe impl Send for HostImageLayoutTransitionInfo {}
9141unsafe impl Sync for HostImageLayoutTransitionInfo {}
9142
9143#[repr(C)]
9145#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9146pub struct IOSSurfaceCreateInfoMVK {
9147 pub s_type: StructureType,
9148 pub next: *const c_void,
9149 pub flags: IOSSurfaceCreateFlagsMVK,
9150 pub view: *const c_void,
9151}
9152
9153impl Default for IOSSurfaceCreateInfoMVK {
9154 #[inline]
9155 fn default() -> Self {
9156 Self {
9157 s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
9158 next: ptr::null(),
9159 flags: IOSSurfaceCreateFlagsMVK::default(),
9160 view: ptr::null(),
9161 }
9162 }
9163}
9164
9165unsafe impl Send for IOSSurfaceCreateInfoMVK {}
9166unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
9167
9168#[repr(C)]
9170#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9171pub struct ImageAlignmentControlCreateInfoMESA {
9172 pub s_type: StructureType,
9173 pub next: *const c_void,
9174 pub maximum_requested_alignment: u32,
9175}
9176
9177impl Default for ImageAlignmentControlCreateInfoMESA {
9178 #[inline]
9179 fn default() -> Self {
9180 Self {
9181 s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
9182 next: ptr::null(),
9183 maximum_requested_alignment: u32::default(),
9184 }
9185 }
9186}
9187
9188unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
9189unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
9190
9191#[repr(C)]
9193#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9194pub struct ImageBlit {
9195 pub src_subresource: ImageSubresourceLayers,
9196 pub src_offsets: [Offset3D; 2],
9197 pub dst_subresource: ImageSubresourceLayers,
9198 pub dst_offsets: [Offset3D; 2],
9199}
9200
9201#[repr(C)]
9203#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9204pub struct ImageBlit2 {
9205 pub s_type: StructureType,
9206 pub next: *const c_void,
9207 pub src_subresource: ImageSubresourceLayers,
9208 pub src_offsets: [Offset3D; 2],
9209 pub dst_subresource: ImageSubresourceLayers,
9210 pub dst_offsets: [Offset3D; 2],
9211}
9212
9213impl Default for ImageBlit2 {
9214 #[inline]
9215 fn default() -> Self {
9216 Self {
9217 s_type: StructureType::IMAGE_BLIT_2,
9218 next: ptr::null(),
9219 src_subresource: ImageSubresourceLayers::default(),
9220 src_offsets: [Offset3D::default(); 2],
9221 dst_subresource: ImageSubresourceLayers::default(),
9222 dst_offsets: [Offset3D::default(); 2],
9223 }
9224 }
9225}
9226
9227unsafe impl Send for ImageBlit2 {}
9228unsafe impl Sync for ImageBlit2 {}
9229
9230#[repr(C)]
9232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9233pub struct ImageCaptureDescriptorDataInfoEXT {
9234 pub s_type: StructureType,
9235 pub next: *const c_void,
9236 pub image: Image,
9237}
9238
9239impl Default for ImageCaptureDescriptorDataInfoEXT {
9240 #[inline]
9241 fn default() -> Self {
9242 Self {
9243 s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9244 next: ptr::null(),
9245 image: Image::default(),
9246 }
9247 }
9248}
9249
9250unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
9251unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
9252
9253#[repr(C)]
9255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9256pub struct ImageCompressionControlEXT {
9257 pub s_type: StructureType,
9258 pub next: *const c_void,
9259 pub flags: ImageCompressionFlagsEXT,
9260 pub compression_control_plane_count: u32,
9261 pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
9262}
9263
9264impl Default for ImageCompressionControlEXT {
9265 #[inline]
9266 fn default() -> Self {
9267 Self {
9268 s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
9269 next: ptr::null(),
9270 flags: ImageCompressionFlagsEXT::default(),
9271 compression_control_plane_count: u32::default(),
9272 fixed_rate_flags: ptr::null_mut(),
9273 }
9274 }
9275}
9276
9277unsafe impl Send for ImageCompressionControlEXT {}
9278unsafe impl Sync for ImageCompressionControlEXT {}
9279
9280#[repr(C)]
9282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9283pub struct ImageCompressionPropertiesEXT {
9284 pub s_type: StructureType,
9285 pub next: *mut c_void,
9286 pub image_compression_flags: ImageCompressionFlagsEXT,
9287 pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
9288}
9289
9290impl Default for ImageCompressionPropertiesEXT {
9291 #[inline]
9292 fn default() -> Self {
9293 Self {
9294 s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
9295 next: ptr::null_mut(),
9296 image_compression_flags: ImageCompressionFlagsEXT::default(),
9297 image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
9298 }
9299 }
9300}
9301
9302unsafe impl Send for ImageCompressionPropertiesEXT {}
9303unsafe impl Sync for ImageCompressionPropertiesEXT {}
9304
9305#[repr(C)]
9307#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9308pub struct ImageConstraintsInfoFUCHSIA {
9309 pub s_type: StructureType,
9310 pub next: *const c_void,
9311 pub format_constraints_count: u32,
9312 pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
9313 pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
9314 pub flags: ImageConstraintsInfoFlagsFUCHSIA,
9315}
9316
9317impl Default for ImageConstraintsInfoFUCHSIA {
9318 #[inline]
9319 fn default() -> Self {
9320 Self {
9321 s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
9322 next: ptr::null(),
9323 format_constraints_count: u32::default(),
9324 format_constraints: ptr::null(),
9325 buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
9326 flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
9327 }
9328 }
9329}
9330
9331unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
9332unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
9333
9334#[repr(C)]
9336#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9337pub struct ImageCopy {
9338 pub src_subresource: ImageSubresourceLayers,
9339 pub src_offset: Offset3D,
9340 pub dst_subresource: ImageSubresourceLayers,
9341 pub dst_offset: Offset3D,
9342 pub extent: Extent3D,
9343}
9344
9345#[repr(C)]
9347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9348pub struct ImageCopy2 {
9349 pub s_type: StructureType,
9350 pub next: *const c_void,
9351 pub src_subresource: ImageSubresourceLayers,
9352 pub src_offset: Offset3D,
9353 pub dst_subresource: ImageSubresourceLayers,
9354 pub dst_offset: Offset3D,
9355 pub extent: Extent3D,
9356}
9357
9358impl Default for ImageCopy2 {
9359 #[inline]
9360 fn default() -> Self {
9361 Self {
9362 s_type: StructureType::IMAGE_COPY_2,
9363 next: ptr::null(),
9364 src_subresource: ImageSubresourceLayers::default(),
9365 src_offset: Offset3D::default(),
9366 dst_subresource: ImageSubresourceLayers::default(),
9367 dst_offset: Offset3D::default(),
9368 extent: Extent3D::default(),
9369 }
9370 }
9371}
9372
9373unsafe impl Send for ImageCopy2 {}
9374unsafe impl Sync for ImageCopy2 {}
9375
9376#[repr(C)]
9378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9379pub struct ImageCreateInfo {
9380 pub s_type: StructureType,
9381 pub next: *const c_void,
9382 pub flags: ImageCreateFlags,
9383 pub image_type: ImageType,
9384 pub format: Format,
9385 pub extent: Extent3D,
9386 pub mip_levels: u32,
9387 pub array_layers: u32,
9388 pub samples: SampleCountFlags,
9389 pub tiling: ImageTiling,
9390 pub usage: ImageUsageFlags,
9391 pub sharing_mode: SharingMode,
9392 pub queue_family_index_count: u32,
9393 pub queue_family_indices: *const u32,
9394 pub initial_layout: ImageLayout,
9395}
9396
9397impl Default for ImageCreateInfo {
9398 #[inline]
9399 fn default() -> Self {
9400 Self {
9401 s_type: StructureType::IMAGE_CREATE_INFO,
9402 next: ptr::null(),
9403 flags: ImageCreateFlags::default(),
9404 image_type: ImageType::default(),
9405 format: Format::default(),
9406 extent: Extent3D::default(),
9407 mip_levels: u32::default(),
9408 array_layers: u32::default(),
9409 samples: SampleCountFlags::default(),
9410 tiling: ImageTiling::default(),
9411 usage: ImageUsageFlags::default(),
9412 sharing_mode: SharingMode::default(),
9413 queue_family_index_count: u32::default(),
9414 queue_family_indices: ptr::null(),
9415 initial_layout: ImageLayout::default(),
9416 }
9417 }
9418}
9419
9420unsafe impl Send for ImageCreateInfo {}
9421unsafe impl Sync for ImageCreateInfo {}
9422
9423#[repr(C)]
9425#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9426pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
9427 pub s_type: StructureType,
9428 pub next: *const c_void,
9429 pub drm_format_modifier: u64,
9430 pub drm_format_modifier_plane_count: u32,
9431 pub plane_layouts: *const SubresourceLayout,
9432}
9433
9434impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
9435 #[inline]
9436 fn default() -> Self {
9437 Self {
9438 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
9439 next: ptr::null(),
9440 drm_format_modifier: u64::default(),
9441 drm_format_modifier_plane_count: u32::default(),
9442 plane_layouts: ptr::null(),
9443 }
9444 }
9445}
9446
9447unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9448unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
9449
9450#[repr(C)]
9452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9453pub struct ImageDrmFormatModifierListCreateInfoEXT {
9454 pub s_type: StructureType,
9455 pub next: *const c_void,
9456 pub drm_format_modifier_count: u32,
9457 pub drm_format_modifiers: *const u64,
9458}
9459
9460impl Default for ImageDrmFormatModifierListCreateInfoEXT {
9461 #[inline]
9462 fn default() -> Self {
9463 Self {
9464 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
9465 next: ptr::null(),
9466 drm_format_modifier_count: u32::default(),
9467 drm_format_modifiers: ptr::null(),
9468 }
9469 }
9470}
9471
9472unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
9473unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
9474
9475#[repr(C)]
9477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9478pub struct ImageDrmFormatModifierPropertiesEXT {
9479 pub s_type: StructureType,
9480 pub next: *mut c_void,
9481 pub drm_format_modifier: u64,
9482}
9483
9484impl Default for ImageDrmFormatModifierPropertiesEXT {
9485 #[inline]
9486 fn default() -> Self {
9487 Self {
9488 s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
9489 next: ptr::null_mut(),
9490 drm_format_modifier: u64::default(),
9491 }
9492 }
9493}
9494
9495unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
9496unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
9497
9498#[repr(C)]
9500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9501pub struct ImageFormatConstraintsInfoFUCHSIA {
9502 pub s_type: StructureType,
9503 pub next: *const c_void,
9504 pub image_create_info: ImageCreateInfo,
9505 pub required_format_features: FormatFeatureFlags,
9506 pub flags: ImageFormatConstraintsFlagsFUCHSIA,
9507 pub sysmem_pixel_format: u64,
9508 pub color_space_count: u32,
9509 pub color_spaces: *const SysmemColorSpaceFUCHSIA,
9510}
9511
9512impl Default for ImageFormatConstraintsInfoFUCHSIA {
9513 #[inline]
9514 fn default() -> Self {
9515 Self {
9516 s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
9517 next: ptr::null(),
9518 image_create_info: ImageCreateInfo::default(),
9519 required_format_features: FormatFeatureFlags::default(),
9520 flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
9521 sysmem_pixel_format: u64::default(),
9522 color_space_count: u32::default(),
9523 color_spaces: ptr::null(),
9524 }
9525 }
9526}
9527
9528unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
9529unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
9530
9531#[repr(C)]
9533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9534pub struct ImageFormatListCreateInfo {
9535 pub s_type: StructureType,
9536 pub next: *const c_void,
9537 pub view_format_count: u32,
9538 pub view_formats: *const Format,
9539}
9540
9541impl Default for ImageFormatListCreateInfo {
9542 #[inline]
9543 fn default() -> Self {
9544 Self {
9545 s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
9546 next: ptr::null(),
9547 view_format_count: u32::default(),
9548 view_formats: ptr::null(),
9549 }
9550 }
9551}
9552
9553unsafe impl Send for ImageFormatListCreateInfo {}
9554unsafe impl Sync for ImageFormatListCreateInfo {}
9555
9556#[repr(C)]
9558#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9559pub struct ImageFormatProperties {
9560 pub max_extent: Extent3D,
9561 pub max_mip_levels: u32,
9562 pub max_array_layers: u32,
9563 pub sample_counts: SampleCountFlags,
9564 pub max_resource_size: DeviceSize,
9565}
9566
9567#[repr(C)]
9569#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9570pub struct ImageFormatProperties2 {
9571 pub s_type: StructureType,
9572 pub next: *mut c_void,
9573 pub image_format_properties: ImageFormatProperties,
9574}
9575
9576impl Default for ImageFormatProperties2 {
9577 #[inline]
9578 fn default() -> Self {
9579 Self {
9580 s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
9581 next: ptr::null_mut(),
9582 image_format_properties: ImageFormatProperties::default(),
9583 }
9584 }
9585}
9586
9587unsafe impl Send for ImageFormatProperties2 {}
9588unsafe impl Sync for ImageFormatProperties2 {}
9589
9590#[repr(C)]
9592#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9593pub struct ImageMemoryBarrier {
9594 pub s_type: StructureType,
9595 pub next: *const c_void,
9596 pub src_access_mask: AccessFlags,
9597 pub dst_access_mask: AccessFlags,
9598 pub old_layout: ImageLayout,
9599 pub new_layout: ImageLayout,
9600 pub src_queue_family_index: u32,
9601 pub dst_queue_family_index: u32,
9602 pub image: Image,
9603 pub subresource_range: ImageSubresourceRange,
9604}
9605
9606impl Default for ImageMemoryBarrier {
9607 #[inline]
9608 fn default() -> Self {
9609 Self {
9610 s_type: StructureType::IMAGE_MEMORY_BARRIER,
9611 next: ptr::null(),
9612 src_access_mask: AccessFlags::default(),
9613 dst_access_mask: AccessFlags::default(),
9614 old_layout: ImageLayout::default(),
9615 new_layout: ImageLayout::default(),
9616 src_queue_family_index: u32::default(),
9617 dst_queue_family_index: u32::default(),
9618 image: Image::default(),
9619 subresource_range: ImageSubresourceRange::default(),
9620 }
9621 }
9622}
9623
9624unsafe impl Send for ImageMemoryBarrier {}
9625unsafe impl Sync for ImageMemoryBarrier {}
9626
9627#[repr(C)]
9629#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9630pub struct ImageMemoryBarrier2 {
9631 pub s_type: StructureType,
9632 pub next: *const c_void,
9633 pub src_stage_mask: PipelineStageFlags2,
9634 pub src_access_mask: AccessFlags2,
9635 pub dst_stage_mask: PipelineStageFlags2,
9636 pub dst_access_mask: AccessFlags2,
9637 pub old_layout: ImageLayout,
9638 pub new_layout: ImageLayout,
9639 pub src_queue_family_index: u32,
9640 pub dst_queue_family_index: u32,
9641 pub image: Image,
9642 pub subresource_range: ImageSubresourceRange,
9643}
9644
9645impl Default for ImageMemoryBarrier2 {
9646 #[inline]
9647 fn default() -> Self {
9648 Self {
9649 s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
9650 next: ptr::null(),
9651 src_stage_mask: PipelineStageFlags2::default(),
9652 src_access_mask: AccessFlags2::default(),
9653 dst_stage_mask: PipelineStageFlags2::default(),
9654 dst_access_mask: AccessFlags2::default(),
9655 old_layout: ImageLayout::default(),
9656 new_layout: ImageLayout::default(),
9657 src_queue_family_index: u32::default(),
9658 dst_queue_family_index: u32::default(),
9659 image: Image::default(),
9660 subresource_range: ImageSubresourceRange::default(),
9661 }
9662 }
9663}
9664
9665unsafe impl Send for ImageMemoryBarrier2 {}
9666unsafe impl Sync for ImageMemoryBarrier2 {}
9667
9668#[repr(C)]
9670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9671pub struct ImageMemoryRequirementsInfo2 {
9672 pub s_type: StructureType,
9673 pub next: *const c_void,
9674 pub image: Image,
9675}
9676
9677impl Default for ImageMemoryRequirementsInfo2 {
9678 #[inline]
9679 fn default() -> Self {
9680 Self {
9681 s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
9682 next: ptr::null(),
9683 image: Image::default(),
9684 }
9685 }
9686}
9687
9688unsafe impl Send for ImageMemoryRequirementsInfo2 {}
9689unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
9690
9691#[repr(C)]
9693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9694pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
9695 pub s_type: StructureType,
9696 pub next: *const c_void,
9697 pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
9698 pub image_pipe_handle: zx_handle_t,
9699}
9700
9701impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
9702 #[inline]
9703 fn default() -> Self {
9704 Self {
9705 s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
9706 next: ptr::null(),
9707 flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
9708 image_pipe_handle: zx_handle_t::default(),
9709 }
9710 }
9711}
9712
9713unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
9714unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
9715
9716#[repr(C)]
9718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9719pub struct ImagePlaneMemoryRequirementsInfo {
9720 pub s_type: StructureType,
9721 pub next: *const c_void,
9722 pub plane_aspect: ImageAspectFlags,
9723}
9724
9725impl Default for ImagePlaneMemoryRequirementsInfo {
9726 #[inline]
9727 fn default() -> Self {
9728 Self {
9729 s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
9730 next: ptr::null(),
9731 plane_aspect: ImageAspectFlags::default(),
9732 }
9733 }
9734}
9735
9736unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
9737unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
9738
9739#[repr(C)]
9741#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9742pub struct ImageResolve {
9743 pub src_subresource: ImageSubresourceLayers,
9744 pub src_offset: Offset3D,
9745 pub dst_subresource: ImageSubresourceLayers,
9746 pub dst_offset: Offset3D,
9747 pub extent: Extent3D,
9748}
9749
9750#[repr(C)]
9752#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9753pub struct ImageResolve2 {
9754 pub s_type: StructureType,
9755 pub next: *const c_void,
9756 pub src_subresource: ImageSubresourceLayers,
9757 pub src_offset: Offset3D,
9758 pub dst_subresource: ImageSubresourceLayers,
9759 pub dst_offset: Offset3D,
9760 pub extent: Extent3D,
9761}
9762
9763impl Default for ImageResolve2 {
9764 #[inline]
9765 fn default() -> Self {
9766 Self {
9767 s_type: StructureType::IMAGE_RESOLVE_2,
9768 next: ptr::null(),
9769 src_subresource: ImageSubresourceLayers::default(),
9770 src_offset: Offset3D::default(),
9771 dst_subresource: ImageSubresourceLayers::default(),
9772 dst_offset: Offset3D::default(),
9773 extent: Extent3D::default(),
9774 }
9775 }
9776}
9777
9778unsafe impl Send for ImageResolve2 {}
9779unsafe impl Sync for ImageResolve2 {}
9780
9781#[repr(C)]
9783#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9784pub struct ImageSparseMemoryRequirementsInfo2 {
9785 pub s_type: StructureType,
9786 pub next: *const c_void,
9787 pub image: Image,
9788}
9789
9790impl Default for ImageSparseMemoryRequirementsInfo2 {
9791 #[inline]
9792 fn default() -> Self {
9793 Self {
9794 s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
9795 next: ptr::null(),
9796 image: Image::default(),
9797 }
9798 }
9799}
9800
9801unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
9802unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
9803
9804#[repr(C)]
9806#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9807pub struct ImageStencilUsageCreateInfo {
9808 pub s_type: StructureType,
9809 pub next: *const c_void,
9810 pub stencil_usage: ImageUsageFlags,
9811}
9812
9813impl Default for ImageStencilUsageCreateInfo {
9814 #[inline]
9815 fn default() -> Self {
9816 Self {
9817 s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
9818 next: ptr::null(),
9819 stencil_usage: ImageUsageFlags::default(),
9820 }
9821 }
9822}
9823
9824unsafe impl Send for ImageStencilUsageCreateInfo {}
9825unsafe impl Sync for ImageStencilUsageCreateInfo {}
9826
9827#[repr(C)]
9829#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9830pub struct ImageSubresource {
9831 pub aspect_mask: ImageAspectFlags,
9832 pub mip_level: u32,
9833 pub array_layer: u32,
9834}
9835
9836#[repr(C)]
9838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9839pub struct ImageSubresource2 {
9840 pub s_type: StructureType,
9841 pub next: *mut c_void,
9842 pub image_subresource: ImageSubresource,
9843}
9844
9845impl Default for ImageSubresource2 {
9846 #[inline]
9847 fn default() -> Self {
9848 Self {
9849 s_type: StructureType::IMAGE_SUBRESOURCE_2,
9850 next: ptr::null_mut(),
9851 image_subresource: ImageSubresource::default(),
9852 }
9853 }
9854}
9855
9856unsafe impl Send for ImageSubresource2 {}
9857unsafe impl Sync for ImageSubresource2 {}
9858
9859#[repr(C)]
9861#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9862pub struct ImageSubresourceLayers {
9863 pub aspect_mask: ImageAspectFlags,
9864 pub mip_level: u32,
9865 pub base_array_layer: u32,
9866 pub layer_count: u32,
9867}
9868
9869#[repr(C)]
9871#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
9872pub struct ImageSubresourceRange {
9873 pub aspect_mask: ImageAspectFlags,
9874 pub base_mip_level: u32,
9875 pub level_count: u32,
9876 pub base_array_layer: u32,
9877 pub layer_count: u32,
9878}
9879
9880#[repr(C)]
9882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9883pub struct ImageSwapchainCreateInfoKHR {
9884 pub s_type: StructureType,
9885 pub next: *const c_void,
9886 pub swapchain: SwapchainKHR,
9887}
9888
9889impl Default for ImageSwapchainCreateInfoKHR {
9890 #[inline]
9891 fn default() -> Self {
9892 Self {
9893 s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
9894 next: ptr::null(),
9895 swapchain: SwapchainKHR::default(),
9896 }
9897 }
9898}
9899
9900unsafe impl Send for ImageSwapchainCreateInfoKHR {}
9901unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
9902
9903#[repr(C)]
9905#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9906pub struct ImageToMemoryCopy {
9907 pub s_type: StructureType,
9908 pub next: *const c_void,
9909 pub host_pointer: *mut c_void,
9910 pub memory_row_length: u32,
9911 pub memory_image_height: u32,
9912 pub image_subresource: ImageSubresourceLayers,
9913 pub image_offset: Offset3D,
9914 pub image_extent: Extent3D,
9915}
9916
9917impl Default for ImageToMemoryCopy {
9918 #[inline]
9919 fn default() -> Self {
9920 Self {
9921 s_type: StructureType::IMAGE_TO_MEMORY_COPY,
9922 next: ptr::null(),
9923 host_pointer: ptr::null_mut(),
9924 memory_row_length: u32::default(),
9925 memory_image_height: u32::default(),
9926 image_subresource: ImageSubresourceLayers::default(),
9927 image_offset: Offset3D::default(),
9928 image_extent: Extent3D::default(),
9929 }
9930 }
9931}
9932
9933unsafe impl Send for ImageToMemoryCopy {}
9934unsafe impl Sync for ImageToMemoryCopy {}
9935
9936#[repr(C)]
9938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9939pub struct ImageViewASTCDecodeModeEXT {
9940 pub s_type: StructureType,
9941 pub next: *const c_void,
9942 pub decode_mode: Format,
9943}
9944
9945impl Default for ImageViewASTCDecodeModeEXT {
9946 #[inline]
9947 fn default() -> Self {
9948 Self {
9949 s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
9950 next: ptr::null(),
9951 decode_mode: Format::default(),
9952 }
9953 }
9954}
9955
9956unsafe impl Send for ImageViewASTCDecodeModeEXT {}
9957unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
9958
9959#[repr(C)]
9961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9962pub struct ImageViewAddressPropertiesNVX {
9963 pub s_type: StructureType,
9964 pub next: *mut c_void,
9965 pub device_address: DeviceAddress,
9966 pub size: DeviceSize,
9967}
9968
9969impl Default for ImageViewAddressPropertiesNVX {
9970 #[inline]
9971 fn default() -> Self {
9972 Self {
9973 s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
9974 next: ptr::null_mut(),
9975 device_address: DeviceAddress::default(),
9976 size: DeviceSize::default(),
9977 }
9978 }
9979}
9980
9981unsafe impl Send for ImageViewAddressPropertiesNVX {}
9982unsafe impl Sync for ImageViewAddressPropertiesNVX {}
9983
9984#[repr(C)]
9986#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
9987pub struct ImageViewCaptureDescriptorDataInfoEXT {
9988 pub s_type: StructureType,
9989 pub next: *const c_void,
9990 pub image_view: ImageView,
9991}
9992
9993impl Default for ImageViewCaptureDescriptorDataInfoEXT {
9994 #[inline]
9995 fn default() -> Self {
9996 Self {
9997 s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
9998 next: ptr::null(),
9999 image_view: ImageView::default(),
10000 }
10001 }
10002}
10003
10004unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
10005unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
10006
10007#[repr(C)]
10009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10010pub struct ImageViewCreateInfo {
10011 pub s_type: StructureType,
10012 pub next: *const c_void,
10013 pub flags: ImageViewCreateFlags,
10014 pub image: Image,
10015 pub view_type: ImageViewType,
10016 pub format: Format,
10017 pub components: ComponentMapping,
10018 pub subresource_range: ImageSubresourceRange,
10019}
10020
10021impl Default for ImageViewCreateInfo {
10022 #[inline]
10023 fn default() -> Self {
10024 Self {
10025 s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
10026 next: ptr::null(),
10027 flags: ImageViewCreateFlags::default(),
10028 image: Image::default(),
10029 view_type: ImageViewType::default(),
10030 format: Format::default(),
10031 components: ComponentMapping::default(),
10032 subresource_range: ImageSubresourceRange::default(),
10033 }
10034 }
10035}
10036
10037unsafe impl Send for ImageViewCreateInfo {}
10038unsafe impl Sync for ImageViewCreateInfo {}
10039
10040#[repr(C)]
10042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10043pub struct ImageViewHandleInfoNVX {
10044 pub s_type: StructureType,
10045 pub next: *const c_void,
10046 pub image_view: ImageView,
10047 pub descriptor_type: DescriptorType,
10048 pub sampler: Sampler,
10049}
10050
10051impl Default for ImageViewHandleInfoNVX {
10052 #[inline]
10053 fn default() -> Self {
10054 Self {
10055 s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
10056 next: ptr::null(),
10057 image_view: ImageView::default(),
10058 descriptor_type: DescriptorType::default(),
10059 sampler: Sampler::default(),
10060 }
10061 }
10062}
10063
10064unsafe impl Send for ImageViewHandleInfoNVX {}
10065unsafe impl Sync for ImageViewHandleInfoNVX {}
10066
10067#[repr(C)]
10069#[derive(Copy, Clone, Debug, PartialEq)]
10070pub struct ImageViewMinLodCreateInfoEXT {
10071 pub s_type: StructureType,
10072 pub next: *const c_void,
10073 pub min_lod: f32,
10074}
10075
10076impl Default for ImageViewMinLodCreateInfoEXT {
10077 #[inline]
10078 fn default() -> Self {
10079 Self {
10080 s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
10081 next: ptr::null(),
10082 min_lod: f32::default(),
10083 }
10084 }
10085}
10086
10087unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
10088unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
10089
10090#[repr(C)]
10092#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10093pub struct ImageViewSampleWeightCreateInfoQCOM {
10094 pub s_type: StructureType,
10095 pub next: *const c_void,
10096 pub filter_center: Offset2D,
10097 pub filter_size: Extent2D,
10098 pub num_phases: u32,
10099}
10100
10101impl Default for ImageViewSampleWeightCreateInfoQCOM {
10102 #[inline]
10103 fn default() -> Self {
10104 Self {
10105 s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
10106 next: ptr::null(),
10107 filter_center: Offset2D::default(),
10108 filter_size: Extent2D::default(),
10109 num_phases: u32::default(),
10110 }
10111 }
10112}
10113
10114unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
10115unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
10116
10117#[repr(C)]
10119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10120pub struct ImageViewSlicedCreateInfoEXT {
10121 pub s_type: StructureType,
10122 pub next: *const c_void,
10123 pub slice_offset: u32,
10124 pub slice_count: u32,
10125}
10126
10127impl Default for ImageViewSlicedCreateInfoEXT {
10128 #[inline]
10129 fn default() -> Self {
10130 Self {
10131 s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
10132 next: ptr::null(),
10133 slice_offset: u32::default(),
10134 slice_count: u32::default(),
10135 }
10136 }
10137}
10138
10139unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
10140unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
10141
10142#[repr(C)]
10144#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10145pub struct ImageViewUsageCreateInfo {
10146 pub s_type: StructureType,
10147 pub next: *const c_void,
10148 pub usage: ImageUsageFlags,
10149}
10150
10151impl Default for ImageViewUsageCreateInfo {
10152 #[inline]
10153 fn default() -> Self {
10154 Self {
10155 s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
10156 next: ptr::null(),
10157 usage: ImageUsageFlags::default(),
10158 }
10159 }
10160}
10161
10162unsafe impl Send for ImageViewUsageCreateInfo {}
10163unsafe impl Sync for ImageViewUsageCreateInfo {}
10164
10165#[repr(C)]
10167#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10168pub struct ImportAndroidHardwareBufferInfoANDROID {
10169 pub s_type: StructureType,
10170 pub next: *const c_void,
10171 pub buffer: *mut AHardwareBuffer,
10172}
10173
10174impl Default for ImportAndroidHardwareBufferInfoANDROID {
10175 #[inline]
10176 fn default() -> Self {
10177 Self {
10178 s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
10179 next: ptr::null(),
10180 buffer: ptr::null_mut(),
10181 }
10182 }
10183}
10184
10185unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
10186unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
10187
10188#[repr(C)]
10190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10191pub struct ImportFenceFdInfoKHR {
10192 pub s_type: StructureType,
10193 pub next: *const c_void,
10194 pub fence: Fence,
10195 pub flags: FenceImportFlags,
10196 pub handle_type: ExternalFenceHandleTypeFlags,
10197 pub fd: c_int,
10198}
10199
10200impl Default for ImportFenceFdInfoKHR {
10201 #[inline]
10202 fn default() -> Self {
10203 Self {
10204 s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
10205 next: ptr::null(),
10206 fence: Fence::default(),
10207 flags: FenceImportFlags::default(),
10208 handle_type: ExternalFenceHandleTypeFlags::default(),
10209 fd: c_int::default(),
10210 }
10211 }
10212}
10213
10214unsafe impl Send for ImportFenceFdInfoKHR {}
10215unsafe impl Sync for ImportFenceFdInfoKHR {}
10216
10217#[repr(C)]
10219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10220pub struct ImportFenceSciSyncInfoNV {
10221 pub s_type: StructureType,
10222 pub next: *const c_void,
10223 pub fence: Fence,
10224 pub handle_type: ExternalFenceHandleTypeFlags,
10225 pub handle: *mut c_void,
10226}
10227
10228impl Default for ImportFenceSciSyncInfoNV {
10229 #[inline]
10230 fn default() -> Self {
10231 Self {
10232 s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
10233 next: ptr::null(),
10234 fence: Fence::default(),
10235 handle_type: ExternalFenceHandleTypeFlags::default(),
10236 handle: ptr::null_mut(),
10237 }
10238 }
10239}
10240
10241unsafe impl Send for ImportFenceSciSyncInfoNV {}
10242unsafe impl Sync for ImportFenceSciSyncInfoNV {}
10243
10244#[repr(C)]
10246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10247pub struct ImportFenceWin32HandleInfoKHR {
10248 pub s_type: StructureType,
10249 pub next: *const c_void,
10250 pub fence: Fence,
10251 pub flags: FenceImportFlags,
10252 pub handle_type: ExternalFenceHandleTypeFlags,
10253 pub handle: HANDLE,
10254 pub name: LPCWSTR,
10255}
10256
10257impl Default for ImportFenceWin32HandleInfoKHR {
10258 #[inline]
10259 fn default() -> Self {
10260 Self {
10261 s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
10262 next: ptr::null(),
10263 fence: Fence::default(),
10264 flags: FenceImportFlags::default(),
10265 handle_type: ExternalFenceHandleTypeFlags::default(),
10266 handle: ptr::null_mut(),
10267 name: ptr::null_mut(),
10268 }
10269 }
10270}
10271
10272unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
10273unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
10274
10275#[repr(C)]
10277#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10278pub struct ImportMemoryBufferCollectionFUCHSIA {
10279 pub s_type: StructureType,
10280 pub next: *const c_void,
10281 pub collection: BufferCollectionFUCHSIA,
10282 pub index: u32,
10283}
10284
10285impl Default for ImportMemoryBufferCollectionFUCHSIA {
10286 #[inline]
10287 fn default() -> Self {
10288 Self {
10289 s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
10290 next: ptr::null(),
10291 collection: BufferCollectionFUCHSIA::default(),
10292 index: u32::default(),
10293 }
10294 }
10295}
10296
10297unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
10298unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
10299
10300#[repr(C)]
10302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10303pub struct ImportMemoryFdInfoKHR {
10304 pub s_type: StructureType,
10305 pub next: *const c_void,
10306 pub handle_type: ExternalMemoryHandleTypeFlags,
10307 pub fd: c_int,
10308}
10309
10310impl Default for ImportMemoryFdInfoKHR {
10311 #[inline]
10312 fn default() -> Self {
10313 Self {
10314 s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
10315 next: ptr::null(),
10316 handle_type: ExternalMemoryHandleTypeFlags::default(),
10317 fd: c_int::default(),
10318 }
10319 }
10320}
10321
10322unsafe impl Send for ImportMemoryFdInfoKHR {}
10323unsafe impl Sync for ImportMemoryFdInfoKHR {}
10324
10325#[repr(C)]
10327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10328pub struct ImportMemoryHostPointerInfoEXT {
10329 pub s_type: StructureType,
10330 pub next: *const c_void,
10331 pub handle_type: ExternalMemoryHandleTypeFlags,
10332 pub host_pointer: *mut c_void,
10333}
10334
10335impl Default for ImportMemoryHostPointerInfoEXT {
10336 #[inline]
10337 fn default() -> Self {
10338 Self {
10339 s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
10340 next: ptr::null(),
10341 handle_type: ExternalMemoryHandleTypeFlags::default(),
10342 host_pointer: ptr::null_mut(),
10343 }
10344 }
10345}
10346
10347unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
10348unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
10349
10350#[repr(C)]
10352#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10353pub struct ImportMemoryMetalHandleInfoEXT {
10354 pub s_type: StructureType,
10355 pub next: *const c_void,
10356 pub handle_type: ExternalMemoryHandleTypeFlags,
10357 pub handle: *mut c_void,
10358}
10359
10360impl Default for ImportMemoryMetalHandleInfoEXT {
10361 #[inline]
10362 fn default() -> Self {
10363 Self {
10364 s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
10365 next: ptr::null(),
10366 handle_type: ExternalMemoryHandleTypeFlags::default(),
10367 handle: ptr::null_mut(),
10368 }
10369 }
10370}
10371
10372unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
10373unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
10374
10375#[repr(C)]
10377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10378pub struct ImportMemorySciBufInfoNV {
10379 pub s_type: StructureType,
10380 pub next: *const c_void,
10381 pub handle_type: ExternalMemoryHandleTypeFlags,
10382 pub handle: NvSciBufObj,
10383}
10384
10385impl Default for ImportMemorySciBufInfoNV {
10386 #[inline]
10387 fn default() -> Self {
10388 Self {
10389 s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
10390 next: ptr::null(),
10391 handle_type: ExternalMemoryHandleTypeFlags::default(),
10392 handle: ptr::null_mut(),
10393 }
10394 }
10395}
10396
10397unsafe impl Send for ImportMemorySciBufInfoNV {}
10398unsafe impl Sync for ImportMemorySciBufInfoNV {}
10399
10400#[repr(C)]
10402#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10403pub struct ImportMemoryWin32HandleInfoKHR {
10404 pub s_type: StructureType,
10405 pub next: *const c_void,
10406 pub handle_type: ExternalMemoryHandleTypeFlags,
10407 pub handle: HANDLE,
10408 pub name: LPCWSTR,
10409}
10410
10411impl Default for ImportMemoryWin32HandleInfoKHR {
10412 #[inline]
10413 fn default() -> Self {
10414 Self {
10415 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
10416 next: ptr::null(),
10417 handle_type: ExternalMemoryHandleTypeFlags::default(),
10418 handle: ptr::null_mut(),
10419 name: ptr::null_mut(),
10420 }
10421 }
10422}
10423
10424unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
10425unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
10426
10427#[repr(C)]
10429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10430pub struct ImportMemoryWin32HandleInfoNV {
10431 pub s_type: StructureType,
10432 pub next: *const c_void,
10433 pub handle_type: ExternalMemoryHandleTypeFlagsNV,
10434 pub handle: HANDLE,
10435}
10436
10437impl Default for ImportMemoryWin32HandleInfoNV {
10438 #[inline]
10439 fn default() -> Self {
10440 Self {
10441 s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
10442 next: ptr::null(),
10443 handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
10444 handle: ptr::null_mut(),
10445 }
10446 }
10447}
10448
10449unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
10450unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
10451
10452#[repr(C)]
10454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10455pub struct ImportMemoryZirconHandleInfoFUCHSIA {
10456 pub s_type: StructureType,
10457 pub next: *const c_void,
10458 pub handle_type: ExternalMemoryHandleTypeFlags,
10459 pub handle: zx_handle_t,
10460}
10461
10462impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
10463 #[inline]
10464 fn default() -> Self {
10465 Self {
10466 s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
10467 next: ptr::null(),
10468 handle_type: ExternalMemoryHandleTypeFlags::default(),
10469 handle: zx_handle_t::default(),
10470 }
10471 }
10472}
10473
10474unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
10475unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
10476
10477#[repr(C)]
10479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10480pub struct ImportMetalBufferInfoEXT {
10481 pub s_type: StructureType,
10482 pub next: *const c_void,
10483 pub mtl_buffer: MTLBuffer_id,
10484}
10485
10486impl Default for ImportMetalBufferInfoEXT {
10487 #[inline]
10488 fn default() -> Self {
10489 Self {
10490 s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
10491 next: ptr::null(),
10492 mtl_buffer: ptr::null_mut(),
10493 }
10494 }
10495}
10496
10497unsafe impl Send for ImportMetalBufferInfoEXT {}
10498unsafe impl Sync for ImportMetalBufferInfoEXT {}
10499
10500#[repr(C)]
10502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10503pub struct ImportMetalIOSurfaceInfoEXT {
10504 pub s_type: StructureType,
10505 pub next: *const c_void,
10506 pub io_surface: IOSurfaceRef,
10507}
10508
10509impl Default for ImportMetalIOSurfaceInfoEXT {
10510 #[inline]
10511 fn default() -> Self {
10512 Self {
10513 s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
10514 next: ptr::null(),
10515 io_surface: ptr::null_mut(),
10516 }
10517 }
10518}
10519
10520unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
10521unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
10522
10523#[repr(C)]
10525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10526pub struct ImportMetalSharedEventInfoEXT {
10527 pub s_type: StructureType,
10528 pub next: *const c_void,
10529 pub mtl_shared_event: MTLSharedEvent_id,
10530}
10531
10532impl Default for ImportMetalSharedEventInfoEXT {
10533 #[inline]
10534 fn default() -> Self {
10535 Self {
10536 s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
10537 next: ptr::null(),
10538 mtl_shared_event: ptr::null_mut(),
10539 }
10540 }
10541}
10542
10543unsafe impl Send for ImportMetalSharedEventInfoEXT {}
10544unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
10545
10546#[repr(C)]
10548#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10549pub struct ImportMetalTextureInfoEXT {
10550 pub s_type: StructureType,
10551 pub next: *const c_void,
10552 pub plane: ImageAspectFlags,
10553 pub mtl_texture: MTLTexture_id,
10554}
10555
10556impl Default for ImportMetalTextureInfoEXT {
10557 #[inline]
10558 fn default() -> Self {
10559 Self {
10560 s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
10561 next: ptr::null(),
10562 plane: ImageAspectFlags::default(),
10563 mtl_texture: ptr::null_mut(),
10564 }
10565 }
10566}
10567
10568unsafe impl Send for ImportMetalTextureInfoEXT {}
10569unsafe impl Sync for ImportMetalTextureInfoEXT {}
10570
10571#[repr(C)]
10573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10574pub struct ImportNativeBufferInfoOHOS {
10575 pub s_type: StructureType,
10576 pub next: *const c_void,
10577 pub buffer: *mut OH_NativeBuffer,
10578}
10579
10580impl Default for ImportNativeBufferInfoOHOS {
10581 #[inline]
10582 fn default() -> Self {
10583 Self {
10584 s_type: StructureType::IMPORT_NATIVE_BUFFER_INFO_OHOS,
10585 next: ptr::null(),
10586 buffer: ptr::null_mut(),
10587 }
10588 }
10589}
10590
10591unsafe impl Send for ImportNativeBufferInfoOHOS {}
10592unsafe impl Sync for ImportNativeBufferInfoOHOS {}
10593
10594#[repr(C)]
10596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10597pub struct ImportScreenBufferInfoQNX {
10598 pub s_type: StructureType,
10599 pub next: *const c_void,
10600 pub buffer: *mut _screen_buffer,
10601}
10602
10603impl Default for ImportScreenBufferInfoQNX {
10604 #[inline]
10605 fn default() -> Self {
10606 Self {
10607 s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
10608 next: ptr::null(),
10609 buffer: ptr::null_mut(),
10610 }
10611 }
10612}
10613
10614unsafe impl Send for ImportScreenBufferInfoQNX {}
10615unsafe impl Sync for ImportScreenBufferInfoQNX {}
10616
10617#[repr(C)]
10619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10620pub struct ImportSemaphoreFdInfoKHR {
10621 pub s_type: StructureType,
10622 pub next: *const c_void,
10623 pub semaphore: Semaphore,
10624 pub flags: SemaphoreImportFlags,
10625 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10626 pub fd: c_int,
10627}
10628
10629impl Default for ImportSemaphoreFdInfoKHR {
10630 #[inline]
10631 fn default() -> Self {
10632 Self {
10633 s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
10634 next: ptr::null(),
10635 semaphore: Semaphore::default(),
10636 flags: SemaphoreImportFlags::default(),
10637 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10638 fd: c_int::default(),
10639 }
10640 }
10641}
10642
10643unsafe impl Send for ImportSemaphoreFdInfoKHR {}
10644unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
10645
10646#[repr(C)]
10648#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10649pub struct ImportSemaphoreSciSyncInfoNV {
10650 pub s_type: StructureType,
10651 pub next: *const c_void,
10652 pub semaphore: Semaphore,
10653 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10654 pub handle: *mut c_void,
10655}
10656
10657impl Default for ImportSemaphoreSciSyncInfoNV {
10658 #[inline]
10659 fn default() -> Self {
10660 Self {
10661 s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
10662 next: ptr::null(),
10663 semaphore: Semaphore::default(),
10664 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10665 handle: ptr::null_mut(),
10666 }
10667 }
10668}
10669
10670unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
10671unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
10672
10673#[repr(C)]
10675#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10676pub struct ImportSemaphoreWin32HandleInfoKHR {
10677 pub s_type: StructureType,
10678 pub next: *const c_void,
10679 pub semaphore: Semaphore,
10680 pub flags: SemaphoreImportFlags,
10681 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10682 pub handle: HANDLE,
10683 pub name: LPCWSTR,
10684}
10685
10686impl Default for ImportSemaphoreWin32HandleInfoKHR {
10687 #[inline]
10688 fn default() -> Self {
10689 Self {
10690 s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
10691 next: ptr::null(),
10692 semaphore: Semaphore::default(),
10693 flags: SemaphoreImportFlags::default(),
10694 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10695 handle: ptr::null_mut(),
10696 name: ptr::null_mut(),
10697 }
10698 }
10699}
10700
10701unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
10702unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
10703
10704#[repr(C)]
10706#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10707pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
10708 pub s_type: StructureType,
10709 pub next: *const c_void,
10710 pub semaphore: Semaphore,
10711 pub flags: SemaphoreImportFlags,
10712 pub handle_type: ExternalSemaphoreHandleTypeFlags,
10713 pub zircon_handle: zx_handle_t,
10714}
10715
10716impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
10717 #[inline]
10718 fn default() -> Self {
10719 Self {
10720 s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
10721 next: ptr::null(),
10722 semaphore: Semaphore::default(),
10723 flags: SemaphoreImportFlags::default(),
10724 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
10725 zircon_handle: zx_handle_t::default(),
10726 }
10727 }
10728}
10729
10730unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10731unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
10732
10733#[repr(C)]
10735#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10736pub struct IndirectCommandsExecutionSetTokenEXT {
10737 pub type_: IndirectExecutionSetInfoTypeEXT,
10738 pub shader_stages: ShaderStageFlags,
10739}
10740
10741#[repr(C)]
10743#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10744pub struct IndirectCommandsIndexBufferTokenEXT {
10745 pub mode: IndirectCommandsInputModeFlagsEXT,
10746}
10747
10748#[repr(C)]
10750#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10751pub struct IndirectCommandsLayoutCreateInfoEXT {
10752 pub s_type: StructureType,
10753 pub next: *const c_void,
10754 pub flags: IndirectCommandsLayoutUsageFlagsEXT,
10755 pub shader_stages: ShaderStageFlags,
10756 pub indirect_stride: u32,
10757 pub pipeline_layout: PipelineLayout,
10758 pub token_count: u32,
10759 pub tokens: *const IndirectCommandsLayoutTokenEXT,
10760}
10761
10762impl Default for IndirectCommandsLayoutCreateInfoEXT {
10763 #[inline]
10764 fn default() -> Self {
10765 Self {
10766 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
10767 next: ptr::null(),
10768 flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
10769 shader_stages: ShaderStageFlags::default(),
10770 indirect_stride: u32::default(),
10771 pipeline_layout: PipelineLayout::default(),
10772 token_count: u32::default(),
10773 tokens: ptr::null(),
10774 }
10775 }
10776}
10777
10778unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
10779unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
10780
10781#[repr(C)]
10783#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10784pub struct IndirectCommandsLayoutCreateInfoNV {
10785 pub s_type: StructureType,
10786 pub next: *const c_void,
10787 pub flags: IndirectCommandsLayoutUsageFlagsNV,
10788 pub pipeline_bind_point: PipelineBindPoint,
10789 pub token_count: u32,
10790 pub tokens: *const IndirectCommandsLayoutTokenNV,
10791 pub stream_count: u32,
10792 pub stream_strides: *const u32,
10793}
10794
10795impl Default for IndirectCommandsLayoutCreateInfoNV {
10796 #[inline]
10797 fn default() -> Self {
10798 Self {
10799 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
10800 next: ptr::null(),
10801 flags: IndirectCommandsLayoutUsageFlagsNV::default(),
10802 pipeline_bind_point: PipelineBindPoint::default(),
10803 token_count: u32::default(),
10804 tokens: ptr::null(),
10805 stream_count: u32::default(),
10806 stream_strides: ptr::null(),
10807 }
10808 }
10809}
10810
10811unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
10812unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
10813
10814#[repr(C)]
10816#[derive(Copy, Clone, Debug)]
10817pub struct IndirectCommandsLayoutTokenEXT {
10818 pub s_type: StructureType,
10819 pub next: *const c_void,
10820 pub type_: IndirectCommandsTokenTypeEXT,
10821 pub data: IndirectCommandsTokenDataEXT,
10822 pub offset: u32,
10823}
10824
10825impl Default for IndirectCommandsLayoutTokenEXT {
10826 #[inline]
10827 fn default() -> Self {
10828 Self {
10829 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
10830 next: ptr::null(),
10831 type_: IndirectCommandsTokenTypeEXT::default(),
10832 data: IndirectCommandsTokenDataEXT::default(),
10833 offset: u32::default(),
10834 }
10835 }
10836}
10837
10838unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
10839unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
10840
10841#[repr(C)]
10843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10844pub struct IndirectCommandsLayoutTokenNV {
10845 pub s_type: StructureType,
10846 pub next: *const c_void,
10847 pub token_type: IndirectCommandsTokenTypeNV,
10848 pub stream: u32,
10849 pub offset: u32,
10850 pub vertex_binding_unit: u32,
10851 pub vertex_dynamic_stride: Bool32,
10852 pub pushconstant_pipeline_layout: PipelineLayout,
10853 pub pushconstant_shader_stage_flags: ShaderStageFlags,
10854 pub pushconstant_offset: u32,
10855 pub pushconstant_size: u32,
10856 pub indirect_state_flags: IndirectStateFlagsNV,
10857 pub index_type_count: u32,
10858 pub index_types: *const IndexType,
10859 pub index_type_values: *const u32,
10860}
10861
10862impl Default for IndirectCommandsLayoutTokenNV {
10863 #[inline]
10864 fn default() -> Self {
10865 Self {
10866 s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
10867 next: ptr::null(),
10868 token_type: IndirectCommandsTokenTypeNV::default(),
10869 stream: u32::default(),
10870 offset: u32::default(),
10871 vertex_binding_unit: u32::default(),
10872 vertex_dynamic_stride: Bool32::default(),
10873 pushconstant_pipeline_layout: PipelineLayout::default(),
10874 pushconstant_shader_stage_flags: ShaderStageFlags::default(),
10875 pushconstant_offset: u32::default(),
10876 pushconstant_size: u32::default(),
10877 indirect_state_flags: IndirectStateFlagsNV::default(),
10878 index_type_count: u32::default(),
10879 index_types: ptr::null(),
10880 index_type_values: ptr::null(),
10881 }
10882 }
10883}
10884
10885unsafe impl Send for IndirectCommandsLayoutTokenNV {}
10886unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
10887
10888#[repr(C)]
10890#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10891pub struct IndirectCommandsPushConstantTokenEXT {
10892 pub update_range: PushConstantRange,
10893}
10894
10895#[repr(C)]
10897#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10898pub struct IndirectCommandsStreamNV {
10899 pub buffer: Buffer,
10900 pub offset: DeviceSize,
10901}
10902
10903#[repr(C)]
10905#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
10906pub struct IndirectCommandsVertexBufferTokenEXT {
10907 pub vertex_binding_unit: u32,
10908}
10909
10910#[repr(C)]
10912#[derive(Copy, Clone, Debug)]
10913pub struct IndirectExecutionSetCreateInfoEXT {
10914 pub s_type: StructureType,
10915 pub next: *const c_void,
10916 pub type_: IndirectExecutionSetInfoTypeEXT,
10917 pub info: IndirectExecutionSetInfoEXT,
10918}
10919
10920impl Default for IndirectExecutionSetCreateInfoEXT {
10921 #[inline]
10922 fn default() -> Self {
10923 Self {
10924 s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
10925 next: ptr::null(),
10926 type_: IndirectExecutionSetInfoTypeEXT::default(),
10927 info: IndirectExecutionSetInfoEXT::default(),
10928 }
10929 }
10930}
10931
10932unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
10933unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
10934
10935#[repr(C)]
10937#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10938pub struct IndirectExecutionSetPipelineInfoEXT {
10939 pub s_type: StructureType,
10940 pub next: *const c_void,
10941 pub initial_pipeline: Pipeline,
10942 pub max_pipeline_count: u32,
10943}
10944
10945impl Default for IndirectExecutionSetPipelineInfoEXT {
10946 #[inline]
10947 fn default() -> Self {
10948 Self {
10949 s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
10950 next: ptr::null(),
10951 initial_pipeline: Pipeline::default(),
10952 max_pipeline_count: u32::default(),
10953 }
10954 }
10955}
10956
10957unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
10958unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
10959
10960#[repr(C)]
10962#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10963pub struct IndirectExecutionSetShaderInfoEXT {
10964 pub s_type: StructureType,
10965 pub next: *const c_void,
10966 pub shader_count: u32,
10967 pub initial_shaders: *const ShaderEXT,
10968 pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
10969 pub max_shader_count: u32,
10970 pub push_constant_range_count: u32,
10971 pub push_constant_ranges: *const PushConstantRange,
10972}
10973
10974impl Default for IndirectExecutionSetShaderInfoEXT {
10975 #[inline]
10976 fn default() -> Self {
10977 Self {
10978 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
10979 next: ptr::null(),
10980 shader_count: u32::default(),
10981 initial_shaders: ptr::null(),
10982 set_layout_infos: ptr::null(),
10983 max_shader_count: u32::default(),
10984 push_constant_range_count: u32::default(),
10985 push_constant_ranges: ptr::null(),
10986 }
10987 }
10988}
10989
10990unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
10991unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
10992
10993#[repr(C)]
10995#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
10996pub struct IndirectExecutionSetShaderLayoutInfoEXT {
10997 pub s_type: StructureType,
10998 pub next: *const c_void,
10999 pub set_layout_count: u32,
11000 pub set_layouts: *const DescriptorSetLayout,
11001}
11002
11003impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
11004 #[inline]
11005 fn default() -> Self {
11006 Self {
11007 s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
11008 next: ptr::null(),
11009 set_layout_count: u32::default(),
11010 set_layouts: ptr::null(),
11011 }
11012 }
11013}
11014
11015unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
11016unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
11017
11018#[repr(C)]
11020#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11021pub struct InitializePerformanceApiInfoINTEL {
11022 pub s_type: StructureType,
11023 pub next: *const c_void,
11024 pub user_data: *mut c_void,
11025}
11026
11027impl Default for InitializePerformanceApiInfoINTEL {
11028 #[inline]
11029 fn default() -> Self {
11030 Self {
11031 s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
11032 next: ptr::null(),
11033 user_data: ptr::null_mut(),
11034 }
11035 }
11036}
11037
11038unsafe impl Send for InitializePerformanceApiInfoINTEL {}
11039unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
11040
11041#[repr(C)]
11043#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11044pub struct InputAttachmentAspectReference {
11045 pub subpass: u32,
11046 pub input_attachment_index: u32,
11047 pub aspect_mask: ImageAspectFlags,
11048}
11049
11050#[repr(C)]
11052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11053pub struct InstanceCreateInfo {
11054 pub s_type: StructureType,
11055 pub next: *const c_void,
11056 pub flags: InstanceCreateFlags,
11057 pub application_info: *const ApplicationInfo,
11058 pub enabled_layer_count: u32,
11059 pub enabled_layer_names: *const *const c_char,
11060 pub enabled_extension_count: u32,
11061 pub enabled_extension_names: *const *const c_char,
11062}
11063
11064impl Default for InstanceCreateInfo {
11065 #[inline]
11066 fn default() -> Self {
11067 Self {
11068 s_type: StructureType::INSTANCE_CREATE_INFO,
11069 next: ptr::null(),
11070 flags: InstanceCreateFlags::default(),
11071 application_info: ptr::null(),
11072 enabled_layer_count: u32::default(),
11073 enabled_layer_names: ptr::null(),
11074 enabled_extension_count: u32::default(),
11075 enabled_extension_names: ptr::null(),
11076 }
11077 }
11078}
11079
11080unsafe impl Send for InstanceCreateInfo {}
11081unsafe impl Sync for InstanceCreateInfo {}
11082
11083#[repr(C)]
11085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11086pub struct LatencySleepInfoNV {
11087 pub s_type: StructureType,
11088 pub next: *const c_void,
11089 pub signal_semaphore: Semaphore,
11090 pub value: u64,
11091}
11092
11093impl Default for LatencySleepInfoNV {
11094 #[inline]
11095 fn default() -> Self {
11096 Self {
11097 s_type: StructureType::LATENCY_SLEEP_INFO_NV,
11098 next: ptr::null(),
11099 signal_semaphore: Semaphore::default(),
11100 value: u64::default(),
11101 }
11102 }
11103}
11104
11105unsafe impl Send for LatencySleepInfoNV {}
11106unsafe impl Sync for LatencySleepInfoNV {}
11107
11108#[repr(C)]
11110#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11111pub struct LatencySleepModeInfoNV {
11112 pub s_type: StructureType,
11113 pub next: *const c_void,
11114 pub low_latency_mode: Bool32,
11115 pub low_latency_boost: Bool32,
11116 pub minimum_interval_us: u32,
11117}
11118
11119impl Default for LatencySleepModeInfoNV {
11120 #[inline]
11121 fn default() -> Self {
11122 Self {
11123 s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
11124 next: ptr::null(),
11125 low_latency_mode: Bool32::default(),
11126 low_latency_boost: Bool32::default(),
11127 minimum_interval_us: u32::default(),
11128 }
11129 }
11130}
11131
11132unsafe impl Send for LatencySleepModeInfoNV {}
11133unsafe impl Sync for LatencySleepModeInfoNV {}
11134
11135#[repr(C)]
11137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11138pub struct LatencySubmissionPresentIdNV {
11139 pub s_type: StructureType,
11140 pub next: *const c_void,
11141 pub present_id: u64,
11142}
11143
11144impl Default for LatencySubmissionPresentIdNV {
11145 #[inline]
11146 fn default() -> Self {
11147 Self {
11148 s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
11149 next: ptr::null(),
11150 present_id: u64::default(),
11151 }
11152 }
11153}
11154
11155unsafe impl Send for LatencySubmissionPresentIdNV {}
11156unsafe impl Sync for LatencySubmissionPresentIdNV {}
11157
11158#[repr(C)]
11160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11161pub struct LatencySurfaceCapabilitiesNV {
11162 pub s_type: StructureType,
11163 pub next: *const c_void,
11164 pub present_mode_count: u32,
11165 pub present_modes: *mut PresentModeKHR,
11166}
11167
11168impl Default for LatencySurfaceCapabilitiesNV {
11169 #[inline]
11170 fn default() -> Self {
11171 Self {
11172 s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
11173 next: ptr::null(),
11174 present_mode_count: u32::default(),
11175 present_modes: ptr::null_mut(),
11176 }
11177 }
11178}
11179
11180unsafe impl Send for LatencySurfaceCapabilitiesNV {}
11181unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
11182
11183#[repr(C)]
11185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11186pub struct LatencyTimingsFrameReportNV {
11187 pub s_type: StructureType,
11188 pub next: *mut c_void,
11189 pub present_id: u64,
11190 pub input_sample_time_us: u64,
11191 pub sim_start_time_us: u64,
11192 pub sim_end_time_us: u64,
11193 pub render_submit_start_time_us: u64,
11194 pub render_submit_end_time_us: u64,
11195 pub present_start_time_us: u64,
11196 pub present_end_time_us: u64,
11197 pub driver_start_time_us: u64,
11198 pub driver_end_time_us: u64,
11199 pub os_render_queue_start_time_us: u64,
11200 pub os_render_queue_end_time_us: u64,
11201 pub gpu_render_start_time_us: u64,
11202 pub gpu_render_end_time_us: u64,
11203}
11204
11205impl Default for LatencyTimingsFrameReportNV {
11206 #[inline]
11207 fn default() -> Self {
11208 Self {
11209 s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
11210 next: ptr::null_mut(),
11211 present_id: u64::default(),
11212 input_sample_time_us: u64::default(),
11213 sim_start_time_us: u64::default(),
11214 sim_end_time_us: u64::default(),
11215 render_submit_start_time_us: u64::default(),
11216 render_submit_end_time_us: u64::default(),
11217 present_start_time_us: u64::default(),
11218 present_end_time_us: u64::default(),
11219 driver_start_time_us: u64::default(),
11220 driver_end_time_us: u64::default(),
11221 os_render_queue_start_time_us: u64::default(),
11222 os_render_queue_end_time_us: u64::default(),
11223 gpu_render_start_time_us: u64::default(),
11224 gpu_render_end_time_us: u64::default(),
11225 }
11226 }
11227}
11228
11229unsafe impl Send for LatencyTimingsFrameReportNV {}
11230unsafe impl Sync for LatencyTimingsFrameReportNV {}
11231
11232#[repr(C)]
11234#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11235pub struct LayerProperties {
11236 pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
11237 pub spec_version: u32,
11238 pub implementation_version: u32,
11239 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
11240}
11241
11242#[repr(C)]
11244#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11245pub struct LayerSettingEXT {
11246 pub layer_name: *const c_char,
11247 pub setting_name: *const c_char,
11248 pub type_: LayerSettingTypeEXT,
11249 pub value_count: u32,
11250 pub values: *const c_void,
11251}
11252
11253impl Default for LayerSettingEXT {
11254 #[inline]
11255 fn default() -> Self {
11256 Self {
11257 layer_name: ptr::null(),
11258 setting_name: ptr::null(),
11259 type_: LayerSettingTypeEXT::default(),
11260 value_count: u32::default(),
11261 values: ptr::null(),
11262 }
11263 }
11264}
11265
11266unsafe impl Send for LayerSettingEXT {}
11267unsafe impl Sync for LayerSettingEXT {}
11268
11269#[repr(C)]
11271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11272pub struct LayerSettingsCreateInfoEXT {
11273 pub s_type: StructureType,
11274 pub next: *const c_void,
11275 pub setting_count: u32,
11276 pub settings: *const LayerSettingEXT,
11277}
11278
11279impl Default for LayerSettingsCreateInfoEXT {
11280 #[inline]
11281 fn default() -> Self {
11282 Self {
11283 s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
11284 next: ptr::null(),
11285 setting_count: u32::default(),
11286 settings: ptr::null(),
11287 }
11288 }
11289}
11290
11291unsafe impl Send for LayerSettingsCreateInfoEXT {}
11292unsafe impl Sync for LayerSettingsCreateInfoEXT {}
11293
11294#[repr(C)]
11296#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11297pub struct MacOSSurfaceCreateInfoMVK {
11298 pub s_type: StructureType,
11299 pub next: *const c_void,
11300 pub flags: MacOSSurfaceCreateFlagsMVK,
11301 pub view: *const c_void,
11302}
11303
11304impl Default for MacOSSurfaceCreateInfoMVK {
11305 #[inline]
11306 fn default() -> Self {
11307 Self {
11308 s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
11309 next: ptr::null(),
11310 flags: MacOSSurfaceCreateFlagsMVK::default(),
11311 view: ptr::null(),
11312 }
11313 }
11314}
11315
11316unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
11317unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
11318
11319#[repr(C)]
11321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11322pub struct MappedMemoryRange {
11323 pub s_type: StructureType,
11324 pub next: *const c_void,
11325 pub memory: DeviceMemory,
11326 pub offset: DeviceSize,
11327 pub size: DeviceSize,
11328}
11329
11330impl Default for MappedMemoryRange {
11331 #[inline]
11332 fn default() -> Self {
11333 Self {
11334 s_type: StructureType::MAPPED_MEMORY_RANGE,
11335 next: ptr::null(),
11336 memory: DeviceMemory::default(),
11337 offset: DeviceSize::default(),
11338 size: DeviceSize::default(),
11339 }
11340 }
11341}
11342
11343unsafe impl Send for MappedMemoryRange {}
11344unsafe impl Sync for MappedMemoryRange {}
11345
11346#[repr(C)]
11348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11349pub struct MemoryAllocateFlagsInfo {
11350 pub s_type: StructureType,
11351 pub next: *const c_void,
11352 pub flags: MemoryAllocateFlags,
11353 pub device_mask: u32,
11354}
11355
11356impl Default for MemoryAllocateFlagsInfo {
11357 #[inline]
11358 fn default() -> Self {
11359 Self {
11360 s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
11361 next: ptr::null(),
11362 flags: MemoryAllocateFlags::default(),
11363 device_mask: u32::default(),
11364 }
11365 }
11366}
11367
11368unsafe impl Send for MemoryAllocateFlagsInfo {}
11369unsafe impl Sync for MemoryAllocateFlagsInfo {}
11370
11371#[repr(C)]
11373#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11374pub struct MemoryAllocateInfo {
11375 pub s_type: StructureType,
11376 pub next: *const c_void,
11377 pub allocation_size: DeviceSize,
11378 pub memory_type_index: u32,
11379}
11380
11381impl Default for MemoryAllocateInfo {
11382 #[inline]
11383 fn default() -> Self {
11384 Self {
11385 s_type: StructureType::MEMORY_ALLOCATE_INFO,
11386 next: ptr::null(),
11387 allocation_size: DeviceSize::default(),
11388 memory_type_index: u32::default(),
11389 }
11390 }
11391}
11392
11393unsafe impl Send for MemoryAllocateInfo {}
11394unsafe impl Sync for MemoryAllocateInfo {}
11395
11396#[repr(C)]
11398#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11399pub struct MemoryBarrier {
11400 pub s_type: StructureType,
11401 pub next: *const c_void,
11402 pub src_access_mask: AccessFlags,
11403 pub dst_access_mask: AccessFlags,
11404}
11405
11406impl Default for MemoryBarrier {
11407 #[inline]
11408 fn default() -> Self {
11409 Self {
11410 s_type: StructureType::MEMORY_BARRIER,
11411 next: ptr::null(),
11412 src_access_mask: AccessFlags::default(),
11413 dst_access_mask: AccessFlags::default(),
11414 }
11415 }
11416}
11417
11418unsafe impl Send for MemoryBarrier {}
11419unsafe impl Sync for MemoryBarrier {}
11420
11421#[repr(C)]
11423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11424pub struct MemoryBarrier2 {
11425 pub s_type: StructureType,
11426 pub next: *const c_void,
11427 pub src_stage_mask: PipelineStageFlags2,
11428 pub src_access_mask: AccessFlags2,
11429 pub dst_stage_mask: PipelineStageFlags2,
11430 pub dst_access_mask: AccessFlags2,
11431}
11432
11433impl Default for MemoryBarrier2 {
11434 #[inline]
11435 fn default() -> Self {
11436 Self {
11437 s_type: StructureType::MEMORY_BARRIER_2,
11438 next: ptr::null(),
11439 src_stage_mask: PipelineStageFlags2::default(),
11440 src_access_mask: AccessFlags2::default(),
11441 dst_stage_mask: PipelineStageFlags2::default(),
11442 dst_access_mask: AccessFlags2::default(),
11443 }
11444 }
11445}
11446
11447unsafe impl Send for MemoryBarrier2 {}
11448unsafe impl Sync for MemoryBarrier2 {}
11449
11450#[repr(C)]
11452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11453pub struct MemoryBarrierAccessFlags3KHR {
11454 pub s_type: StructureType,
11455 pub next: *const c_void,
11456 pub src_access_mask3: AccessFlags3KHR,
11457 pub dst_access_mask3: AccessFlags3KHR,
11458}
11459
11460impl Default for MemoryBarrierAccessFlags3KHR {
11461 #[inline]
11462 fn default() -> Self {
11463 Self {
11464 s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
11465 next: ptr::null(),
11466 src_access_mask3: AccessFlags3KHR::default(),
11467 dst_access_mask3: AccessFlags3KHR::default(),
11468 }
11469 }
11470}
11471
11472unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
11473unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
11474
11475#[repr(C)]
11477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11478pub struct MemoryDedicatedAllocateInfo {
11479 pub s_type: StructureType,
11480 pub next: *const c_void,
11481 pub image: Image,
11482 pub buffer: Buffer,
11483}
11484
11485impl Default for MemoryDedicatedAllocateInfo {
11486 #[inline]
11487 fn default() -> Self {
11488 Self {
11489 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
11490 next: ptr::null(),
11491 image: Image::default(),
11492 buffer: Buffer::default(),
11493 }
11494 }
11495}
11496
11497unsafe impl Send for MemoryDedicatedAllocateInfo {}
11498unsafe impl Sync for MemoryDedicatedAllocateInfo {}
11499
11500#[repr(C)]
11502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11503pub struct MemoryDedicatedAllocateInfoTensorARM {
11504 pub s_type: StructureType,
11505 pub next: *const c_void,
11506 pub tensor: TensorARM,
11507}
11508
11509impl Default for MemoryDedicatedAllocateInfoTensorARM {
11510 #[inline]
11511 fn default() -> Self {
11512 Self {
11513 s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
11514 next: ptr::null(),
11515 tensor: TensorARM::default(),
11516 }
11517 }
11518}
11519
11520unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
11521unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
11522
11523#[repr(C)]
11525#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11526pub struct MemoryDedicatedRequirements {
11527 pub s_type: StructureType,
11528 pub next: *mut c_void,
11529 pub prefers_dedicated_allocation: Bool32,
11530 pub requires_dedicated_allocation: Bool32,
11531}
11532
11533impl Default for MemoryDedicatedRequirements {
11534 #[inline]
11535 fn default() -> Self {
11536 Self {
11537 s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
11538 next: ptr::null_mut(),
11539 prefers_dedicated_allocation: Bool32::default(),
11540 requires_dedicated_allocation: Bool32::default(),
11541 }
11542 }
11543}
11544
11545unsafe impl Send for MemoryDedicatedRequirements {}
11546unsafe impl Sync for MemoryDedicatedRequirements {}
11547
11548#[repr(C)]
11550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11551pub struct MemoryFdPropertiesKHR {
11552 pub s_type: StructureType,
11553 pub next: *mut c_void,
11554 pub memory_type_bits: u32,
11555}
11556
11557impl Default for MemoryFdPropertiesKHR {
11558 #[inline]
11559 fn default() -> Self {
11560 Self {
11561 s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
11562 next: ptr::null_mut(),
11563 memory_type_bits: u32::default(),
11564 }
11565 }
11566}
11567
11568unsafe impl Send for MemoryFdPropertiesKHR {}
11569unsafe impl Sync for MemoryFdPropertiesKHR {}
11570
11571#[repr(C)]
11573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11574pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
11575 pub s_type: StructureType,
11576 pub next: *const c_void,
11577 pub memory: DeviceMemory,
11578}
11579
11580impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
11581 #[inline]
11582 fn default() -> Self {
11583 Self {
11584 s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
11585 next: ptr::null(),
11586 memory: DeviceMemory::default(),
11587 }
11588 }
11589}
11590
11591unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
11592unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
11593
11594#[repr(C)]
11596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11597pub struct MemoryGetFdInfoKHR {
11598 pub s_type: StructureType,
11599 pub next: *const c_void,
11600 pub memory: DeviceMemory,
11601 pub handle_type: ExternalMemoryHandleTypeFlags,
11602}
11603
11604impl Default for MemoryGetFdInfoKHR {
11605 #[inline]
11606 fn default() -> Self {
11607 Self {
11608 s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
11609 next: ptr::null(),
11610 memory: DeviceMemory::default(),
11611 handle_type: ExternalMemoryHandleTypeFlags::default(),
11612 }
11613 }
11614}
11615
11616unsafe impl Send for MemoryGetFdInfoKHR {}
11617unsafe impl Sync for MemoryGetFdInfoKHR {}
11618
11619#[repr(C)]
11621#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11622pub struct MemoryGetMetalHandleInfoEXT {
11623 pub s_type: StructureType,
11624 pub next: *const c_void,
11625 pub memory: DeviceMemory,
11626 pub handle_type: ExternalMemoryHandleTypeFlags,
11627}
11628
11629impl Default for MemoryGetMetalHandleInfoEXT {
11630 #[inline]
11631 fn default() -> Self {
11632 Self {
11633 s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
11634 next: ptr::null(),
11635 memory: DeviceMemory::default(),
11636 handle_type: ExternalMemoryHandleTypeFlags::default(),
11637 }
11638 }
11639}
11640
11641unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
11642unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
11643
11644#[repr(C)]
11646#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11647pub struct MemoryGetNativeBufferInfoOHOS {
11648 pub s_type: StructureType,
11649 pub next: *const c_void,
11650 pub memory: DeviceMemory,
11651}
11652
11653impl Default for MemoryGetNativeBufferInfoOHOS {
11654 #[inline]
11655 fn default() -> Self {
11656 Self {
11657 s_type: StructureType::MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
11658 next: ptr::null(),
11659 memory: DeviceMemory::default(),
11660 }
11661 }
11662}
11663
11664unsafe impl Send for MemoryGetNativeBufferInfoOHOS {}
11665unsafe impl Sync for MemoryGetNativeBufferInfoOHOS {}
11666
11667#[repr(C)]
11669#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11670pub struct MemoryGetRemoteAddressInfoNV {
11671 pub s_type: StructureType,
11672 pub next: *const c_void,
11673 pub memory: DeviceMemory,
11674 pub handle_type: ExternalMemoryHandleTypeFlags,
11675}
11676
11677impl Default for MemoryGetRemoteAddressInfoNV {
11678 #[inline]
11679 fn default() -> Self {
11680 Self {
11681 s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
11682 next: ptr::null(),
11683 memory: DeviceMemory::default(),
11684 handle_type: ExternalMemoryHandleTypeFlags::default(),
11685 }
11686 }
11687}
11688
11689unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
11690unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
11691
11692#[repr(C)]
11694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11695pub struct MemoryGetSciBufInfoNV {
11696 pub s_type: StructureType,
11697 pub next: *const c_void,
11698 pub memory: DeviceMemory,
11699 pub handle_type: ExternalMemoryHandleTypeFlags,
11700}
11701
11702impl Default for MemoryGetSciBufInfoNV {
11703 #[inline]
11704 fn default() -> Self {
11705 Self {
11706 s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
11707 next: ptr::null(),
11708 memory: DeviceMemory::default(),
11709 handle_type: ExternalMemoryHandleTypeFlags::default(),
11710 }
11711 }
11712}
11713
11714unsafe impl Send for MemoryGetSciBufInfoNV {}
11715unsafe impl Sync for MemoryGetSciBufInfoNV {}
11716
11717#[repr(C)]
11719#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11720pub struct MemoryGetWin32HandleInfoKHR {
11721 pub s_type: StructureType,
11722 pub next: *const c_void,
11723 pub memory: DeviceMemory,
11724 pub handle_type: ExternalMemoryHandleTypeFlags,
11725}
11726
11727impl Default for MemoryGetWin32HandleInfoKHR {
11728 #[inline]
11729 fn default() -> Self {
11730 Self {
11731 s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
11732 next: ptr::null(),
11733 memory: DeviceMemory::default(),
11734 handle_type: ExternalMemoryHandleTypeFlags::default(),
11735 }
11736 }
11737}
11738
11739unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
11740unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
11741
11742#[repr(C)]
11744#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11745pub struct MemoryGetZirconHandleInfoFUCHSIA {
11746 pub s_type: StructureType,
11747 pub next: *const c_void,
11748 pub memory: DeviceMemory,
11749 pub handle_type: ExternalMemoryHandleTypeFlags,
11750}
11751
11752impl Default for MemoryGetZirconHandleInfoFUCHSIA {
11753 #[inline]
11754 fn default() -> Self {
11755 Self {
11756 s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
11757 next: ptr::null(),
11758 memory: DeviceMemory::default(),
11759 handle_type: ExternalMemoryHandleTypeFlags::default(),
11760 }
11761 }
11762}
11763
11764unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
11765unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
11766
11767#[repr(C)]
11769#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11770pub struct MemoryHeap {
11771 pub size: DeviceSize,
11772 pub flags: MemoryHeapFlags,
11773}
11774
11775#[repr(C)]
11777#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11778pub struct MemoryHostPointerPropertiesEXT {
11779 pub s_type: StructureType,
11780 pub next: *mut c_void,
11781 pub memory_type_bits: u32,
11782}
11783
11784impl Default for MemoryHostPointerPropertiesEXT {
11785 #[inline]
11786 fn default() -> Self {
11787 Self {
11788 s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
11789 next: ptr::null_mut(),
11790 memory_type_bits: u32::default(),
11791 }
11792 }
11793}
11794
11795unsafe impl Send for MemoryHostPointerPropertiesEXT {}
11796unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
11797
11798#[repr(C)]
11800#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11801pub struct MemoryMapInfo {
11802 pub s_type: StructureType,
11803 pub next: *const c_void,
11804 pub flags: MemoryMapFlags,
11805 pub memory: DeviceMemory,
11806 pub offset: DeviceSize,
11807 pub size: DeviceSize,
11808}
11809
11810impl Default for MemoryMapInfo {
11811 #[inline]
11812 fn default() -> Self {
11813 Self {
11814 s_type: StructureType::MEMORY_MAP_INFO,
11815 next: ptr::null(),
11816 flags: MemoryMapFlags::default(),
11817 memory: DeviceMemory::default(),
11818 offset: DeviceSize::default(),
11819 size: DeviceSize::default(),
11820 }
11821 }
11822}
11823
11824unsafe impl Send for MemoryMapInfo {}
11825unsafe impl Sync for MemoryMapInfo {}
11826
11827#[repr(C)]
11829#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11830pub struct MemoryMapPlacedInfoEXT {
11831 pub s_type: StructureType,
11832 pub next: *const c_void,
11833 pub placed_address: *mut c_void,
11834}
11835
11836impl Default for MemoryMapPlacedInfoEXT {
11837 #[inline]
11838 fn default() -> Self {
11839 Self {
11840 s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
11841 next: ptr::null(),
11842 placed_address: ptr::null_mut(),
11843 }
11844 }
11845}
11846
11847unsafe impl Send for MemoryMapPlacedInfoEXT {}
11848unsafe impl Sync for MemoryMapPlacedInfoEXT {}
11849
11850#[repr(C)]
11852#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11853pub struct MemoryMetalHandlePropertiesEXT {
11854 pub s_type: StructureType,
11855 pub next: *mut c_void,
11856 pub memory_type_bits: u32,
11857}
11858
11859impl Default for MemoryMetalHandlePropertiesEXT {
11860 #[inline]
11861 fn default() -> Self {
11862 Self {
11863 s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
11864 next: ptr::null_mut(),
11865 memory_type_bits: u32::default(),
11866 }
11867 }
11868}
11869
11870unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
11871unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
11872
11873#[repr(C)]
11875#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11876pub struct MemoryOpaqueCaptureAddressAllocateInfo {
11877 pub s_type: StructureType,
11878 pub next: *const c_void,
11879 pub opaque_capture_address: u64,
11880}
11881
11882impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
11883 #[inline]
11884 fn default() -> Self {
11885 Self {
11886 s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
11887 next: ptr::null(),
11888 opaque_capture_address: u64::default(),
11889 }
11890 }
11891}
11892
11893unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
11894unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
11895
11896#[repr(C)]
11898#[derive(Copy, Clone, Debug, PartialEq)]
11899pub struct MemoryPriorityAllocateInfoEXT {
11900 pub s_type: StructureType,
11901 pub next: *const c_void,
11902 pub priority: f32,
11903}
11904
11905impl Default for MemoryPriorityAllocateInfoEXT {
11906 #[inline]
11907 fn default() -> Self {
11908 Self {
11909 s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
11910 next: ptr::null(),
11911 priority: f32::default(),
11912 }
11913 }
11914}
11915
11916unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
11917unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
11918
11919#[repr(C)]
11921#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
11922pub struct MemoryRequirements {
11923 pub size: DeviceSize,
11924 pub alignment: DeviceSize,
11925 pub memory_type_bits: u32,
11926}
11927
11928#[repr(C)]
11930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11931pub struct MemoryRequirements2 {
11932 pub s_type: StructureType,
11933 pub next: *mut c_void,
11934 pub memory_requirements: MemoryRequirements,
11935}
11936
11937impl Default for MemoryRequirements2 {
11938 #[inline]
11939 fn default() -> Self {
11940 Self {
11941 s_type: StructureType::MEMORY_REQUIREMENTS_2,
11942 next: ptr::null_mut(),
11943 memory_requirements: MemoryRequirements::default(),
11944 }
11945 }
11946}
11947
11948unsafe impl Send for MemoryRequirements2 {}
11949unsafe impl Sync for MemoryRequirements2 {}
11950
11951#[repr(C)]
11953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11954pub struct MemorySciBufPropertiesNV {
11955 pub s_type: StructureType,
11956 pub next: *const c_void,
11957 pub memory_type_bits: u32,
11958}
11959
11960impl Default for MemorySciBufPropertiesNV {
11961 #[inline]
11962 fn default() -> Self {
11963 Self {
11964 s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
11965 next: ptr::null(),
11966 memory_type_bits: u32::default(),
11967 }
11968 }
11969}
11970
11971unsafe impl Send for MemorySciBufPropertiesNV {}
11972unsafe impl Sync for MemorySciBufPropertiesNV {}
11973
11974#[repr(C)]
11976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
11977pub struct MemoryToImageCopy {
11978 pub s_type: StructureType,
11979 pub next: *const c_void,
11980 pub host_pointer: *const c_void,
11981 pub memory_row_length: u32,
11982 pub memory_image_height: u32,
11983 pub image_subresource: ImageSubresourceLayers,
11984 pub image_offset: Offset3D,
11985 pub image_extent: Extent3D,
11986}
11987
11988impl Default for MemoryToImageCopy {
11989 #[inline]
11990 fn default() -> Self {
11991 Self {
11992 s_type: StructureType::MEMORY_TO_IMAGE_COPY,
11993 next: ptr::null(),
11994 host_pointer: ptr::null(),
11995 memory_row_length: u32::default(),
11996 memory_image_height: u32::default(),
11997 image_subresource: ImageSubresourceLayers::default(),
11998 image_offset: Offset3D::default(),
11999 image_extent: Extent3D::default(),
12000 }
12001 }
12002}
12003
12004unsafe impl Send for MemoryToImageCopy {}
12005unsafe impl Sync for MemoryToImageCopy {}
12006
12007#[repr(C)]
12009#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12010pub struct MemoryType {
12011 pub property_flags: MemoryPropertyFlags,
12012 pub heap_index: u32,
12013}
12014
12015#[repr(C)]
12017#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12018pub struct MemoryUnmapInfo {
12019 pub s_type: StructureType,
12020 pub next: *const c_void,
12021 pub flags: MemoryUnmapFlags,
12022 pub memory: DeviceMemory,
12023}
12024
12025impl Default for MemoryUnmapInfo {
12026 #[inline]
12027 fn default() -> Self {
12028 Self {
12029 s_type: StructureType::MEMORY_UNMAP_INFO,
12030 next: ptr::null(),
12031 flags: MemoryUnmapFlags::default(),
12032 memory: DeviceMemory::default(),
12033 }
12034 }
12035}
12036
12037unsafe impl Send for MemoryUnmapInfo {}
12038unsafe impl Sync for MemoryUnmapInfo {}
12039
12040#[repr(C)]
12042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12043pub struct MemoryWin32HandlePropertiesKHR {
12044 pub s_type: StructureType,
12045 pub next: *mut c_void,
12046 pub memory_type_bits: u32,
12047}
12048
12049impl Default for MemoryWin32HandlePropertiesKHR {
12050 #[inline]
12051 fn default() -> Self {
12052 Self {
12053 s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
12054 next: ptr::null_mut(),
12055 memory_type_bits: u32::default(),
12056 }
12057 }
12058}
12059
12060unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
12061unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
12062
12063#[repr(C)]
12065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12066pub struct MemoryZirconHandlePropertiesFUCHSIA {
12067 pub s_type: StructureType,
12068 pub next: *mut c_void,
12069 pub memory_type_bits: u32,
12070}
12071
12072impl Default for MemoryZirconHandlePropertiesFUCHSIA {
12073 #[inline]
12074 fn default() -> Self {
12075 Self {
12076 s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
12077 next: ptr::null_mut(),
12078 memory_type_bits: u32::default(),
12079 }
12080 }
12081}
12082
12083unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
12084unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
12085
12086#[repr(C)]
12088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12089pub struct MetalSurfaceCreateInfoEXT {
12090 pub s_type: StructureType,
12091 pub next: *const c_void,
12092 pub flags: MetalSurfaceCreateFlagsEXT,
12093 pub layer: *const CAMetalLayer,
12094}
12095
12096impl Default for MetalSurfaceCreateInfoEXT {
12097 #[inline]
12098 fn default() -> Self {
12099 Self {
12100 s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
12101 next: ptr::null(),
12102 flags: MetalSurfaceCreateFlagsEXT::default(),
12103 layer: ptr::null(),
12104 }
12105 }
12106}
12107
12108unsafe impl Send for MetalSurfaceCreateInfoEXT {}
12109unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
12110
12111#[repr(C)]
12113#[derive(Copy, Clone, Debug)]
12114pub struct MicromapBuildInfoEXT {
12115 pub s_type: StructureType,
12116 pub next: *const c_void,
12117 pub type_: MicromapTypeEXT,
12118 pub flags: BuildMicromapFlagsEXT,
12119 pub mode: BuildMicromapModeEXT,
12120 pub dst_micromap: MicromapEXT,
12121 pub usage_counts_count: u32,
12122 pub usage_counts: *const MicromapUsageEXT,
12123 pub pointer_usage_counts: *const *const MicromapUsageEXT,
12124 pub data: DeviceOrHostAddressConstKHR,
12125 pub scratch_data: DeviceOrHostAddressKHR,
12126 pub triangle_array: DeviceOrHostAddressConstKHR,
12127 pub triangle_array_stride: DeviceSize,
12128}
12129
12130impl Default for MicromapBuildInfoEXT {
12131 #[inline]
12132 fn default() -> Self {
12133 Self {
12134 s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
12135 next: ptr::null(),
12136 type_: MicromapTypeEXT::default(),
12137 flags: BuildMicromapFlagsEXT::default(),
12138 mode: BuildMicromapModeEXT::default(),
12139 dst_micromap: MicromapEXT::default(),
12140 usage_counts_count: u32::default(),
12141 usage_counts: ptr::null(),
12142 pointer_usage_counts: ptr::null(),
12143 data: DeviceOrHostAddressConstKHR::default(),
12144 scratch_data: DeviceOrHostAddressKHR::default(),
12145 triangle_array: DeviceOrHostAddressConstKHR::default(),
12146 triangle_array_stride: DeviceSize::default(),
12147 }
12148 }
12149}
12150
12151unsafe impl Send for MicromapBuildInfoEXT {}
12152unsafe impl Sync for MicromapBuildInfoEXT {}
12153
12154#[repr(C)]
12156#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12157pub struct MicromapBuildSizesInfoEXT {
12158 pub s_type: StructureType,
12159 pub next: *const c_void,
12160 pub micromap_size: DeviceSize,
12161 pub build_scratch_size: DeviceSize,
12162 pub discardable: Bool32,
12163}
12164
12165impl Default for MicromapBuildSizesInfoEXT {
12166 #[inline]
12167 fn default() -> Self {
12168 Self {
12169 s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
12170 next: ptr::null(),
12171 micromap_size: DeviceSize::default(),
12172 build_scratch_size: DeviceSize::default(),
12173 discardable: Bool32::default(),
12174 }
12175 }
12176}
12177
12178unsafe impl Send for MicromapBuildSizesInfoEXT {}
12179unsafe impl Sync for MicromapBuildSizesInfoEXT {}
12180
12181#[repr(C)]
12183#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12184pub struct MicromapCreateInfoEXT {
12185 pub s_type: StructureType,
12186 pub next: *const c_void,
12187 pub create_flags: MicromapCreateFlagsEXT,
12188 pub buffer: Buffer,
12189 pub offset: DeviceSize,
12190 pub size: DeviceSize,
12191 pub type_: MicromapTypeEXT,
12192 pub device_address: DeviceAddress,
12193}
12194
12195impl Default for MicromapCreateInfoEXT {
12196 #[inline]
12197 fn default() -> Self {
12198 Self {
12199 s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
12200 next: ptr::null(),
12201 create_flags: MicromapCreateFlagsEXT::default(),
12202 buffer: Buffer::default(),
12203 offset: DeviceSize::default(),
12204 size: DeviceSize::default(),
12205 type_: MicromapTypeEXT::default(),
12206 device_address: DeviceAddress::default(),
12207 }
12208 }
12209}
12210
12211unsafe impl Send for MicromapCreateInfoEXT {}
12212unsafe impl Sync for MicromapCreateInfoEXT {}
12213
12214#[repr(C)]
12216#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12217pub struct MicromapTriangleEXT {
12218 pub data_offset: u32,
12219 pub subdivision_level: u16,
12220 pub format: u16,
12221}
12222
12223#[repr(C)]
12225#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12226pub struct MicromapUsageEXT {
12227 pub count: u32,
12228 pub subdivision_level: u32,
12229 pub format: u32,
12230}
12231
12232#[repr(C)]
12234#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12235pub struct MicromapVersionInfoEXT {
12236 pub s_type: StructureType,
12237 pub next: *const c_void,
12238 pub version_data: *const u8,
12239}
12240
12241impl Default for MicromapVersionInfoEXT {
12242 #[inline]
12243 fn default() -> Self {
12244 Self {
12245 s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
12246 next: ptr::null(),
12247 version_data: ptr::null(),
12248 }
12249 }
12250}
12251
12252unsafe impl Send for MicromapVersionInfoEXT {}
12253unsafe impl Sync for MicromapVersionInfoEXT {}
12254
12255#[repr(C)]
12257#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12258pub struct MultiDrawIndexedInfoEXT {
12259 pub first_index: u32,
12260 pub index_count: u32,
12261 pub vertex_offset: i32,
12262}
12263
12264#[repr(C)]
12266#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12267pub struct MultiDrawInfoEXT {
12268 pub first_vertex: u32,
12269 pub vertex_count: u32,
12270}
12271
12272#[repr(C)]
12274#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12275pub struct MultisamplePropertiesEXT {
12276 pub s_type: StructureType,
12277 pub next: *mut c_void,
12278 pub max_sample_location_grid_size: Extent2D,
12279}
12280
12281impl Default for MultisamplePropertiesEXT {
12282 #[inline]
12283 fn default() -> Self {
12284 Self {
12285 s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
12286 next: ptr::null_mut(),
12287 max_sample_location_grid_size: Extent2D::default(),
12288 }
12289 }
12290}
12291
12292unsafe impl Send for MultisamplePropertiesEXT {}
12293unsafe impl Sync for MultisamplePropertiesEXT {}
12294
12295#[repr(C)]
12297#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12298pub struct MultisampledRenderToSingleSampledInfoEXT {
12299 pub s_type: StructureType,
12300 pub next: *const c_void,
12301 pub multisampled_render_to_single_sampled_enable: Bool32,
12302 pub rasterization_samples: SampleCountFlags,
12303}
12304
12305impl Default for MultisampledRenderToSingleSampledInfoEXT {
12306 #[inline]
12307 fn default() -> Self {
12308 Self {
12309 s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
12310 next: ptr::null(),
12311 multisampled_render_to_single_sampled_enable: Bool32::default(),
12312 rasterization_samples: SampleCountFlags::default(),
12313 }
12314 }
12315}
12316
12317unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
12318unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
12319
12320#[repr(C)]
12322#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12323pub struct MultiviewPerViewAttributesInfoNVX {
12324 pub s_type: StructureType,
12325 pub next: *const c_void,
12326 pub per_view_attributes: Bool32,
12327 pub per_view_attributes_position_x_only: Bool32,
12328}
12329
12330impl Default for MultiviewPerViewAttributesInfoNVX {
12331 #[inline]
12332 fn default() -> Self {
12333 Self {
12334 s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
12335 next: ptr::null(),
12336 per_view_attributes: Bool32::default(),
12337 per_view_attributes_position_x_only: Bool32::default(),
12338 }
12339 }
12340}
12341
12342unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
12343unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
12344
12345#[repr(C)]
12347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12348pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12349 pub s_type: StructureType,
12350 pub next: *const c_void,
12351 pub per_view_render_area_count: u32,
12352 pub per_view_render_areas: *const Rect2D,
12353}
12354
12355impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
12356 #[inline]
12357 fn default() -> Self {
12358 Self {
12359 s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
12360 next: ptr::null(),
12361 per_view_render_area_count: u32::default(),
12362 per_view_render_areas: ptr::null(),
12363 }
12364 }
12365}
12366
12367unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12368unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
12369
12370#[repr(C)]
12372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12373pub struct MutableDescriptorTypeCreateInfoEXT {
12374 pub s_type: StructureType,
12375 pub next: *const c_void,
12376 pub mutable_descriptor_type_list_count: u32,
12377 pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
12378}
12379
12380impl Default for MutableDescriptorTypeCreateInfoEXT {
12381 #[inline]
12382 fn default() -> Self {
12383 Self {
12384 s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
12385 next: ptr::null(),
12386 mutable_descriptor_type_list_count: u32::default(),
12387 mutable_descriptor_type_lists: ptr::null(),
12388 }
12389 }
12390}
12391
12392unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
12393unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
12394
12395#[repr(C)]
12397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12398pub struct MutableDescriptorTypeListEXT {
12399 pub descriptor_type_count: u32,
12400 pub descriptor_types: *const DescriptorType,
12401}
12402
12403impl Default for MutableDescriptorTypeListEXT {
12404 #[inline]
12405 fn default() -> Self {
12406 Self {
12407 descriptor_type_count: u32::default(),
12408 descriptor_types: ptr::null(),
12409 }
12410 }
12411}
12412
12413unsafe impl Send for MutableDescriptorTypeListEXT {}
12414unsafe impl Sync for MutableDescriptorTypeListEXT {}
12415
12416#[repr(C)]
12418#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12419pub struct NativeBufferFormatPropertiesOHOS {
12420 pub s_type: StructureType,
12421 pub next: *mut c_void,
12422 pub format: Format,
12423 pub external_format: u64,
12424 pub format_features: FormatFeatureFlags,
12425 pub sampler_ycbcr_conversion_components: ComponentMapping,
12426 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
12427 pub suggested_ycbcr_range: SamplerYcbcrRange,
12428 pub suggested_x_chroma_offset: ChromaLocation,
12429 pub suggested_y_chroma_offset: ChromaLocation,
12430}
12431
12432impl Default for NativeBufferFormatPropertiesOHOS {
12433 #[inline]
12434 fn default() -> Self {
12435 Self {
12436 s_type: StructureType::NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
12437 next: ptr::null_mut(),
12438 format: Format::default(),
12439 external_format: u64::default(),
12440 format_features: FormatFeatureFlags::default(),
12441 sampler_ycbcr_conversion_components: ComponentMapping::default(),
12442 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
12443 suggested_ycbcr_range: SamplerYcbcrRange::default(),
12444 suggested_x_chroma_offset: ChromaLocation::default(),
12445 suggested_y_chroma_offset: ChromaLocation::default(),
12446 }
12447 }
12448}
12449
12450unsafe impl Send for NativeBufferFormatPropertiesOHOS {}
12451unsafe impl Sync for NativeBufferFormatPropertiesOHOS {}
12452
12453#[repr(C)]
12455#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12456pub struct NativeBufferPropertiesOHOS {
12457 pub s_type: StructureType,
12458 pub next: *mut c_void,
12459 pub allocation_size: DeviceSize,
12460 pub memory_type_bits: u32,
12461}
12462
12463impl Default for NativeBufferPropertiesOHOS {
12464 #[inline]
12465 fn default() -> Self {
12466 Self {
12467 s_type: StructureType::NATIVE_BUFFER_PROPERTIES_OHOS,
12468 next: ptr::null_mut(),
12469 allocation_size: DeviceSize::default(),
12470 memory_type_bits: u32::default(),
12471 }
12472 }
12473}
12474
12475unsafe impl Send for NativeBufferPropertiesOHOS {}
12476unsafe impl Sync for NativeBufferPropertiesOHOS {}
12477
12478#[repr(C)]
12480#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12481pub struct NativeBufferUsageOHOS {
12482 pub s_type: StructureType,
12483 pub next: *mut c_void,
12484 pub ohos_native_buffer_usage: u64,
12485}
12486
12487impl Default for NativeBufferUsageOHOS {
12488 #[inline]
12489 fn default() -> Self {
12490 Self {
12491 s_type: StructureType::NATIVE_BUFFER_USAGE_OHOS,
12492 next: ptr::null_mut(),
12493 ohos_native_buffer_usage: u64::default(),
12494 }
12495 }
12496}
12497
12498unsafe impl Send for NativeBufferUsageOHOS {}
12499unsafe impl Sync for NativeBufferUsageOHOS {}
12500
12501#[repr(C)]
12503#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12504pub struct Offset2D {
12505 pub x: i32,
12506 pub y: i32,
12507}
12508
12509#[repr(C)]
12511#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12512pub struct Offset3D {
12513 pub x: i32,
12514 pub y: i32,
12515 pub z: i32,
12516}
12517
12518#[repr(C)]
12520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12521pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
12522 pub s_type: StructureType,
12523 pub next: *const c_void,
12524 pub opaque_capture_descriptor_data: *const c_void,
12525}
12526
12527impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
12528 #[inline]
12529 fn default() -> Self {
12530 Self {
12531 s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
12532 next: ptr::null(),
12533 opaque_capture_descriptor_data: ptr::null(),
12534 }
12535 }
12536}
12537
12538unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12539unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
12540
12541#[repr(C)]
12543#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12544pub struct OpticalFlowExecuteInfoNV {
12545 pub s_type: StructureType,
12546 pub next: *mut c_void,
12547 pub flags: OpticalFlowExecuteFlagsNV,
12548 pub region_count: u32,
12549 pub regions: *const Rect2D,
12550}
12551
12552impl Default for OpticalFlowExecuteInfoNV {
12553 #[inline]
12554 fn default() -> Self {
12555 Self {
12556 s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
12557 next: ptr::null_mut(),
12558 flags: OpticalFlowExecuteFlagsNV::default(),
12559 region_count: u32::default(),
12560 regions: ptr::null(),
12561 }
12562 }
12563}
12564
12565unsafe impl Send for OpticalFlowExecuteInfoNV {}
12566unsafe impl Sync for OpticalFlowExecuteInfoNV {}
12567
12568#[repr(C)]
12570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12571pub struct OpticalFlowImageFormatInfoNV {
12572 pub s_type: StructureType,
12573 pub next: *const c_void,
12574 pub usage: OpticalFlowUsageFlagsNV,
12575}
12576
12577impl Default for OpticalFlowImageFormatInfoNV {
12578 #[inline]
12579 fn default() -> Self {
12580 Self {
12581 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
12582 next: ptr::null(),
12583 usage: OpticalFlowUsageFlagsNV::default(),
12584 }
12585 }
12586}
12587
12588unsafe impl Send for OpticalFlowImageFormatInfoNV {}
12589unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
12590
12591#[repr(C)]
12593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12594pub struct OpticalFlowImageFormatPropertiesNV {
12595 pub s_type: StructureType,
12596 pub next: *mut c_void,
12597 pub format: Format,
12598}
12599
12600impl Default for OpticalFlowImageFormatPropertiesNV {
12601 #[inline]
12602 fn default() -> Self {
12603 Self {
12604 s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
12605 next: ptr::null_mut(),
12606 format: Format::default(),
12607 }
12608 }
12609}
12610
12611unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
12612unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
12613
12614#[repr(C)]
12616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12617pub struct OpticalFlowSessionCreateInfoNV {
12618 pub s_type: StructureType,
12619 pub next: *mut c_void,
12620 pub width: u32,
12621 pub height: u32,
12622 pub image_format: Format,
12623 pub flow_vector_format: Format,
12624 pub cost_format: Format,
12625 pub output_grid_size: OpticalFlowGridSizeFlagsNV,
12626 pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
12627 pub performance_level: OpticalFlowPerformanceLevelNV,
12628 pub flags: OpticalFlowSessionCreateFlagsNV,
12629}
12630
12631impl Default for OpticalFlowSessionCreateInfoNV {
12632 #[inline]
12633 fn default() -> Self {
12634 Self {
12635 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
12636 next: ptr::null_mut(),
12637 width: u32::default(),
12638 height: u32::default(),
12639 image_format: Format::default(),
12640 flow_vector_format: Format::default(),
12641 cost_format: Format::default(),
12642 output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12643 hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
12644 performance_level: OpticalFlowPerformanceLevelNV::default(),
12645 flags: OpticalFlowSessionCreateFlagsNV::default(),
12646 }
12647 }
12648}
12649
12650unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
12651unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
12652
12653#[repr(C)]
12655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12656pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
12657 pub s_type: StructureType,
12658 pub next: *mut c_void,
12659 pub id: u32,
12660 pub size: u32,
12661 pub private_data: *const c_void,
12662}
12663
12664impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
12665 #[inline]
12666 fn default() -> Self {
12667 Self {
12668 s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
12669 next: ptr::null_mut(),
12670 id: u32::default(),
12671 size: u32::default(),
12672 private_data: ptr::null(),
12673 }
12674 }
12675}
12676
12677unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
12678unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
12679
12680#[repr(C)]
12682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12683pub struct OutOfBandQueueTypeInfoNV {
12684 pub s_type: StructureType,
12685 pub next: *const c_void,
12686 pub queue_type: OutOfBandQueueTypeNV,
12687}
12688
12689impl Default for OutOfBandQueueTypeInfoNV {
12690 #[inline]
12691 fn default() -> Self {
12692 Self {
12693 s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
12694 next: ptr::null(),
12695 queue_type: OutOfBandQueueTypeNV::default(),
12696 }
12697 }
12698}
12699
12700unsafe impl Send for OutOfBandQueueTypeInfoNV {}
12701unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
12702
12703#[repr(C)]
12705#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12706pub struct PartitionedAccelerationStructureFlagsNV {
12707 pub s_type: StructureType,
12708 pub next: *mut c_void,
12709 pub enable_partition_translation: Bool32,
12710}
12711
12712impl Default for PartitionedAccelerationStructureFlagsNV {
12713 #[inline]
12714 fn default() -> Self {
12715 Self {
12716 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
12717 next: ptr::null_mut(),
12718 enable_partition_translation: Bool32::default(),
12719 }
12720 }
12721}
12722
12723unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
12724unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
12725
12726#[repr(C)]
12728#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12729pub struct PartitionedAccelerationStructureInstancesInputNV {
12730 pub s_type: StructureType,
12731 pub next: *mut c_void,
12732 pub flags: BuildAccelerationStructureFlagsKHR,
12733 pub instance_count: u32,
12734 pub max_instance_per_partition_count: u32,
12735 pub partition_count: u32,
12736 pub max_instance_in_global_partition_count: u32,
12737}
12738
12739impl Default for PartitionedAccelerationStructureInstancesInputNV {
12740 #[inline]
12741 fn default() -> Self {
12742 Self {
12743 s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
12744 next: ptr::null_mut(),
12745 flags: BuildAccelerationStructureFlagsKHR::default(),
12746 instance_count: u32::default(),
12747 max_instance_per_partition_count: u32::default(),
12748 partition_count: u32::default(),
12749 max_instance_in_global_partition_count: u32::default(),
12750 }
12751 }
12752}
12753
12754unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
12755unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
12756
12757#[repr(C)]
12759#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12760pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
12761 pub instance_index: u32,
12762 pub instance_contribution_to_hit_group_index: u32,
12763 pub acceleration_structure: DeviceAddress,
12764}
12765
12766#[repr(C)]
12768#[derive(Copy, Clone, Default, Debug, PartialEq)]
12769pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
12770 pub transform: TransformMatrixKHR,
12771 pub explicit_aabb: [f32; 6],
12772 pub instance_id: u32,
12773 pub instance_mask: u32,
12774 pub instance_contribution_to_hit_group_index: u32,
12775 pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
12776 pub instance_index: u32,
12777 pub partition_index: u32,
12778 pub acceleration_structure: DeviceAddress,
12779}
12780
12781#[repr(C)]
12783#[derive(Copy, Clone, Default, Debug, PartialEq)]
12784pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
12785 pub partition_index: u32,
12786 pub partition_translation: [f32; 3],
12787}
12788
12789#[repr(C)]
12791#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12792pub struct PastPresentationTimingEXT {
12793 pub s_type: StructureType,
12794 pub next: *mut c_void,
12795 pub present_id: u64,
12796 pub target_time: u64,
12797 pub present_stage_count: u32,
12798 pub present_stages: *mut PresentStageTimeEXT,
12799 pub time_domain: TimeDomainKHR,
12800 pub time_domain_id: u64,
12801 pub report_complete: Bool32,
12802}
12803
12804impl Default for PastPresentationTimingEXT {
12805 #[inline]
12806 fn default() -> Self {
12807 Self {
12808 s_type: StructureType::PAST_PRESENTATION_TIMING_EXT,
12809 next: ptr::null_mut(),
12810 present_id: u64::default(),
12811 target_time: u64::default(),
12812 present_stage_count: u32::default(),
12813 present_stages: ptr::null_mut(),
12814 time_domain: TimeDomainKHR::default(),
12815 time_domain_id: u64::default(),
12816 report_complete: Bool32::default(),
12817 }
12818 }
12819}
12820
12821unsafe impl Send for PastPresentationTimingEXT {}
12822unsafe impl Sync for PastPresentationTimingEXT {}
12823
12824#[repr(C)]
12826#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
12827pub struct PastPresentationTimingGOOGLE {
12828 pub present_id: u32,
12829 pub desired_present_time: u64,
12830 pub actual_present_time: u64,
12831 pub earliest_present_time: u64,
12832 pub present_margin: u64,
12833}
12834
12835#[repr(C)]
12837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12838pub struct PastPresentationTimingInfoEXT {
12839 pub s_type: StructureType,
12840 pub next: *const c_void,
12841 pub flags: PastPresentationTimingFlagsEXT,
12842 pub swapchain: SwapchainKHR,
12843}
12844
12845impl Default for PastPresentationTimingInfoEXT {
12846 #[inline]
12847 fn default() -> Self {
12848 Self {
12849 s_type: StructureType::PAST_PRESENTATION_TIMING_INFO_EXT,
12850 next: ptr::null(),
12851 flags: PastPresentationTimingFlagsEXT::default(),
12852 swapchain: SwapchainKHR::default(),
12853 }
12854 }
12855}
12856
12857unsafe impl Send for PastPresentationTimingInfoEXT {}
12858unsafe impl Sync for PastPresentationTimingInfoEXT {}
12859
12860#[repr(C)]
12862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12863pub struct PastPresentationTimingPropertiesEXT {
12864 pub s_type: StructureType,
12865 pub next: *mut c_void,
12866 pub timing_properties_counter: u64,
12867 pub time_domains_counter: u64,
12868 pub presentation_timing_count: u32,
12869 pub presentation_timings: *mut PastPresentationTimingEXT,
12870}
12871
12872impl Default for PastPresentationTimingPropertiesEXT {
12873 #[inline]
12874 fn default() -> Self {
12875 Self {
12876 s_type: StructureType::PAST_PRESENTATION_TIMING_PROPERTIES_EXT,
12877 next: ptr::null_mut(),
12878 timing_properties_counter: u64::default(),
12879 time_domains_counter: u64::default(),
12880 presentation_timing_count: u32::default(),
12881 presentation_timings: ptr::null_mut(),
12882 }
12883 }
12884}
12885
12886unsafe impl Send for PastPresentationTimingPropertiesEXT {}
12887unsafe impl Sync for PastPresentationTimingPropertiesEXT {}
12888
12889#[repr(C)]
12891#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12892pub struct PerTileBeginInfoQCOM {
12893 pub s_type: StructureType,
12894 pub next: *const c_void,
12895}
12896
12897impl Default for PerTileBeginInfoQCOM {
12898 #[inline]
12899 fn default() -> Self {
12900 Self {
12901 s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
12902 next: ptr::null(),
12903 }
12904 }
12905}
12906
12907unsafe impl Send for PerTileBeginInfoQCOM {}
12908unsafe impl Sync for PerTileBeginInfoQCOM {}
12909
12910#[repr(C)]
12912#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12913pub struct PerTileEndInfoQCOM {
12914 pub s_type: StructureType,
12915 pub next: *const c_void,
12916}
12917
12918impl Default for PerTileEndInfoQCOM {
12919 #[inline]
12920 fn default() -> Self {
12921 Self {
12922 s_type: StructureType::PER_TILE_END_INFO_QCOM,
12923 next: ptr::null(),
12924 }
12925 }
12926}
12927
12928unsafe impl Send for PerTileEndInfoQCOM {}
12929unsafe impl Sync for PerTileEndInfoQCOM {}
12930
12931#[repr(C)]
12933#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12934pub struct PerformanceConfigurationAcquireInfoINTEL {
12935 pub s_type: StructureType,
12936 pub next: *const c_void,
12937 pub type_: PerformanceConfigurationTypeINTEL,
12938}
12939
12940impl Default for PerformanceConfigurationAcquireInfoINTEL {
12941 #[inline]
12942 fn default() -> Self {
12943 Self {
12944 s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
12945 next: ptr::null(),
12946 type_: PerformanceConfigurationTypeINTEL::default(),
12947 }
12948 }
12949}
12950
12951unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
12952unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
12953
12954#[repr(C)]
12956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12957pub struct PerformanceCounterARM {
12958 pub s_type: StructureType,
12959 pub next: *mut c_void,
12960 pub counter_id: u32,
12961}
12962
12963impl Default for PerformanceCounterARM {
12964 #[inline]
12965 fn default() -> Self {
12966 Self {
12967 s_type: StructureType::PERFORMANCE_COUNTER_ARM,
12968 next: ptr::null_mut(),
12969 counter_id: u32::default(),
12970 }
12971 }
12972}
12973
12974unsafe impl Send for PerformanceCounterARM {}
12975unsafe impl Sync for PerformanceCounterARM {}
12976
12977#[repr(C)]
12979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
12980pub struct PerformanceCounterDescriptionARM {
12981 pub s_type: StructureType,
12982 pub next: *mut c_void,
12983 pub flags: PerformanceCounterDescriptionFlagsARM,
12984 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
12985}
12986
12987impl Default for PerformanceCounterDescriptionARM {
12988 #[inline]
12989 fn default() -> Self {
12990 Self {
12991 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_ARM,
12992 next: ptr::null_mut(),
12993 flags: PerformanceCounterDescriptionFlagsARM::default(),
12994 name: StringArray::default(),
12995 }
12996 }
12997}
12998
12999unsafe impl Send for PerformanceCounterDescriptionARM {}
13000unsafe impl Sync for PerformanceCounterDescriptionARM {}
13001
13002#[repr(C)]
13004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13005pub struct PerformanceCounterDescriptionKHR {
13006 pub s_type: StructureType,
13007 pub next: *mut c_void,
13008 pub flags: PerformanceCounterDescriptionFlagsKHR,
13009 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
13010 pub category: StringArray<MAX_DESCRIPTION_SIZE>,
13011 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
13012}
13013
13014impl Default for PerformanceCounterDescriptionKHR {
13015 #[inline]
13016 fn default() -> Self {
13017 Self {
13018 s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
13019 next: ptr::null_mut(),
13020 flags: PerformanceCounterDescriptionFlagsKHR::default(),
13021 name: StringArray::default(),
13022 category: StringArray::default(),
13023 description: StringArray::default(),
13024 }
13025 }
13026}
13027
13028unsafe impl Send for PerformanceCounterDescriptionKHR {}
13029unsafe impl Sync for PerformanceCounterDescriptionKHR {}
13030
13031#[repr(C)]
13033#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13034pub struct PerformanceCounterKHR {
13035 pub s_type: StructureType,
13036 pub next: *mut c_void,
13037 pub unit: PerformanceCounterUnitKHR,
13038 pub scope: PerformanceCounterScopeKHR,
13039 pub storage: PerformanceCounterStorageKHR,
13040 pub uuid: ByteArray<UUID_SIZE>,
13041}
13042
13043impl Default for PerformanceCounterKHR {
13044 #[inline]
13045 fn default() -> Self {
13046 Self {
13047 s_type: StructureType::PERFORMANCE_COUNTER_KHR,
13048 next: ptr::null_mut(),
13049 unit: PerformanceCounterUnitKHR::default(),
13050 scope: PerformanceCounterScopeKHR::default(),
13051 storage: PerformanceCounterStorageKHR::default(),
13052 uuid: ByteArray::default(),
13053 }
13054 }
13055}
13056
13057unsafe impl Send for PerformanceCounterKHR {}
13058unsafe impl Sync for PerformanceCounterKHR {}
13059
13060#[repr(C)]
13062#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13063pub struct PerformanceMarkerInfoINTEL {
13064 pub s_type: StructureType,
13065 pub next: *const c_void,
13066 pub marker: u64,
13067}
13068
13069impl Default for PerformanceMarkerInfoINTEL {
13070 #[inline]
13071 fn default() -> Self {
13072 Self {
13073 s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
13074 next: ptr::null(),
13075 marker: u64::default(),
13076 }
13077 }
13078}
13079
13080unsafe impl Send for PerformanceMarkerInfoINTEL {}
13081unsafe impl Sync for PerformanceMarkerInfoINTEL {}
13082
13083#[repr(C)]
13085#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13086pub struct PerformanceOverrideInfoINTEL {
13087 pub s_type: StructureType,
13088 pub next: *const c_void,
13089 pub type_: PerformanceOverrideTypeINTEL,
13090 pub enable: Bool32,
13091 pub parameter: u64,
13092}
13093
13094impl Default for PerformanceOverrideInfoINTEL {
13095 #[inline]
13096 fn default() -> Self {
13097 Self {
13098 s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
13099 next: ptr::null(),
13100 type_: PerformanceOverrideTypeINTEL::default(),
13101 enable: Bool32::default(),
13102 parameter: u64::default(),
13103 }
13104 }
13105}
13106
13107unsafe impl Send for PerformanceOverrideInfoINTEL {}
13108unsafe impl Sync for PerformanceOverrideInfoINTEL {}
13109
13110#[repr(C)]
13112#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13113pub struct PerformanceQueryReservationInfoKHR {
13114 pub s_type: StructureType,
13115 pub next: *const c_void,
13116 pub max_performance_queries_per_pool: u32,
13117}
13118
13119impl Default for PerformanceQueryReservationInfoKHR {
13120 #[inline]
13121 fn default() -> Self {
13122 Self {
13123 s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
13124 next: ptr::null(),
13125 max_performance_queries_per_pool: u32::default(),
13126 }
13127 }
13128}
13129
13130unsafe impl Send for PerformanceQueryReservationInfoKHR {}
13131unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
13132
13133#[repr(C)]
13135#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13136pub struct PerformanceQuerySubmitInfoKHR {
13137 pub s_type: StructureType,
13138 pub next: *const c_void,
13139 pub counter_pass_index: u32,
13140}
13141
13142impl Default for PerformanceQuerySubmitInfoKHR {
13143 #[inline]
13144 fn default() -> Self {
13145 Self {
13146 s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
13147 next: ptr::null(),
13148 counter_pass_index: u32::default(),
13149 }
13150 }
13151}
13152
13153unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
13154unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
13155
13156#[repr(C)]
13158#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13159pub struct PerformanceStreamMarkerInfoINTEL {
13160 pub s_type: StructureType,
13161 pub next: *const c_void,
13162 pub marker: u32,
13163}
13164
13165impl Default for PerformanceStreamMarkerInfoINTEL {
13166 #[inline]
13167 fn default() -> Self {
13168 Self {
13169 s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
13170 next: ptr::null(),
13171 marker: u32::default(),
13172 }
13173 }
13174}
13175
13176unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
13177unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
13178
13179#[repr(C)]
13181#[derive(Copy, Clone, Default, Debug)]
13182pub struct PerformanceValueINTEL {
13183 pub type_: PerformanceValueTypeINTEL,
13184 pub data: PerformanceValueDataINTEL,
13185}
13186
13187#[repr(C)]
13189#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13190pub struct PhysicalDevice16BitStorageFeatures {
13191 pub s_type: StructureType,
13192 pub next: *mut c_void,
13193 pub storage_buffer_16bit_access: Bool32,
13194 pub uniform_and_storage_buffer_16bit_access: Bool32,
13195 pub storage_push_constant16: Bool32,
13196 pub storage_input_output16: Bool32,
13197}
13198
13199impl Default for PhysicalDevice16BitStorageFeatures {
13200 #[inline]
13201 fn default() -> Self {
13202 Self {
13203 s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
13204 next: ptr::null_mut(),
13205 storage_buffer_16bit_access: Bool32::default(),
13206 uniform_and_storage_buffer_16bit_access: Bool32::default(),
13207 storage_push_constant16: Bool32::default(),
13208 storage_input_output16: Bool32::default(),
13209 }
13210 }
13211}
13212
13213unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
13214unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
13215
13216#[repr(C)]
13218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13219pub struct PhysicalDevice4444FormatsFeaturesEXT {
13220 pub s_type: StructureType,
13221 pub next: *mut c_void,
13222 pub format_a4_r4_g4_b4: Bool32,
13223 pub format_a4_b4_g4_r4: Bool32,
13224}
13225
13226impl Default for PhysicalDevice4444FormatsFeaturesEXT {
13227 #[inline]
13228 fn default() -> Self {
13229 Self {
13230 s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
13231 next: ptr::null_mut(),
13232 format_a4_r4_g4_b4: Bool32::default(),
13233 format_a4_b4_g4_r4: Bool32::default(),
13234 }
13235 }
13236}
13237
13238unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
13239unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
13240
13241#[repr(C)]
13243#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13244pub struct PhysicalDevice8BitStorageFeatures {
13245 pub s_type: StructureType,
13246 pub next: *mut c_void,
13247 pub storage_buffer_8bit_access: Bool32,
13248 pub uniform_and_storage_buffer_8bit_access: Bool32,
13249 pub storage_push_constant8: Bool32,
13250}
13251
13252impl Default for PhysicalDevice8BitStorageFeatures {
13253 #[inline]
13254 fn default() -> Self {
13255 Self {
13256 s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
13257 next: ptr::null_mut(),
13258 storage_buffer_8bit_access: Bool32::default(),
13259 uniform_and_storage_buffer_8bit_access: Bool32::default(),
13260 storage_push_constant8: Bool32::default(),
13261 }
13262 }
13263}
13264
13265unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
13266unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
13267
13268#[repr(C)]
13270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13271pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
13272 pub s_type: StructureType,
13273 pub next: *mut c_void,
13274 pub decode_mode_shared_exponent: Bool32,
13275}
13276
13277impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
13278 #[inline]
13279 fn default() -> Self {
13280 Self {
13281 s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
13282 next: ptr::null_mut(),
13283 decode_mode_shared_exponent: Bool32::default(),
13284 }
13285 }
13286}
13287
13288unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
13289unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
13290
13291#[repr(C)]
13293#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13294pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
13295 pub s_type: StructureType,
13296 pub next: *mut c_void,
13297 pub acceleration_structure: Bool32,
13298 pub acceleration_structure_capture_replay: Bool32,
13299 pub acceleration_structure_indirect_build: Bool32,
13300 pub acceleration_structure_host_commands: Bool32,
13301 pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
13302}
13303
13304impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
13305 #[inline]
13306 fn default() -> Self {
13307 Self {
13308 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
13309 next: ptr::null_mut(),
13310 acceleration_structure: Bool32::default(),
13311 acceleration_structure_capture_replay: Bool32::default(),
13312 acceleration_structure_indirect_build: Bool32::default(),
13313 acceleration_structure_host_commands: Bool32::default(),
13314 descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
13315 }
13316 }
13317}
13318
13319unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13320unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
13321
13322#[repr(C)]
13324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13325pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
13326 pub s_type: StructureType,
13327 pub next: *mut c_void,
13328 pub max_geometry_count: u64,
13329 pub max_instance_count: u64,
13330 pub max_primitive_count: u64,
13331 pub max_per_stage_descriptor_acceleration_structures: u32,
13332 pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
13333 pub max_descriptor_set_acceleration_structures: u32,
13334 pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
13335 pub min_acceleration_structure_scratch_offset_alignment: u32,
13336}
13337
13338impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
13339 #[inline]
13340 fn default() -> Self {
13341 Self {
13342 s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
13343 next: ptr::null_mut(),
13344 max_geometry_count: u64::default(),
13345 max_instance_count: u64::default(),
13346 max_primitive_count: u64::default(),
13347 max_per_stage_descriptor_acceleration_structures: u32::default(),
13348 max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
13349 max_descriptor_set_acceleration_structures: u32::default(),
13350 max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
13351 min_acceleration_structure_scratch_offset_alignment: u32::default(),
13352 }
13353 }
13354}
13355
13356unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13357unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
13358
13359#[repr(C)]
13361#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13362pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
13363 pub s_type: StructureType,
13364 pub next: *mut c_void,
13365 pub report_address_binding: Bool32,
13366}
13367
13368impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
13369 #[inline]
13370 fn default() -> Self {
13371 Self {
13372 s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
13373 next: ptr::null_mut(),
13374 report_address_binding: Bool32::default(),
13375 }
13376 }
13377}
13378
13379unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13380unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
13381
13382#[repr(C)]
13384#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13385pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
13386 pub s_type: StructureType,
13387 pub next: *mut c_void,
13388 pub amigo_profiling: Bool32,
13389}
13390
13391impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
13392 #[inline]
13393 fn default() -> Self {
13394 Self {
13395 s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
13396 next: ptr::null_mut(),
13397 amigo_profiling: Bool32::default(),
13398 }
13399 }
13400}
13401
13402unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13403unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
13404
13405#[repr(C)]
13407#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13408pub struct PhysicalDeviceAntiLagFeaturesAMD {
13409 pub s_type: StructureType,
13410 pub next: *mut c_void,
13411 pub anti_lag: Bool32,
13412}
13413
13414impl Default for PhysicalDeviceAntiLagFeaturesAMD {
13415 #[inline]
13416 fn default() -> Self {
13417 Self {
13418 s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
13419 next: ptr::null_mut(),
13420 anti_lag: Bool32::default(),
13421 }
13422 }
13423}
13424
13425unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
13426unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
13427
13428#[repr(C)]
13430#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13431pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13432 pub s_type: StructureType,
13433 pub next: *mut c_void,
13434 pub attachment_feedback_loop_dynamic_state: Bool32,
13435}
13436
13437impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
13438 #[inline]
13439 fn default() -> Self {
13440 Self {
13441 s_type:
13442 StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
13443 next: ptr::null_mut(),
13444 attachment_feedback_loop_dynamic_state: Bool32::default(),
13445 }
13446 }
13447}
13448
13449unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13450unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
13451
13452#[repr(C)]
13454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13455pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13456 pub s_type: StructureType,
13457 pub next: *mut c_void,
13458 pub attachment_feedback_loop_layout: Bool32,
13459}
13460
13461impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
13462 #[inline]
13463 fn default() -> Self {
13464 Self {
13465 s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
13466 next: ptr::null_mut(),
13467 attachment_feedback_loop_layout: Bool32::default(),
13468 }
13469 }
13470}
13471
13472unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13473unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
13474
13475#[repr(C)]
13477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13478pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13479 pub s_type: StructureType,
13480 pub next: *mut c_void,
13481 pub advanced_blend_coherent_operations: Bool32,
13482}
13483
13484impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
13485 #[inline]
13486 fn default() -> Self {
13487 Self {
13488 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
13489 next: ptr::null_mut(),
13490 advanced_blend_coherent_operations: Bool32::default(),
13491 }
13492 }
13493}
13494
13495unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13496unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
13497
13498#[repr(C)]
13500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13501pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13502 pub s_type: StructureType,
13503 pub next: *mut c_void,
13504 pub advanced_blend_max_color_attachments: u32,
13505 pub advanced_blend_independent_blend: Bool32,
13506 pub advanced_blend_non_premultiplied_src_color: Bool32,
13507 pub advanced_blend_non_premultiplied_dst_color: Bool32,
13508 pub advanced_blend_correlated_overlap: Bool32,
13509 pub advanced_blend_all_operations: Bool32,
13510}
13511
13512impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
13513 #[inline]
13514 fn default() -> Self {
13515 Self {
13516 s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
13517 next: ptr::null_mut(),
13518 advanced_blend_max_color_attachments: u32::default(),
13519 advanced_blend_independent_blend: Bool32::default(),
13520 advanced_blend_non_premultiplied_src_color: Bool32::default(),
13521 advanced_blend_non_premultiplied_dst_color: Bool32::default(),
13522 advanced_blend_correlated_overlap: Bool32::default(),
13523 advanced_blend_all_operations: Bool32::default(),
13524 }
13525 }
13526}
13527
13528unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13529unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
13530
13531#[repr(C)]
13533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13534pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13535 pub s_type: StructureType,
13536 pub next: *mut c_void,
13537 pub border_color_swizzle: Bool32,
13538 pub border_color_swizzle_from_image: Bool32,
13539}
13540
13541impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
13542 #[inline]
13543 fn default() -> Self {
13544 Self {
13545 s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
13546 next: ptr::null_mut(),
13547 border_color_swizzle: Bool32::default(),
13548 border_color_swizzle_from_image: Bool32::default(),
13549 }
13550 }
13551}
13552
13553unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13554unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
13555
13556#[repr(C)]
13558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13559pub struct PhysicalDeviceBufferDeviceAddressFeatures {
13560 pub s_type: StructureType,
13561 pub next: *mut c_void,
13562 pub buffer_device_address: Bool32,
13563 pub buffer_device_address_capture_replay: Bool32,
13564 pub buffer_device_address_multi_device: Bool32,
13565}
13566
13567impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
13568 #[inline]
13569 fn default() -> Self {
13570 Self {
13571 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
13572 next: ptr::null_mut(),
13573 buffer_device_address: Bool32::default(),
13574 buffer_device_address_capture_replay: Bool32::default(),
13575 buffer_device_address_multi_device: Bool32::default(),
13576 }
13577 }
13578}
13579
13580unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
13581unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
13582
13583#[repr(C)]
13585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13586pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13587 pub s_type: StructureType,
13588 pub next: *mut c_void,
13589 pub buffer_device_address: Bool32,
13590 pub buffer_device_address_capture_replay: Bool32,
13591 pub buffer_device_address_multi_device: Bool32,
13592}
13593
13594impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
13595 #[inline]
13596 fn default() -> Self {
13597 Self {
13598 s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
13599 next: ptr::null_mut(),
13600 buffer_device_address: Bool32::default(),
13601 buffer_device_address_capture_replay: Bool32::default(),
13602 buffer_device_address_multi_device: Bool32::default(),
13603 }
13604 }
13605}
13606
13607unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13608unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
13609
13610#[repr(C)]
13612#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13613pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13614 pub s_type: StructureType,
13615 pub next: *mut c_void,
13616 pub cluster_acceleration_structure: Bool32,
13617}
13618
13619impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
13620 #[inline]
13621 fn default() -> Self {
13622 Self {
13623 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
13624 next: ptr::null_mut(),
13625 cluster_acceleration_structure: Bool32::default(),
13626 }
13627 }
13628}
13629
13630unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13631unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
13632
13633#[repr(C)]
13635#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13636pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13637 pub s_type: StructureType,
13638 pub next: *mut c_void,
13639 pub max_vertices_per_cluster: u32,
13640 pub max_triangles_per_cluster: u32,
13641 pub cluster_scratch_byte_alignment: u32,
13642 pub cluster_byte_alignment: u32,
13643 pub cluster_template_byte_alignment: u32,
13644 pub cluster_bottom_level_byte_alignment: u32,
13645 pub cluster_template_bounds_byte_alignment: u32,
13646 pub max_cluster_geometry_index: u32,
13647}
13648
13649impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
13650 #[inline]
13651 fn default() -> Self {
13652 Self {
13653 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
13654 next: ptr::null_mut(),
13655 max_vertices_per_cluster: u32::default(),
13656 max_triangles_per_cluster: u32::default(),
13657 cluster_scratch_byte_alignment: u32::default(),
13658 cluster_byte_alignment: u32::default(),
13659 cluster_template_byte_alignment: u32::default(),
13660 cluster_bottom_level_byte_alignment: u32::default(),
13661 cluster_template_bounds_byte_alignment: u32::default(),
13662 max_cluster_geometry_index: u32::default(),
13663 }
13664 }
13665}
13666
13667unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13668unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
13669
13670#[repr(C)]
13672#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13673pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13674 pub s_type: StructureType,
13675 pub next: *mut c_void,
13676 pub clusterculling_shader: Bool32,
13677 pub multiview_cluster_culling_shader: Bool32,
13678}
13679
13680impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
13681 #[inline]
13682 fn default() -> Self {
13683 Self {
13684 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
13685 next: ptr::null_mut(),
13686 clusterculling_shader: Bool32::default(),
13687 multiview_cluster_culling_shader: Bool32::default(),
13688 }
13689 }
13690}
13691
13692unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13693unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
13694
13695#[repr(C)]
13697#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13698pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13699 pub s_type: StructureType,
13700 pub next: *mut c_void,
13701 pub max_work_group_count: [u32; 3],
13702 pub max_work_group_size: [u32; 3],
13703 pub max_output_cluster_count: u32,
13704 pub indirect_buffer_offset_alignment: DeviceSize,
13705}
13706
13707impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
13708 #[inline]
13709 fn default() -> Self {
13710 Self {
13711 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
13712 next: ptr::null_mut(),
13713 max_work_group_count: [u32::default(); 3],
13714 max_work_group_size: [u32::default(); 3],
13715 max_output_cluster_count: u32::default(),
13716 indirect_buffer_offset_alignment: DeviceSize::default(),
13717 }
13718 }
13719}
13720
13721unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13722unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
13723
13724#[repr(C)]
13726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13727pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13728 pub s_type: StructureType,
13729 pub next: *mut c_void,
13730 pub cluster_shading_rate: Bool32,
13731}
13732
13733impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
13734 #[inline]
13735 fn default() -> Self {
13736 Self {
13737 s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
13738 next: ptr::null_mut(),
13739 cluster_shading_rate: Bool32::default(),
13740 }
13741 }
13742}
13743
13744unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13745unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
13746
13747#[repr(C)]
13749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13750pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
13751 pub s_type: StructureType,
13752 pub next: *mut c_void,
13753 pub device_coherent_memory: Bool32,
13754}
13755
13756impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
13757 #[inline]
13758 fn default() -> Self {
13759 Self {
13760 s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
13761 next: ptr::null_mut(),
13762 device_coherent_memory: Bool32::default(),
13763 }
13764 }
13765}
13766
13767unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13768unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
13769
13770#[repr(C)]
13772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13773pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
13774 pub s_type: StructureType,
13775 pub next: *mut c_void,
13776 pub color_write_enable: Bool32,
13777}
13778
13779impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
13780 #[inline]
13781 fn default() -> Self {
13782 Self {
13783 s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
13784 next: ptr::null_mut(),
13785 color_write_enable: Bool32::default(),
13786 }
13787 }
13788}
13789
13790unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13791unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
13792
13793#[repr(C)]
13795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13796pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13797 pub s_type: StructureType,
13798 pub next: *mut c_void,
13799 pub command_buffer_inheritance: Bool32,
13800}
13801
13802impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
13803 #[inline]
13804 fn default() -> Self {
13805 Self {
13806 s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
13807 next: ptr::null_mut(),
13808 command_buffer_inheritance: Bool32::default(),
13809 }
13810 }
13811}
13812
13813unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13814unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
13815
13816#[repr(C)]
13818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13819pub struct PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
13820 pub s_type: StructureType,
13821 pub next: *mut c_void,
13822 pub compute_occupancy_priority: Bool32,
13823}
13824
13825impl Default for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
13826 #[inline]
13827 fn default() -> Self {
13828 Self {
13829 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV,
13830 next: ptr::null_mut(),
13831 compute_occupancy_priority: Bool32::default(),
13832 }
13833 }
13834}
13835
13836unsafe impl Send for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
13837unsafe impl Sync for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
13838
13839#[repr(C)]
13841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13842pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13843 pub s_type: StructureType,
13844 pub next: *mut c_void,
13845 pub compute_derivative_group_quads: Bool32,
13846 pub compute_derivative_group_linear: Bool32,
13847}
13848
13849impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
13850 #[inline]
13851 fn default() -> Self {
13852 Self {
13853 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
13854 next: ptr::null_mut(),
13855 compute_derivative_group_quads: Bool32::default(),
13856 compute_derivative_group_linear: Bool32::default(),
13857 }
13858 }
13859}
13860
13861unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13862unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
13863
13864#[repr(C)]
13866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13867pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13868 pub s_type: StructureType,
13869 pub next: *mut c_void,
13870 pub mesh_and_task_shader_derivatives: Bool32,
13871}
13872
13873impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
13874 #[inline]
13875 fn default() -> Self {
13876 Self {
13877 s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
13878 next: ptr::null_mut(),
13879 mesh_and_task_shader_derivatives: Bool32::default(),
13880 }
13881 }
13882}
13883
13884unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13885unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
13886
13887#[repr(C)]
13889#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13890pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
13891 pub s_type: StructureType,
13892 pub next: *mut c_void,
13893 pub conditional_rendering: Bool32,
13894 pub inherited_conditional_rendering: Bool32,
13895}
13896
13897impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
13898 #[inline]
13899 fn default() -> Self {
13900 Self {
13901 s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
13902 next: ptr::null_mut(),
13903 conditional_rendering: Bool32::default(),
13904 inherited_conditional_rendering: Bool32::default(),
13905 }
13906 }
13907}
13908
13909unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13910unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
13911
13912#[repr(C)]
13914#[derive(Copy, Clone, Debug, PartialEq)]
13915pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
13916 pub s_type: StructureType,
13917 pub next: *mut c_void,
13918 pub primitive_overestimation_size: f32,
13919 pub max_extra_primitive_overestimation_size: f32,
13920 pub extra_primitive_overestimation_size_granularity: f32,
13921 pub primitive_underestimation: Bool32,
13922 pub conservative_point_and_line_rasterization: Bool32,
13923 pub degenerate_triangles_rasterized: Bool32,
13924 pub degenerate_lines_rasterized: Bool32,
13925 pub fully_covered_fragment_shader_input_variable: Bool32,
13926 pub conservative_rasterization_post_depth_coverage: Bool32,
13927}
13928
13929impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
13930 #[inline]
13931 fn default() -> Self {
13932 Self {
13933 s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
13934 next: ptr::null_mut(),
13935 primitive_overestimation_size: f32::default(),
13936 max_extra_primitive_overestimation_size: f32::default(),
13937 extra_primitive_overestimation_size_granularity: f32::default(),
13938 primitive_underestimation: Bool32::default(),
13939 conservative_point_and_line_rasterization: Bool32::default(),
13940 degenerate_triangles_rasterized: Bool32::default(),
13941 degenerate_lines_rasterized: Bool32::default(),
13942 fully_covered_fragment_shader_input_variable: Bool32::default(),
13943 conservative_rasterization_post_depth_coverage: Bool32::default(),
13944 }
13945 }
13946}
13947
13948unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13949unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
13950
13951#[repr(C)]
13953#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13954pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
13955 pub s_type: StructureType,
13956 pub next: *mut c_void,
13957 pub cooperative_matrix_workgroup_scope: Bool32,
13958 pub cooperative_matrix_flexible_dimensions: Bool32,
13959 pub cooperative_matrix_reductions: Bool32,
13960 pub cooperative_matrix_conversions: Bool32,
13961 pub cooperative_matrix_per_element_operations: Bool32,
13962 pub cooperative_matrix_tensor_addressing: Bool32,
13963 pub cooperative_matrix_block_loads: Bool32,
13964}
13965
13966impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
13967 #[inline]
13968 fn default() -> Self {
13969 Self {
13970 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
13971 next: ptr::null_mut(),
13972 cooperative_matrix_workgroup_scope: Bool32::default(),
13973 cooperative_matrix_flexible_dimensions: Bool32::default(),
13974 cooperative_matrix_reductions: Bool32::default(),
13975 cooperative_matrix_conversions: Bool32::default(),
13976 cooperative_matrix_per_element_operations: Bool32::default(),
13977 cooperative_matrix_tensor_addressing: Bool32::default(),
13978 cooperative_matrix_block_loads: Bool32::default(),
13979 }
13980 }
13981}
13982
13983unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13984unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
13985
13986#[repr(C)]
13988#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
13989pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
13990 pub s_type: StructureType,
13991 pub next: *mut c_void,
13992 pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
13993 pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
13994 pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
13995}
13996
13997impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
13998 #[inline]
13999 fn default() -> Self {
14000 Self {
14001 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
14002 next: ptr::null_mut(),
14003 cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
14004 cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
14005 cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
14006 }
14007 }
14008}
14009
14010unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
14011unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
14012
14013#[repr(C)]
14015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14016pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
14017 pub s_type: StructureType,
14018 pub next: *mut c_void,
14019 pub cooperative_matrix: Bool32,
14020 pub cooperative_matrix_robust_buffer_access: Bool32,
14021}
14022
14023impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
14024 #[inline]
14025 fn default() -> Self {
14026 Self {
14027 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
14028 next: ptr::null_mut(),
14029 cooperative_matrix: Bool32::default(),
14030 cooperative_matrix_robust_buffer_access: Bool32::default(),
14031 }
14032 }
14033}
14034
14035unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
14036unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
14037
14038#[repr(C)]
14040#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14041pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
14042 pub s_type: StructureType,
14043 pub next: *mut c_void,
14044 pub cooperative_matrix: Bool32,
14045 pub cooperative_matrix_robust_buffer_access: Bool32,
14046}
14047
14048impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
14049 #[inline]
14050 fn default() -> Self {
14051 Self {
14052 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
14053 next: ptr::null_mut(),
14054 cooperative_matrix: Bool32::default(),
14055 cooperative_matrix_robust_buffer_access: Bool32::default(),
14056 }
14057 }
14058}
14059
14060unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
14061unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
14062
14063#[repr(C)]
14065#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14066pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
14067 pub s_type: StructureType,
14068 pub next: *mut c_void,
14069 pub cooperative_matrix_supported_stages: ShaderStageFlags,
14070}
14071
14072impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
14073 #[inline]
14074 fn default() -> Self {
14075 Self {
14076 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
14077 next: ptr::null_mut(),
14078 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
14079 }
14080 }
14081}
14082
14083unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
14084unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
14085
14086#[repr(C)]
14088#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14089pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
14090 pub s_type: StructureType,
14091 pub next: *mut c_void,
14092 pub cooperative_matrix_supported_stages: ShaderStageFlags,
14093}
14094
14095impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
14096 #[inline]
14097 fn default() -> Self {
14098 Self {
14099 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
14100 next: ptr::null_mut(),
14101 cooperative_matrix_supported_stages: ShaderStageFlags::default(),
14102 }
14103 }
14104}
14105
14106unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
14107unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
14108
14109#[repr(C)]
14111#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14112pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
14113 pub s_type: StructureType,
14114 pub next: *mut c_void,
14115 pub cooperative_vector: Bool32,
14116 pub cooperative_vector_training: Bool32,
14117}
14118
14119impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
14120 #[inline]
14121 fn default() -> Self {
14122 Self {
14123 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
14124 next: ptr::null_mut(),
14125 cooperative_vector: Bool32::default(),
14126 cooperative_vector_training: Bool32::default(),
14127 }
14128 }
14129}
14130
14131unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
14132unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
14133
14134#[repr(C)]
14136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14137pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
14138 pub s_type: StructureType,
14139 pub next: *mut c_void,
14140 pub cooperative_vector_supported_stages: ShaderStageFlags,
14141 pub cooperative_vector_training_float16_accumulation: Bool32,
14142 pub cooperative_vector_training_float32_accumulation: Bool32,
14143 pub max_cooperative_vector_components: u32,
14144}
14145
14146impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
14147 #[inline]
14148 fn default() -> Self {
14149 Self {
14150 s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
14151 next: ptr::null_mut(),
14152 cooperative_vector_supported_stages: ShaderStageFlags::default(),
14153 cooperative_vector_training_float16_accumulation: Bool32::default(),
14154 cooperative_vector_training_float32_accumulation: Bool32::default(),
14155 max_cooperative_vector_components: u32::default(),
14156 }
14157 }
14158}
14159
14160unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
14161unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
14162
14163#[repr(C)]
14165#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14166pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14167 pub s_type: StructureType,
14168 pub next: *mut c_void,
14169 pub indirect_memory_copy: Bool32,
14170 pub indirect_memory_to_image_copy: Bool32,
14171}
14172
14173impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
14174 #[inline]
14175 fn default() -> Self {
14176 Self {
14177 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
14178 next: ptr::null_mut(),
14179 indirect_memory_copy: Bool32::default(),
14180 indirect_memory_to_image_copy: Bool32::default(),
14181 }
14182 }
14183}
14184
14185unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14186unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
14187
14188#[repr(C)]
14190#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14191pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14192 pub s_type: StructureType,
14193 pub next: *mut c_void,
14194 pub indirect_copy: Bool32,
14195}
14196
14197impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
14198 #[inline]
14199 fn default() -> Self {
14200 Self {
14201 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
14202 next: ptr::null_mut(),
14203 indirect_copy: Bool32::default(),
14204 }
14205 }
14206}
14207
14208unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14209unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
14210
14211#[repr(C)]
14213#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14214pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14215 pub s_type: StructureType,
14216 pub next: *mut c_void,
14217 pub supported_queues: QueueFlags,
14218}
14219
14220impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
14221 #[inline]
14222 fn default() -> Self {
14223 Self {
14224 s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
14225 next: ptr::null_mut(),
14226 supported_queues: QueueFlags::default(),
14227 }
14228 }
14229}
14230
14231unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14232unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
14233
14234#[repr(C)]
14236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14237pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
14238 pub s_type: StructureType,
14239 pub next: *mut c_void,
14240 pub corner_sampled_image: Bool32,
14241}
14242
14243impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
14244 #[inline]
14245 fn default() -> Self {
14246 Self {
14247 s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
14248 next: ptr::null_mut(),
14249 corner_sampled_image: Bool32::default(),
14250 }
14251 }
14252}
14253
14254unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
14255unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
14256
14257#[repr(C)]
14259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14260pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
14261 pub s_type: StructureType,
14262 pub next: *mut c_void,
14263 pub coverage_reduction_mode: Bool32,
14264}
14265
14266impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
14267 #[inline]
14268 fn default() -> Self {
14269 Self {
14270 s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
14271 next: ptr::null_mut(),
14272 coverage_reduction_mode: Bool32::default(),
14273 }
14274 }
14275}
14276
14277unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14278unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
14279
14280#[repr(C)]
14282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14283pub struct PhysicalDeviceCubicClampFeaturesQCOM {
14284 pub s_type: StructureType,
14285 pub next: *mut c_void,
14286 pub cubic_range_clamp: Bool32,
14287}
14288
14289impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
14290 #[inline]
14291 fn default() -> Self {
14292 Self {
14293 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
14294 next: ptr::null_mut(),
14295 cubic_range_clamp: Bool32::default(),
14296 }
14297 }
14298}
14299
14300unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
14301unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
14302
14303#[repr(C)]
14305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14306pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
14307 pub s_type: StructureType,
14308 pub next: *mut c_void,
14309 pub selectable_cubic_weights: Bool32,
14310}
14311
14312impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
14313 #[inline]
14314 fn default() -> Self {
14315 Self {
14316 s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
14317 next: ptr::null_mut(),
14318 selectable_cubic_weights: Bool32::default(),
14319 }
14320 }
14321}
14322
14323unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14324unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
14325
14326#[repr(C)]
14328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14329pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
14330 pub s_type: StructureType,
14331 pub next: *mut c_void,
14332 pub cuda_kernel_launch_features: Bool32,
14333}
14334
14335impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
14336 #[inline]
14337 fn default() -> Self {
14338 Self {
14339 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
14340 next: ptr::null_mut(),
14341 cuda_kernel_launch_features: Bool32::default(),
14342 }
14343 }
14344}
14345
14346unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14347unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
14348
14349#[repr(C)]
14351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14352pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
14353 pub s_type: StructureType,
14354 pub next: *mut c_void,
14355 pub compute_capability_minor: u32,
14356 pub compute_capability_major: u32,
14357}
14358
14359impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
14360 #[inline]
14361 fn default() -> Self {
14362 Self {
14363 s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
14364 next: ptr::null_mut(),
14365 compute_capability_minor: u32::default(),
14366 compute_capability_major: u32::default(),
14367 }
14368 }
14369}
14370
14371unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14372unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
14373
14374#[repr(C)]
14376#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14377pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
14378 pub s_type: StructureType,
14379 pub next: *mut c_void,
14380 pub custom_border_colors: Bool32,
14381 pub custom_border_color_without_format: Bool32,
14382}
14383
14384impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
14385 #[inline]
14386 fn default() -> Self {
14387 Self {
14388 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
14389 next: ptr::null_mut(),
14390 custom_border_colors: Bool32::default(),
14391 custom_border_color_without_format: Bool32::default(),
14392 }
14393 }
14394}
14395
14396unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14397unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
14398
14399#[repr(C)]
14401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14402pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
14403 pub s_type: StructureType,
14404 pub next: *mut c_void,
14405 pub max_custom_border_color_samplers: u32,
14406}
14407
14408impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
14409 #[inline]
14410 fn default() -> Self {
14411 Self {
14412 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
14413 next: ptr::null_mut(),
14414 max_custom_border_color_samplers: u32::default(),
14415 }
14416 }
14417}
14418
14419unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14420unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
14421
14422#[repr(C)]
14424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14425pub struct PhysicalDeviceCustomResolveFeaturesEXT {
14426 pub s_type: StructureType,
14427 pub next: *mut c_void,
14428 pub custom_resolve: Bool32,
14429}
14430
14431impl Default for PhysicalDeviceCustomResolveFeaturesEXT {
14432 #[inline]
14433 fn default() -> Self {
14434 Self {
14435 s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
14436 next: ptr::null_mut(),
14437 custom_resolve: Bool32::default(),
14438 }
14439 }
14440}
14441
14442unsafe impl Send for PhysicalDeviceCustomResolveFeaturesEXT {}
14443unsafe impl Sync for PhysicalDeviceCustomResolveFeaturesEXT {}
14444
14445#[repr(C)]
14447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14448pub struct PhysicalDeviceDataGraphFeaturesARM {
14449 pub s_type: StructureType,
14450 pub next: *mut c_void,
14451 pub data_graph: Bool32,
14452 pub data_graph_update_after_bind: Bool32,
14453 pub data_graph_specialization_constants: Bool32,
14454 pub data_graph_descriptor_buffer: Bool32,
14455 pub data_graph_shader_module: Bool32,
14456}
14457
14458impl Default for PhysicalDeviceDataGraphFeaturesARM {
14459 #[inline]
14460 fn default() -> Self {
14461 Self {
14462 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
14463 next: ptr::null_mut(),
14464 data_graph: Bool32::default(),
14465 data_graph_update_after_bind: Bool32::default(),
14466 data_graph_specialization_constants: Bool32::default(),
14467 data_graph_descriptor_buffer: Bool32::default(),
14468 data_graph_shader_module: Bool32::default(),
14469 }
14470 }
14471}
14472
14473unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
14474unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
14475
14476#[repr(C)]
14478#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14479pub struct PhysicalDeviceDataGraphModelFeaturesQCOM {
14480 pub s_type: StructureType,
14481 pub next: *mut c_void,
14482 pub data_graph_model: Bool32,
14483}
14484
14485impl Default for PhysicalDeviceDataGraphModelFeaturesQCOM {
14486 #[inline]
14487 fn default() -> Self {
14488 Self {
14489 s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
14490 next: ptr::null_mut(),
14491 data_graph_model: Bool32::default(),
14492 }
14493 }
14494}
14495
14496unsafe impl Send for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14497unsafe impl Sync for PhysicalDeviceDataGraphModelFeaturesQCOM {}
14498
14499#[repr(C)]
14501#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14502pub struct PhysicalDeviceDataGraphOperationSupportARM {
14503 pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
14504 pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
14505 pub version: u32,
14506}
14507
14508#[repr(C)]
14510#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
14511pub struct PhysicalDeviceDataGraphProcessingEngineARM {
14512 pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
14513 pub is_foreign: Bool32,
14514}
14515
14516#[repr(C)]
14518#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14519pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14520 pub s_type: StructureType,
14521 pub next: *mut c_void,
14522 pub dedicated_allocation_image_aliasing: Bool32,
14523}
14524
14525impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
14526 #[inline]
14527 fn default() -> Self {
14528 Self {
14529 s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
14530 next: ptr::null_mut(),
14531 dedicated_allocation_image_aliasing: Bool32::default(),
14532 }
14533 }
14534}
14535
14536unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14537unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
14538
14539#[repr(C)]
14541#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14542pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14543 pub s_type: StructureType,
14544 pub next: *mut c_void,
14545 pub dense_geometry_format: Bool32,
14546}
14547
14548impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
14549 #[inline]
14550 fn default() -> Self {
14551 Self {
14552 s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
14553 next: ptr::null_mut(),
14554 dense_geometry_format: Bool32::default(),
14555 }
14556 }
14557}
14558
14559unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14560unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
14561
14562#[repr(C)]
14564#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14565pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
14566 pub s_type: StructureType,
14567 pub next: *mut c_void,
14568 pub depth_bias_control: Bool32,
14569 pub least_representable_value_force_unorm_representation: Bool32,
14570 pub float_representation: Bool32,
14571 pub depth_bias_exact: Bool32,
14572}
14573
14574impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
14575 #[inline]
14576 fn default() -> Self {
14577 Self {
14578 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
14579 next: ptr::null_mut(),
14580 depth_bias_control: Bool32::default(),
14581 least_representable_value_force_unorm_representation: Bool32::default(),
14582 float_representation: Bool32::default(),
14583 depth_bias_exact: Bool32::default(),
14584 }
14585 }
14586}
14587
14588unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14589unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
14590
14591#[repr(C)]
14593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14594pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
14595 pub s_type: StructureType,
14596 pub next: *mut c_void,
14597 pub depth_clamp_control: Bool32,
14598}
14599
14600impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
14601 #[inline]
14602 fn default() -> Self {
14603 Self {
14604 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
14605 next: ptr::null_mut(),
14606 depth_clamp_control: Bool32::default(),
14607 }
14608 }
14609}
14610
14611unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
14612unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
14613
14614#[repr(C)]
14616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14617pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14618 pub s_type: StructureType,
14619 pub next: *mut c_void,
14620 pub depth_clamp_zero_one: Bool32,
14621}
14622
14623impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
14624 #[inline]
14625 fn default() -> Self {
14626 Self {
14627 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
14628 next: ptr::null_mut(),
14629 depth_clamp_zero_one: Bool32::default(),
14630 }
14631 }
14632}
14633
14634unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14635unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
14636
14637#[repr(C)]
14639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14640pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
14641 pub s_type: StructureType,
14642 pub next: *mut c_void,
14643 pub depth_clip_control: Bool32,
14644}
14645
14646impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
14647 #[inline]
14648 fn default() -> Self {
14649 Self {
14650 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
14651 next: ptr::null_mut(),
14652 depth_clip_control: Bool32::default(),
14653 }
14654 }
14655}
14656
14657unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
14658unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
14659
14660#[repr(C)]
14662#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14663pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
14664 pub s_type: StructureType,
14665 pub next: *mut c_void,
14666 pub depth_clip_enable: Bool32,
14667}
14668
14669impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
14670 #[inline]
14671 fn default() -> Self {
14672 Self {
14673 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
14674 next: ptr::null_mut(),
14675 depth_clip_enable: Bool32::default(),
14676 }
14677 }
14678}
14679
14680unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14681unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
14682
14683#[repr(C)]
14685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14686pub struct PhysicalDeviceDepthStencilResolveProperties {
14687 pub s_type: StructureType,
14688 pub next: *mut c_void,
14689 pub supported_depth_resolve_modes: ResolveModeFlags,
14690 pub supported_stencil_resolve_modes: ResolveModeFlags,
14691 pub independent_resolve_none: Bool32,
14692 pub independent_resolve: Bool32,
14693}
14694
14695impl Default for PhysicalDeviceDepthStencilResolveProperties {
14696 #[inline]
14697 fn default() -> Self {
14698 Self {
14699 s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
14700 next: ptr::null_mut(),
14701 supported_depth_resolve_modes: ResolveModeFlags::default(),
14702 supported_stencil_resolve_modes: ResolveModeFlags::default(),
14703 independent_resolve_none: Bool32::default(),
14704 independent_resolve: Bool32::default(),
14705 }
14706 }
14707}
14708
14709unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
14710unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
14711
14712#[repr(C)]
14714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14715pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14716 pub s_type: StructureType,
14717 pub next: *mut c_void,
14718 pub combined_image_sampler_density_map_descriptor_size: usize,
14719}
14720
14721impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
14722 #[inline]
14723 fn default() -> Self {
14724 Self {
14725 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
14726 next: ptr::null_mut(),
14727 combined_image_sampler_density_map_descriptor_size: usize::default(),
14728 }
14729 }
14730}
14731
14732unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14733unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
14734
14735#[repr(C)]
14737#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14738pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
14739 pub s_type: StructureType,
14740 pub next: *mut c_void,
14741 pub descriptor_buffer: Bool32,
14742 pub descriptor_buffer_capture_replay: Bool32,
14743 pub descriptor_buffer_image_layout_ignored: Bool32,
14744 pub descriptor_buffer_push_descriptors: Bool32,
14745}
14746
14747impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
14748 #[inline]
14749 fn default() -> Self {
14750 Self {
14751 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
14752 next: ptr::null_mut(),
14753 descriptor_buffer: Bool32::default(),
14754 descriptor_buffer_capture_replay: Bool32::default(),
14755 descriptor_buffer_image_layout_ignored: Bool32::default(),
14756 descriptor_buffer_push_descriptors: Bool32::default(),
14757 }
14758 }
14759}
14760
14761unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14762unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
14763
14764#[repr(C)]
14766#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14767pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
14768 pub s_type: StructureType,
14769 pub next: *mut c_void,
14770 pub combined_image_sampler_descriptor_single_array: Bool32,
14771 pub bufferless_push_descriptors: Bool32,
14772 pub allow_sampler_image_view_post_submit_creation: Bool32,
14773 pub descriptor_buffer_offset_alignment: DeviceSize,
14774 pub max_descriptor_buffer_bindings: u32,
14775 pub max_resource_descriptor_buffer_bindings: u32,
14776 pub max_sampler_descriptor_buffer_bindings: u32,
14777 pub max_embedded_immutable_sampler_bindings: u32,
14778 pub max_embedded_immutable_samplers: u32,
14779 pub buffer_capture_replay_descriptor_data_size: usize,
14780 pub image_capture_replay_descriptor_data_size: usize,
14781 pub image_view_capture_replay_descriptor_data_size: usize,
14782 pub sampler_capture_replay_descriptor_data_size: usize,
14783 pub acceleration_structure_capture_replay_descriptor_data_size: usize,
14784 pub sampler_descriptor_size: usize,
14785 pub combined_image_sampler_descriptor_size: usize,
14786 pub sampled_image_descriptor_size: usize,
14787 pub storage_image_descriptor_size: usize,
14788 pub uniform_texel_buffer_descriptor_size: usize,
14789 pub robust_uniform_texel_buffer_descriptor_size: usize,
14790 pub storage_texel_buffer_descriptor_size: usize,
14791 pub robust_storage_texel_buffer_descriptor_size: usize,
14792 pub uniform_buffer_descriptor_size: usize,
14793 pub robust_uniform_buffer_descriptor_size: usize,
14794 pub storage_buffer_descriptor_size: usize,
14795 pub robust_storage_buffer_descriptor_size: usize,
14796 pub input_attachment_descriptor_size: usize,
14797 pub acceleration_structure_descriptor_size: usize,
14798 pub max_sampler_descriptor_buffer_range: DeviceSize,
14799 pub max_resource_descriptor_buffer_range: DeviceSize,
14800 pub sampler_descriptor_buffer_address_space_size: DeviceSize,
14801 pub resource_descriptor_buffer_address_space_size: DeviceSize,
14802 pub descriptor_buffer_address_space_size: DeviceSize,
14803}
14804
14805impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
14806 #[inline]
14807 fn default() -> Self {
14808 Self {
14809 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
14810 next: ptr::null_mut(),
14811 combined_image_sampler_descriptor_single_array: Bool32::default(),
14812 bufferless_push_descriptors: Bool32::default(),
14813 allow_sampler_image_view_post_submit_creation: Bool32::default(),
14814 descriptor_buffer_offset_alignment: DeviceSize::default(),
14815 max_descriptor_buffer_bindings: u32::default(),
14816 max_resource_descriptor_buffer_bindings: u32::default(),
14817 max_sampler_descriptor_buffer_bindings: u32::default(),
14818 max_embedded_immutable_sampler_bindings: u32::default(),
14819 max_embedded_immutable_samplers: u32::default(),
14820 buffer_capture_replay_descriptor_data_size: usize::default(),
14821 image_capture_replay_descriptor_data_size: usize::default(),
14822 image_view_capture_replay_descriptor_data_size: usize::default(),
14823 sampler_capture_replay_descriptor_data_size: usize::default(),
14824 acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
14825 sampler_descriptor_size: usize::default(),
14826 combined_image_sampler_descriptor_size: usize::default(),
14827 sampled_image_descriptor_size: usize::default(),
14828 storage_image_descriptor_size: usize::default(),
14829 uniform_texel_buffer_descriptor_size: usize::default(),
14830 robust_uniform_texel_buffer_descriptor_size: usize::default(),
14831 storage_texel_buffer_descriptor_size: usize::default(),
14832 robust_storage_texel_buffer_descriptor_size: usize::default(),
14833 uniform_buffer_descriptor_size: usize::default(),
14834 robust_uniform_buffer_descriptor_size: usize::default(),
14835 storage_buffer_descriptor_size: usize::default(),
14836 robust_storage_buffer_descriptor_size: usize::default(),
14837 input_attachment_descriptor_size: usize::default(),
14838 acceleration_structure_descriptor_size: usize::default(),
14839 max_sampler_descriptor_buffer_range: DeviceSize::default(),
14840 max_resource_descriptor_buffer_range: DeviceSize::default(),
14841 sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
14842 resource_descriptor_buffer_address_space_size: DeviceSize::default(),
14843 descriptor_buffer_address_space_size: DeviceSize::default(),
14844 }
14845 }
14846}
14847
14848unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14849unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
14850
14851#[repr(C)]
14853#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14854pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14855 pub s_type: StructureType,
14856 pub next: *mut c_void,
14857 pub descriptor_buffer_tensor_descriptors: Bool32,
14858}
14859
14860impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
14861 #[inline]
14862 fn default() -> Self {
14863 Self {
14864 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
14865 next: ptr::null_mut(),
14866 descriptor_buffer_tensor_descriptors: Bool32::default(),
14867 }
14868 }
14869}
14870
14871unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14872unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
14873
14874#[repr(C)]
14876#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14877pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14878 pub s_type: StructureType,
14879 pub next: *mut c_void,
14880 pub tensor_capture_replay_descriptor_data_size: usize,
14881 pub tensor_view_capture_replay_descriptor_data_size: usize,
14882 pub tensor_descriptor_size: usize,
14883}
14884
14885impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
14886 #[inline]
14887 fn default() -> Self {
14888 Self {
14889 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
14890 next: ptr::null_mut(),
14891 tensor_capture_replay_descriptor_data_size: usize::default(),
14892 tensor_view_capture_replay_descriptor_data_size: usize::default(),
14893 tensor_descriptor_size: usize::default(),
14894 }
14895 }
14896}
14897
14898unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14899unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
14900
14901#[repr(C)]
14903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14904pub struct PhysicalDeviceDescriptorIndexingFeatures {
14905 pub s_type: StructureType,
14906 pub next: *mut c_void,
14907 pub shader_input_attachment_array_dynamic_indexing: Bool32,
14908 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
14909 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
14910 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
14911 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
14912 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
14913 pub shader_storage_image_array_non_uniform_indexing: Bool32,
14914 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
14915 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
14916 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
14917 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
14918 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
14919 pub descriptor_binding_storage_image_update_after_bind: Bool32,
14920 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
14921 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
14922 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
14923 pub descriptor_binding_update_unused_while_pending: Bool32,
14924 pub descriptor_binding_partially_bound: Bool32,
14925 pub descriptor_binding_variable_descriptor_count: Bool32,
14926 pub runtime_descriptor_array: Bool32,
14927}
14928
14929impl Default for PhysicalDeviceDescriptorIndexingFeatures {
14930 #[inline]
14931 fn default() -> Self {
14932 Self {
14933 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
14934 next: ptr::null_mut(),
14935 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
14936 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
14937 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
14938 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
14939 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
14940 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
14941 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
14942 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
14943 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14944 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
14945 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
14946 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
14947 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
14948 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
14949 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
14950 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
14951 descriptor_binding_update_unused_while_pending: Bool32::default(),
14952 descriptor_binding_partially_bound: Bool32::default(),
14953 descriptor_binding_variable_descriptor_count: Bool32::default(),
14954 runtime_descriptor_array: Bool32::default(),
14955 }
14956 }
14957}
14958
14959unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
14960unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
14961
14962#[repr(C)]
14964#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
14965pub struct PhysicalDeviceDescriptorIndexingProperties {
14966 pub s_type: StructureType,
14967 pub next: *mut c_void,
14968 pub max_update_after_bind_descriptors_in_all_pools: u32,
14969 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
14970 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
14971 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
14972 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
14973 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
14974 pub robust_buffer_access_update_after_bind: Bool32,
14975 pub quad_divergent_implicit_lod: Bool32,
14976 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
14977 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
14978 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
14979 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
14980 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
14981 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
14982 pub max_per_stage_update_after_bind_resources: u32,
14983 pub max_descriptor_set_update_after_bind_samplers: u32,
14984 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
14985 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
14986 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
14987 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
14988 pub max_descriptor_set_update_after_bind_sampled_images: u32,
14989 pub max_descriptor_set_update_after_bind_storage_images: u32,
14990 pub max_descriptor_set_update_after_bind_input_attachments: u32,
14991}
14992
14993impl Default for PhysicalDeviceDescriptorIndexingProperties {
14994 #[inline]
14995 fn default() -> Self {
14996 Self {
14997 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
14998 next: ptr::null_mut(),
14999 max_update_after_bind_descriptors_in_all_pools: u32::default(),
15000 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
15001 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
15002 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
15003 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
15004 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
15005 robust_buffer_access_update_after_bind: Bool32::default(),
15006 quad_divergent_implicit_lod: Bool32::default(),
15007 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
15008 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
15009 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
15010 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
15011 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
15012 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
15013 max_per_stage_update_after_bind_resources: u32::default(),
15014 max_descriptor_set_update_after_bind_samplers: u32::default(),
15015 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
15016 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
15017 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
15018 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
15019 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
15020 max_descriptor_set_update_after_bind_storage_images: u32::default(),
15021 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
15022 }
15023 }
15024}
15025
15026unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
15027unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
15028
15029#[repr(C)]
15031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15032pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
15033 pub s_type: StructureType,
15034 pub next: *mut c_void,
15035 pub descriptor_pool_overallocation: Bool32,
15036}
15037
15038impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
15039 #[inline]
15040 fn default() -> Self {
15041 Self {
15042 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
15043 next: ptr::null_mut(),
15044 descriptor_pool_overallocation: Bool32::default(),
15045 }
15046 }
15047}
15048
15049unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
15050unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
15051
15052#[repr(C)]
15054#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15055pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15056 pub s_type: StructureType,
15057 pub next: *mut c_void,
15058 pub descriptor_set_host_mapping: Bool32,
15059}
15060
15061impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15062 #[inline]
15063 fn default() -> Self {
15064 Self {
15065 s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
15066 next: ptr::null_mut(),
15067 descriptor_set_host_mapping: Bool32::default(),
15068 }
15069 }
15070}
15071
15072unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
15073unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
15074
15075#[repr(C)]
15077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15078pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
15079 pub s_type: StructureType,
15080 pub next: *mut c_void,
15081 pub device_generated_compute: Bool32,
15082 pub device_generated_compute_pipelines: Bool32,
15083 pub device_generated_compute_capture_replay: Bool32,
15084}
15085
15086impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
15087 #[inline]
15088 fn default() -> Self {
15089 Self {
15090 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
15091 next: ptr::null_mut(),
15092 device_generated_compute: Bool32::default(),
15093 device_generated_compute_pipelines: Bool32::default(),
15094 device_generated_compute_capture_replay: Bool32::default(),
15095 }
15096 }
15097}
15098
15099unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
15100unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
15101
15102#[repr(C)]
15104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15105pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
15106 pub s_type: StructureType,
15107 pub next: *mut c_void,
15108 pub device_generated_commands: Bool32,
15109 pub dynamic_generated_pipeline_layout: Bool32,
15110}
15111
15112impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
15113 #[inline]
15114 fn default() -> Self {
15115 Self {
15116 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
15117 next: ptr::null_mut(),
15118 device_generated_commands: Bool32::default(),
15119 dynamic_generated_pipeline_layout: Bool32::default(),
15120 }
15121 }
15122}
15123
15124unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
15125unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
15126
15127#[repr(C)]
15129#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15130pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15131 pub s_type: StructureType,
15132 pub next: *mut c_void,
15133 pub device_generated_commands: Bool32,
15134}
15135
15136impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
15137 #[inline]
15138 fn default() -> Self {
15139 Self {
15140 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
15141 next: ptr::null_mut(),
15142 device_generated_commands: Bool32::default(),
15143 }
15144 }
15145}
15146
15147unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
15148unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
15149
15150#[repr(C)]
15152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15153pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
15154 pub s_type: StructureType,
15155 pub next: *mut c_void,
15156 pub max_indirect_pipeline_count: u32,
15157 pub max_indirect_shader_object_count: u32,
15158 pub max_indirect_sequence_count: u32,
15159 pub max_indirect_commands_token_count: u32,
15160 pub max_indirect_commands_token_offset: u32,
15161 pub max_indirect_commands_indirect_stride: u32,
15162 pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
15163 pub supported_indirect_commands_shader_stages: ShaderStageFlags,
15164 pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
15165 pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
15166 pub device_generated_commands_transform_feedback: Bool32,
15167 pub device_generated_commands_multi_draw_indirect_count: Bool32,
15168}
15169
15170impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
15171 #[inline]
15172 fn default() -> Self {
15173 Self {
15174 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
15175 next: ptr::null_mut(),
15176 max_indirect_pipeline_count: u32::default(),
15177 max_indirect_shader_object_count: u32::default(),
15178 max_indirect_sequence_count: u32::default(),
15179 max_indirect_commands_token_count: u32::default(),
15180 max_indirect_commands_token_offset: u32::default(),
15181 max_indirect_commands_indirect_stride: u32::default(),
15182 supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
15183 supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
15184 supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
15185 supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
15186 device_generated_commands_transform_feedback: Bool32::default(),
15187 device_generated_commands_multi_draw_indirect_count: Bool32::default(),
15188 }
15189 }
15190}
15191
15192unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15193unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
15194
15195#[repr(C)]
15197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15198pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15199 pub s_type: StructureType,
15200 pub next: *mut c_void,
15201 pub max_graphics_shader_group_count: u32,
15202 pub max_indirect_sequence_count: u32,
15203 pub max_indirect_commands_token_count: u32,
15204 pub max_indirect_commands_stream_count: u32,
15205 pub max_indirect_commands_token_offset: u32,
15206 pub max_indirect_commands_stream_stride: u32,
15207 pub min_sequences_count_buffer_offset_alignment: u32,
15208 pub min_sequences_index_buffer_offset_alignment: u32,
15209 pub min_indirect_commands_buffer_offset_alignment: u32,
15210}
15211
15212impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
15213 #[inline]
15214 fn default() -> Self {
15215 Self {
15216 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
15217 next: ptr::null_mut(),
15218 max_graphics_shader_group_count: u32::default(),
15219 max_indirect_sequence_count: u32::default(),
15220 max_indirect_commands_token_count: u32::default(),
15221 max_indirect_commands_stream_count: u32::default(),
15222 max_indirect_commands_token_offset: u32::default(),
15223 max_indirect_commands_stream_stride: u32::default(),
15224 min_sequences_count_buffer_offset_alignment: u32::default(),
15225 min_sequences_index_buffer_offset_alignment: u32::default(),
15226 min_indirect_commands_buffer_offset_alignment: u32::default(),
15227 }
15228 }
15229}
15230
15231unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15232unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
15233
15234#[repr(C)]
15236#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15237pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15238 pub s_type: StructureType,
15239 pub next: *mut c_void,
15240 pub device_memory_report: Bool32,
15241}
15242
15243impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
15244 #[inline]
15245 fn default() -> Self {
15246 Self {
15247 s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
15248 next: ptr::null_mut(),
15249 device_memory_report: Bool32::default(),
15250 }
15251 }
15252}
15253
15254unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15255unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
15256
15257#[repr(C)]
15259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15260pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
15261 pub s_type: StructureType,
15262 pub next: *mut c_void,
15263 pub diagnostics_config: Bool32,
15264}
15265
15266impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
15267 #[inline]
15268 fn default() -> Self {
15269 Self {
15270 s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
15271 next: ptr::null_mut(),
15272 diagnostics_config: Bool32::default(),
15273 }
15274 }
15275}
15276
15277unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15278unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
15279
15280#[repr(C)]
15282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15283pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
15284 pub s_type: StructureType,
15285 pub next: *mut c_void,
15286 pub max_discard_rectangles: u32,
15287}
15288
15289impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
15290 #[inline]
15291 fn default() -> Self {
15292 Self {
15293 s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
15294 next: ptr::null_mut(),
15295 max_discard_rectangles: u32::default(),
15296 }
15297 }
15298}
15299
15300unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15301unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
15302
15303#[repr(C)]
15305#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15306pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
15307 pub s_type: StructureType,
15308 pub next: *mut c_void,
15309 pub displacement_micromap: Bool32,
15310}
15311
15312impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
15313 #[inline]
15314 fn default() -> Self {
15315 Self {
15316 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
15317 next: ptr::null_mut(),
15318 displacement_micromap: Bool32::default(),
15319 }
15320 }
15321}
15322
15323unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15324unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
15325
15326#[repr(C)]
15328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15329pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
15330 pub s_type: StructureType,
15331 pub next: *mut c_void,
15332 pub max_displacement_micromap_subdivision_level: u32,
15333}
15334
15335impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
15336 #[inline]
15337 fn default() -> Self {
15338 Self {
15339 s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
15340 next: ptr::null_mut(),
15341 max_displacement_micromap_subdivision_level: u32::default(),
15342 }
15343 }
15344}
15345
15346unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15347unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
15348
15349#[repr(C)]
15351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15352pub struct PhysicalDeviceDriverProperties {
15353 pub s_type: StructureType,
15354 pub next: *mut c_void,
15355 pub driver_id: DriverId,
15356 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
15357 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
15358 pub conformance_version: ConformanceVersion,
15359}
15360
15361impl Default for PhysicalDeviceDriverProperties {
15362 #[inline]
15363 fn default() -> Self {
15364 Self {
15365 s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
15366 next: ptr::null_mut(),
15367 driver_id: DriverId::default(),
15368 driver_name: StringArray::default(),
15369 driver_info: StringArray::default(),
15370 conformance_version: ConformanceVersion::default(),
15371 }
15372 }
15373}
15374
15375unsafe impl Send for PhysicalDeviceDriverProperties {}
15376unsafe impl Sync for PhysicalDeviceDriverProperties {}
15377
15378#[repr(C)]
15380#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15381pub struct PhysicalDeviceDrmPropertiesEXT {
15382 pub s_type: StructureType,
15383 pub next: *mut c_void,
15384 pub has_primary: Bool32,
15385 pub has_render: Bool32,
15386 pub primary_major: i64,
15387 pub primary_minor: i64,
15388 pub render_major: i64,
15389 pub render_minor: i64,
15390}
15391
15392impl Default for PhysicalDeviceDrmPropertiesEXT {
15393 #[inline]
15394 fn default() -> Self {
15395 Self {
15396 s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
15397 next: ptr::null_mut(),
15398 has_primary: Bool32::default(),
15399 has_render: Bool32::default(),
15400 primary_major: i64::default(),
15401 primary_minor: i64::default(),
15402 render_major: i64::default(),
15403 render_minor: i64::default(),
15404 }
15405 }
15406}
15407
15408unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
15409unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
15410
15411#[repr(C)]
15413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15414pub struct PhysicalDeviceDynamicRenderingFeatures {
15415 pub s_type: StructureType,
15416 pub next: *mut c_void,
15417 pub dynamic_rendering: Bool32,
15418}
15419
15420impl Default for PhysicalDeviceDynamicRenderingFeatures {
15421 #[inline]
15422 fn default() -> Self {
15423 Self {
15424 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
15425 next: ptr::null_mut(),
15426 dynamic_rendering: Bool32::default(),
15427 }
15428 }
15429}
15430
15431unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
15432unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
15433
15434#[repr(C)]
15436#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15437pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
15438 pub s_type: StructureType,
15439 pub next: *mut c_void,
15440 pub dynamic_rendering_local_read: Bool32,
15441}
15442
15443impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
15444 #[inline]
15445 fn default() -> Self {
15446 Self {
15447 s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
15448 next: ptr::null_mut(),
15449 dynamic_rendering_local_read: Bool32::default(),
15450 }
15451 }
15452}
15453
15454unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15455unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
15456
15457#[repr(C)]
15459#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15460pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15461 pub s_type: StructureType,
15462 pub next: *mut c_void,
15463 pub dynamic_rendering_unused_attachments: Bool32,
15464}
15465
15466impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
15467 #[inline]
15468 fn default() -> Self {
15469 Self {
15470 s_type:
15471 StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
15472 next: ptr::null_mut(),
15473 dynamic_rendering_unused_attachments: Bool32::default(),
15474 }
15475 }
15476}
15477
15478unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15479unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
15480
15481#[repr(C)]
15483#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15484pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
15485 pub s_type: StructureType,
15486 pub next: *mut c_void,
15487 pub exclusive_scissor: Bool32,
15488}
15489
15490impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
15491 #[inline]
15492 fn default() -> Self {
15493 Self {
15494 s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
15495 next: ptr::null_mut(),
15496 exclusive_scissor: Bool32::default(),
15497 }
15498 }
15499}
15500
15501unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
15502unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
15503
15504#[repr(C)]
15506#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15507pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15508 pub s_type: StructureType,
15509 pub next: *mut c_void,
15510 pub extended_dynamic_state2: Bool32,
15511 pub extended_dynamic_state2_logic_op: Bool32,
15512 pub extended_dynamic_state2_patch_control_points: Bool32,
15513}
15514
15515impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
15516 #[inline]
15517 fn default() -> Self {
15518 Self {
15519 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
15520 next: ptr::null_mut(),
15521 extended_dynamic_state2: Bool32::default(),
15522 extended_dynamic_state2_logic_op: Bool32::default(),
15523 extended_dynamic_state2_patch_control_points: Bool32::default(),
15524 }
15525 }
15526}
15527
15528unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15529unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
15530
15531#[repr(C)]
15533#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15534pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15535 pub s_type: StructureType,
15536 pub next: *mut c_void,
15537 pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
15538 pub extended_dynamic_state_3depth_clamp_enable: Bool32,
15539 pub extended_dynamic_state3_polygon_mode: Bool32,
15540 pub extended_dynamic_state3_rasterization_samples: Bool32,
15541 pub extended_dynamic_state3_sample_mask: Bool32,
15542 pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
15543 pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
15544 pub extended_dynamic_state3_logic_op_enable: Bool32,
15545 pub extended_dynamic_state3_color_blend_enable: Bool32,
15546 pub extended_dynamic_state3_color_blend_equation: Bool32,
15547 pub extended_dynamic_state3_color_write_mask: Bool32,
15548 pub extended_dynamic_state3_rasterization_stream: Bool32,
15549 pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
15550 pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
15551 pub extended_dynamic_state_3depth_clip_enable: Bool32,
15552 pub extended_dynamic_state3_sample_locations_enable: Bool32,
15553 pub extended_dynamic_state3_color_blend_advanced: Bool32,
15554 pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
15555 pub extended_dynamic_state3_line_rasterization_mode: Bool32,
15556 pub extended_dynamic_state3_line_stipple_enable: Bool32,
15557 pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
15558 pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
15559 pub extended_dynamic_state3_viewport_swizzle: Bool32,
15560 pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
15561 pub extended_dynamic_state3_coverage_to_color_location: Bool32,
15562 pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
15563 pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
15564 pub extended_dynamic_state3_coverage_modulation_table: Bool32,
15565 pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
15566 pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
15567 pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
15568}
15569
15570impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
15571 #[inline]
15572 fn default() -> Self {
15573 Self {
15574 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
15575 next: ptr::null_mut(),
15576 extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
15577 extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
15578 extended_dynamic_state3_polygon_mode: Bool32::default(),
15579 extended_dynamic_state3_rasterization_samples: Bool32::default(),
15580 extended_dynamic_state3_sample_mask: Bool32::default(),
15581 extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
15582 extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
15583 extended_dynamic_state3_logic_op_enable: Bool32::default(),
15584 extended_dynamic_state3_color_blend_enable: Bool32::default(),
15585 extended_dynamic_state3_color_blend_equation: Bool32::default(),
15586 extended_dynamic_state3_color_write_mask: Bool32::default(),
15587 extended_dynamic_state3_rasterization_stream: Bool32::default(),
15588 extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
15589 extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
15590 extended_dynamic_state_3depth_clip_enable: Bool32::default(),
15591 extended_dynamic_state3_sample_locations_enable: Bool32::default(),
15592 extended_dynamic_state3_color_blend_advanced: Bool32::default(),
15593 extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
15594 extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
15595 extended_dynamic_state3_line_stipple_enable: Bool32::default(),
15596 extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
15597 extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
15598 extended_dynamic_state3_viewport_swizzle: Bool32::default(),
15599 extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
15600 extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
15601 extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
15602 extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
15603 extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
15604 extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
15605 extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
15606 extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
15607 }
15608 }
15609}
15610
15611unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15612unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
15613
15614#[repr(C)]
15616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15617pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15618 pub s_type: StructureType,
15619 pub next: *mut c_void,
15620 pub dynamic_primitive_topology_unrestricted: Bool32,
15621}
15622
15623impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
15624 #[inline]
15625 fn default() -> Self {
15626 Self {
15627 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
15628 next: ptr::null_mut(),
15629 dynamic_primitive_topology_unrestricted: Bool32::default(),
15630 }
15631 }
15632}
15633
15634unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15635unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
15636
15637#[repr(C)]
15639#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15640pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15641 pub s_type: StructureType,
15642 pub next: *mut c_void,
15643 pub extended_dynamic_state: Bool32,
15644}
15645
15646impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
15647 #[inline]
15648 fn default() -> Self {
15649 Self {
15650 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
15651 next: ptr::null_mut(),
15652 extended_dynamic_state: Bool32::default(),
15653 }
15654 }
15655}
15656
15657unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15658unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
15659
15660#[repr(C)]
15662#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15663pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15664 pub s_type: StructureType,
15665 pub next: *mut c_void,
15666 pub extended_sparse_address_space: Bool32,
15667}
15668
15669impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
15670 #[inline]
15671 fn default() -> Self {
15672 Self {
15673 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
15674 next: ptr::null_mut(),
15675 extended_sparse_address_space: Bool32::default(),
15676 }
15677 }
15678}
15679
15680unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15681unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
15682
15683#[repr(C)]
15685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15686pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15687 pub s_type: StructureType,
15688 pub next: *mut c_void,
15689 pub extended_sparse_address_space_size: DeviceSize,
15690 pub extended_sparse_image_usage_flags: ImageUsageFlags,
15691 pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
15692}
15693
15694impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
15695 #[inline]
15696 fn default() -> Self {
15697 Self {
15698 s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
15699 next: ptr::null_mut(),
15700 extended_sparse_address_space_size: DeviceSize::default(),
15701 extended_sparse_image_usage_flags: ImageUsageFlags::default(),
15702 extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
15703 }
15704 }
15705}
15706
15707unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15708unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
15709
15710#[repr(C)]
15712#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15713pub struct PhysicalDeviceExternalBufferInfo {
15714 pub s_type: StructureType,
15715 pub next: *const c_void,
15716 pub flags: BufferCreateFlags,
15717 pub usage: BufferUsageFlags,
15718 pub handle_type: ExternalMemoryHandleTypeFlags,
15719}
15720
15721impl Default for PhysicalDeviceExternalBufferInfo {
15722 #[inline]
15723 fn default() -> Self {
15724 Self {
15725 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
15726 next: ptr::null(),
15727 flags: BufferCreateFlags::default(),
15728 usage: BufferUsageFlags::default(),
15729 handle_type: ExternalMemoryHandleTypeFlags::default(),
15730 }
15731 }
15732}
15733
15734unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
15735unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
15736
15737#[repr(C)]
15739#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15740pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
15741 pub s_type: StructureType,
15742 pub next: *mut c_void,
15743 pub external_data_size: u32,
15744 pub max_external_queues: u32,
15745}
15746
15747impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
15748 #[inline]
15749 fn default() -> Self {
15750 Self {
15751 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
15752 next: ptr::null_mut(),
15753 external_data_size: u32::default(),
15754 max_external_queues: u32::default(),
15755 }
15756 }
15757}
15758
15759unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15760unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
15761
15762#[repr(C)]
15764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15765pub struct PhysicalDeviceExternalFenceInfo {
15766 pub s_type: StructureType,
15767 pub next: *const c_void,
15768 pub handle_type: ExternalFenceHandleTypeFlags,
15769}
15770
15771impl Default for PhysicalDeviceExternalFenceInfo {
15772 #[inline]
15773 fn default() -> Self {
15774 Self {
15775 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
15776 next: ptr::null(),
15777 handle_type: ExternalFenceHandleTypeFlags::default(),
15778 }
15779 }
15780}
15781
15782unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
15783unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
15784
15785#[repr(C)]
15787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15788pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15789 pub s_type: StructureType,
15790 pub next: *mut c_void,
15791 pub external_format_resolve: Bool32,
15792}
15793
15794impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
15795 #[inline]
15796 fn default() -> Self {
15797 Self {
15798 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
15799 next: ptr::null_mut(),
15800 external_format_resolve: Bool32::default(),
15801 }
15802 }
15803}
15804
15805unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15806unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
15807
15808#[repr(C)]
15810#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15811pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15812 pub s_type: StructureType,
15813 pub next: *mut c_void,
15814 pub null_color_attachment_with_external_format_resolve: Bool32,
15815 pub external_format_resolve_chroma_offset_x: ChromaLocation,
15816 pub external_format_resolve_chroma_offset_y: ChromaLocation,
15817}
15818
15819impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
15820 #[inline]
15821 fn default() -> Self {
15822 Self {
15823 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
15824 next: ptr::null_mut(),
15825 null_color_attachment_with_external_format_resolve: Bool32::default(),
15826 external_format_resolve_chroma_offset_x: ChromaLocation::default(),
15827 external_format_resolve_chroma_offset_y: ChromaLocation::default(),
15828 }
15829 }
15830}
15831
15832unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15833unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
15834
15835#[repr(C)]
15837#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15838pub struct PhysicalDeviceExternalImageFormatInfo {
15839 pub s_type: StructureType,
15840 pub next: *const c_void,
15841 pub handle_type: ExternalMemoryHandleTypeFlags,
15842}
15843
15844impl Default for PhysicalDeviceExternalImageFormatInfo {
15845 #[inline]
15846 fn default() -> Self {
15847 Self {
15848 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
15849 next: ptr::null(),
15850 handle_type: ExternalMemoryHandleTypeFlags::default(),
15851 }
15852 }
15853}
15854
15855unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
15856unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
15857
15858#[repr(C)]
15860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15861pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
15862 pub s_type: StructureType,
15863 pub next: *mut c_void,
15864 pub min_imported_host_pointer_alignment: DeviceSize,
15865}
15866
15867impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
15868 #[inline]
15869 fn default() -> Self {
15870 Self {
15871 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
15872 next: ptr::null_mut(),
15873 min_imported_host_pointer_alignment: DeviceSize::default(),
15874 }
15875 }
15876}
15877
15878unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15879unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
15880
15881#[repr(C)]
15883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15884pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15885 pub s_type: StructureType,
15886 pub next: *mut c_void,
15887 pub external_memory_rdma: Bool32,
15888}
15889
15890impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
15891 #[inline]
15892 fn default() -> Self {
15893 Self {
15894 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
15895 next: ptr::null_mut(),
15896 external_memory_rdma: Bool32::default(),
15897 }
15898 }
15899}
15900
15901unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15902unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
15903
15904#[repr(C)]
15906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15907pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
15908 pub s_type: StructureType,
15909 pub next: *mut c_void,
15910 pub sci_buf_import: Bool32,
15911 pub sci_buf_export: Bool32,
15912}
15913
15914impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
15915 #[inline]
15916 fn default() -> Self {
15917 Self {
15918 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
15919 next: ptr::null_mut(),
15920 sci_buf_import: Bool32::default(),
15921 sci_buf_export: Bool32::default(),
15922 }
15923 }
15924}
15925
15926unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15927unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
15928
15929#[repr(C)]
15931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15932pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15933 pub s_type: StructureType,
15934 pub next: *mut c_void,
15935 pub screen_buffer_import: Bool32,
15936}
15937
15938impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
15939 #[inline]
15940 fn default() -> Self {
15941 Self {
15942 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
15943 next: ptr::null_mut(),
15944 screen_buffer_import: Bool32::default(),
15945 }
15946 }
15947}
15948
15949unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15950unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
15951
15952#[repr(C)]
15954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15955pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
15956 pub s_type: StructureType,
15957 pub next: *mut c_void,
15958 pub sci_sync_fence: Bool32,
15959 pub sci_sync_semaphore2: Bool32,
15960 pub sci_sync_import: Bool32,
15961 pub sci_sync_export: Bool32,
15962}
15963
15964impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
15965 #[inline]
15966 fn default() -> Self {
15967 Self {
15968 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
15969 next: ptr::null_mut(),
15970 sci_sync_fence: Bool32::default(),
15971 sci_sync_semaphore2: Bool32::default(),
15972 sci_sync_import: Bool32::default(),
15973 sci_sync_export: Bool32::default(),
15974 }
15975 }
15976}
15977
15978unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
15979unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
15980
15981#[repr(C)]
15983#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
15984pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
15985 pub s_type: StructureType,
15986 pub next: *mut c_void,
15987 pub sci_sync_fence: Bool32,
15988 pub sci_sync_semaphore: Bool32,
15989 pub sci_sync_import: Bool32,
15990 pub sci_sync_export: Bool32,
15991}
15992
15993impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
15994 #[inline]
15995 fn default() -> Self {
15996 Self {
15997 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
15998 next: ptr::null_mut(),
15999 sci_sync_fence: Bool32::default(),
16000 sci_sync_semaphore: Bool32::default(),
16001 sci_sync_import: Bool32::default(),
16002 sci_sync_export: Bool32::default(),
16003 }
16004 }
16005}
16006
16007unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
16008unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
16009
16010#[repr(C)]
16012#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16013pub struct PhysicalDeviceExternalSemaphoreInfo {
16014 pub s_type: StructureType,
16015 pub next: *const c_void,
16016 pub handle_type: ExternalSemaphoreHandleTypeFlags,
16017}
16018
16019impl Default for PhysicalDeviceExternalSemaphoreInfo {
16020 #[inline]
16021 fn default() -> Self {
16022 Self {
16023 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
16024 next: ptr::null(),
16025 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
16026 }
16027 }
16028}
16029
16030unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
16031unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
16032
16033#[repr(C)]
16035#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16036pub struct PhysicalDeviceExternalTensorInfoARM {
16037 pub s_type: StructureType,
16038 pub next: *const c_void,
16039 pub flags: TensorCreateFlagsARM,
16040 pub description: *const TensorDescriptionARM,
16041 pub handle_type: ExternalMemoryHandleTypeFlags,
16042}
16043
16044impl Default for PhysicalDeviceExternalTensorInfoARM {
16045 #[inline]
16046 fn default() -> Self {
16047 Self {
16048 s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
16049 next: ptr::null(),
16050 flags: TensorCreateFlagsARM::default(),
16051 description: ptr::null(),
16052 handle_type: ExternalMemoryHandleTypeFlags::default(),
16053 }
16054 }
16055}
16056
16057unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
16058unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
16059
16060#[repr(C)]
16062#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16063pub struct PhysicalDeviceFaultFeaturesEXT {
16064 pub s_type: StructureType,
16065 pub next: *mut c_void,
16066 pub device_fault: Bool32,
16067 pub device_fault_vendor_binary: Bool32,
16068}
16069
16070impl Default for PhysicalDeviceFaultFeaturesEXT {
16071 #[inline]
16072 fn default() -> Self {
16073 Self {
16074 s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
16075 next: ptr::null_mut(),
16076 device_fault: Bool32::default(),
16077 device_fault_vendor_binary: Bool32::default(),
16078 }
16079 }
16080}
16081
16082unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
16083unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
16084
16085#[repr(C)]
16087#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
16088pub struct PhysicalDeviceFeatures {
16089 pub robust_buffer_access: Bool32,
16090 pub full_draw_index_uint32: Bool32,
16091 pub image_cube_array: Bool32,
16092 pub independent_blend: Bool32,
16093 pub geometry_shader: Bool32,
16094 pub tessellation_shader: Bool32,
16095 pub sample_rate_shading: Bool32,
16096 pub dual_src_blend: Bool32,
16097 pub logic_op: Bool32,
16098 pub multi_draw_indirect: Bool32,
16099 pub draw_indirect_first_instance: Bool32,
16100 pub depth_clamp: Bool32,
16101 pub depth_bias_clamp: Bool32,
16102 pub fill_mode_non_solid: Bool32,
16103 pub depth_bounds: Bool32,
16104 pub wide_lines: Bool32,
16105 pub large_points: Bool32,
16106 pub alpha_to_one: Bool32,
16107 pub multi_viewport: Bool32,
16108 pub sampler_anisotropy: Bool32,
16109 pub texture_compression_etc2: Bool32,
16110 pub texture_compression_astc_ldr: Bool32,
16111 pub texture_compression_bc: Bool32,
16112 pub occlusion_query_precise: Bool32,
16113 pub pipeline_statistics_query: Bool32,
16114 pub vertex_pipeline_stores_and_atomics: Bool32,
16115 pub fragment_stores_and_atomics: Bool32,
16116 pub shader_tessellation_and_geometry_point_size: Bool32,
16117 pub shader_image_gather_extended: Bool32,
16118 pub shader_storage_image_extended_formats: Bool32,
16119 pub shader_storage_image_multisample: Bool32,
16120 pub shader_storage_image_read_without_format: Bool32,
16121 pub shader_storage_image_write_without_format: Bool32,
16122 pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
16123 pub shader_sampled_image_array_dynamic_indexing: Bool32,
16124 pub shader_storage_buffer_array_dynamic_indexing: Bool32,
16125 pub shader_storage_image_array_dynamic_indexing: Bool32,
16126 pub shader_clip_distance: Bool32,
16127 pub shader_cull_distance: Bool32,
16128 pub shader_float64: Bool32,
16129 pub shader_int64: Bool32,
16130 pub shader_int16: Bool32,
16131 pub shader_resource_residency: Bool32,
16132 pub shader_resource_min_lod: Bool32,
16133 pub sparse_binding: Bool32,
16134 pub sparse_residency_buffer: Bool32,
16135 pub sparse_residency_image_2d: Bool32,
16136 pub sparse_residency_image_3d: Bool32,
16137 pub sparse_residency2_samples: Bool32,
16138 pub sparse_residency4_samples: Bool32,
16139 pub sparse_residency8_samples: Bool32,
16140 pub sparse_residency16_samples: Bool32,
16141 pub sparse_residency_aliased: Bool32,
16142 pub variable_multisample_rate: Bool32,
16143 pub inherited_queries: Bool32,
16144}
16145
16146#[repr(C)]
16148#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16149pub struct PhysicalDeviceFeatures2 {
16150 pub s_type: StructureType,
16151 pub next: *mut c_void,
16152 pub features: PhysicalDeviceFeatures,
16153}
16154
16155impl Default for PhysicalDeviceFeatures2 {
16156 #[inline]
16157 fn default() -> Self {
16158 Self {
16159 s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
16160 next: ptr::null_mut(),
16161 features: PhysicalDeviceFeatures::default(),
16162 }
16163 }
16164}
16165
16166unsafe impl Send for PhysicalDeviceFeatures2 {}
16167unsafe impl Sync for PhysicalDeviceFeatures2 {}
16168
16169#[repr(C)]
16171#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16172pub struct PhysicalDeviceFloatControlsProperties {
16173 pub s_type: StructureType,
16174 pub next: *mut c_void,
16175 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
16176 pub rounding_mode_independence: ShaderFloatControlsIndependence,
16177 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
16178 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
16179 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
16180 pub shader_denorm_preserve_float16: Bool32,
16181 pub shader_denorm_preserve_float32: Bool32,
16182 pub shader_denorm_preserve_float64: Bool32,
16183 pub shader_denorm_flush_to_zero_float16: Bool32,
16184 pub shader_denorm_flush_to_zero_float32: Bool32,
16185 pub shader_denorm_flush_to_zero_float64: Bool32,
16186 pub shader_rounding_mode_rte_float16: Bool32,
16187 pub shader_rounding_mode_rte_float32: Bool32,
16188 pub shader_rounding_mode_rte_float64: Bool32,
16189 pub shader_rounding_mode_rtz_float16: Bool32,
16190 pub shader_rounding_mode_rtz_float32: Bool32,
16191 pub shader_rounding_mode_rtz_float64: Bool32,
16192}
16193
16194impl Default for PhysicalDeviceFloatControlsProperties {
16195 #[inline]
16196 fn default() -> Self {
16197 Self {
16198 s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
16199 next: ptr::null_mut(),
16200 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
16201 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
16202 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
16203 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
16204 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
16205 shader_denorm_preserve_float16: Bool32::default(),
16206 shader_denorm_preserve_float32: Bool32::default(),
16207 shader_denorm_preserve_float64: Bool32::default(),
16208 shader_denorm_flush_to_zero_float16: Bool32::default(),
16209 shader_denorm_flush_to_zero_float32: Bool32::default(),
16210 shader_denorm_flush_to_zero_float64: Bool32::default(),
16211 shader_rounding_mode_rte_float16: Bool32::default(),
16212 shader_rounding_mode_rte_float32: Bool32::default(),
16213 shader_rounding_mode_rte_float64: Bool32::default(),
16214 shader_rounding_mode_rtz_float16: Bool32::default(),
16215 shader_rounding_mode_rtz_float32: Bool32::default(),
16216 shader_rounding_mode_rtz_float64: Bool32::default(),
16217 }
16218 }
16219}
16220
16221unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
16222unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
16223
16224#[repr(C)]
16226#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16227pub struct PhysicalDeviceFormatPackFeaturesARM {
16228 pub s_type: StructureType,
16229 pub next: *mut c_void,
16230 pub format_pack: Bool32,
16231}
16232
16233impl Default for PhysicalDeviceFormatPackFeaturesARM {
16234 #[inline]
16235 fn default() -> Self {
16236 Self {
16237 s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
16238 next: ptr::null_mut(),
16239 format_pack: Bool32::default(),
16240 }
16241 }
16242}
16243
16244unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
16245unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
16246
16247#[repr(C)]
16249#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16250pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16251 pub s_type: StructureType,
16252 pub next: *mut c_void,
16253 pub fragment_density_map_deferred: Bool32,
16254}
16255
16256impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
16257 #[inline]
16258 fn default() -> Self {
16259 Self {
16260 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
16261 next: ptr::null_mut(),
16262 fragment_density_map_deferred: Bool32::default(),
16263 }
16264 }
16265}
16266
16267unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16268unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
16269
16270#[repr(C)]
16272#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16273pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16274 pub s_type: StructureType,
16275 pub next: *mut c_void,
16276 pub subsampled_loads: Bool32,
16277 pub subsampled_coarse_reconstruction_early_access: Bool32,
16278 pub max_subsampled_array_layers: u32,
16279 pub max_descriptor_set_subsampled_samplers: u32,
16280}
16281
16282impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
16283 #[inline]
16284 fn default() -> Self {
16285 Self {
16286 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
16287 next: ptr::null_mut(),
16288 subsampled_loads: Bool32::default(),
16289 subsampled_coarse_reconstruction_early_access: Bool32::default(),
16290 max_subsampled_array_layers: u32::default(),
16291 max_descriptor_set_subsampled_samplers: u32::default(),
16292 }
16293 }
16294}
16295
16296unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16297unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
16298
16299#[repr(C)]
16301#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16302pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
16303 pub s_type: StructureType,
16304 pub next: *mut c_void,
16305 pub fragment_density_map: Bool32,
16306 pub fragment_density_map_dynamic: Bool32,
16307 pub fragment_density_map_non_subsampled_images: Bool32,
16308}
16309
16310impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
16311 #[inline]
16312 fn default() -> Self {
16313 Self {
16314 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
16315 next: ptr::null_mut(),
16316 fragment_density_map: Bool32::default(),
16317 fragment_density_map_dynamic: Bool32::default(),
16318 fragment_density_map_non_subsampled_images: Bool32::default(),
16319 }
16320 }
16321}
16322
16323unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16324unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
16325
16326#[repr(C)]
16328#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16329pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16330 pub s_type: StructureType,
16331 pub next: *mut c_void,
16332 pub fragment_density_map_layered: Bool32,
16333}
16334
16335impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
16336 #[inline]
16337 fn default() -> Self {
16338 Self {
16339 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
16340 next: ptr::null_mut(),
16341 fragment_density_map_layered: Bool32::default(),
16342 }
16343 }
16344}
16345
16346unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16347unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
16348
16349#[repr(C)]
16351#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16352pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16353 pub s_type: StructureType,
16354 pub next: *mut c_void,
16355 pub max_fragment_density_map_layers: u32,
16356}
16357
16358impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
16359 #[inline]
16360 fn default() -> Self {
16361 Self {
16362 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
16363 next: ptr::null_mut(),
16364 max_fragment_density_map_layers: u32::default(),
16365 }
16366 }
16367}
16368
16369unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16370unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
16371
16372#[repr(C)]
16374#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16375pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16376 pub s_type: StructureType,
16377 pub next: *mut c_void,
16378 pub fragment_density_map_offset: Bool32,
16379}
16380
16381impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
16382 #[inline]
16383 fn default() -> Self {
16384 Self {
16385 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
16386 next: ptr::null_mut(),
16387 fragment_density_map_offset: Bool32::default(),
16388 }
16389 }
16390}
16391
16392unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16393unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
16394
16395#[repr(C)]
16397#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16398pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16399 pub s_type: StructureType,
16400 pub next: *mut c_void,
16401 pub fragment_density_offset_granularity: Extent2D,
16402}
16403
16404impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
16405 #[inline]
16406 fn default() -> Self {
16407 Self {
16408 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
16409 next: ptr::null_mut(),
16410 fragment_density_offset_granularity: Extent2D::default(),
16411 }
16412 }
16413}
16414
16415unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16416unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
16417
16418#[repr(C)]
16420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16421pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
16422 pub s_type: StructureType,
16423 pub next: *mut c_void,
16424 pub min_fragment_density_texel_size: Extent2D,
16425 pub max_fragment_density_texel_size: Extent2D,
16426 pub fragment_density_invocations: Bool32,
16427}
16428
16429impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
16430 #[inline]
16431 fn default() -> Self {
16432 Self {
16433 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
16434 next: ptr::null_mut(),
16435 min_fragment_density_texel_size: Extent2D::default(),
16436 max_fragment_density_texel_size: Extent2D::default(),
16437 fragment_density_invocations: Bool32::default(),
16438 }
16439 }
16440}
16441
16442unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16443unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
16444
16445#[repr(C)]
16447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16448pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16449 pub s_type: StructureType,
16450 pub next: *mut c_void,
16451 pub fragment_shader_barycentric: Bool32,
16452}
16453
16454impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
16455 #[inline]
16456 fn default() -> Self {
16457 Self {
16458 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
16459 next: ptr::null_mut(),
16460 fragment_shader_barycentric: Bool32::default(),
16461 }
16462 }
16463}
16464
16465unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16466unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
16467
16468#[repr(C)]
16470#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16471pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16472 pub s_type: StructureType,
16473 pub next: *mut c_void,
16474 pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
16475}
16476
16477impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
16478 #[inline]
16479 fn default() -> Self {
16480 Self {
16481 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
16482 next: ptr::null_mut(),
16483 tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
16484 }
16485 }
16486}
16487
16488unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16489unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
16490
16491#[repr(C)]
16493#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16494pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16495 pub s_type: StructureType,
16496 pub next: *mut c_void,
16497 pub fragment_shader_sample_interlock: Bool32,
16498 pub fragment_shader_pixel_interlock: Bool32,
16499 pub fragment_shader_shading_rate_interlock: Bool32,
16500}
16501
16502impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
16503 #[inline]
16504 fn default() -> Self {
16505 Self {
16506 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
16507 next: ptr::null_mut(),
16508 fragment_shader_sample_interlock: Bool32::default(),
16509 fragment_shader_pixel_interlock: Bool32::default(),
16510 fragment_shader_shading_rate_interlock: Bool32::default(),
16511 }
16512 }
16513}
16514
16515unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16516unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
16517
16518#[repr(C)]
16520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16521pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16522 pub s_type: StructureType,
16523 pub next: *mut c_void,
16524 pub fragment_shading_rate_enums: Bool32,
16525 pub supersample_fragment_shading_rates: Bool32,
16526 pub no_invocation_fragment_shading_rates: Bool32,
16527}
16528
16529impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
16530 #[inline]
16531 fn default() -> Self {
16532 Self {
16533 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
16534 next: ptr::null_mut(),
16535 fragment_shading_rate_enums: Bool32::default(),
16536 supersample_fragment_shading_rates: Bool32::default(),
16537 no_invocation_fragment_shading_rates: Bool32::default(),
16538 }
16539 }
16540}
16541
16542unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16543unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
16544
16545#[repr(C)]
16547#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16548pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16549 pub s_type: StructureType,
16550 pub next: *mut c_void,
16551 pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
16552}
16553
16554impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
16555 #[inline]
16556 fn default() -> Self {
16557 Self {
16558 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
16559 next: ptr::null_mut(),
16560 max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
16561 }
16562 }
16563}
16564
16565unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16566unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
16567
16568#[repr(C)]
16570#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16571pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
16572 pub s_type: StructureType,
16573 pub next: *mut c_void,
16574 pub pipeline_fragment_shading_rate: Bool32,
16575 pub primitive_fragment_shading_rate: Bool32,
16576 pub attachment_fragment_shading_rate: Bool32,
16577}
16578
16579impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
16580 #[inline]
16581 fn default() -> Self {
16582 Self {
16583 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
16584 next: ptr::null_mut(),
16585 pipeline_fragment_shading_rate: Bool32::default(),
16586 primitive_fragment_shading_rate: Bool32::default(),
16587 attachment_fragment_shading_rate: Bool32::default(),
16588 }
16589 }
16590}
16591
16592unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16593unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
16594
16595#[repr(C)]
16597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16598pub struct PhysicalDeviceFragmentShadingRateKHR {
16599 pub s_type: StructureType,
16600 pub next: *mut c_void,
16601 pub sample_counts: SampleCountFlags,
16602 pub fragment_size: Extent2D,
16603}
16604
16605impl Default for PhysicalDeviceFragmentShadingRateKHR {
16606 #[inline]
16607 fn default() -> Self {
16608 Self {
16609 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
16610 next: ptr::null_mut(),
16611 sample_counts: SampleCountFlags::default(),
16612 fragment_size: Extent2D::default(),
16613 }
16614 }
16615}
16616
16617unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
16618unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
16619
16620#[repr(C)]
16622#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16623pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
16624 pub s_type: StructureType,
16625 pub next: *mut c_void,
16626 pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
16627 pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
16628 pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
16629 pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
16630 pub layered_shading_rate_attachments: Bool32,
16631 pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
16632 pub max_fragment_size: Extent2D,
16633 pub max_fragment_size_aspect_ratio: u32,
16634 pub max_fragment_shading_rate_coverage_samples: u32,
16635 pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
16636 pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
16637 pub fragment_shading_rate_with_sample_mask: Bool32,
16638 pub fragment_shading_rate_with_shader_sample_mask: Bool32,
16639 pub fragment_shading_rate_with_conservative_rasterization: Bool32,
16640 pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
16641 pub fragment_shading_rate_with_custom_sample_locations: Bool32,
16642 pub fragment_shading_rate_strict_multiply_combiner: Bool32,
16643}
16644
16645impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
16646 #[inline]
16647 fn default() -> Self {
16648 Self {
16649 s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
16650 next: ptr::null_mut(),
16651 min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16652 max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
16653 max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
16654 primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
16655 layered_shading_rate_attachments: Bool32::default(),
16656 fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
16657 max_fragment_size: Extent2D::default(),
16658 max_fragment_size_aspect_ratio: u32::default(),
16659 max_fragment_shading_rate_coverage_samples: u32::default(),
16660 max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
16661 fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
16662 fragment_shading_rate_with_sample_mask: Bool32::default(),
16663 fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
16664 fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
16665 fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
16666 fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
16667 fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
16668 }
16669 }
16670}
16671
16672unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16673unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
16674
16675#[repr(C)]
16677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16678pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
16679 pub s_type: StructureType,
16680 pub next: *mut c_void,
16681 pub frame_boundary: Bool32,
16682}
16683
16684impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
16685 #[inline]
16686 fn default() -> Self {
16687 Self {
16688 s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
16689 next: ptr::null_mut(),
16690 frame_boundary: Bool32::default(),
16691 }
16692 }
16693}
16694
16695unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16696unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
16697
16698#[repr(C)]
16700#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16701pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
16702 pub s_type: StructureType,
16703 pub next: *mut c_void,
16704 pub global_priority_query: Bool32,
16705}
16706
16707impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
16708 #[inline]
16709 fn default() -> Self {
16710 Self {
16711 s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
16712 next: ptr::null_mut(),
16713 global_priority_query: Bool32::default(),
16714 }
16715 }
16716}
16717
16718unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
16719unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
16720
16721#[repr(C)]
16723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16724pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16725 pub s_type: StructureType,
16726 pub next: *mut c_void,
16727 pub graphics_pipeline_library: Bool32,
16728}
16729
16730impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
16731 #[inline]
16732 fn default() -> Self {
16733 Self {
16734 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
16735 next: ptr::null_mut(),
16736 graphics_pipeline_library: Bool32::default(),
16737 }
16738 }
16739}
16740
16741unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16742unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
16743
16744#[repr(C)]
16746#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16747pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16748 pub s_type: StructureType,
16749 pub next: *mut c_void,
16750 pub graphics_pipeline_library_fast_linking: Bool32,
16751 pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
16752}
16753
16754impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
16755 #[inline]
16756 fn default() -> Self {
16757 Self {
16758 s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
16759 next: ptr::null_mut(),
16760 graphics_pipeline_library_fast_linking: Bool32::default(),
16761 graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
16762 }
16763 }
16764}
16765
16766unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16767unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
16768
16769#[repr(C)]
16771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16772pub struct PhysicalDeviceGroupProperties {
16773 pub s_type: StructureType,
16774 pub next: *mut c_void,
16775 pub physical_device_count: u32,
16776 pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE as usize],
16777 pub subset_allocation: Bool32,
16778}
16779
16780impl Default for PhysicalDeviceGroupProperties {
16781 #[inline]
16782 fn default() -> Self {
16783 Self {
16784 s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
16785 next: ptr::null_mut(),
16786 physical_device_count: u32::default(),
16787 physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
16788 subset_allocation: Bool32::default(),
16789 }
16790 }
16791}
16792
16793unsafe impl Send for PhysicalDeviceGroupProperties {}
16794unsafe impl Sync for PhysicalDeviceGroupProperties {}
16795
16796#[repr(C)]
16798#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16799pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
16800 pub s_type: StructureType,
16801 pub next: *mut c_void,
16802 pub hdr_vivid: Bool32,
16803}
16804
16805impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
16806 #[inline]
16807 fn default() -> Self {
16808 Self {
16809 s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
16810 next: ptr::null_mut(),
16811 hdr_vivid: Bool32::default(),
16812 }
16813 }
16814}
16815
16816unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16817unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
16818
16819#[repr(C)]
16821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16822pub struct PhysicalDeviceHostImageCopyFeatures {
16823 pub s_type: StructureType,
16824 pub next: *mut c_void,
16825 pub host_image_copy: Bool32,
16826}
16827
16828impl Default for PhysicalDeviceHostImageCopyFeatures {
16829 #[inline]
16830 fn default() -> Self {
16831 Self {
16832 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
16833 next: ptr::null_mut(),
16834 host_image_copy: Bool32::default(),
16835 }
16836 }
16837}
16838
16839unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
16840unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
16841
16842#[repr(C)]
16844#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16845pub struct PhysicalDeviceHostImageCopyProperties {
16846 pub s_type: StructureType,
16847 pub next: *mut c_void,
16848 pub copy_src_layout_count: u32,
16849 pub copy_src_layouts: *mut ImageLayout,
16850 pub copy_dst_layout_count: u32,
16851 pub copy_dst_layouts: *mut ImageLayout,
16852 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
16853 pub identical_memory_type_requirements: Bool32,
16854}
16855
16856impl Default for PhysicalDeviceHostImageCopyProperties {
16857 #[inline]
16858 fn default() -> Self {
16859 Self {
16860 s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
16861 next: ptr::null_mut(),
16862 copy_src_layout_count: u32::default(),
16863 copy_src_layouts: ptr::null_mut(),
16864 copy_dst_layout_count: u32::default(),
16865 copy_dst_layouts: ptr::null_mut(),
16866 optimal_tiling_layout_uuid: ByteArray::default(),
16867 identical_memory_type_requirements: Bool32::default(),
16868 }
16869 }
16870}
16871
16872unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
16873unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
16874
16875#[repr(C)]
16877#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16878pub struct PhysicalDeviceHostQueryResetFeatures {
16879 pub s_type: StructureType,
16880 pub next: *mut c_void,
16881 pub host_query_reset: Bool32,
16882}
16883
16884impl Default for PhysicalDeviceHostQueryResetFeatures {
16885 #[inline]
16886 fn default() -> Self {
16887 Self {
16888 s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
16889 next: ptr::null_mut(),
16890 host_query_reset: Bool32::default(),
16891 }
16892 }
16893}
16894
16895unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
16896unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
16897
16898#[repr(C)]
16900#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16901pub struct PhysicalDeviceIDProperties {
16902 pub s_type: StructureType,
16903 pub next: *mut c_void,
16904 pub device_uuid: ByteArray<UUID_SIZE>,
16905 pub driver_uuid: ByteArray<UUID_SIZE>,
16906 pub device_luid: ByteArray<LUID_SIZE>,
16907 pub device_node_mask: u32,
16908 pub device_luid_valid: Bool32,
16909}
16910
16911impl Default for PhysicalDeviceIDProperties {
16912 #[inline]
16913 fn default() -> Self {
16914 Self {
16915 s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
16916 next: ptr::null_mut(),
16917 device_uuid: ByteArray::default(),
16918 driver_uuid: ByteArray::default(),
16919 device_luid: ByteArray::default(),
16920 device_node_mask: u32::default(),
16921 device_luid_valid: Bool32::default(),
16922 }
16923 }
16924}
16925
16926unsafe impl Send for PhysicalDeviceIDProperties {}
16927unsafe impl Sync for PhysicalDeviceIDProperties {}
16928
16929#[repr(C)]
16931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16932pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16933 pub s_type: StructureType,
16934 pub next: *mut c_void,
16935 pub image_2d_view_of_3d: Bool32,
16936 pub sampler_2d_view_of_3d: Bool32,
16937}
16938
16939impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
16940 #[inline]
16941 fn default() -> Self {
16942 Self {
16943 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
16944 next: ptr::null_mut(),
16945 image_2d_view_of_3d: Bool32::default(),
16946 sampler_2d_view_of_3d: Bool32::default(),
16947 }
16948 }
16949}
16950
16951unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16952unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
16953
16954#[repr(C)]
16956#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16957pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
16958 pub s_type: StructureType,
16959 pub next: *mut c_void,
16960 pub image_alignment_control: Bool32,
16961}
16962
16963impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
16964 #[inline]
16965 fn default() -> Self {
16966 Self {
16967 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
16968 next: ptr::null_mut(),
16969 image_alignment_control: Bool32::default(),
16970 }
16971 }
16972}
16973
16974unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16975unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
16976
16977#[repr(C)]
16979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
16980pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
16981 pub s_type: StructureType,
16982 pub next: *mut c_void,
16983 pub supported_image_alignment_mask: u32,
16984}
16985
16986impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
16987 #[inline]
16988 fn default() -> Self {
16989 Self {
16990 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
16991 next: ptr::null_mut(),
16992 supported_image_alignment_mask: u32::default(),
16993 }
16994 }
16995}
16996
16997unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16998unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
16999
17000#[repr(C)]
17002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17003pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
17004 pub s_type: StructureType,
17005 pub next: *mut c_void,
17006 pub image_compression_control: Bool32,
17007}
17008
17009impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
17010 #[inline]
17011 fn default() -> Self {
17012 Self {
17013 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
17014 next: ptr::null_mut(),
17015 image_compression_control: Bool32::default(),
17016 }
17017 }
17018}
17019
17020unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
17021unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
17022
17023#[repr(C)]
17025#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17026pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17027 pub s_type: StructureType,
17028 pub next: *mut c_void,
17029 pub image_compression_control_swapchain: Bool32,
17030}
17031
17032impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
17033 #[inline]
17034 fn default() -> Self {
17035 Self {
17036 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
17037 next: ptr::null_mut(),
17038 image_compression_control_swapchain: Bool32::default(),
17039 }
17040 }
17041}
17042
17043unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
17044unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
17045
17046#[repr(C)]
17048#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17049pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
17050 pub s_type: StructureType,
17051 pub next: *const c_void,
17052 pub drm_format_modifier: u64,
17053 pub sharing_mode: SharingMode,
17054 pub queue_family_index_count: u32,
17055 pub queue_family_indices: *const u32,
17056}
17057
17058impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
17059 #[inline]
17060 fn default() -> Self {
17061 Self {
17062 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
17063 next: ptr::null(),
17064 drm_format_modifier: u64::default(),
17065 sharing_mode: SharingMode::default(),
17066 queue_family_index_count: u32::default(),
17067 queue_family_indices: ptr::null(),
17068 }
17069 }
17070}
17071
17072unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
17073unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
17074
17075#[repr(C)]
17077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17078pub struct PhysicalDeviceImageFormatInfo2 {
17079 pub s_type: StructureType,
17080 pub next: *const c_void,
17081 pub format: Format,
17082 pub type_: ImageType,
17083 pub tiling: ImageTiling,
17084 pub usage: ImageUsageFlags,
17085 pub flags: ImageCreateFlags,
17086}
17087
17088impl Default for PhysicalDeviceImageFormatInfo2 {
17089 #[inline]
17090 fn default() -> Self {
17091 Self {
17092 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
17093 next: ptr::null(),
17094 format: Format::default(),
17095 type_: ImageType::default(),
17096 tiling: ImageTiling::default(),
17097 usage: ImageUsageFlags::default(),
17098 flags: ImageCreateFlags::default(),
17099 }
17100 }
17101}
17102
17103unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
17104unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
17105
17106#[repr(C)]
17108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17109pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
17110 pub s_type: StructureType,
17111 pub next: *mut c_void,
17112 pub texture_block_match2: Bool32,
17113}
17114
17115impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
17116 #[inline]
17117 fn default() -> Self {
17118 Self {
17119 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
17120 next: ptr::null_mut(),
17121 texture_block_match2: Bool32::default(),
17122 }
17123 }
17124}
17125
17126unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
17127unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
17128
17129#[repr(C)]
17131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17132pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
17133 pub s_type: StructureType,
17134 pub next: *mut c_void,
17135 pub max_block_match_window: Extent2D,
17136}
17137
17138impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
17139 #[inline]
17140 fn default() -> Self {
17141 Self {
17142 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
17143 next: ptr::null_mut(),
17144 max_block_match_window: Extent2D::default(),
17145 }
17146 }
17147}
17148
17149unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
17150unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
17151
17152#[repr(C)]
17154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17155pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
17156 pub s_type: StructureType,
17157 pub next: *mut c_void,
17158 pub texture_sample_weighted: Bool32,
17159 pub texture_box_filter: Bool32,
17160 pub texture_block_match: Bool32,
17161}
17162
17163impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
17164 #[inline]
17165 fn default() -> Self {
17166 Self {
17167 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
17168 next: ptr::null_mut(),
17169 texture_sample_weighted: Bool32::default(),
17170 texture_box_filter: Bool32::default(),
17171 texture_block_match: Bool32::default(),
17172 }
17173 }
17174}
17175
17176unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
17177unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
17178
17179#[repr(C)]
17181#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17182pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
17183 pub s_type: StructureType,
17184 pub next: *mut c_void,
17185 pub max_weight_filter_phases: u32,
17186 pub max_weight_filter_dimension: Extent2D,
17187 pub max_block_match_region: Extent2D,
17188 pub max_box_filter_block_size: Extent2D,
17189}
17190
17191impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
17192 #[inline]
17193 fn default() -> Self {
17194 Self {
17195 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
17196 next: ptr::null_mut(),
17197 max_weight_filter_phases: u32::default(),
17198 max_weight_filter_dimension: Extent2D::default(),
17199 max_block_match_region: Extent2D::default(),
17200 max_box_filter_block_size: Extent2D::default(),
17201 }
17202 }
17203}
17204
17205unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
17206unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
17207
17208#[repr(C)]
17210#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17211pub struct PhysicalDeviceImageRobustnessFeatures {
17212 pub s_type: StructureType,
17213 pub next: *mut c_void,
17214 pub robust_image_access: Bool32,
17215}
17216
17217impl Default for PhysicalDeviceImageRobustnessFeatures {
17218 #[inline]
17219 fn default() -> Self {
17220 Self {
17221 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
17222 next: ptr::null_mut(),
17223 robust_image_access: Bool32::default(),
17224 }
17225 }
17226}
17227
17228unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
17229unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
17230
17231#[repr(C)]
17233#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17234pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17235 pub s_type: StructureType,
17236 pub next: *mut c_void,
17237 pub image_sliced_view_of_3d: Bool32,
17238}
17239
17240impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
17241 #[inline]
17242 fn default() -> Self {
17243 Self {
17244 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
17245 next: ptr::null_mut(),
17246 image_sliced_view_of_3d: Bool32::default(),
17247 }
17248 }
17249}
17250
17251unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17252unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
17253
17254#[repr(C)]
17256#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17257pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
17258 pub s_type: StructureType,
17259 pub next: *mut c_void,
17260 pub image_view_type: ImageViewType,
17261}
17262
17263impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
17264 #[inline]
17265 fn default() -> Self {
17266 Self {
17267 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
17268 next: ptr::null_mut(),
17269 image_view_type: ImageViewType::default(),
17270 }
17271 }
17272}
17273
17274unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
17275unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
17276
17277#[repr(C)]
17279#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17280pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
17281 pub s_type: StructureType,
17282 pub next: *mut c_void,
17283 pub min_lod: Bool32,
17284}
17285
17286impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
17287 #[inline]
17288 fn default() -> Self {
17289 Self {
17290 s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
17291 next: ptr::null_mut(),
17292 min_lod: Bool32::default(),
17293 }
17294 }
17295}
17296
17297unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17298unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
17299
17300#[repr(C)]
17302#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17303pub struct PhysicalDeviceImagelessFramebufferFeatures {
17304 pub s_type: StructureType,
17305 pub next: *mut c_void,
17306 pub imageless_framebuffer: Bool32,
17307}
17308
17309impl Default for PhysicalDeviceImagelessFramebufferFeatures {
17310 #[inline]
17311 fn default() -> Self {
17312 Self {
17313 s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
17314 next: ptr::null_mut(),
17315 imageless_framebuffer: Bool32::default(),
17316 }
17317 }
17318}
17319
17320unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
17321unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
17322
17323#[repr(C)]
17325#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17326pub struct PhysicalDeviceIndexTypeUint8Features {
17327 pub s_type: StructureType,
17328 pub next: *mut c_void,
17329 pub index_type_uint8: Bool32,
17330}
17331
17332impl Default for PhysicalDeviceIndexTypeUint8Features {
17333 #[inline]
17334 fn default() -> Self {
17335 Self {
17336 s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
17337 next: ptr::null_mut(),
17338 index_type_uint8: Bool32::default(),
17339 }
17340 }
17341}
17342
17343unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
17344unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
17345
17346#[repr(C)]
17348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17349pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
17350 pub s_type: StructureType,
17351 pub next: *mut c_void,
17352 pub inherited_viewport_scissor_2d: Bool32,
17353}
17354
17355impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
17356 #[inline]
17357 fn default() -> Self {
17358 Self {
17359 s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
17360 next: ptr::null_mut(),
17361 inherited_viewport_scissor_2d: Bool32::default(),
17362 }
17363 }
17364}
17365
17366unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17367unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
17368
17369#[repr(C)]
17371#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17372pub struct PhysicalDeviceInlineUniformBlockFeatures {
17373 pub s_type: StructureType,
17374 pub next: *mut c_void,
17375 pub inline_uniform_block: Bool32,
17376 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
17377}
17378
17379impl Default for PhysicalDeviceInlineUniformBlockFeatures {
17380 #[inline]
17381 fn default() -> Self {
17382 Self {
17383 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
17384 next: ptr::null_mut(),
17385 inline_uniform_block: Bool32::default(),
17386 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
17387 }
17388 }
17389}
17390
17391unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
17392unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
17393
17394#[repr(C)]
17396#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17397pub struct PhysicalDeviceInlineUniformBlockProperties {
17398 pub s_type: StructureType,
17399 pub next: *mut c_void,
17400 pub max_inline_uniform_block_size: u32,
17401 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
17402 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
17403 pub max_descriptor_set_inline_uniform_blocks: u32,
17404 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
17405}
17406
17407impl Default for PhysicalDeviceInlineUniformBlockProperties {
17408 #[inline]
17409 fn default() -> Self {
17410 Self {
17411 s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
17412 next: ptr::null_mut(),
17413 max_inline_uniform_block_size: u32::default(),
17414 max_per_stage_descriptor_inline_uniform_blocks: u32::default(),
17415 max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32::default(),
17416 max_descriptor_set_inline_uniform_blocks: u32::default(),
17417 max_descriptor_set_update_after_bind_inline_uniform_blocks: u32::default(),
17418 }
17419 }
17420}
17421
17422unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
17423unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
17424
17425#[repr(C)]
17427#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17428pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17429 pub s_type: StructureType,
17430 pub next: *mut c_void,
17431 pub invocation_mask: Bool32,
17432}
17433
17434impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
17435 #[inline]
17436 fn default() -> Self {
17437 Self {
17438 s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
17439 next: ptr::null_mut(),
17440 invocation_mask: Bool32::default(),
17441 }
17442 }
17443}
17444
17445unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17446unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
17447
17448#[repr(C)]
17450#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17451pub struct PhysicalDeviceLayeredApiPropertiesKHR {
17452 pub s_type: StructureType,
17453 pub next: *mut c_void,
17454 pub vendor_id: u32,
17455 pub device_id: u32,
17456 pub layered_api: PhysicalDeviceLayeredApiKHR,
17457 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
17458}
17459
17460impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
17461 #[inline]
17462 fn default() -> Self {
17463 Self {
17464 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
17465 next: ptr::null_mut(),
17466 vendor_id: u32::default(),
17467 device_id: u32::default(),
17468 layered_api: PhysicalDeviceLayeredApiKHR::default(),
17469 device_name: StringArray::default(),
17470 }
17471 }
17472}
17473
17474unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
17475unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
17476
17477#[repr(C)]
17479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17480pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
17481 pub s_type: StructureType,
17482 pub next: *mut c_void,
17483 pub layered_api_count: u32,
17484 pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
17485}
17486
17487impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
17488 #[inline]
17489 fn default() -> Self {
17490 Self {
17491 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
17492 next: ptr::null_mut(),
17493 layered_api_count: u32::default(),
17494 layered_apis: ptr::null_mut(),
17495 }
17496 }
17497}
17498
17499unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
17500unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
17501
17502#[repr(C)]
17504#[derive(Copy, Clone, Debug, PartialEq)]
17505pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17506 pub s_type: StructureType,
17507 pub next: *mut c_void,
17508 pub properties: PhysicalDeviceProperties2,
17509}
17510
17511impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
17512 #[inline]
17513 fn default() -> Self {
17514 Self {
17515 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
17516 next: ptr::null_mut(),
17517 properties: PhysicalDeviceProperties2::default(),
17518 }
17519 }
17520}
17521
17522unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17523unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
17524
17525#[repr(C)]
17527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17528pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
17529 pub s_type: StructureType,
17530 pub next: *mut c_void,
17531 pub underlying_api: LayeredDriverUnderlyingApiMSFT,
17532}
17533
17534impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
17535 #[inline]
17536 fn default() -> Self {
17537 Self {
17538 s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
17539 next: ptr::null_mut(),
17540 underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
17541 }
17542 }
17543}
17544
17545unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17546unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
17547
17548#[repr(C)]
17550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17551pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
17552 pub s_type: StructureType,
17553 pub next: *mut c_void,
17554 pub legacy_dithering: Bool32,
17555}
17556
17557impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
17558 #[inline]
17559 fn default() -> Self {
17560 Self {
17561 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
17562 next: ptr::null_mut(),
17563 legacy_dithering: Bool32::default(),
17564 }
17565 }
17566}
17567
17568unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17569unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
17570
17571#[repr(C)]
17573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17574pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17575 pub s_type: StructureType,
17576 pub next: *mut c_void,
17577 pub legacy_vertex_attributes: Bool32,
17578}
17579
17580impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
17581 #[inline]
17582 fn default() -> Self {
17583 Self {
17584 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
17585 next: ptr::null_mut(),
17586 legacy_vertex_attributes: Bool32::default(),
17587 }
17588 }
17589}
17590
17591unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17592unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
17593
17594#[repr(C)]
17596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17597pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17598 pub s_type: StructureType,
17599 pub next: *mut c_void,
17600 pub native_unaligned_performance: Bool32,
17601}
17602
17603impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
17604 #[inline]
17605 fn default() -> Self {
17606 Self {
17607 s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
17608 next: ptr::null_mut(),
17609 native_unaligned_performance: Bool32::default(),
17610 }
17611 }
17612}
17613
17614unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17615unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
17616
17617#[repr(C)]
17619#[derive(Copy, Clone, Default, Debug, PartialEq)]
17620pub struct PhysicalDeviceLimits {
17621 pub max_image_dimension_1d: u32,
17622 pub max_image_dimension_2d: u32,
17623 pub max_image_dimension_3d: u32,
17624 pub max_image_dimension_cube: u32,
17625 pub max_image_array_layers: u32,
17626 pub max_texel_buffer_elements: u32,
17627 pub max_uniform_buffer_range: u32,
17628 pub max_storage_buffer_range: u32,
17629 pub max_push_constants_size: u32,
17630 pub max_memory_allocation_count: u32,
17631 pub max_sampler_allocation_count: u32,
17632 pub buffer_image_granularity: DeviceSize,
17633 pub sparse_address_space_size: DeviceSize,
17634 pub max_bound_descriptor_sets: u32,
17635 pub max_per_stage_descriptor_samplers: u32,
17636 pub max_per_stage_descriptor_uniform_buffers: u32,
17637 pub max_per_stage_descriptor_storage_buffers: u32,
17638 pub max_per_stage_descriptor_sampled_images: u32,
17639 pub max_per_stage_descriptor_storage_images: u32,
17640 pub max_per_stage_descriptor_input_attachments: u32,
17641 pub max_per_stage_resources: u32,
17642 pub max_descriptor_set_samplers: u32,
17643 pub max_descriptor_set_uniform_buffers: u32,
17644 pub max_descriptor_set_uniform_buffers_dynamic: u32,
17645 pub max_descriptor_set_storage_buffers: u32,
17646 pub max_descriptor_set_storage_buffers_dynamic: u32,
17647 pub max_descriptor_set_sampled_images: u32,
17648 pub max_descriptor_set_storage_images: u32,
17649 pub max_descriptor_set_input_attachments: u32,
17650 pub max_vertex_input_attributes: u32,
17651 pub max_vertex_input_bindings: u32,
17652 pub max_vertex_input_attribute_offset: u32,
17653 pub max_vertex_input_binding_stride: u32,
17654 pub max_vertex_output_components: u32,
17655 pub max_tessellation_generation_level: u32,
17656 pub max_tessellation_patch_size: u32,
17657 pub max_tessellation_control_per_vertex_input_components: u32,
17658 pub max_tessellation_control_per_vertex_output_components: u32,
17659 pub max_tessellation_control_per_patch_output_components: u32,
17660 pub max_tessellation_control_total_output_components: u32,
17661 pub max_tessellation_evaluation_input_components: u32,
17662 pub max_tessellation_evaluation_output_components: u32,
17663 pub max_geometry_shader_invocations: u32,
17664 pub max_geometry_input_components: u32,
17665 pub max_geometry_output_components: u32,
17666 pub max_geometry_output_vertices: u32,
17667 pub max_geometry_total_output_components: u32,
17668 pub max_fragment_input_components: u32,
17669 pub max_fragment_output_attachments: u32,
17670 pub max_fragment_dual_src_attachments: u32,
17671 pub max_fragment_combined_output_resources: u32,
17672 pub max_compute_shared_memory_size: u32,
17673 pub max_compute_work_group_count: [u32; 3],
17674 pub max_compute_work_group_invocations: u32,
17675 pub max_compute_work_group_size: [u32; 3],
17676 pub sub_pixel_precision_bits: u32,
17677 pub sub_texel_precision_bits: u32,
17678 pub mipmap_precision_bits: u32,
17679 pub max_draw_indexed_index_value: u32,
17680 pub max_draw_indirect_count: u32,
17681 pub max_sampler_lod_bias: f32,
17682 pub max_sampler_anisotropy: f32,
17683 pub max_viewports: u32,
17684 pub max_viewport_dimensions: [u32; 2],
17685 pub viewport_bounds_range: [f32; 2],
17686 pub viewport_sub_pixel_bits: u32,
17687 pub min_memory_map_alignment: usize,
17688 pub min_texel_buffer_offset_alignment: DeviceSize,
17689 pub min_uniform_buffer_offset_alignment: DeviceSize,
17690 pub min_storage_buffer_offset_alignment: DeviceSize,
17691 pub min_texel_offset: i32,
17692 pub max_texel_offset: u32,
17693 pub min_texel_gather_offset: i32,
17694 pub max_texel_gather_offset: u32,
17695 pub min_interpolation_offset: f32,
17696 pub max_interpolation_offset: f32,
17697 pub sub_pixel_interpolation_offset_bits: u32,
17698 pub max_framebuffer_width: u32,
17699 pub max_framebuffer_height: u32,
17700 pub max_framebuffer_layers: u32,
17701 pub framebuffer_color_sample_counts: SampleCountFlags,
17702 pub framebuffer_depth_sample_counts: SampleCountFlags,
17703 pub framebuffer_stencil_sample_counts: SampleCountFlags,
17704 pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
17705 pub max_color_attachments: u32,
17706 pub sampled_image_color_sample_counts: SampleCountFlags,
17707 pub sampled_image_integer_sample_counts: SampleCountFlags,
17708 pub sampled_image_depth_sample_counts: SampleCountFlags,
17709 pub sampled_image_stencil_sample_counts: SampleCountFlags,
17710 pub storage_image_sample_counts: SampleCountFlags,
17711 pub max_sample_mask_words: u32,
17712 pub timestamp_compute_and_graphics: Bool32,
17713 pub timestamp_period: f32,
17714 pub max_clip_distances: u32,
17715 pub max_cull_distances: u32,
17716 pub max_combined_clip_and_cull_distances: u32,
17717 pub discrete_queue_priorities: u32,
17718 pub point_size_range: [f32; 2],
17719 pub line_width_range: [f32; 2],
17720 pub point_size_granularity: f32,
17721 pub line_width_granularity: f32,
17722 pub strict_lines: Bool32,
17723 pub standard_sample_locations: Bool32,
17724 pub optimal_buffer_copy_offset_alignment: DeviceSize,
17725 pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
17726 pub non_coherent_atom_size: DeviceSize,
17727}
17728
17729#[repr(C)]
17731#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17732pub struct PhysicalDeviceLineRasterizationFeatures {
17733 pub s_type: StructureType,
17734 pub next: *mut c_void,
17735 pub rectangular_lines: Bool32,
17736 pub bresenham_lines: Bool32,
17737 pub smooth_lines: Bool32,
17738 pub stippled_rectangular_lines: Bool32,
17739 pub stippled_bresenham_lines: Bool32,
17740 pub stippled_smooth_lines: Bool32,
17741}
17742
17743impl Default for PhysicalDeviceLineRasterizationFeatures {
17744 #[inline]
17745 fn default() -> Self {
17746 Self {
17747 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
17748 next: ptr::null_mut(),
17749 rectangular_lines: Bool32::default(),
17750 bresenham_lines: Bool32::default(),
17751 smooth_lines: Bool32::default(),
17752 stippled_rectangular_lines: Bool32::default(),
17753 stippled_bresenham_lines: Bool32::default(),
17754 stippled_smooth_lines: Bool32::default(),
17755 }
17756 }
17757}
17758
17759unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
17760unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
17761
17762#[repr(C)]
17764#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17765pub struct PhysicalDeviceLineRasterizationProperties {
17766 pub s_type: StructureType,
17767 pub next: *mut c_void,
17768 pub line_sub_pixel_precision_bits: u32,
17769}
17770
17771impl Default for PhysicalDeviceLineRasterizationProperties {
17772 #[inline]
17773 fn default() -> Self {
17774 Self {
17775 s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
17776 next: ptr::null_mut(),
17777 line_sub_pixel_precision_bits: u32::default(),
17778 }
17779 }
17780}
17781
17782unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
17783unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
17784
17785#[repr(C)]
17787#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17788pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
17789 pub s_type: StructureType,
17790 pub next: *mut c_void,
17791 pub linear_color_attachment: Bool32,
17792}
17793
17794impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
17795 #[inline]
17796 fn default() -> Self {
17797 Self {
17798 s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
17799 next: ptr::null_mut(),
17800 linear_color_attachment: Bool32::default(),
17801 }
17802 }
17803}
17804
17805unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17806unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
17807
17808#[repr(C)]
17810#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17811pub struct PhysicalDeviceMaintenance10FeaturesKHR {
17812 pub s_type: StructureType,
17813 pub next: *mut c_void,
17814 pub maintenance10: Bool32,
17815}
17816
17817impl Default for PhysicalDeviceMaintenance10FeaturesKHR {
17818 #[inline]
17819 fn default() -> Self {
17820 Self {
17821 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
17822 next: ptr::null_mut(),
17823 maintenance10: Bool32::default(),
17824 }
17825 }
17826}
17827
17828unsafe impl Send for PhysicalDeviceMaintenance10FeaturesKHR {}
17829unsafe impl Sync for PhysicalDeviceMaintenance10FeaturesKHR {}
17830
17831#[repr(C)]
17833#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17834pub struct PhysicalDeviceMaintenance10PropertiesKHR {
17835 pub s_type: StructureType,
17836 pub next: *mut c_void,
17837 pub rgba4_opaque_black_swizzled: Bool32,
17838 pub resolve_srgb_format_applies_transfer_function: Bool32,
17839 pub resolve_srgb_format_supports_transfer_function_control: Bool32,
17840}
17841
17842impl Default for PhysicalDeviceMaintenance10PropertiesKHR {
17843 #[inline]
17844 fn default() -> Self {
17845 Self {
17846 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
17847 next: ptr::null_mut(),
17848 rgba4_opaque_black_swizzled: Bool32::default(),
17849 resolve_srgb_format_applies_transfer_function: Bool32::default(),
17850 resolve_srgb_format_supports_transfer_function_control: Bool32::default(),
17851 }
17852 }
17853}
17854
17855unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {}
17856unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {}
17857
17858#[repr(C)]
17860#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17861pub struct PhysicalDeviceMaintenance3Properties {
17862 pub s_type: StructureType,
17863 pub next: *mut c_void,
17864 pub max_per_set_descriptors: u32,
17865 pub max_memory_allocation_size: DeviceSize,
17866}
17867
17868impl Default for PhysicalDeviceMaintenance3Properties {
17869 #[inline]
17870 fn default() -> Self {
17871 Self {
17872 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
17873 next: ptr::null_mut(),
17874 max_per_set_descriptors: u32::default(),
17875 max_memory_allocation_size: DeviceSize::default(),
17876 }
17877 }
17878}
17879
17880unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
17881unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
17882
17883#[repr(C)]
17885#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17886pub struct PhysicalDeviceMaintenance4Features {
17887 pub s_type: StructureType,
17888 pub next: *mut c_void,
17889 pub maintenance4: Bool32,
17890}
17891
17892impl Default for PhysicalDeviceMaintenance4Features {
17893 #[inline]
17894 fn default() -> Self {
17895 Self {
17896 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
17897 next: ptr::null_mut(),
17898 maintenance4: Bool32::default(),
17899 }
17900 }
17901}
17902
17903unsafe impl Send for PhysicalDeviceMaintenance4Features {}
17904unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
17905
17906#[repr(C)]
17908#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17909pub struct PhysicalDeviceMaintenance4Properties {
17910 pub s_type: StructureType,
17911 pub next: *mut c_void,
17912 pub max_buffer_size: DeviceSize,
17913}
17914
17915impl Default for PhysicalDeviceMaintenance4Properties {
17916 #[inline]
17917 fn default() -> Self {
17918 Self {
17919 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
17920 next: ptr::null_mut(),
17921 max_buffer_size: DeviceSize::default(),
17922 }
17923 }
17924}
17925
17926unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
17927unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
17928
17929#[repr(C)]
17931#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17932pub struct PhysicalDeviceMaintenance5Features {
17933 pub s_type: StructureType,
17934 pub next: *mut c_void,
17935 pub maintenance5: Bool32,
17936}
17937
17938impl Default for PhysicalDeviceMaintenance5Features {
17939 #[inline]
17940 fn default() -> Self {
17941 Self {
17942 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
17943 next: ptr::null_mut(),
17944 maintenance5: Bool32::default(),
17945 }
17946 }
17947}
17948
17949unsafe impl Send for PhysicalDeviceMaintenance5Features {}
17950unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
17951
17952#[repr(C)]
17954#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17955pub struct PhysicalDeviceMaintenance5Properties {
17956 pub s_type: StructureType,
17957 pub next: *mut c_void,
17958 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
17959 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
17960 pub depth_stencil_swizzle_one_support: Bool32,
17961 pub polygon_mode_point_size: Bool32,
17962 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
17963 pub non_strict_wide_lines_use_parallelogram: Bool32,
17964}
17965
17966impl Default for PhysicalDeviceMaintenance5Properties {
17967 #[inline]
17968 fn default() -> Self {
17969 Self {
17970 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
17971 next: ptr::null_mut(),
17972 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
17973 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
17974 depth_stencil_swizzle_one_support: Bool32::default(),
17975 polygon_mode_point_size: Bool32::default(),
17976 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
17977 non_strict_wide_lines_use_parallelogram: Bool32::default(),
17978 }
17979 }
17980}
17981
17982unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
17983unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
17984
17985#[repr(C)]
17987#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
17988pub struct PhysicalDeviceMaintenance6Features {
17989 pub s_type: StructureType,
17990 pub next: *mut c_void,
17991 pub maintenance6: Bool32,
17992}
17993
17994impl Default for PhysicalDeviceMaintenance6Features {
17995 #[inline]
17996 fn default() -> Self {
17997 Self {
17998 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
17999 next: ptr::null_mut(),
18000 maintenance6: Bool32::default(),
18001 }
18002 }
18003}
18004
18005unsafe impl Send for PhysicalDeviceMaintenance6Features {}
18006unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
18007
18008#[repr(C)]
18010#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18011pub struct PhysicalDeviceMaintenance6Properties {
18012 pub s_type: StructureType,
18013 pub next: *mut c_void,
18014 pub block_texel_view_compatible_multiple_layers: Bool32,
18015 pub max_combined_image_sampler_descriptor_count: u32,
18016 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
18017}
18018
18019impl Default for PhysicalDeviceMaintenance6Properties {
18020 #[inline]
18021 fn default() -> Self {
18022 Self {
18023 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
18024 next: ptr::null_mut(),
18025 block_texel_view_compatible_multiple_layers: Bool32::default(),
18026 max_combined_image_sampler_descriptor_count: u32::default(),
18027 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
18028 }
18029 }
18030}
18031
18032unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
18033unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
18034
18035#[repr(C)]
18037#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18038pub struct PhysicalDeviceMaintenance7FeaturesKHR {
18039 pub s_type: StructureType,
18040 pub next: *mut c_void,
18041 pub maintenance7: Bool32,
18042}
18043
18044impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
18045 #[inline]
18046 fn default() -> Self {
18047 Self {
18048 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
18049 next: ptr::null_mut(),
18050 maintenance7: Bool32::default(),
18051 }
18052 }
18053}
18054
18055unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
18056unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
18057
18058#[repr(C)]
18060#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18061pub struct PhysicalDeviceMaintenance7PropertiesKHR {
18062 pub s_type: StructureType,
18063 pub next: *mut c_void,
18064 pub robust_fragment_shading_rate_attachment_access: Bool32,
18065 pub separate_depth_stencil_attachment_access: Bool32,
18066 pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
18067 pub max_descriptor_set_total_storage_buffers_dynamic: u32,
18068 pub max_descriptor_set_total_buffers_dynamic: u32,
18069 pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
18070 pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
18071 pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
18072}
18073
18074impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
18075 #[inline]
18076 fn default() -> Self {
18077 Self {
18078 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
18079 next: ptr::null_mut(),
18080 robust_fragment_shading_rate_attachment_access: Bool32::default(),
18081 separate_depth_stencil_attachment_access: Bool32::default(),
18082 max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
18083 max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
18084 max_descriptor_set_total_buffers_dynamic: u32::default(),
18085 max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
18086 max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
18087 max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
18088 }
18089 }
18090}
18091
18092unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
18093unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
18094
18095#[repr(C)]
18097#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18098pub struct PhysicalDeviceMaintenance8FeaturesKHR {
18099 pub s_type: StructureType,
18100 pub next: *mut c_void,
18101 pub maintenance8: Bool32,
18102}
18103
18104impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
18105 #[inline]
18106 fn default() -> Self {
18107 Self {
18108 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
18109 next: ptr::null_mut(),
18110 maintenance8: Bool32::default(),
18111 }
18112 }
18113}
18114
18115unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
18116unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
18117
18118#[repr(C)]
18120#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18121pub struct PhysicalDeviceMaintenance9FeaturesKHR {
18122 pub s_type: StructureType,
18123 pub next: *mut c_void,
18124 pub maintenance9: Bool32,
18125}
18126
18127impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
18128 #[inline]
18129 fn default() -> Self {
18130 Self {
18131 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
18132 next: ptr::null_mut(),
18133 maintenance9: Bool32::default(),
18134 }
18135 }
18136}
18137
18138unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
18139unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
18140
18141#[repr(C)]
18143#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18144pub struct PhysicalDeviceMaintenance9PropertiesKHR {
18145 pub s_type: StructureType,
18146 pub next: *mut c_void,
18147 pub image_2d_view_of_3d_sparse: Bool32,
18148 pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
18149}
18150
18151impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
18152 #[inline]
18153 fn default() -> Self {
18154 Self {
18155 s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
18156 next: ptr::null_mut(),
18157 image_2d_view_of_3d_sparse: Bool32::default(),
18158 default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
18159 }
18160 }
18161}
18162
18163unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
18164unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
18165
18166#[repr(C)]
18168#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18169pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
18170 pub s_type: StructureType,
18171 pub next: *mut c_void,
18172 pub memory_map_placed: Bool32,
18173 pub memory_map_range_placed: Bool32,
18174 pub memory_unmap_reserve: Bool32,
18175}
18176
18177impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
18178 #[inline]
18179 fn default() -> Self {
18180 Self {
18181 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
18182 next: ptr::null_mut(),
18183 memory_map_placed: Bool32::default(),
18184 memory_map_range_placed: Bool32::default(),
18185 memory_unmap_reserve: Bool32::default(),
18186 }
18187 }
18188}
18189
18190unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18191unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
18192
18193#[repr(C)]
18195#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18196pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18197 pub s_type: StructureType,
18198 pub next: *mut c_void,
18199 pub min_placed_memory_map_alignment: DeviceSize,
18200}
18201
18202impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
18203 #[inline]
18204 fn default() -> Self {
18205 Self {
18206 s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
18207 next: ptr::null_mut(),
18208 min_placed_memory_map_alignment: DeviceSize::default(),
18209 }
18210 }
18211}
18212
18213unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18214unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
18215
18216#[repr(C)]
18218#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18219pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
18220 pub s_type: StructureType,
18221 pub next: *mut c_void,
18222 pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18223 pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS as usize],
18224}
18225
18226impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
18227 #[inline]
18228 fn default() -> Self {
18229 Self {
18230 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
18231 next: ptr::null_mut(),
18232 heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18233 heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
18234 }
18235 }
18236}
18237
18238unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18239unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
18240
18241#[repr(C)]
18243#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18244pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT {
18245 pub s_type: StructureType,
18246 pub next: *mut c_void,
18247 pub memory_decompression: Bool32,
18248}
18249
18250impl Default for PhysicalDeviceMemoryDecompressionFeaturesEXT {
18251 #[inline]
18252 fn default() -> Self {
18253 Self {
18254 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
18255 next: ptr::null_mut(),
18256 memory_decompression: Bool32::default(),
18257 }
18258 }
18259}
18260
18261unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18262unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
18263
18264#[repr(C)]
18266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18267pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT {
18268 pub s_type: StructureType,
18269 pub next: *mut c_void,
18270 pub decompression_methods: MemoryDecompressionMethodFlagsEXT,
18271 pub max_decompression_indirect_count: u64,
18272}
18273
18274impl Default for PhysicalDeviceMemoryDecompressionPropertiesEXT {
18275 #[inline]
18276 fn default() -> Self {
18277 Self {
18278 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
18279 next: ptr::null_mut(),
18280 decompression_methods: MemoryDecompressionMethodFlagsEXT::default(),
18281 max_decompression_indirect_count: u64::default(),
18282 }
18283 }
18284}
18285
18286unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18287unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
18288
18289#[repr(C)]
18291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18292pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
18293 pub s_type: StructureType,
18294 pub next: *mut c_void,
18295 pub memory_priority: Bool32,
18296}
18297
18298impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
18299 #[inline]
18300 fn default() -> Self {
18301 Self {
18302 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
18303 next: ptr::null_mut(),
18304 memory_priority: Bool32::default(),
18305 }
18306 }
18307}
18308
18309unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18310unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
18311
18312#[repr(C)]
18314#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
18315pub struct PhysicalDeviceMemoryProperties {
18316 pub memory_type_count: u32,
18317 pub memory_types: [MemoryType; MAX_MEMORY_TYPES as usize],
18318 pub memory_heap_count: u32,
18319 pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
18320}
18321
18322#[repr(C)]
18324#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18325pub struct PhysicalDeviceMemoryProperties2 {
18326 pub s_type: StructureType,
18327 pub next: *mut c_void,
18328 pub memory_properties: PhysicalDeviceMemoryProperties,
18329}
18330
18331impl Default for PhysicalDeviceMemoryProperties2 {
18332 #[inline]
18333 fn default() -> Self {
18334 Self {
18335 s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
18336 next: ptr::null_mut(),
18337 memory_properties: PhysicalDeviceMemoryProperties::default(),
18338 }
18339 }
18340}
18341
18342unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
18343unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
18344
18345#[repr(C)]
18347#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18348pub struct PhysicalDeviceMeshShaderFeaturesEXT {
18349 pub s_type: StructureType,
18350 pub next: *mut c_void,
18351 pub task_shader: Bool32,
18352 pub mesh_shader: Bool32,
18353 pub multiview_mesh_shader: Bool32,
18354 pub primitive_fragment_shading_rate_mesh_shader: Bool32,
18355 pub mesh_shader_queries: Bool32,
18356}
18357
18358impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
18359 #[inline]
18360 fn default() -> Self {
18361 Self {
18362 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
18363 next: ptr::null_mut(),
18364 task_shader: Bool32::default(),
18365 mesh_shader: Bool32::default(),
18366 multiview_mesh_shader: Bool32::default(),
18367 primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
18368 mesh_shader_queries: Bool32::default(),
18369 }
18370 }
18371}
18372
18373unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
18374unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
18375
18376#[repr(C)]
18378#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18379pub struct PhysicalDeviceMeshShaderFeaturesNV {
18380 pub s_type: StructureType,
18381 pub next: *mut c_void,
18382 pub task_shader: Bool32,
18383 pub mesh_shader: Bool32,
18384}
18385
18386impl Default for PhysicalDeviceMeshShaderFeaturesNV {
18387 #[inline]
18388 fn default() -> Self {
18389 Self {
18390 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
18391 next: ptr::null_mut(),
18392 task_shader: Bool32::default(),
18393 mesh_shader: Bool32::default(),
18394 }
18395 }
18396}
18397
18398unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
18399unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
18400
18401#[repr(C)]
18403#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18404pub struct PhysicalDeviceMeshShaderPropertiesEXT {
18405 pub s_type: StructureType,
18406 pub next: *mut c_void,
18407 pub max_task_work_group_total_count: u32,
18408 pub max_task_work_group_count: [u32; 3],
18409 pub max_task_work_group_invocations: u32,
18410 pub max_task_work_group_size: [u32; 3],
18411 pub max_task_payload_size: u32,
18412 pub max_task_shared_memory_size: u32,
18413 pub max_task_payload_and_shared_memory_size: u32,
18414 pub max_mesh_work_group_total_count: u32,
18415 pub max_mesh_work_group_count: [u32; 3],
18416 pub max_mesh_work_group_invocations: u32,
18417 pub max_mesh_work_group_size: [u32; 3],
18418 pub max_mesh_shared_memory_size: u32,
18419 pub max_mesh_payload_and_shared_memory_size: u32,
18420 pub max_mesh_output_memory_size: u32,
18421 pub max_mesh_payload_and_output_memory_size: u32,
18422 pub max_mesh_output_components: u32,
18423 pub max_mesh_output_vertices: u32,
18424 pub max_mesh_output_primitives: u32,
18425 pub max_mesh_output_layers: u32,
18426 pub max_mesh_multiview_view_count: u32,
18427 pub mesh_output_per_vertex_granularity: u32,
18428 pub mesh_output_per_primitive_granularity: u32,
18429 pub max_preferred_task_work_group_invocations: u32,
18430 pub max_preferred_mesh_work_group_invocations: u32,
18431 pub prefers_local_invocation_vertex_output: Bool32,
18432 pub prefers_local_invocation_primitive_output: Bool32,
18433 pub prefers_compact_vertex_output: Bool32,
18434 pub prefers_compact_primitive_output: Bool32,
18435}
18436
18437impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
18438 #[inline]
18439 fn default() -> Self {
18440 Self {
18441 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
18442 next: ptr::null_mut(),
18443 max_task_work_group_total_count: u32::default(),
18444 max_task_work_group_count: [u32::default(); 3],
18445 max_task_work_group_invocations: u32::default(),
18446 max_task_work_group_size: [u32::default(); 3],
18447 max_task_payload_size: u32::default(),
18448 max_task_shared_memory_size: u32::default(),
18449 max_task_payload_and_shared_memory_size: u32::default(),
18450 max_mesh_work_group_total_count: u32::default(),
18451 max_mesh_work_group_count: [u32::default(); 3],
18452 max_mesh_work_group_invocations: u32::default(),
18453 max_mesh_work_group_size: [u32::default(); 3],
18454 max_mesh_shared_memory_size: u32::default(),
18455 max_mesh_payload_and_shared_memory_size: u32::default(),
18456 max_mesh_output_memory_size: u32::default(),
18457 max_mesh_payload_and_output_memory_size: u32::default(),
18458 max_mesh_output_components: u32::default(),
18459 max_mesh_output_vertices: u32::default(),
18460 max_mesh_output_primitives: u32::default(),
18461 max_mesh_output_layers: u32::default(),
18462 max_mesh_multiview_view_count: u32::default(),
18463 mesh_output_per_vertex_granularity: u32::default(),
18464 mesh_output_per_primitive_granularity: u32::default(),
18465 max_preferred_task_work_group_invocations: u32::default(),
18466 max_preferred_mesh_work_group_invocations: u32::default(),
18467 prefers_local_invocation_vertex_output: Bool32::default(),
18468 prefers_local_invocation_primitive_output: Bool32::default(),
18469 prefers_compact_vertex_output: Bool32::default(),
18470 prefers_compact_primitive_output: Bool32::default(),
18471 }
18472 }
18473}
18474
18475unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
18476unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
18477
18478#[repr(C)]
18480#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18481pub struct PhysicalDeviceMeshShaderPropertiesNV {
18482 pub s_type: StructureType,
18483 pub next: *mut c_void,
18484 pub max_draw_mesh_tasks_count: u32,
18485 pub max_task_work_group_invocations: u32,
18486 pub max_task_work_group_size: [u32; 3],
18487 pub max_task_total_memory_size: u32,
18488 pub max_task_output_count: u32,
18489 pub max_mesh_work_group_invocations: u32,
18490 pub max_mesh_work_group_size: [u32; 3],
18491 pub max_mesh_total_memory_size: u32,
18492 pub max_mesh_output_vertices: u32,
18493 pub max_mesh_output_primitives: u32,
18494 pub max_mesh_multiview_view_count: u32,
18495 pub mesh_output_per_vertex_granularity: u32,
18496 pub mesh_output_per_primitive_granularity: u32,
18497}
18498
18499impl Default for PhysicalDeviceMeshShaderPropertiesNV {
18500 #[inline]
18501 fn default() -> Self {
18502 Self {
18503 s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
18504 next: ptr::null_mut(),
18505 max_draw_mesh_tasks_count: u32::default(),
18506 max_task_work_group_invocations: u32::default(),
18507 max_task_work_group_size: [u32::default(); 3],
18508 max_task_total_memory_size: u32::default(),
18509 max_task_output_count: u32::default(),
18510 max_mesh_work_group_invocations: u32::default(),
18511 max_mesh_work_group_size: [u32::default(); 3],
18512 max_mesh_total_memory_size: u32::default(),
18513 max_mesh_output_vertices: u32::default(),
18514 max_mesh_output_primitives: u32::default(),
18515 max_mesh_multiview_view_count: u32::default(),
18516 mesh_output_per_vertex_granularity: u32::default(),
18517 mesh_output_per_primitive_granularity: u32::default(),
18518 }
18519 }
18520}
18521
18522unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
18523unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
18524
18525#[repr(C)]
18527#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18528pub struct PhysicalDeviceMultiDrawFeaturesEXT {
18529 pub s_type: StructureType,
18530 pub next: *mut c_void,
18531 pub multi_draw: Bool32,
18532}
18533
18534impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
18535 #[inline]
18536 fn default() -> Self {
18537 Self {
18538 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
18539 next: ptr::null_mut(),
18540 multi_draw: Bool32::default(),
18541 }
18542 }
18543}
18544
18545unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
18546unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
18547
18548#[repr(C)]
18550#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18551pub struct PhysicalDeviceMultiDrawPropertiesEXT {
18552 pub s_type: StructureType,
18553 pub next: *mut c_void,
18554 pub max_multi_draw_count: u32,
18555}
18556
18557impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
18558 #[inline]
18559 fn default() -> Self {
18560 Self {
18561 s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
18562 next: ptr::null_mut(),
18563 max_multi_draw_count: u32::default(),
18564 }
18565 }
18566}
18567
18568unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
18569unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
18570
18571#[repr(C)]
18573#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18574pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18575 pub s_type: StructureType,
18576 pub next: *mut c_void,
18577 pub multisampled_render_to_single_sampled: Bool32,
18578}
18579
18580impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
18581 #[inline]
18582 fn default() -> Self {
18583 Self {
18584 s_type:
18585 StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
18586 next: ptr::null_mut(),
18587 multisampled_render_to_single_sampled: Bool32::default(),
18588 }
18589 }
18590}
18591
18592unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18593unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
18594
18595#[repr(C)]
18597#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18598pub struct PhysicalDeviceMultiviewFeatures {
18599 pub s_type: StructureType,
18600 pub next: *mut c_void,
18601 pub multiview: Bool32,
18602 pub multiview_geometry_shader: Bool32,
18603 pub multiview_tessellation_shader: Bool32,
18604}
18605
18606impl Default for PhysicalDeviceMultiviewFeatures {
18607 #[inline]
18608 fn default() -> Self {
18609 Self {
18610 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
18611 next: ptr::null_mut(),
18612 multiview: Bool32::default(),
18613 multiview_geometry_shader: Bool32::default(),
18614 multiview_tessellation_shader: Bool32::default(),
18615 }
18616 }
18617}
18618
18619unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
18620unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
18621
18622#[repr(C)]
18624#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18625pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18626 pub s_type: StructureType,
18627 pub next: *mut c_void,
18628 pub per_view_position_all_components: Bool32,
18629}
18630
18631impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
18632 #[inline]
18633 fn default() -> Self {
18634 Self {
18635 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
18636 next: ptr::null_mut(),
18637 per_view_position_all_components: Bool32::default(),
18638 }
18639 }
18640}
18641
18642unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18643unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
18644
18645#[repr(C)]
18647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18648pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18649 pub s_type: StructureType,
18650 pub next: *mut c_void,
18651 pub multiview_per_view_render_areas: Bool32,
18652}
18653
18654impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
18655 #[inline]
18656 fn default() -> Self {
18657 Self {
18658 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
18659 next: ptr::null_mut(),
18660 multiview_per_view_render_areas: Bool32::default(),
18661 }
18662 }
18663}
18664
18665unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18666unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
18667
18668#[repr(C)]
18670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18671pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18672 pub s_type: StructureType,
18673 pub next: *mut c_void,
18674 pub multiview_per_view_viewports: Bool32,
18675}
18676
18677impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
18678 #[inline]
18679 fn default() -> Self {
18680 Self {
18681 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
18682 next: ptr::null_mut(),
18683 multiview_per_view_viewports: Bool32::default(),
18684 }
18685 }
18686}
18687
18688unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18689unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
18690
18691#[repr(C)]
18693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18694pub struct PhysicalDeviceMultiviewProperties {
18695 pub s_type: StructureType,
18696 pub next: *mut c_void,
18697 pub max_multiview_view_count: u32,
18698 pub max_multiview_instance_index: u32,
18699}
18700
18701impl Default for PhysicalDeviceMultiviewProperties {
18702 #[inline]
18703 fn default() -> Self {
18704 Self {
18705 s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
18706 next: ptr::null_mut(),
18707 max_multiview_view_count: u32::default(),
18708 max_multiview_instance_index: u32::default(),
18709 }
18710 }
18711}
18712
18713unsafe impl Send for PhysicalDeviceMultiviewProperties {}
18714unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
18715
18716#[repr(C)]
18718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18719pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18720 pub s_type: StructureType,
18721 pub next: *mut c_void,
18722 pub mutable_descriptor_type: Bool32,
18723}
18724
18725impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
18726 #[inline]
18727 fn default() -> Self {
18728 Self {
18729 s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
18730 next: ptr::null_mut(),
18731 mutable_descriptor_type: Bool32::default(),
18732 }
18733 }
18734}
18735
18736unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18737unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
18738
18739#[repr(C)]
18741#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18742pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
18743 pub s_type: StructureType,
18744 pub next: *mut c_void,
18745 pub nested_command_buffer: Bool32,
18746 pub nested_command_buffer_rendering: Bool32,
18747 pub nested_command_buffer_simultaneous_use: Bool32,
18748}
18749
18750impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
18751 #[inline]
18752 fn default() -> Self {
18753 Self {
18754 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
18755 next: ptr::null_mut(),
18756 nested_command_buffer: Bool32::default(),
18757 nested_command_buffer_rendering: Bool32::default(),
18758 nested_command_buffer_simultaneous_use: Bool32::default(),
18759 }
18760 }
18761}
18762
18763unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18764unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
18765
18766#[repr(C)]
18768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18769pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
18770 pub s_type: StructureType,
18771 pub next: *mut c_void,
18772 pub max_command_buffer_nesting_level: u32,
18773}
18774
18775impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
18776 #[inline]
18777 fn default() -> Self {
18778 Self {
18779 s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
18780 next: ptr::null_mut(),
18781 max_command_buffer_nesting_level: u32::default(),
18782 }
18783 }
18784}
18785
18786unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18787unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
18788
18789#[repr(C)]
18791#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18792pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18793 pub s_type: StructureType,
18794 pub next: *mut c_void,
18795 pub non_seamless_cube_map: Bool32,
18796}
18797
18798impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
18799 #[inline]
18800 fn default() -> Self {
18801 Self {
18802 s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
18803 next: ptr::null_mut(),
18804 non_seamless_cube_map: Bool32::default(),
18805 }
18806 }
18807}
18808
18809unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18810unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
18811
18812#[repr(C)]
18814#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18815pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
18816 pub s_type: StructureType,
18817 pub next: *mut c_void,
18818 pub micromap: Bool32,
18819 pub micromap_capture_replay: Bool32,
18820 pub micromap_host_commands: Bool32,
18821}
18822
18823impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
18824 #[inline]
18825 fn default() -> Self {
18826 Self {
18827 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
18828 next: ptr::null_mut(),
18829 micromap: Bool32::default(),
18830 micromap_capture_replay: Bool32::default(),
18831 micromap_host_commands: Bool32::default(),
18832 }
18833 }
18834}
18835
18836unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18837unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
18838
18839#[repr(C)]
18841#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18842pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
18843 pub s_type: StructureType,
18844 pub next: *mut c_void,
18845 pub max_opacity2_state_subdivision_level: u32,
18846 pub max_opacity4_state_subdivision_level: u32,
18847}
18848
18849impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
18850 #[inline]
18851 fn default() -> Self {
18852 Self {
18853 s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
18854 next: ptr::null_mut(),
18855 max_opacity2_state_subdivision_level: u32::default(),
18856 max_opacity4_state_subdivision_level: u32::default(),
18857 }
18858 }
18859}
18860
18861unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18862unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
18863
18864#[repr(C)]
18866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18867pub struct PhysicalDeviceOpticalFlowFeaturesNV {
18868 pub s_type: StructureType,
18869 pub next: *mut c_void,
18870 pub optical_flow: Bool32,
18871}
18872
18873impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
18874 #[inline]
18875 fn default() -> Self {
18876 Self {
18877 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
18878 next: ptr::null_mut(),
18879 optical_flow: Bool32::default(),
18880 }
18881 }
18882}
18883
18884unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
18885unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
18886
18887#[repr(C)]
18889#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18890pub struct PhysicalDeviceOpticalFlowPropertiesNV {
18891 pub s_type: StructureType,
18892 pub next: *mut c_void,
18893 pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
18894 pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
18895 pub hint_supported: Bool32,
18896 pub cost_supported: Bool32,
18897 pub bidirectional_flow_supported: Bool32,
18898 pub global_flow_supported: Bool32,
18899 pub min_width: u32,
18900 pub min_height: u32,
18901 pub max_width: u32,
18902 pub max_height: u32,
18903 pub max_num_regions_of_interest: u32,
18904}
18905
18906impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
18907 #[inline]
18908 fn default() -> Self {
18909 Self {
18910 s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
18911 next: ptr::null_mut(),
18912 supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18913 supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
18914 hint_supported: Bool32::default(),
18915 cost_supported: Bool32::default(),
18916 bidirectional_flow_supported: Bool32::default(),
18917 global_flow_supported: Bool32::default(),
18918 min_width: u32::default(),
18919 min_height: u32::default(),
18920 max_width: u32::default(),
18921 max_height: u32::default(),
18922 max_num_regions_of_interest: u32::default(),
18923 }
18924 }
18925}
18926
18927unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
18928unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
18929
18930#[repr(C)]
18932#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18933pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
18934 pub s_type: StructureType,
18935 pub next: *mut c_void,
18936 pub pci_domain: u32,
18937 pub pci_bus: u32,
18938 pub pci_device: u32,
18939 pub pci_function: u32,
18940}
18941
18942impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
18943 #[inline]
18944 fn default() -> Self {
18945 Self {
18946 s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
18947 next: ptr::null_mut(),
18948 pci_domain: u32::default(),
18949 pci_bus: u32::default(),
18950 pci_device: u32::default(),
18951 pci_function: u32::default(),
18952 }
18953 }
18954}
18955
18956unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
18957unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
18958
18959#[repr(C)]
18961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18962pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18963 pub s_type: StructureType,
18964 pub next: *mut c_void,
18965 pub pageable_device_local_memory: Bool32,
18966}
18967
18968impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
18969 #[inline]
18970 fn default() -> Self {
18971 Self {
18972 s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
18973 next: ptr::null_mut(),
18974 pageable_device_local_memory: Bool32::default(),
18975 }
18976 }
18977}
18978
18979unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18980unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
18981
18982#[repr(C)]
18984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
18985pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18986 pub s_type: StructureType,
18987 pub next: *mut c_void,
18988 pub partitioned_acceleration_structure: Bool32,
18989}
18990
18991impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
18992 #[inline]
18993 fn default() -> Self {
18994 Self {
18995 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
18996 next: ptr::null_mut(),
18997 partitioned_acceleration_structure: Bool32::default(),
18998 }
18999 }
19000}
19001
19002unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
19003unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
19004
19005#[repr(C)]
19007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19008pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
19009 pub s_type: StructureType,
19010 pub next: *mut c_void,
19011 pub max_partition_count: u32,
19012}
19013
19014impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
19015 #[inline]
19016 fn default() -> Self {
19017 Self {
19018 s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
19019 next: ptr::null_mut(),
19020 max_partition_count: u32::default(),
19021 }
19022 }
19023}
19024
19025unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
19026unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
19027
19028#[repr(C)]
19030#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19031pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
19032 pub s_type: StructureType,
19033 pub next: *mut c_void,
19034 pub per_stage_descriptor_set: Bool32,
19035 pub dynamic_pipeline_layout: Bool32,
19036}
19037
19038impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
19039 #[inline]
19040 fn default() -> Self {
19041 Self {
19042 s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
19043 next: ptr::null_mut(),
19044 per_stage_descriptor_set: Bool32::default(),
19045 dynamic_pipeline_layout: Bool32::default(),
19046 }
19047 }
19048}
19049
19050unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
19051unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
19052
19053#[repr(C)]
19055#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19056pub struct PhysicalDevicePerformanceCountersByRegionFeaturesARM {
19057 pub s_type: StructureType,
19058 pub next: *mut c_void,
19059 pub performance_counters_by_region: Bool32,
19060}
19061
19062impl Default for PhysicalDevicePerformanceCountersByRegionFeaturesARM {
19063 #[inline]
19064 fn default() -> Self {
19065 Self {
19066 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
19067 next: ptr::null_mut(),
19068 performance_counters_by_region: Bool32::default(),
19069 }
19070 }
19071}
19072
19073unsafe impl Send for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
19074unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
19075
19076#[repr(C)]
19078#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19079pub struct PhysicalDevicePerformanceCountersByRegionPropertiesARM {
19080 pub s_type: StructureType,
19081 pub next: *mut c_void,
19082 pub max_per_region_performance_counters: u32,
19083 pub performance_counter_region_size: Extent2D,
19084 pub row_stride_alignment: u32,
19085 pub region_alignment: u32,
19086 pub identity_transform_order: Bool32,
19087}
19088
19089impl Default for PhysicalDevicePerformanceCountersByRegionPropertiesARM {
19090 #[inline]
19091 fn default() -> Self {
19092 Self {
19093 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
19094 next: ptr::null_mut(),
19095 max_per_region_performance_counters: u32::default(),
19096 performance_counter_region_size: Extent2D::default(),
19097 row_stride_alignment: u32::default(),
19098 region_alignment: u32::default(),
19099 identity_transform_order: Bool32::default(),
19100 }
19101 }
19102}
19103
19104unsafe impl Send for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
19105unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
19106
19107#[repr(C)]
19109#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19110pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
19111 pub s_type: StructureType,
19112 pub next: *mut c_void,
19113 pub performance_counter_query_pools: Bool32,
19114 pub performance_counter_multiple_query_pools: Bool32,
19115}
19116
19117impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
19118 #[inline]
19119 fn default() -> Self {
19120 Self {
19121 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
19122 next: ptr::null_mut(),
19123 performance_counter_query_pools: Bool32::default(),
19124 performance_counter_multiple_query_pools: Bool32::default(),
19125 }
19126 }
19127}
19128
19129unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
19130unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
19131
19132#[repr(C)]
19134#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19135pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
19136 pub s_type: StructureType,
19137 pub next: *mut c_void,
19138 pub allow_command_buffer_query_copies: Bool32,
19139}
19140
19141impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
19142 #[inline]
19143 fn default() -> Self {
19144 Self {
19145 s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
19146 next: ptr::null_mut(),
19147 allow_command_buffer_query_copies: Bool32::default(),
19148 }
19149 }
19150}
19151
19152unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
19153unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
19154
19155#[repr(C)]
19157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19158pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
19159 pub s_type: StructureType,
19160 pub next: *mut c_void,
19161 pub pipeline_binaries: Bool32,
19162}
19163
19164impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
19165 #[inline]
19166 fn default() -> Self {
19167 Self {
19168 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
19169 next: ptr::null_mut(),
19170 pipeline_binaries: Bool32::default(),
19171 }
19172 }
19173}
19174
19175unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
19176unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
19177
19178#[repr(C)]
19180#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19181pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
19182 pub s_type: StructureType,
19183 pub next: *mut c_void,
19184 pub pipeline_binary_internal_cache: Bool32,
19185 pub pipeline_binary_internal_cache_control: Bool32,
19186 pub pipeline_binary_prefers_internal_cache: Bool32,
19187 pub pipeline_binary_precompiled_internal_cache: Bool32,
19188 pub pipeline_binary_compressed_data: Bool32,
19189}
19190
19191impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
19192 #[inline]
19193 fn default() -> Self {
19194 Self {
19195 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
19196 next: ptr::null_mut(),
19197 pipeline_binary_internal_cache: Bool32::default(),
19198 pipeline_binary_internal_cache_control: Bool32::default(),
19199 pipeline_binary_prefers_internal_cache: Bool32::default(),
19200 pipeline_binary_precompiled_internal_cache: Bool32::default(),
19201 pipeline_binary_compressed_data: Bool32::default(),
19202 }
19203 }
19204}
19205
19206unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
19207unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
19208
19209#[repr(C)]
19211#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19212pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19213 pub s_type: StructureType,
19214 pub next: *mut c_void,
19215 pub pipeline_cache_incremental_mode: Bool32,
19216}
19217
19218impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
19219 #[inline]
19220 fn default() -> Self {
19221 Self {
19222 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
19223 next: ptr::null_mut(),
19224 pipeline_cache_incremental_mode: Bool32::default(),
19225 }
19226 }
19227}
19228
19229unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19230unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
19231
19232#[repr(C)]
19234#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19235pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
19236 pub s_type: StructureType,
19237 pub next: *mut c_void,
19238 pub pipeline_creation_cache_control: Bool32,
19239}
19240
19241impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
19242 #[inline]
19243 fn default() -> Self {
19244 Self {
19245 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
19246 next: ptr::null_mut(),
19247 pipeline_creation_cache_control: Bool32::default(),
19248 }
19249 }
19250}
19251
19252unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
19253unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
19254
19255#[repr(C)]
19257#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19258pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19259 pub s_type: StructureType,
19260 pub next: *mut c_void,
19261 pub pipeline_executable_info: Bool32,
19262}
19263
19264impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
19265 #[inline]
19266 fn default() -> Self {
19267 Self {
19268 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
19269 next: ptr::null_mut(),
19270 pipeline_executable_info: Bool32::default(),
19271 }
19272 }
19273}
19274
19275unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19276unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
19277
19278#[repr(C)]
19280#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19281pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19282 pub s_type: StructureType,
19283 pub next: *mut c_void,
19284 pub pipeline_library_group_handles: Bool32,
19285}
19286
19287impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
19288 #[inline]
19289 fn default() -> Self {
19290 Self {
19291 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
19292 next: ptr::null_mut(),
19293 pipeline_library_group_handles: Bool32::default(),
19294 }
19295 }
19296}
19297
19298unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19299unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
19300
19301#[repr(C)]
19303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19304pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19305 pub s_type: StructureType,
19306 pub next: *mut c_void,
19307 pub pipeline_opacity_micromap: Bool32,
19308}
19309
19310impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
19311 #[inline]
19312 fn default() -> Self {
19313 Self {
19314 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
19315 next: ptr::null_mut(),
19316 pipeline_opacity_micromap: Bool32::default(),
19317 }
19318 }
19319}
19320
19321unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19322unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
19323
19324#[repr(C)]
19326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19327pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
19328 pub s_type: StructureType,
19329 pub next: *mut c_void,
19330 pub pipeline_properties_identifier: Bool32,
19331}
19332
19333impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
19334 #[inline]
19335 fn default() -> Self {
19336 Self {
19337 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
19338 next: ptr::null_mut(),
19339 pipeline_properties_identifier: Bool32::default(),
19340 }
19341 }
19342}
19343
19344unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19345unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
19346
19347#[repr(C)]
19349#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19350pub struct PhysicalDevicePipelineProtectedAccessFeatures {
19351 pub s_type: StructureType,
19352 pub next: *mut c_void,
19353 pub pipeline_protected_access: Bool32,
19354}
19355
19356impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
19357 #[inline]
19358 fn default() -> Self {
19359 Self {
19360 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
19361 next: ptr::null_mut(),
19362 pipeline_protected_access: Bool32::default(),
19363 }
19364 }
19365}
19366
19367unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
19368unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
19369
19370#[repr(C)]
19372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19373pub struct PhysicalDevicePipelineRobustnessFeatures {
19374 pub s_type: StructureType,
19375 pub next: *mut c_void,
19376 pub pipeline_robustness: Bool32,
19377}
19378
19379impl Default for PhysicalDevicePipelineRobustnessFeatures {
19380 #[inline]
19381 fn default() -> Self {
19382 Self {
19383 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
19384 next: ptr::null_mut(),
19385 pipeline_robustness: Bool32::default(),
19386 }
19387 }
19388}
19389
19390unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
19391unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
19392
19393#[repr(C)]
19395#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19396pub struct PhysicalDevicePipelineRobustnessProperties {
19397 pub s_type: StructureType,
19398 pub next: *mut c_void,
19399 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
19400 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
19401 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
19402 pub default_robustness_images: PipelineRobustnessImageBehavior,
19403}
19404
19405impl Default for PhysicalDevicePipelineRobustnessProperties {
19406 #[inline]
19407 fn default() -> Self {
19408 Self {
19409 s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
19410 next: ptr::null_mut(),
19411 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
19412 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
19413 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
19414 default_robustness_images: PipelineRobustnessImageBehavior::default(),
19415 }
19416 }
19417}
19418
19419unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
19420unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
19421
19422#[repr(C)]
19424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19425pub struct PhysicalDevicePointClippingProperties {
19426 pub s_type: StructureType,
19427 pub next: *mut c_void,
19428 pub point_clipping_behavior: PointClippingBehavior,
19429}
19430
19431impl Default for PhysicalDevicePointClippingProperties {
19432 #[inline]
19433 fn default() -> Self {
19434 Self {
19435 s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
19436 next: ptr::null_mut(),
19437 point_clipping_behavior: PointClippingBehavior::default(),
19438 }
19439 }
19440}
19441
19442unsafe impl Send for PhysicalDevicePointClippingProperties {}
19443unsafe impl Sync for PhysicalDevicePointClippingProperties {}
19444
19445#[repr(C)]
19447#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19448pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
19449 pub s_type: StructureType,
19450 pub next: *mut c_void,
19451 pub constant_alpha_color_blend_factors: Bool32,
19452 pub events: Bool32,
19453 pub image_view_format_reinterpretation: Bool32,
19454 pub image_view_format_swizzle: Bool32,
19455 pub image_view_2d_on_3d_image: Bool32,
19456 pub multisample_array_image: Bool32,
19457 pub mutable_comparison_samplers: Bool32,
19458 pub point_polygons: Bool32,
19459 pub sampler_mip_lod_bias: Bool32,
19460 pub separate_stencil_mask_ref: Bool32,
19461 pub shader_sample_rate_interpolation_functions: Bool32,
19462 pub tessellation_isolines: Bool32,
19463 pub tessellation_point_mode: Bool32,
19464 pub triangle_fans: Bool32,
19465 pub vertex_attribute_access_beyond_stride: Bool32,
19466}
19467
19468impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
19469 #[inline]
19470 fn default() -> Self {
19471 Self {
19472 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
19473 next: ptr::null_mut(),
19474 constant_alpha_color_blend_factors: Bool32::default(),
19475 events: Bool32::default(),
19476 image_view_format_reinterpretation: Bool32::default(),
19477 image_view_format_swizzle: Bool32::default(),
19478 image_view_2d_on_3d_image: Bool32::default(),
19479 multisample_array_image: Bool32::default(),
19480 mutable_comparison_samplers: Bool32::default(),
19481 point_polygons: Bool32::default(),
19482 sampler_mip_lod_bias: Bool32::default(),
19483 separate_stencil_mask_ref: Bool32::default(),
19484 shader_sample_rate_interpolation_functions: Bool32::default(),
19485 tessellation_isolines: Bool32::default(),
19486 tessellation_point_mode: Bool32::default(),
19487 triangle_fans: Bool32::default(),
19488 vertex_attribute_access_beyond_stride: Bool32::default(),
19489 }
19490 }
19491}
19492
19493unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19494unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
19495
19496#[repr(C)]
19498#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19499pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
19500 pub s_type: StructureType,
19501 pub next: *mut c_void,
19502 pub min_vertex_input_binding_stride_alignment: u32,
19503}
19504
19505impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
19506 #[inline]
19507 fn default() -> Self {
19508 Self {
19509 s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
19510 next: ptr::null_mut(),
19511 min_vertex_input_binding_stride_alignment: u32::default(),
19512 }
19513 }
19514}
19515
19516unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19517unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
19518
19519#[repr(C)]
19521#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19522pub struct PhysicalDevicePresentBarrierFeaturesNV {
19523 pub s_type: StructureType,
19524 pub next: *mut c_void,
19525 pub present_barrier: Bool32,
19526}
19527
19528impl Default for PhysicalDevicePresentBarrierFeaturesNV {
19529 #[inline]
19530 fn default() -> Self {
19531 Self {
19532 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
19533 next: ptr::null_mut(),
19534 present_barrier: Bool32::default(),
19535 }
19536 }
19537}
19538
19539unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
19540unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
19541
19542#[repr(C)]
19544#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19545pub struct PhysicalDevicePresentId2FeaturesKHR {
19546 pub s_type: StructureType,
19547 pub next: *mut c_void,
19548 pub present_id2: Bool32,
19549}
19550
19551impl Default for PhysicalDevicePresentId2FeaturesKHR {
19552 #[inline]
19553 fn default() -> Self {
19554 Self {
19555 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
19556 next: ptr::null_mut(),
19557 present_id2: Bool32::default(),
19558 }
19559 }
19560}
19561
19562unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
19563unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
19564
19565#[repr(C)]
19567#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19568pub struct PhysicalDevicePresentIdFeaturesKHR {
19569 pub s_type: StructureType,
19570 pub next: *mut c_void,
19571 pub present_id: Bool32,
19572}
19573
19574impl Default for PhysicalDevicePresentIdFeaturesKHR {
19575 #[inline]
19576 fn default() -> Self {
19577 Self {
19578 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
19579 next: ptr::null_mut(),
19580 present_id: Bool32::default(),
19581 }
19582 }
19583}
19584
19585unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
19586unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
19587
19588#[repr(C)]
19590#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19591pub struct PhysicalDevicePresentMeteringFeaturesNV {
19592 pub s_type: StructureType,
19593 pub next: *mut c_void,
19594 pub present_metering: Bool32,
19595}
19596
19597impl Default for PhysicalDevicePresentMeteringFeaturesNV {
19598 #[inline]
19599 fn default() -> Self {
19600 Self {
19601 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
19602 next: ptr::null_mut(),
19603 present_metering: Bool32::default(),
19604 }
19605 }
19606}
19607
19608unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
19609unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
19610
19611#[repr(C)]
19613#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19614pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19615 pub s_type: StructureType,
19616 pub next: *mut c_void,
19617 pub present_mode_fifo_latest_ready: Bool32,
19618}
19619
19620impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
19621 #[inline]
19622 fn default() -> Self {
19623 Self {
19624 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
19625 next: ptr::null_mut(),
19626 present_mode_fifo_latest_ready: Bool32::default(),
19627 }
19628 }
19629}
19630
19631unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19632unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
19633
19634#[repr(C)]
19636#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19637pub struct PhysicalDevicePresentTimingFeaturesEXT {
19638 pub s_type: StructureType,
19639 pub next: *mut c_void,
19640 pub present_timing: Bool32,
19641 pub present_at_absolute_time: Bool32,
19642 pub present_at_relative_time: Bool32,
19643}
19644
19645impl Default for PhysicalDevicePresentTimingFeaturesEXT {
19646 #[inline]
19647 fn default() -> Self {
19648 Self {
19649 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT,
19650 next: ptr::null_mut(),
19651 present_timing: Bool32::default(),
19652 present_at_absolute_time: Bool32::default(),
19653 present_at_relative_time: Bool32::default(),
19654 }
19655 }
19656}
19657
19658unsafe impl Send for PhysicalDevicePresentTimingFeaturesEXT {}
19659unsafe impl Sync for PhysicalDevicePresentTimingFeaturesEXT {}
19660
19661#[repr(C)]
19663#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19664pub struct PhysicalDevicePresentWait2FeaturesKHR {
19665 pub s_type: StructureType,
19666 pub next: *mut c_void,
19667 pub present_wait2: Bool32,
19668}
19669
19670impl Default for PhysicalDevicePresentWait2FeaturesKHR {
19671 #[inline]
19672 fn default() -> Self {
19673 Self {
19674 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
19675 next: ptr::null_mut(),
19676 present_wait2: Bool32::default(),
19677 }
19678 }
19679}
19680
19681unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
19682unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
19683
19684#[repr(C)]
19686#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19687pub struct PhysicalDevicePresentWaitFeaturesKHR {
19688 pub s_type: StructureType,
19689 pub next: *mut c_void,
19690 pub present_wait: Bool32,
19691}
19692
19693impl Default for PhysicalDevicePresentWaitFeaturesKHR {
19694 #[inline]
19695 fn default() -> Self {
19696 Self {
19697 s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
19698 next: ptr::null_mut(),
19699 present_wait: Bool32::default(),
19700 }
19701 }
19702}
19703
19704unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
19705unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
19706
19707#[repr(C)]
19709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19710pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19711 pub s_type: StructureType,
19712 pub next: *mut c_void,
19713 pub primitive_topology_list_restart: Bool32,
19714 pub primitive_topology_patch_list_restart: Bool32,
19715}
19716
19717impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
19718 #[inline]
19719 fn default() -> Self {
19720 Self {
19721 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
19722 next: ptr::null_mut(),
19723 primitive_topology_list_restart: Bool32::default(),
19724 primitive_topology_patch_list_restart: Bool32::default(),
19725 }
19726 }
19727}
19728
19729unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19730unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
19731
19732#[repr(C)]
19734#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19735pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19736 pub s_type: StructureType,
19737 pub next: *mut c_void,
19738 pub primitives_generated_query: Bool32,
19739 pub primitives_generated_query_with_rasterizer_discard: Bool32,
19740 pub primitives_generated_query_with_non_zero_streams: Bool32,
19741}
19742
19743impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
19744 #[inline]
19745 fn default() -> Self {
19746 Self {
19747 s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
19748 next: ptr::null_mut(),
19749 primitives_generated_query: Bool32::default(),
19750 primitives_generated_query_with_rasterizer_discard: Bool32::default(),
19751 primitives_generated_query_with_non_zero_streams: Bool32::default(),
19752 }
19753 }
19754}
19755
19756unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19757unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
19758
19759#[repr(C)]
19761#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19762pub struct PhysicalDevicePrivateDataFeatures {
19763 pub s_type: StructureType,
19764 pub next: *mut c_void,
19765 pub private_data: Bool32,
19766}
19767
19768impl Default for PhysicalDevicePrivateDataFeatures {
19769 #[inline]
19770 fn default() -> Self {
19771 Self {
19772 s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
19773 next: ptr::null_mut(),
19774 private_data: Bool32::default(),
19775 }
19776 }
19777}
19778
19779unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
19780unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
19781
19782#[repr(C)]
19784#[derive(Copy, Clone, Default, Debug, PartialEq)]
19785pub struct PhysicalDeviceProperties {
19786 pub api_version: u32,
19787 pub driver_version: u32,
19788 pub vendor_id: u32,
19789 pub device_id: u32,
19790 pub device_type: PhysicalDeviceType,
19791 pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
19792 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
19793 pub limits: PhysicalDeviceLimits,
19794 pub sparse_properties: PhysicalDeviceSparseProperties,
19795}
19796
19797#[repr(C)]
19799#[derive(Copy, Clone, Debug, PartialEq)]
19800pub struct PhysicalDeviceProperties2 {
19801 pub s_type: StructureType,
19802 pub next: *mut c_void,
19803 pub properties: PhysicalDeviceProperties,
19804}
19805
19806impl Default for PhysicalDeviceProperties2 {
19807 #[inline]
19808 fn default() -> Self {
19809 Self {
19810 s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
19811 next: ptr::null_mut(),
19812 properties: PhysicalDeviceProperties::default(),
19813 }
19814 }
19815}
19816
19817unsafe impl Send for PhysicalDeviceProperties2 {}
19818unsafe impl Sync for PhysicalDeviceProperties2 {}
19819
19820#[repr(C)]
19822#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19823pub struct PhysicalDeviceProtectedMemoryFeatures {
19824 pub s_type: StructureType,
19825 pub next: *mut c_void,
19826 pub protected_memory: Bool32,
19827}
19828
19829impl Default for PhysicalDeviceProtectedMemoryFeatures {
19830 #[inline]
19831 fn default() -> Self {
19832 Self {
19833 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
19834 next: ptr::null_mut(),
19835 protected_memory: Bool32::default(),
19836 }
19837 }
19838}
19839
19840unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
19841unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
19842
19843#[repr(C)]
19845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19846pub struct PhysicalDeviceProtectedMemoryProperties {
19847 pub s_type: StructureType,
19848 pub next: *mut c_void,
19849 pub protected_no_fault: Bool32,
19850}
19851
19852impl Default for PhysicalDeviceProtectedMemoryProperties {
19853 #[inline]
19854 fn default() -> Self {
19855 Self {
19856 s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
19857 next: ptr::null_mut(),
19858 protected_no_fault: Bool32::default(),
19859 }
19860 }
19861}
19862
19863unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
19864unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
19865
19866#[repr(C)]
19868#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19869pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
19870 pub s_type: StructureType,
19871 pub next: *mut c_void,
19872 pub provoking_vertex_last: Bool32,
19873 pub transform_feedback_preserves_provoking_vertex: Bool32,
19874}
19875
19876impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
19877 #[inline]
19878 fn default() -> Self {
19879 Self {
19880 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
19881 next: ptr::null_mut(),
19882 provoking_vertex_last: Bool32::default(),
19883 transform_feedback_preserves_provoking_vertex: Bool32::default(),
19884 }
19885 }
19886}
19887
19888unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
19889unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
19890
19891#[repr(C)]
19893#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19894pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
19895 pub s_type: StructureType,
19896 pub next: *mut c_void,
19897 pub provoking_vertex_mode_per_pipeline: Bool32,
19898 pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
19899}
19900
19901impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
19902 #[inline]
19903 fn default() -> Self {
19904 Self {
19905 s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
19906 next: ptr::null_mut(),
19907 provoking_vertex_mode_per_pipeline: Bool32::default(),
19908 transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
19909 }
19910 }
19911}
19912
19913unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
19914unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
19915
19916#[repr(C)]
19918#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19919pub struct PhysicalDevicePushDescriptorProperties {
19920 pub s_type: StructureType,
19921 pub next: *mut c_void,
19922 pub max_push_descriptors: u32,
19923}
19924
19925impl Default for PhysicalDevicePushDescriptorProperties {
19926 #[inline]
19927 fn default() -> Self {
19928 Self {
19929 s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
19930 next: ptr::null_mut(),
19931 max_push_descriptors: u32::default(),
19932 }
19933 }
19934}
19935
19936unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
19937unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
19938
19939#[repr(C)]
19941#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19942pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19943 pub s_type: StructureType,
19944 pub next: *const c_void,
19945 pub queue_family_index: u32,
19946 pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
19947}
19948
19949impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
19950 #[inline]
19951 fn default() -> Self {
19952 Self {
19953 s_type:
19954 StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
19955 next: ptr::null(),
19956 queue_family_index: u32::default(),
19957 engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
19958 }
19959 }
19960}
19961
19962unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19963unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
19964
19965#[repr(C)]
19967#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19968pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19969 pub s_type: StructureType,
19970 pub next: *mut c_void,
19971 pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
19972}
19973
19974impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
19975 #[inline]
19976 fn default() -> Self {
19977 Self {
19978 s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
19979 next: ptr::null_mut(),
19980 format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
19981 }
19982 }
19983}
19984
19985unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19986unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
19987
19988#[repr(C)]
19990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
19991pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
19992 pub s_type: StructureType,
19993 pub next: *mut c_void,
19994 pub rasterization_order_color_attachment_access: Bool32,
19995 pub rasterization_order_depth_attachment_access: Bool32,
19996 pub rasterization_order_stencil_attachment_access: Bool32,
19997}
19998
19999impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
20000 #[inline]
20001 fn default() -> Self {
20002 Self {
20003 s_type:
20004 StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
20005 next: ptr::null_mut(),
20006 rasterization_order_color_attachment_access: Bool32::default(),
20007 rasterization_order_depth_attachment_access: Bool32::default(),
20008 rasterization_order_stencil_attachment_access: Bool32::default(),
20009 }
20010 }
20011}
20012
20013unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
20014unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
20015
20016#[repr(C)]
20018#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20019pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
20020 pub s_type: StructureType,
20021 pub next: *mut c_void,
20022 pub shader_raw_access_chains: Bool32,
20023}
20024
20025impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
20026 #[inline]
20027 fn default() -> Self {
20028 Self {
20029 s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
20030 next: ptr::null_mut(),
20031 shader_raw_access_chains: Bool32::default(),
20032 }
20033 }
20034}
20035
20036unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
20037unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
20038
20039#[repr(C)]
20041#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20042pub struct PhysicalDeviceRayQueryFeaturesKHR {
20043 pub s_type: StructureType,
20044 pub next: *mut c_void,
20045 pub ray_query: Bool32,
20046}
20047
20048impl Default for PhysicalDeviceRayQueryFeaturesKHR {
20049 #[inline]
20050 fn default() -> Self {
20051 Self {
20052 s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
20053 next: ptr::null_mut(),
20054 ray_query: Bool32::default(),
20055 }
20056 }
20057}
20058
20059unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
20060unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
20061
20062#[repr(C)]
20064#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20065pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
20066 pub s_type: StructureType,
20067 pub next: *mut c_void,
20068 pub ray_tracing_invocation_reorder: Bool32,
20069}
20070
20071impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
20072 #[inline]
20073 fn default() -> Self {
20074 Self {
20075 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
20076 next: ptr::null_mut(),
20077 ray_tracing_invocation_reorder: Bool32::default(),
20078 }
20079 }
20080}
20081
20082unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
20083unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
20084
20085#[repr(C)]
20087#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20088pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
20089 pub s_type: StructureType,
20090 pub next: *mut c_void,
20091 pub ray_tracing_invocation_reorder: Bool32,
20092}
20093
20094impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
20095 #[inline]
20096 fn default() -> Self {
20097 Self {
20098 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
20099 next: ptr::null_mut(),
20100 ray_tracing_invocation_reorder: Bool32::default(),
20101 }
20102 }
20103}
20104
20105unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
20106unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
20107
20108#[repr(C)]
20110#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20111pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
20112 pub s_type: StructureType,
20113 pub next: *mut c_void,
20114 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
20115 pub max_shader_binding_table_record_index: u32,
20116}
20117
20118impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
20119 #[inline]
20120 fn default() -> Self {
20121 Self {
20122 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
20123 next: ptr::null_mut(),
20124 ray_tracing_invocation_reorder_reordering_hint:
20125 RayTracingInvocationReorderModeEXT::default(),
20126 max_shader_binding_table_record_index: u32::default(),
20127 }
20128 }
20129}
20130
20131unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
20132unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
20133
20134#[repr(C)]
20136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20137pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
20138 pub s_type: StructureType,
20139 pub next: *mut c_void,
20140 pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
20141}
20142
20143impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
20144 #[inline]
20145 fn default() -> Self {
20146 Self {
20147 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
20148 next: ptr::null_mut(),
20149 ray_tracing_invocation_reorder_reordering_hint:
20150 RayTracingInvocationReorderModeEXT::default(),
20151 }
20152 }
20153}
20154
20155unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
20156unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
20157
20158#[repr(C)]
20160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20161pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
20162 pub s_type: StructureType,
20163 pub next: *mut c_void,
20164 pub spheres: Bool32,
20165 pub linear_swept_spheres: Bool32,
20166}
20167
20168impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
20169 #[inline]
20170 fn default() -> Self {
20171 Self {
20172 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
20173 next: ptr::null_mut(),
20174 spheres: Bool32::default(),
20175 linear_swept_spheres: Bool32::default(),
20176 }
20177 }
20178}
20179
20180unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
20181unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
20182
20183#[repr(C)]
20185#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20186pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
20187 pub s_type: StructureType,
20188 pub next: *mut c_void,
20189 pub ray_tracing_maintenance1: Bool32,
20190 pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
20191}
20192
20193impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
20194 #[inline]
20195 fn default() -> Self {
20196 Self {
20197 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
20198 next: ptr::null_mut(),
20199 ray_tracing_maintenance1: Bool32::default(),
20200 ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
20201 }
20202 }
20203}
20204
20205unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
20206unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
20207
20208#[repr(C)]
20210#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20211pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
20212 pub s_type: StructureType,
20213 pub next: *mut c_void,
20214 pub ray_tracing_motion_blur: Bool32,
20215 pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
20216}
20217
20218impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
20219 #[inline]
20220 fn default() -> Self {
20221 Self {
20222 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
20223 next: ptr::null_mut(),
20224 ray_tracing_motion_blur: Bool32::default(),
20225 ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
20226 }
20227 }
20228}
20229
20230unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
20231unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
20232
20233#[repr(C)]
20235#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20236pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
20237 pub s_type: StructureType,
20238 pub next: *mut c_void,
20239 pub ray_tracing_pipeline: Bool32,
20240 pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
20241 pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
20242 pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
20243 pub ray_traversal_primitive_culling: Bool32,
20244}
20245
20246impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
20247 #[inline]
20248 fn default() -> Self {
20249 Self {
20250 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
20251 next: ptr::null_mut(),
20252 ray_tracing_pipeline: Bool32::default(),
20253 ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
20254 ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
20255 ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
20256 ray_traversal_primitive_culling: Bool32::default(),
20257 }
20258 }
20259}
20260
20261unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20262unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
20263
20264#[repr(C)]
20266#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20267pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
20268 pub s_type: StructureType,
20269 pub next: *mut c_void,
20270 pub shader_group_handle_size: u32,
20271 pub max_ray_recursion_depth: u32,
20272 pub max_shader_group_stride: u32,
20273 pub shader_group_base_alignment: u32,
20274 pub shader_group_handle_capture_replay_size: u32,
20275 pub max_ray_dispatch_invocation_count: u32,
20276 pub shader_group_handle_alignment: u32,
20277 pub max_ray_hit_attribute_size: u32,
20278}
20279
20280impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
20281 #[inline]
20282 fn default() -> Self {
20283 Self {
20284 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
20285 next: ptr::null_mut(),
20286 shader_group_handle_size: u32::default(),
20287 max_ray_recursion_depth: u32::default(),
20288 max_shader_group_stride: u32::default(),
20289 shader_group_base_alignment: u32::default(),
20290 shader_group_handle_capture_replay_size: u32::default(),
20291 max_ray_dispatch_invocation_count: u32::default(),
20292 shader_group_handle_alignment: u32::default(),
20293 max_ray_hit_attribute_size: u32::default(),
20294 }
20295 }
20296}
20297
20298unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20299unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
20300
20301#[repr(C)]
20303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20304pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20305 pub s_type: StructureType,
20306 pub next: *mut c_void,
20307 pub ray_tracing_position_fetch: Bool32,
20308}
20309
20310impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
20311 #[inline]
20312 fn default() -> Self {
20313 Self {
20314 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
20315 next: ptr::null_mut(),
20316 ray_tracing_position_fetch: Bool32::default(),
20317 }
20318 }
20319}
20320
20321unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20322unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
20323
20324#[repr(C)]
20326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20327pub struct PhysicalDeviceRayTracingPropertiesNV {
20328 pub s_type: StructureType,
20329 pub next: *mut c_void,
20330 pub shader_group_handle_size: u32,
20331 pub max_recursion_depth: u32,
20332 pub max_shader_group_stride: u32,
20333 pub shader_group_base_alignment: u32,
20334 pub max_geometry_count: u64,
20335 pub max_instance_count: u64,
20336 pub max_triangle_count: u64,
20337 pub max_descriptor_set_acceleration_structures: u32,
20338}
20339
20340impl Default for PhysicalDeviceRayTracingPropertiesNV {
20341 #[inline]
20342 fn default() -> Self {
20343 Self {
20344 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
20345 next: ptr::null_mut(),
20346 shader_group_handle_size: u32::default(),
20347 max_recursion_depth: u32::default(),
20348 max_shader_group_stride: u32::default(),
20349 shader_group_base_alignment: u32::default(),
20350 max_geometry_count: u64::default(),
20351 max_instance_count: u64::default(),
20352 max_triangle_count: u64::default(),
20353 max_descriptor_set_acceleration_structures: u32::default(),
20354 }
20355 }
20356}
20357
20358unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
20359unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
20360
20361#[repr(C)]
20363#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20364pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
20365 pub s_type: StructureType,
20366 pub next: *mut c_void,
20367 pub ray_tracing_validation: Bool32,
20368}
20369
20370impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
20371 #[inline]
20372 fn default() -> Self {
20373 Self {
20374 s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
20375 next: ptr::null_mut(),
20376 ray_tracing_validation: Bool32::default(),
20377 }
20378 }
20379}
20380
20381unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
20382unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
20383
20384#[repr(C)]
20386#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20387pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20388 pub s_type: StructureType,
20389 pub next: *mut c_void,
20390 pub relaxed_line_rasterization: Bool32,
20391}
20392
20393impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
20394 #[inline]
20395 fn default() -> Self {
20396 Self {
20397 s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
20398 next: ptr::null_mut(),
20399 relaxed_line_rasterization: Bool32::default(),
20400 }
20401 }
20402}
20403
20404unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20405unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
20406
20407#[repr(C)]
20409#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20410pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
20411 pub s_type: StructureType,
20412 pub next: *mut c_void,
20413 pub render_pass_striped: Bool32,
20414}
20415
20416impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
20417 #[inline]
20418 fn default() -> Self {
20419 Self {
20420 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
20421 next: ptr::null_mut(),
20422 render_pass_striped: Bool32::default(),
20423 }
20424 }
20425}
20426
20427unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
20428unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
20429
20430#[repr(C)]
20432#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20433pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
20434 pub s_type: StructureType,
20435 pub next: *mut c_void,
20436 pub render_pass_stripe_granularity: Extent2D,
20437 pub max_render_pass_stripes: u32,
20438}
20439
20440impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
20441 #[inline]
20442 fn default() -> Self {
20443 Self {
20444 s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
20445 next: ptr::null_mut(),
20446 render_pass_stripe_granularity: Extent2D::default(),
20447 max_render_pass_stripes: u32::default(),
20448 }
20449 }
20450}
20451
20452unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
20453unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
20454
20455#[repr(C)]
20457#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20458pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20459 pub s_type: StructureType,
20460 pub next: *mut c_void,
20461 pub representative_fragment_test: Bool32,
20462}
20463
20464impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
20465 #[inline]
20466 fn default() -> Self {
20467 Self {
20468 s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
20469 next: ptr::null_mut(),
20470 representative_fragment_test: Bool32::default(),
20471 }
20472 }
20473}
20474
20475unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20476unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
20477
20478#[repr(C)]
20480#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20481pub struct PhysicalDeviceRobustness2FeaturesKHR {
20482 pub s_type: StructureType,
20483 pub next: *mut c_void,
20484 pub robust_buffer_access2: Bool32,
20485 pub robust_image_access2: Bool32,
20486 pub null_descriptor: Bool32,
20487}
20488
20489impl Default for PhysicalDeviceRobustness2FeaturesKHR {
20490 #[inline]
20491 fn default() -> Self {
20492 Self {
20493 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
20494 next: ptr::null_mut(),
20495 robust_buffer_access2: Bool32::default(),
20496 robust_image_access2: Bool32::default(),
20497 null_descriptor: Bool32::default(),
20498 }
20499 }
20500}
20501
20502unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
20503unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
20504
20505#[repr(C)]
20507#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20508pub struct PhysicalDeviceRobustness2PropertiesKHR {
20509 pub s_type: StructureType,
20510 pub next: *mut c_void,
20511 pub robust_storage_buffer_access_size_alignment: DeviceSize,
20512 pub robust_uniform_buffer_access_size_alignment: DeviceSize,
20513}
20514
20515impl Default for PhysicalDeviceRobustness2PropertiesKHR {
20516 #[inline]
20517 fn default() -> Self {
20518 Self {
20519 s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
20520 next: ptr::null_mut(),
20521 robust_storage_buffer_access_size_alignment: DeviceSize::default(),
20522 robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
20523 }
20524 }
20525}
20526
20527unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
20528unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
20529
20530#[repr(C)]
20532#[derive(Copy, Clone, Debug, PartialEq)]
20533pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
20534 pub s_type: StructureType,
20535 pub next: *mut c_void,
20536 pub sample_location_sample_counts: SampleCountFlags,
20537 pub max_sample_location_grid_size: Extent2D,
20538 pub sample_location_coordinate_range: [f32; 2],
20539 pub sample_location_sub_pixel_bits: u32,
20540 pub variable_sample_locations: Bool32,
20541}
20542
20543impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
20544 #[inline]
20545 fn default() -> Self {
20546 Self {
20547 s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
20548 next: ptr::null_mut(),
20549 sample_location_sample_counts: SampleCountFlags::default(),
20550 max_sample_location_grid_size: Extent2D::default(),
20551 sample_location_coordinate_range: [f32::default(); 2],
20552 sample_location_sub_pixel_bits: u32::default(),
20553 variable_sample_locations: Bool32::default(),
20554 }
20555 }
20556}
20557
20558unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
20559unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
20560
20561#[repr(C)]
20563#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20564pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
20565 pub s_type: StructureType,
20566 pub next: *mut c_void,
20567 pub filter_minmax_single_component_formats: Bool32,
20568 pub filter_minmax_image_component_mapping: Bool32,
20569}
20570
20571impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
20572 #[inline]
20573 fn default() -> Self {
20574 Self {
20575 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
20576 next: ptr::null_mut(),
20577 filter_minmax_single_component_formats: Bool32::default(),
20578 filter_minmax_image_component_mapping: Bool32::default(),
20579 }
20580 }
20581}
20582
20583unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
20584unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
20585
20586#[repr(C)]
20588#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20589pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
20590 pub s_type: StructureType,
20591 pub next: *mut c_void,
20592 pub sampler_ycbcr_conversion: Bool32,
20593}
20594
20595impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
20596 #[inline]
20597 fn default() -> Self {
20598 Self {
20599 s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
20600 next: ptr::null_mut(),
20601 sampler_ycbcr_conversion: Bool32::default(),
20602 }
20603 }
20604}
20605
20606unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20607unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
20608
20609#[repr(C)]
20611#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20612pub struct PhysicalDeviceScalarBlockLayoutFeatures {
20613 pub s_type: StructureType,
20614 pub next: *mut c_void,
20615 pub scalar_block_layout: Bool32,
20616}
20617
20618impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
20619 #[inline]
20620 fn default() -> Self {
20621 Self {
20622 s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
20623 next: ptr::null_mut(),
20624 scalar_block_layout: Bool32::default(),
20625 }
20626 }
20627}
20628
20629unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
20630unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
20631
20632#[repr(C)]
20634#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20635pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
20636 pub s_type: StructureType,
20637 pub next: *mut c_void,
20638 pub scheduling_controls: Bool32,
20639}
20640
20641impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
20642 #[inline]
20643 fn default() -> Self {
20644 Self {
20645 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
20646 next: ptr::null_mut(),
20647 scheduling_controls: Bool32::default(),
20648 }
20649 }
20650}
20651
20652unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
20653unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
20654
20655#[repr(C)]
20657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20658pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
20659 pub s_type: StructureType,
20660 pub next: *mut c_void,
20661 pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
20662}
20663
20664impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
20665 #[inline]
20666 fn default() -> Self {
20667 Self {
20668 s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
20669 next: ptr::null_mut(),
20670 scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
20671 }
20672 }
20673}
20674
20675unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
20676unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
20677
20678#[repr(C)]
20680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20681pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20682 pub s_type: StructureType,
20683 pub next: *mut c_void,
20684 pub separate_depth_stencil_layouts: Bool32,
20685}
20686
20687impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
20688 #[inline]
20689 fn default() -> Self {
20690 Self {
20691 s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
20692 next: ptr::null_mut(),
20693 separate_depth_stencil_layouts: Bool32::default(),
20694 }
20695 }
20696}
20697
20698unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20699unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
20700
20701#[repr(C)]
20703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20704pub struct PhysicalDeviceShader64BitIndexingFeaturesEXT {
20705 pub s_type: StructureType,
20706 pub next: *mut c_void,
20707 pub shader_64bit_indexing: Bool32,
20708}
20709
20710impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT {
20711 #[inline]
20712 fn default() -> Self {
20713 Self {
20714 s_type: StructureType::PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
20715 next: ptr::null_mut(),
20716 shader_64bit_indexing: Bool32::default(),
20717 }
20718 }
20719}
20720
20721unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20722unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
20723
20724#[repr(C)]
20726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20727pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20728 pub s_type: StructureType,
20729 pub next: *mut c_void,
20730 pub shader_float16_vector_atomics: Bool32,
20731}
20732
20733impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
20734 #[inline]
20735 fn default() -> Self {
20736 Self {
20737 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
20738 next: ptr::null_mut(),
20739 shader_float16_vector_atomics: Bool32::default(),
20740 }
20741 }
20742}
20743
20744unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20745unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
20746
20747#[repr(C)]
20749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20750pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20751 pub s_type: StructureType,
20752 pub next: *mut c_void,
20753 pub shader_buffer_float16_atomics: Bool32,
20754 pub shader_buffer_float16_atomic_add: Bool32,
20755 pub shader_buffer_float16_atomic_min_max: Bool32,
20756 pub shader_buffer_float32_atomic_min_max: Bool32,
20757 pub shader_buffer_float64_atomic_min_max: Bool32,
20758 pub shader_shared_float16_atomics: Bool32,
20759 pub shader_shared_float16_atomic_add: Bool32,
20760 pub shader_shared_float16_atomic_min_max: Bool32,
20761 pub shader_shared_float32_atomic_min_max: Bool32,
20762 pub shader_shared_float64_atomic_min_max: Bool32,
20763 pub shader_image_float32_atomic_min_max: Bool32,
20764 pub sparse_image_float32_atomic_min_max: Bool32,
20765}
20766
20767impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
20768 #[inline]
20769 fn default() -> Self {
20770 Self {
20771 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
20772 next: ptr::null_mut(),
20773 shader_buffer_float16_atomics: Bool32::default(),
20774 shader_buffer_float16_atomic_add: Bool32::default(),
20775 shader_buffer_float16_atomic_min_max: Bool32::default(),
20776 shader_buffer_float32_atomic_min_max: Bool32::default(),
20777 shader_buffer_float64_atomic_min_max: Bool32::default(),
20778 shader_shared_float16_atomics: Bool32::default(),
20779 shader_shared_float16_atomic_add: Bool32::default(),
20780 shader_shared_float16_atomic_min_max: Bool32::default(),
20781 shader_shared_float32_atomic_min_max: Bool32::default(),
20782 shader_shared_float64_atomic_min_max: Bool32::default(),
20783 shader_image_float32_atomic_min_max: Bool32::default(),
20784 sparse_image_float32_atomic_min_max: Bool32::default(),
20785 }
20786 }
20787}
20788
20789unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20790unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
20791
20792#[repr(C)]
20794#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20795pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20796 pub s_type: StructureType,
20797 pub next: *mut c_void,
20798 pub shader_buffer_float32_atomics: Bool32,
20799 pub shader_buffer_float32_atomic_add: Bool32,
20800 pub shader_buffer_float64_atomics: Bool32,
20801 pub shader_buffer_float64_atomic_add: Bool32,
20802 pub shader_shared_float32_atomics: Bool32,
20803 pub shader_shared_float32_atomic_add: Bool32,
20804 pub shader_shared_float64_atomics: Bool32,
20805 pub shader_shared_float64_atomic_add: Bool32,
20806 pub shader_image_float32_atomics: Bool32,
20807 pub shader_image_float32_atomic_add: Bool32,
20808 pub sparse_image_float32_atomics: Bool32,
20809 pub sparse_image_float32_atomic_add: Bool32,
20810}
20811
20812impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
20813 #[inline]
20814 fn default() -> Self {
20815 Self {
20816 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
20817 next: ptr::null_mut(),
20818 shader_buffer_float32_atomics: Bool32::default(),
20819 shader_buffer_float32_atomic_add: Bool32::default(),
20820 shader_buffer_float64_atomics: Bool32::default(),
20821 shader_buffer_float64_atomic_add: Bool32::default(),
20822 shader_shared_float32_atomics: Bool32::default(),
20823 shader_shared_float32_atomic_add: Bool32::default(),
20824 shader_shared_float64_atomics: Bool32::default(),
20825 shader_shared_float64_atomic_add: Bool32::default(),
20826 shader_image_float32_atomics: Bool32::default(),
20827 shader_image_float32_atomic_add: Bool32::default(),
20828 sparse_image_float32_atomics: Bool32::default(),
20829 sparse_image_float32_atomic_add: Bool32::default(),
20830 }
20831 }
20832}
20833
20834unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20835unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
20836
20837#[repr(C)]
20839#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20840pub struct PhysicalDeviceShaderAtomicInt64Features {
20841 pub s_type: StructureType,
20842 pub next: *mut c_void,
20843 pub shader_buffer_int64_atomics: Bool32,
20844 pub shader_shared_int64_atomics: Bool32,
20845}
20846
20847impl Default for PhysicalDeviceShaderAtomicInt64Features {
20848 #[inline]
20849 fn default() -> Self {
20850 Self {
20851 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
20852 next: ptr::null_mut(),
20853 shader_buffer_int64_atomics: Bool32::default(),
20854 shader_shared_int64_atomics: Bool32::default(),
20855 }
20856 }
20857}
20858
20859unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
20860unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
20861
20862#[repr(C)]
20864#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20865pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
20866 pub s_type: StructureType,
20867 pub next: *mut c_void,
20868 pub shader_b_float16_type: Bool32,
20869 pub shader_b_float_16dot_product: Bool32,
20870 pub shader_b_float16_cooperative_matrix: Bool32,
20871}
20872
20873impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
20874 #[inline]
20875 fn default() -> Self {
20876 Self {
20877 s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
20878 next: ptr::null_mut(),
20879 shader_b_float16_type: Bool32::default(),
20880 shader_b_float_16dot_product: Bool32::default(),
20881 shader_b_float16_cooperative_matrix: Bool32::default(),
20882 }
20883 }
20884}
20885
20886unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20887unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
20888
20889#[repr(C)]
20891#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20892pub struct PhysicalDeviceShaderClockFeaturesKHR {
20893 pub s_type: StructureType,
20894 pub next: *mut c_void,
20895 pub shader_subgroup_clock: Bool32,
20896 pub shader_device_clock: Bool32,
20897}
20898
20899impl Default for PhysicalDeviceShaderClockFeaturesKHR {
20900 #[inline]
20901 fn default() -> Self {
20902 Self {
20903 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
20904 next: ptr::null_mut(),
20905 shader_subgroup_clock: Bool32::default(),
20906 shader_device_clock: Bool32::default(),
20907 }
20908 }
20909}
20910
20911unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
20912unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
20913
20914#[repr(C)]
20916#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20917pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20918 pub s_type: StructureType,
20919 pub next: *mut c_void,
20920 pub shader_core_builtins: Bool32,
20921}
20922
20923impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
20924 #[inline]
20925 fn default() -> Self {
20926 Self {
20927 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
20928 next: ptr::null_mut(),
20929 shader_core_builtins: Bool32::default(),
20930 }
20931 }
20932}
20933
20934unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20935unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
20936
20937#[repr(C)]
20939#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20940pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20941 pub s_type: StructureType,
20942 pub next: *mut c_void,
20943 pub shader_core_mask: u64,
20944 pub shader_core_count: u32,
20945 pub shader_warps_per_core: u32,
20946}
20947
20948impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
20949 #[inline]
20950 fn default() -> Self {
20951 Self {
20952 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
20953 next: ptr::null_mut(),
20954 shader_core_mask: u64::default(),
20955 shader_core_count: u32::default(),
20956 shader_warps_per_core: u32::default(),
20957 }
20958 }
20959}
20960
20961unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20962unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
20963
20964#[repr(C)]
20966#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20967pub struct PhysicalDeviceShaderCoreProperties2AMD {
20968 pub s_type: StructureType,
20969 pub next: *mut c_void,
20970 pub shader_core_features: ShaderCorePropertiesFlagsAMD,
20971 pub active_compute_unit_count: u32,
20972}
20973
20974impl Default for PhysicalDeviceShaderCoreProperties2AMD {
20975 #[inline]
20976 fn default() -> Self {
20977 Self {
20978 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
20979 next: ptr::null_mut(),
20980 shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
20981 active_compute_unit_count: u32::default(),
20982 }
20983 }
20984}
20985
20986unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
20987unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
20988
20989#[repr(C)]
20991#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
20992pub struct PhysicalDeviceShaderCorePropertiesAMD {
20993 pub s_type: StructureType,
20994 pub next: *mut c_void,
20995 pub shader_engine_count: u32,
20996 pub shader_arrays_per_engine_count: u32,
20997 pub compute_units_per_shader_array: u32,
20998 pub simd_per_compute_unit: u32,
20999 pub wavefronts_per_simd: u32,
21000 pub wavefront_size: u32,
21001 pub sgprs_per_simd: u32,
21002 pub min_sgpr_allocation: u32,
21003 pub max_sgpr_allocation: u32,
21004 pub sgpr_allocation_granularity: u32,
21005 pub vgprs_per_simd: u32,
21006 pub min_vgpr_allocation: u32,
21007 pub max_vgpr_allocation: u32,
21008 pub vgpr_allocation_granularity: u32,
21009}
21010
21011impl Default for PhysicalDeviceShaderCorePropertiesAMD {
21012 #[inline]
21013 fn default() -> Self {
21014 Self {
21015 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
21016 next: ptr::null_mut(),
21017 shader_engine_count: u32::default(),
21018 shader_arrays_per_engine_count: u32::default(),
21019 compute_units_per_shader_array: u32::default(),
21020 simd_per_compute_unit: u32::default(),
21021 wavefronts_per_simd: u32::default(),
21022 wavefront_size: u32::default(),
21023 sgprs_per_simd: u32::default(),
21024 min_sgpr_allocation: u32::default(),
21025 max_sgpr_allocation: u32::default(),
21026 sgpr_allocation_granularity: u32::default(),
21027 vgprs_per_simd: u32::default(),
21028 min_vgpr_allocation: u32::default(),
21029 max_vgpr_allocation: u32::default(),
21030 vgpr_allocation_granularity: u32::default(),
21031 }
21032 }
21033}
21034
21035unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
21036unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
21037
21038#[repr(C)]
21040#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21041pub struct PhysicalDeviceShaderCorePropertiesARM {
21042 pub s_type: StructureType,
21043 pub next: *mut c_void,
21044 pub pixel_rate: u32,
21045 pub texel_rate: u32,
21046 pub fma_rate: u32,
21047}
21048
21049impl Default for PhysicalDeviceShaderCorePropertiesARM {
21050 #[inline]
21051 fn default() -> Self {
21052 Self {
21053 s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
21054 next: ptr::null_mut(),
21055 pixel_rate: u32::default(),
21056 texel_rate: u32::default(),
21057 fma_rate: u32::default(),
21058 }
21059 }
21060}
21061
21062unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
21063unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
21064
21065#[repr(C)]
21067#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21068pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
21069 pub s_type: StructureType,
21070 pub next: *mut c_void,
21071 pub shader_demote_to_helper_invocation: Bool32,
21072}
21073
21074impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
21075 #[inline]
21076 fn default() -> Self {
21077 Self {
21078 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
21079 next: ptr::null_mut(),
21080 shader_demote_to_helper_invocation: Bool32::default(),
21081 }
21082 }
21083}
21084
21085unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
21086unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
21087
21088#[repr(C)]
21090#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21091pub struct PhysicalDeviceShaderDrawParametersFeatures {
21092 pub s_type: StructureType,
21093 pub next: *mut c_void,
21094 pub shader_draw_parameters: Bool32,
21095}
21096
21097impl Default for PhysicalDeviceShaderDrawParametersFeatures {
21098 #[inline]
21099 fn default() -> Self {
21100 Self {
21101 s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
21102 next: ptr::null_mut(),
21103 shader_draw_parameters: Bool32::default(),
21104 }
21105 }
21106}
21107
21108unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
21109unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
21110
21111#[repr(C)]
21113#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21114pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
21115 pub s_type: StructureType,
21116 pub next: *mut c_void,
21117 pub shader_early_and_late_fragment_tests: Bool32,
21118}
21119
21120impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
21121 #[inline]
21122 fn default() -> Self {
21123 Self {
21124 s_type:
21125 StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
21126 next: ptr::null_mut(),
21127 shader_early_and_late_fragment_tests: Bool32::default(),
21128 }
21129 }
21130}
21131
21132unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
21133unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
21134
21135#[repr(C)]
21137#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21138pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
21139 pub s_type: StructureType,
21140 pub next: *mut c_void,
21141 pub shader_enqueue: Bool32,
21142 pub shader_mesh_enqueue: Bool32,
21143}
21144
21145impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
21146 #[inline]
21147 fn default() -> Self {
21148 Self {
21149 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
21150 next: ptr::null_mut(),
21151 shader_enqueue: Bool32::default(),
21152 shader_mesh_enqueue: Bool32::default(),
21153 }
21154 }
21155}
21156
21157unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
21158unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
21159
21160#[repr(C)]
21162#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21163pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
21164 pub s_type: StructureType,
21165 pub next: *mut c_void,
21166 pub max_execution_graph_depth: u32,
21167 pub max_execution_graph_shader_output_nodes: u32,
21168 pub max_execution_graph_shader_payload_size: u32,
21169 pub max_execution_graph_shader_payload_count: u32,
21170 pub execution_graph_dispatch_address_alignment: u32,
21171 pub max_execution_graph_workgroup_count: [u32; 3],
21172 pub max_execution_graph_workgroups: u32,
21173}
21174
21175impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
21176 #[inline]
21177 fn default() -> Self {
21178 Self {
21179 s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
21180 next: ptr::null_mut(),
21181 max_execution_graph_depth: u32::default(),
21182 max_execution_graph_shader_output_nodes: u32::default(),
21183 max_execution_graph_shader_payload_size: u32::default(),
21184 max_execution_graph_shader_payload_count: u32::default(),
21185 execution_graph_dispatch_address_alignment: u32::default(),
21186 max_execution_graph_workgroup_count: [u32::default(); 3],
21187 max_execution_graph_workgroups: u32::default(),
21188 }
21189 }
21190}
21191
21192unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
21193unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
21194
21195#[repr(C)]
21197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21198pub struct PhysicalDeviceShaderExpectAssumeFeatures {
21199 pub s_type: StructureType,
21200 pub next: *mut c_void,
21201 pub shader_expect_assume: Bool32,
21202}
21203
21204impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
21205 #[inline]
21206 fn default() -> Self {
21207 Self {
21208 s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
21209 next: ptr::null_mut(),
21210 shader_expect_assume: Bool32::default(),
21211 }
21212 }
21213}
21214
21215unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
21216unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
21217
21218#[repr(C)]
21220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21221pub struct PhysicalDeviceShaderFloat16Int8Features {
21222 pub s_type: StructureType,
21223 pub next: *mut c_void,
21224 pub shader_float16: Bool32,
21225 pub shader_int8: Bool32,
21226}
21227
21228impl Default for PhysicalDeviceShaderFloat16Int8Features {
21229 #[inline]
21230 fn default() -> Self {
21231 Self {
21232 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
21233 next: ptr::null_mut(),
21234 shader_float16: Bool32::default(),
21235 shader_int8: Bool32::default(),
21236 }
21237 }
21238}
21239
21240unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
21241unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
21242
21243#[repr(C)]
21245#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21246pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
21247 pub s_type: StructureType,
21248 pub next: *mut c_void,
21249 pub shader_float8: Bool32,
21250 pub shader_float8_cooperative_matrix: Bool32,
21251}
21252
21253impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
21254 #[inline]
21255 fn default() -> Self {
21256 Self {
21257 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
21258 next: ptr::null_mut(),
21259 shader_float8: Bool32::default(),
21260 shader_float8_cooperative_matrix: Bool32::default(),
21261 }
21262 }
21263}
21264
21265unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
21266unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
21267
21268#[repr(C)]
21270#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21271pub struct PhysicalDeviceShaderFloatControls2Features {
21272 pub s_type: StructureType,
21273 pub next: *mut c_void,
21274 pub shader_float_controls2: Bool32,
21275}
21276
21277impl Default for PhysicalDeviceShaderFloatControls2Features {
21278 #[inline]
21279 fn default() -> Self {
21280 Self {
21281 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
21282 next: ptr::null_mut(),
21283 shader_float_controls2: Bool32::default(),
21284 }
21285 }
21286}
21287
21288unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
21289unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
21290
21291#[repr(C)]
21293#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21294pub struct PhysicalDeviceShaderFmaFeaturesKHR {
21295 pub s_type: StructureType,
21296 pub next: *mut c_void,
21297 pub shader_fma_float16: Bool32,
21298 pub shader_fma_float32: Bool32,
21299 pub shader_fma_float64: Bool32,
21300}
21301
21302impl Default for PhysicalDeviceShaderFmaFeaturesKHR {
21303 #[inline]
21304 fn default() -> Self {
21305 Self {
21306 s_type: StructureType::PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
21307 next: ptr::null_mut(),
21308 shader_fma_float16: Bool32::default(),
21309 shader_fma_float32: Bool32::default(),
21310 shader_fma_float64: Bool32::default(),
21311 }
21312 }
21313}
21314
21315unsafe impl Send for PhysicalDeviceShaderFmaFeaturesKHR {}
21316unsafe impl Sync for PhysicalDeviceShaderFmaFeaturesKHR {}
21317
21318#[repr(C)]
21320#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21321pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21322 pub s_type: StructureType,
21323 pub next: *mut c_void,
21324 pub shader_image_int64_atomics: Bool32,
21325 pub sparse_image_int64_atomics: Bool32,
21326}
21327
21328impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
21329 #[inline]
21330 fn default() -> Self {
21331 Self {
21332 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
21333 next: ptr::null_mut(),
21334 shader_image_int64_atomics: Bool32::default(),
21335 sparse_image_int64_atomics: Bool32::default(),
21336 }
21337 }
21338}
21339
21340unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21341unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
21342
21343#[repr(C)]
21345#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21346pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
21347 pub s_type: StructureType,
21348 pub next: *mut c_void,
21349 pub image_footprint: Bool32,
21350}
21351
21352impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
21353 #[inline]
21354 fn default() -> Self {
21355 Self {
21356 s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
21357 next: ptr::null_mut(),
21358 image_footprint: Bool32::default(),
21359 }
21360 }
21361}
21362
21363unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21364unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
21365
21366#[repr(C)]
21368#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21369pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
21370 pub s_type: StructureType,
21371 pub next: *mut c_void,
21372 pub shader_integer_dot_product: Bool32,
21373}
21374
21375impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
21376 #[inline]
21377 fn default() -> Self {
21378 Self {
21379 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
21380 next: ptr::null_mut(),
21381 shader_integer_dot_product: Bool32::default(),
21382 }
21383 }
21384}
21385
21386unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
21387unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
21388
21389#[repr(C)]
21391#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21392pub struct PhysicalDeviceShaderIntegerDotProductProperties {
21393 pub s_type: StructureType,
21394 pub next: *mut c_void,
21395 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
21396 pub integer_dot_product_8bit_signed_accelerated: Bool32,
21397 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
21398 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
21399 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
21400 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
21401 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
21402 pub integer_dot_product_16bit_signed_accelerated: Bool32,
21403 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
21404 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
21405 pub integer_dot_product_32bit_signed_accelerated: Bool32,
21406 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
21407 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
21408 pub integer_dot_product_64bit_signed_accelerated: Bool32,
21409 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
21410 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
21411 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
21412 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
21413 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
21414 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
21415 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
21416 Bool32,
21417 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
21418 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
21419 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
21420 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
21421 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
21422 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
21423 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
21424 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
21425 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
21426}
21427
21428impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
21429 #[inline]
21430 fn default() -> Self {
21431 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() }
21432 }
21433}
21434
21435unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
21436unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
21437
21438#[repr(C)]
21440#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21441pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21442 pub s_type: StructureType,
21443 pub next: *mut c_void,
21444 pub shader_integer_functions2: Bool32,
21445}
21446
21447impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
21448 #[inline]
21449 fn default() -> Self {
21450 Self {
21451 s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
21452 next: ptr::null_mut(),
21453 shader_integer_functions2: Bool32::default(),
21454 }
21455 }
21456}
21457
21458unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21459unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
21460
21461#[repr(C)]
21463#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21464pub struct PhysicalDeviceShaderLongVectorFeaturesEXT {
21465 pub s_type: StructureType,
21466 pub next: *mut c_void,
21467 pub long_vector: Bool32,
21468}
21469
21470impl Default for PhysicalDeviceShaderLongVectorFeaturesEXT {
21471 #[inline]
21472 fn default() -> Self {
21473 Self {
21474 s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT,
21475 next: ptr::null_mut(),
21476 long_vector: Bool32::default(),
21477 }
21478 }
21479}
21480
21481unsafe impl Send for PhysicalDeviceShaderLongVectorFeaturesEXT {}
21482unsafe impl Sync for PhysicalDeviceShaderLongVectorFeaturesEXT {}
21483
21484#[repr(C)]
21486#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21487pub struct PhysicalDeviceShaderLongVectorPropertiesEXT {
21488 pub s_type: StructureType,
21489 pub next: *mut c_void,
21490 pub max_vector_components: u32,
21491}
21492
21493impl Default for PhysicalDeviceShaderLongVectorPropertiesEXT {
21494 #[inline]
21495 fn default() -> Self {
21496 Self {
21497 s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT,
21498 next: ptr::null_mut(),
21499 max_vector_components: u32::default(),
21500 }
21501 }
21502}
21503
21504unsafe impl Send for PhysicalDeviceShaderLongVectorPropertiesEXT {}
21505unsafe impl Sync for PhysicalDeviceShaderLongVectorPropertiesEXT {}
21506
21507#[repr(C)]
21509#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21510pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21511 pub s_type: StructureType,
21512 pub next: *mut c_void,
21513 pub shader_maximal_reconvergence: Bool32,
21514}
21515
21516impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
21517 #[inline]
21518 fn default() -> Self {
21519 Self {
21520 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
21521 next: ptr::null_mut(),
21522 shader_maximal_reconvergence: Bool32::default(),
21523 }
21524 }
21525}
21526
21527unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21528unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
21529
21530#[repr(C)]
21532#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21533pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21534 pub s_type: StructureType,
21535 pub next: *mut c_void,
21536 pub shader_module_identifier: Bool32,
21537}
21538
21539impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
21540 #[inline]
21541 fn default() -> Self {
21542 Self {
21543 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
21544 next: ptr::null_mut(),
21545 shader_module_identifier: Bool32::default(),
21546 }
21547 }
21548}
21549
21550unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21551unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
21552
21553#[repr(C)]
21555#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21556pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21557 pub s_type: StructureType,
21558 pub next: *mut c_void,
21559 pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
21560}
21561
21562impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
21563 #[inline]
21564 fn default() -> Self {
21565 Self {
21566 s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
21567 next: ptr::null_mut(),
21568 shader_module_identifier_algorithm_uuid: ByteArray::default(),
21569 }
21570 }
21571}
21572
21573unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21574unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
21575
21576#[repr(C)]
21578#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21579pub struct PhysicalDeviceShaderObjectFeaturesEXT {
21580 pub s_type: StructureType,
21581 pub next: *mut c_void,
21582 pub shader_object: Bool32,
21583}
21584
21585impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
21586 #[inline]
21587 fn default() -> Self {
21588 Self {
21589 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
21590 next: ptr::null_mut(),
21591 shader_object: Bool32::default(),
21592 }
21593 }
21594}
21595
21596unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
21597unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
21598
21599#[repr(C)]
21601#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21602pub struct PhysicalDeviceShaderObjectPropertiesEXT {
21603 pub s_type: StructureType,
21604 pub next: *mut c_void,
21605 pub shader_binary_uuid: ByteArray<UUID_SIZE>,
21606 pub shader_binary_version: u32,
21607}
21608
21609impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
21610 #[inline]
21611 fn default() -> Self {
21612 Self {
21613 s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
21614 next: ptr::null_mut(),
21615 shader_binary_uuid: ByteArray::default(),
21616 shader_binary_version: u32::default(),
21617 }
21618 }
21619}
21620
21621unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
21622unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
21623
21624#[repr(C)]
21626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21627pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
21628 pub s_type: StructureType,
21629 pub next: *mut c_void,
21630 pub shader_quad_control: Bool32,
21631}
21632
21633impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
21634 #[inline]
21635 fn default() -> Self {
21636 Self {
21637 s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
21638 next: ptr::null_mut(),
21639 shader_quad_control: Bool32::default(),
21640 }
21641 }
21642}
21643
21644unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21645unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
21646
21647#[repr(C)]
21649#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21650pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21651 pub s_type: StructureType,
21652 pub next: *mut c_void,
21653 pub shader_relaxed_extended_instruction: Bool32,
21654}
21655
21656impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
21657 #[inline]
21658 fn default() -> Self {
21659 Self {
21660 s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
21661 next: ptr::null_mut(),
21662 shader_relaxed_extended_instruction: Bool32::default(),
21663 }
21664 }
21665}
21666
21667unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21668unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
21669
21670#[repr(C)]
21672#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21673pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21674 pub s_type: StructureType,
21675 pub next: *mut c_void,
21676 pub shader_replicated_composites: Bool32,
21677}
21678
21679impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
21680 #[inline]
21681 fn default() -> Self {
21682 Self {
21683 s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
21684 next: ptr::null_mut(),
21685 shader_replicated_composites: Bool32::default(),
21686 }
21687 }
21688}
21689
21690unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21691unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
21692
21693#[repr(C)]
21695#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21696pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21697 pub s_type: StructureType,
21698 pub next: *mut c_void,
21699 pub shader_sm_builtins: Bool32,
21700}
21701
21702impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
21703 #[inline]
21704 fn default() -> Self {
21705 Self {
21706 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
21707 next: ptr::null_mut(),
21708 shader_sm_builtins: Bool32::default(),
21709 }
21710 }
21711}
21712
21713unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21714unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
21715
21716#[repr(C)]
21718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21719pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21720 pub s_type: StructureType,
21721 pub next: *mut c_void,
21722 pub shader_sm_count: u32,
21723 pub shader_warps_per_sm: u32,
21724}
21725
21726impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
21727 #[inline]
21728 fn default() -> Self {
21729 Self {
21730 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
21731 next: ptr::null_mut(),
21732 shader_sm_count: u32::default(),
21733 shader_warps_per_sm: u32::default(),
21734 }
21735 }
21736}
21737
21738unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21739unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
21740
21741#[repr(C)]
21743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21744pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21745 pub s_type: StructureType,
21746 pub next: *mut c_void,
21747 pub shader_subgroup_extended_types: Bool32,
21748}
21749
21750impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
21751 #[inline]
21752 fn default() -> Self {
21753 Self {
21754 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
21755 next: ptr::null_mut(),
21756 shader_subgroup_extended_types: Bool32::default(),
21757 }
21758 }
21759}
21760
21761unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21762unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
21763
21764#[repr(C)]
21766#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21767pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
21768 pub s_type: StructureType,
21769 pub next: *mut c_void,
21770 pub shader_subgroup_rotate: Bool32,
21771 pub shader_subgroup_rotate_clustered: Bool32,
21772}
21773
21774impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
21775 #[inline]
21776 fn default() -> Self {
21777 Self {
21778 s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
21779 next: ptr::null_mut(),
21780 shader_subgroup_rotate: Bool32::default(),
21781 shader_subgroup_rotate_clustered: Bool32::default(),
21782 }
21783 }
21784}
21785
21786unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
21787unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
21788
21789#[repr(C)]
21791#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21792pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21793 pub s_type: StructureType,
21794 pub next: *mut c_void,
21795 pub shader_subgroup_uniform_control_flow: Bool32,
21796}
21797
21798impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
21799 #[inline]
21800 fn default() -> Self {
21801 Self {
21802 s_type:
21803 StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
21804 next: ptr::null_mut(),
21805 shader_subgroup_uniform_control_flow: Bool32::default(),
21806 }
21807 }
21808}
21809
21810unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21811unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
21812
21813#[repr(C)]
21815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21816pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
21817 pub s_type: StructureType,
21818 pub next: *mut c_void,
21819 pub shader_terminate_invocation: Bool32,
21820}
21821
21822impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
21823 #[inline]
21824 fn default() -> Self {
21825 Self {
21826 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
21827 next: ptr::null_mut(),
21828 shader_terminate_invocation: Bool32::default(),
21829 }
21830 }
21831}
21832
21833unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
21834unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
21835
21836#[repr(C)]
21838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21839pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
21840 pub s_type: StructureType,
21841 pub next: *mut c_void,
21842 pub shader_tile_image_color_read_access: Bool32,
21843 pub shader_tile_image_depth_read_access: Bool32,
21844 pub shader_tile_image_stencil_read_access: Bool32,
21845}
21846
21847impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
21848 #[inline]
21849 fn default() -> Self {
21850 Self {
21851 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
21852 next: ptr::null_mut(),
21853 shader_tile_image_color_read_access: Bool32::default(),
21854 shader_tile_image_depth_read_access: Bool32::default(),
21855 shader_tile_image_stencil_read_access: Bool32::default(),
21856 }
21857 }
21858}
21859
21860unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
21861unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
21862
21863#[repr(C)]
21865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21866pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
21867 pub s_type: StructureType,
21868 pub next: *mut c_void,
21869 pub shader_tile_image_coherent_read_accelerated: Bool32,
21870 pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
21871 pub shader_tile_image_read_from_helper_invocation: Bool32,
21872}
21873
21874impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
21875 #[inline]
21876 fn default() -> Self {
21877 Self {
21878 s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
21879 next: ptr::null_mut(),
21880 shader_tile_image_coherent_read_accelerated: Bool32::default(),
21881 shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
21882 shader_tile_image_read_from_helper_invocation: Bool32::default(),
21883 }
21884 }
21885}
21886
21887unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
21888unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
21889
21890#[repr(C)]
21892#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21893pub struct PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21894 pub s_type: StructureType,
21895 pub next: *mut c_void,
21896 pub shader_uniform_buffer_unsized_array: Bool32,
21897}
21898
21899impl Default for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
21900 #[inline]
21901 fn default() -> Self {
21902 Self {
21903 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT,
21904 next: ptr::null_mut(),
21905 shader_uniform_buffer_unsized_array: Bool32::default(),
21906 }
21907 }
21908}
21909
21910unsafe impl Send for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21911unsafe impl Sync for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
21912
21913#[repr(C)]
21915#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21916pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21917 pub s_type: StructureType,
21918 pub next: *mut c_void,
21919 pub shader_untyped_pointers: Bool32,
21920}
21921
21922impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
21923 #[inline]
21924 fn default() -> Self {
21925 Self {
21926 s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
21927 next: ptr::null_mut(),
21928 shader_untyped_pointers: Bool32::default(),
21929 }
21930 }
21931}
21932
21933unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21934unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
21935
21936#[repr(C)]
21938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21939pub struct PhysicalDeviceShadingRateImageFeaturesNV {
21940 pub s_type: StructureType,
21941 pub next: *mut c_void,
21942 pub shading_rate_image: Bool32,
21943 pub shading_rate_coarse_sample_order: Bool32,
21944}
21945
21946impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
21947 #[inline]
21948 fn default() -> Self {
21949 Self {
21950 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
21951 next: ptr::null_mut(),
21952 shading_rate_image: Bool32::default(),
21953 shading_rate_coarse_sample_order: Bool32::default(),
21954 }
21955 }
21956}
21957
21958unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
21959unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
21960
21961#[repr(C)]
21963#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21964pub struct PhysicalDeviceShadingRateImagePropertiesNV {
21965 pub s_type: StructureType,
21966 pub next: *mut c_void,
21967 pub shading_rate_texel_size: Extent2D,
21968 pub shading_rate_palette_size: u32,
21969 pub shading_rate_max_coarse_samples: u32,
21970}
21971
21972impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
21973 #[inline]
21974 fn default() -> Self {
21975 Self {
21976 s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
21977 next: ptr::null_mut(),
21978 shading_rate_texel_size: Extent2D::default(),
21979 shading_rate_palette_size: u32::default(),
21980 shading_rate_max_coarse_samples: u32::default(),
21981 }
21982 }
21983}
21984
21985unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
21986unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
21987
21988#[repr(C)]
21990#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
21991pub struct PhysicalDeviceSparseImageFormatInfo2 {
21992 pub s_type: StructureType,
21993 pub next: *const c_void,
21994 pub format: Format,
21995 pub type_: ImageType,
21996 pub samples: SampleCountFlags,
21997 pub usage: ImageUsageFlags,
21998 pub tiling: ImageTiling,
21999}
22000
22001impl Default for PhysicalDeviceSparseImageFormatInfo2 {
22002 #[inline]
22003 fn default() -> Self {
22004 Self {
22005 s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
22006 next: ptr::null(),
22007 format: Format::default(),
22008 type_: ImageType::default(),
22009 samples: SampleCountFlags::default(),
22010 usage: ImageUsageFlags::default(),
22011 tiling: ImageTiling::default(),
22012 }
22013 }
22014}
22015
22016unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
22017unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
22018
22019#[repr(C)]
22021#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
22022pub struct PhysicalDeviceSparseProperties {
22023 pub residency_standard_2d_block_shape: Bool32,
22024 pub residency_standard_2d_multisample_block_shape: Bool32,
22025 pub residency_standard_3d_block_shape: Bool32,
22026 pub residency_aligned_mip_size: Bool32,
22027 pub residency_non_resident_strict: Bool32,
22028}
22029
22030#[repr(C)]
22032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22033pub struct PhysicalDeviceSubgroupProperties {
22034 pub s_type: StructureType,
22035 pub next: *mut c_void,
22036 pub subgroup_size: u32,
22037 pub supported_stages: ShaderStageFlags,
22038 pub supported_operations: SubgroupFeatureFlags,
22039 pub quad_operations_in_all_stages: Bool32,
22040}
22041
22042impl Default for PhysicalDeviceSubgroupProperties {
22043 #[inline]
22044 fn default() -> Self {
22045 Self {
22046 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
22047 next: ptr::null_mut(),
22048 subgroup_size: u32::default(),
22049 supported_stages: ShaderStageFlags::default(),
22050 supported_operations: SubgroupFeatureFlags::default(),
22051 quad_operations_in_all_stages: Bool32::default(),
22052 }
22053 }
22054}
22055
22056unsafe impl Send for PhysicalDeviceSubgroupProperties {}
22057unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
22058
22059#[repr(C)]
22061#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22062pub struct PhysicalDeviceSubgroupSizeControlFeatures {
22063 pub s_type: StructureType,
22064 pub next: *mut c_void,
22065 pub subgroup_size_control: Bool32,
22066 pub compute_full_subgroups: Bool32,
22067}
22068
22069impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
22070 #[inline]
22071 fn default() -> Self {
22072 Self {
22073 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
22074 next: ptr::null_mut(),
22075 subgroup_size_control: Bool32::default(),
22076 compute_full_subgroups: Bool32::default(),
22077 }
22078 }
22079}
22080
22081unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
22082unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
22083
22084#[repr(C)]
22086#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22087pub struct PhysicalDeviceSubgroupSizeControlProperties {
22088 pub s_type: StructureType,
22089 pub next: *mut c_void,
22090 pub min_subgroup_size: u32,
22091 pub max_subgroup_size: u32,
22092 pub max_compute_workgroup_subgroups: u32,
22093 pub required_subgroup_size_stages: ShaderStageFlags,
22094}
22095
22096impl Default for PhysicalDeviceSubgroupSizeControlProperties {
22097 #[inline]
22098 fn default() -> Self {
22099 Self {
22100 s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
22101 next: ptr::null_mut(),
22102 min_subgroup_size: u32::default(),
22103 max_subgroup_size: u32::default(),
22104 max_compute_workgroup_subgroups: u32::default(),
22105 required_subgroup_size_stages: ShaderStageFlags::default(),
22106 }
22107 }
22108}
22109
22110unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
22111unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
22112
22113#[repr(C)]
22115#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22116pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
22117 pub s_type: StructureType,
22118 pub next: *mut c_void,
22119 pub subpass_merge_feedback: Bool32,
22120}
22121
22122impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
22123 #[inline]
22124 fn default() -> Self {
22125 Self {
22126 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
22127 next: ptr::null_mut(),
22128 subpass_merge_feedback: Bool32::default(),
22129 }
22130 }
22131}
22132
22133unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
22134unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
22135
22136#[repr(C)]
22138#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22139pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
22140 pub s_type: StructureType,
22141 pub next: *mut c_void,
22142 pub subpass_shading: Bool32,
22143}
22144
22145impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
22146 #[inline]
22147 fn default() -> Self {
22148 Self {
22149 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
22150 next: ptr::null_mut(),
22151 subpass_shading: Bool32::default(),
22152 }
22153 }
22154}
22155
22156unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
22157unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
22158
22159#[repr(C)]
22161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22162pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
22163 pub s_type: StructureType,
22164 pub next: *mut c_void,
22165 pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
22166}
22167
22168impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
22169 #[inline]
22170 fn default() -> Self {
22171 Self {
22172 s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
22173 next: ptr::null_mut(),
22174 max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
22175 }
22176 }
22177}
22178
22179unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
22180unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
22181
22182#[repr(C)]
22184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22185pub struct PhysicalDeviceSurfaceInfo2KHR {
22186 pub s_type: StructureType,
22187 pub next: *const c_void,
22188 pub surface: SurfaceKHR,
22189}
22190
22191impl Default for PhysicalDeviceSurfaceInfo2KHR {
22192 #[inline]
22193 fn default() -> Self {
22194 Self {
22195 s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
22196 next: ptr::null(),
22197 surface: SurfaceKHR::default(),
22198 }
22199 }
22200}
22201
22202unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
22203unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
22204
22205#[repr(C)]
22207#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22208pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
22209 pub s_type: StructureType,
22210 pub next: *mut c_void,
22211 pub swapchain_maintenance1: Bool32,
22212}
22213
22214impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
22215 #[inline]
22216 fn default() -> Self {
22217 Self {
22218 s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
22219 next: ptr::null_mut(),
22220 swapchain_maintenance1: Bool32::default(),
22221 }
22222 }
22223}
22224
22225unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
22226unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
22227
22228#[repr(C)]
22230#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22231pub struct PhysicalDeviceSynchronization2Features {
22232 pub s_type: StructureType,
22233 pub next: *mut c_void,
22234 pub synchronization2: Bool32,
22235}
22236
22237impl Default for PhysicalDeviceSynchronization2Features {
22238 #[inline]
22239 fn default() -> Self {
22240 Self {
22241 s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
22242 next: ptr::null_mut(),
22243 synchronization2: Bool32::default(),
22244 }
22245 }
22246}
22247
22248unsafe impl Send for PhysicalDeviceSynchronization2Features {}
22249unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
22250
22251#[repr(C)]
22253#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22254pub struct PhysicalDeviceTensorFeaturesARM {
22255 pub s_type: StructureType,
22256 pub next: *mut c_void,
22257 pub tensor_non_packed: Bool32,
22258 pub shader_tensor_access: Bool32,
22259 pub shader_storage_tensor_array_dynamic_indexing: Bool32,
22260 pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
22261 pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
22262 pub tensors: Bool32,
22263}
22264
22265impl Default for PhysicalDeviceTensorFeaturesARM {
22266 #[inline]
22267 fn default() -> Self {
22268 Self {
22269 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
22270 next: ptr::null_mut(),
22271 tensor_non_packed: Bool32::default(),
22272 shader_tensor_access: Bool32::default(),
22273 shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
22274 shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
22275 descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
22276 tensors: Bool32::default(),
22277 }
22278 }
22279}
22280
22281unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
22282unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
22283
22284#[repr(C)]
22286#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22287pub struct PhysicalDeviceTensorPropertiesARM {
22288 pub s_type: StructureType,
22289 pub next: *mut c_void,
22290 pub max_tensor_dimension_count: u32,
22291 pub max_tensor_elements: u64,
22292 pub max_per_dimension_tensor_elements: u64,
22293 pub max_tensor_stride: i64,
22294 pub max_tensor_size: u64,
22295 pub max_tensor_shader_access_array_length: u32,
22296 pub max_tensor_shader_access_size: u32,
22297 pub max_descriptor_set_storage_tensors: u32,
22298 pub max_per_stage_descriptor_set_storage_tensors: u32,
22299 pub max_descriptor_set_update_after_bind_storage_tensors: u32,
22300 pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
22301 pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
22302 pub shader_tensor_supported_stages: ShaderStageFlags,
22303}
22304
22305impl Default for PhysicalDeviceTensorPropertiesARM {
22306 #[inline]
22307 fn default() -> Self {
22308 Self {
22309 s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
22310 next: ptr::null_mut(),
22311 max_tensor_dimension_count: u32::default(),
22312 max_tensor_elements: u64::default(),
22313 max_per_dimension_tensor_elements: u64::default(),
22314 max_tensor_stride: i64::default(),
22315 max_tensor_size: u64::default(),
22316 max_tensor_shader_access_array_length: u32::default(),
22317 max_tensor_shader_access_size: u32::default(),
22318 max_descriptor_set_storage_tensors: u32::default(),
22319 max_per_stage_descriptor_set_storage_tensors: u32::default(),
22320 max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
22321 max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
22322 shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
22323 shader_tensor_supported_stages: ShaderStageFlags::default(),
22324 }
22325 }
22326}
22327
22328unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
22329unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
22330
22331#[repr(C)]
22333#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22334pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22335 pub s_type: StructureType,
22336 pub next: *mut c_void,
22337 pub texel_buffer_alignment: Bool32,
22338}
22339
22340impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
22341 #[inline]
22342 fn default() -> Self {
22343 Self {
22344 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
22345 next: ptr::null_mut(),
22346 texel_buffer_alignment: Bool32::default(),
22347 }
22348 }
22349}
22350
22351unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22352unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
22353
22354#[repr(C)]
22356#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22357pub struct PhysicalDeviceTexelBufferAlignmentProperties {
22358 pub s_type: StructureType,
22359 pub next: *mut c_void,
22360 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
22361 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
22362 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
22363 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
22364}
22365
22366impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
22367 #[inline]
22368 fn default() -> Self {
22369 Self {
22370 s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
22371 next: ptr::null_mut(),
22372 storage_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22373 storage_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22374 uniform_texel_buffer_offset_alignment_bytes: DeviceSize::default(),
22375 uniform_texel_buffer_offset_single_texel_alignment: Bool32::default(),
22376 }
22377 }
22378}
22379
22380unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
22381unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
22382
22383#[repr(C)]
22385#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22386pub struct PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
22387 pub s_type: StructureType,
22388 pub next: *mut c_void,
22389 pub textureCompressionASTC_3D: Bool32,
22390}
22391
22392impl Default for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
22393 #[inline]
22394 fn default() -> Self {
22395 Self {
22396 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT,
22397 next: ptr::null_mut(),
22398 textureCompressionASTC_3D: Bool32::default(),
22399 }
22400 }
22401}
22402
22403unsafe impl Send for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
22404unsafe impl Sync for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
22405
22406#[repr(C)]
22408#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22409pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
22410 pub s_type: StructureType,
22411 pub next: *mut c_void,
22412 pub texture_compression_astc_hdr: Bool32,
22413}
22414
22415impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
22416 #[inline]
22417 fn default() -> Self {
22418 Self {
22419 s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
22420 next: ptr::null_mut(),
22421 texture_compression_astc_hdr: Bool32::default(),
22422 }
22423 }
22424}
22425
22426unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22427unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
22428
22429#[repr(C)]
22431#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22432pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22433 pub s_type: StructureType,
22434 pub next: *mut c_void,
22435 pub tile_memory_heap: Bool32,
22436}
22437
22438impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
22439 #[inline]
22440 fn default() -> Self {
22441 Self {
22442 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
22443 next: ptr::null_mut(),
22444 tile_memory_heap: Bool32::default(),
22445 }
22446 }
22447}
22448
22449unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22450unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
22451
22452#[repr(C)]
22454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22455pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22456 pub s_type: StructureType,
22457 pub next: *mut c_void,
22458 pub queue_submit_boundary: Bool32,
22459 pub tile_buffer_transfers: Bool32,
22460}
22461
22462impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
22463 #[inline]
22464 fn default() -> Self {
22465 Self {
22466 s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
22467 next: ptr::null_mut(),
22468 queue_submit_boundary: Bool32::default(),
22469 tile_buffer_transfers: Bool32::default(),
22470 }
22471 }
22472}
22473
22474unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22475unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
22476
22477#[repr(C)]
22479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22480pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
22481 pub s_type: StructureType,
22482 pub next: *mut c_void,
22483 pub tile_properties: Bool32,
22484}
22485
22486impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
22487 #[inline]
22488 fn default() -> Self {
22489 Self {
22490 s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
22491 next: ptr::null_mut(),
22492 tile_properties: Bool32::default(),
22493 }
22494 }
22495}
22496
22497unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22498unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
22499
22500#[repr(C)]
22502#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22503pub struct PhysicalDeviceTileShadingFeaturesQCOM {
22504 pub s_type: StructureType,
22505 pub next: *mut c_void,
22506 pub tile_shading: Bool32,
22507 pub tile_shading_fragment_stage: Bool32,
22508 pub tile_shading_color_attachments: Bool32,
22509 pub tile_shading_depth_attachments: Bool32,
22510 pub tile_shading_stencil_attachments: Bool32,
22511 pub tile_shading_input_attachments: Bool32,
22512 pub tile_shading_sampled_attachments: Bool32,
22513 pub tile_shading_per_tile_draw: Bool32,
22514 pub tile_shading_per_tile_dispatch: Bool32,
22515 pub tile_shading_dispatch_tile: Bool32,
22516 pub tile_shading_apron: Bool32,
22517 pub tile_shading_anisotropic_apron: Bool32,
22518 pub tile_shading_atomic_ops: Bool32,
22519 pub tile_shading_image_processing: Bool32,
22520}
22521
22522impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
22523 #[inline]
22524 fn default() -> Self {
22525 Self {
22526 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
22527 next: ptr::null_mut(),
22528 tile_shading: Bool32::default(),
22529 tile_shading_fragment_stage: Bool32::default(),
22530 tile_shading_color_attachments: Bool32::default(),
22531 tile_shading_depth_attachments: Bool32::default(),
22532 tile_shading_stencil_attachments: Bool32::default(),
22533 tile_shading_input_attachments: Bool32::default(),
22534 tile_shading_sampled_attachments: Bool32::default(),
22535 tile_shading_per_tile_draw: Bool32::default(),
22536 tile_shading_per_tile_dispatch: Bool32::default(),
22537 tile_shading_dispatch_tile: Bool32::default(),
22538 tile_shading_apron: Bool32::default(),
22539 tile_shading_anisotropic_apron: Bool32::default(),
22540 tile_shading_atomic_ops: Bool32::default(),
22541 tile_shading_image_processing: Bool32::default(),
22542 }
22543 }
22544}
22545
22546unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
22547unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
22548
22549#[repr(C)]
22551#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22552pub struct PhysicalDeviceTileShadingPropertiesQCOM {
22553 pub s_type: StructureType,
22554 pub next: *mut c_void,
22555 pub max_apron_size: u32,
22556 pub prefer_non_coherent: Bool32,
22557 pub tile_granularity: Extent2D,
22558 pub max_tile_shading_rate: Extent2D,
22559}
22560
22561impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
22562 #[inline]
22563 fn default() -> Self {
22564 Self {
22565 s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
22566 next: ptr::null_mut(),
22567 max_apron_size: u32::default(),
22568 prefer_non_coherent: Bool32::default(),
22569 tile_granularity: Extent2D::default(),
22570 max_tile_shading_rate: Extent2D::default(),
22571 }
22572 }
22573}
22574
22575unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
22576unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
22577
22578#[repr(C)]
22580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22581pub struct PhysicalDeviceTimelineSemaphoreFeatures {
22582 pub s_type: StructureType,
22583 pub next: *mut c_void,
22584 pub timeline_semaphore: Bool32,
22585}
22586
22587impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
22588 #[inline]
22589 fn default() -> Self {
22590 Self {
22591 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
22592 next: ptr::null_mut(),
22593 timeline_semaphore: Bool32::default(),
22594 }
22595 }
22596}
22597
22598unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
22599unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
22600
22601#[repr(C)]
22603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22604pub struct PhysicalDeviceTimelineSemaphoreProperties {
22605 pub s_type: StructureType,
22606 pub next: *mut c_void,
22607 pub max_timeline_semaphore_value_difference: u64,
22608}
22609
22610impl Default for PhysicalDeviceTimelineSemaphoreProperties {
22611 #[inline]
22612 fn default() -> Self {
22613 Self {
22614 s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
22615 next: ptr::null_mut(),
22616 max_timeline_semaphore_value_difference: u64::default(),
22617 }
22618 }
22619}
22620
22621unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
22622unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
22623
22624#[repr(C)]
22626#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22627pub struct PhysicalDeviceToolProperties {
22628 pub s_type: StructureType,
22629 pub next: *mut c_void,
22630 pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
22631 pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
22632 pub purposes: ToolPurposeFlags,
22633 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
22634 pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
22635}
22636
22637impl Default for PhysicalDeviceToolProperties {
22638 #[inline]
22639 fn default() -> Self {
22640 Self {
22641 s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
22642 next: ptr::null_mut(),
22643 name: StringArray::default(),
22644 version: StringArray::default(),
22645 purposes: ToolPurposeFlags::default(),
22646 description: StringArray::default(),
22647 layer: StringArray::default(),
22648 }
22649 }
22650}
22651
22652unsafe impl Send for PhysicalDeviceToolProperties {}
22653unsafe impl Sync for PhysicalDeviceToolProperties {}
22654
22655#[repr(C)]
22657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22658pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
22659 pub s_type: StructureType,
22660 pub next: *mut c_void,
22661 pub transform_feedback: Bool32,
22662 pub geometry_streams: Bool32,
22663}
22664
22665impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
22666 #[inline]
22667 fn default() -> Self {
22668 Self {
22669 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
22670 next: ptr::null_mut(),
22671 transform_feedback: Bool32::default(),
22672 geometry_streams: Bool32::default(),
22673 }
22674 }
22675}
22676
22677unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22678unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
22679
22680#[repr(C)]
22682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22683pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
22684 pub s_type: StructureType,
22685 pub next: *mut c_void,
22686 pub max_transform_feedback_streams: u32,
22687 pub max_transform_feedback_buffers: u32,
22688 pub max_transform_feedback_buffer_size: DeviceSize,
22689 pub max_transform_feedback_stream_data_size: u32,
22690 pub max_transform_feedback_buffer_data_size: u32,
22691 pub max_transform_feedback_buffer_data_stride: u32,
22692 pub transform_feedback_queries: Bool32,
22693 pub transform_feedback_streams_lines_triangles: Bool32,
22694 pub transform_feedback_rasterization_stream_select: Bool32,
22695 pub transform_feedback_draw: Bool32,
22696}
22697
22698impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
22699 #[inline]
22700 fn default() -> Self {
22701 Self {
22702 s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
22703 next: ptr::null_mut(),
22704 max_transform_feedback_streams: u32::default(),
22705 max_transform_feedback_buffers: u32::default(),
22706 max_transform_feedback_buffer_size: DeviceSize::default(),
22707 max_transform_feedback_stream_data_size: u32::default(),
22708 max_transform_feedback_buffer_data_size: u32::default(),
22709 max_transform_feedback_buffer_data_stride: u32::default(),
22710 transform_feedback_queries: Bool32::default(),
22711 transform_feedback_streams_lines_triangles: Bool32::default(),
22712 transform_feedback_rasterization_stream_select: Bool32::default(),
22713 transform_feedback_draw: Bool32::default(),
22714 }
22715 }
22716}
22717
22718unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22719unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
22720
22721#[repr(C)]
22723#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22724pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22725 pub s_type: StructureType,
22726 pub next: *mut c_void,
22727 pub unified_image_layouts: Bool32,
22728 pub unified_image_layouts_video: Bool32,
22729}
22730
22731impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
22732 #[inline]
22733 fn default() -> Self {
22734 Self {
22735 s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
22736 next: ptr::null_mut(),
22737 unified_image_layouts: Bool32::default(),
22738 unified_image_layouts_video: Bool32::default(),
22739 }
22740 }
22741}
22742
22743unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22744unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
22745
22746#[repr(C)]
22748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22749pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
22750 pub s_type: StructureType,
22751 pub next: *mut c_void,
22752 pub uniform_buffer_standard_layout: Bool32,
22753}
22754
22755impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
22756 #[inline]
22757 fn default() -> Self {
22758 Self {
22759 s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
22760 next: ptr::null_mut(),
22761 uniform_buffer_standard_layout: Bool32::default(),
22762 }
22763 }
22764}
22765
22766unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22767unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
22768
22769#[repr(C)]
22771#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22772pub struct PhysicalDeviceVariablePointersFeatures {
22773 pub s_type: StructureType,
22774 pub next: *mut c_void,
22775 pub variable_pointers_storage_buffer: Bool32,
22776 pub variable_pointers: Bool32,
22777}
22778
22779impl Default for PhysicalDeviceVariablePointersFeatures {
22780 #[inline]
22781 fn default() -> Self {
22782 Self {
22783 s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
22784 next: ptr::null_mut(),
22785 variable_pointers_storage_buffer: Bool32::default(),
22786 variable_pointers: Bool32::default(),
22787 }
22788 }
22789}
22790
22791unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
22792unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
22793
22794#[repr(C)]
22796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22797pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
22798 pub s_type: StructureType,
22799 pub next: *mut c_void,
22800 pub vertex_attribute_instance_rate_divisor: Bool32,
22801 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
22802}
22803
22804impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
22805 #[inline]
22806 fn default() -> Self {
22807 Self {
22808 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
22809 next: ptr::null_mut(),
22810 vertex_attribute_instance_rate_divisor: Bool32::default(),
22811 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
22812 }
22813 }
22814}
22815
22816unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
22817unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
22818
22819#[repr(C)]
22821#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22822pub struct PhysicalDeviceVertexAttributeDivisorProperties {
22823 pub s_type: StructureType,
22824 pub next: *mut c_void,
22825 pub max_vertex_attrib_divisor: u32,
22826 pub supports_non_zero_first_instance: Bool32,
22827}
22828
22829impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
22830 #[inline]
22831 fn default() -> Self {
22832 Self {
22833 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
22834 next: ptr::null_mut(),
22835 max_vertex_attrib_divisor: u32::default(),
22836 supports_non_zero_first_instance: Bool32::default(),
22837 }
22838 }
22839}
22840
22841unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
22842unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
22843
22844#[repr(C)]
22846#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22847pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22848 pub s_type: StructureType,
22849 pub next: *mut c_void,
22850 pub max_vertex_attrib_divisor: u32,
22851}
22852
22853impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
22854 #[inline]
22855 fn default() -> Self {
22856 Self {
22857 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
22858 next: ptr::null_mut(),
22859 max_vertex_attrib_divisor: u32::default(),
22860 }
22861 }
22862}
22863
22864unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22865unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
22866
22867#[repr(C)]
22869#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22870pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22871 pub s_type: StructureType,
22872 pub next: *mut c_void,
22873 pub vertex_attribute_robustness: Bool32,
22874}
22875
22876impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
22877 #[inline]
22878 fn default() -> Self {
22879 Self {
22880 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
22881 next: ptr::null_mut(),
22882 vertex_attribute_robustness: Bool32::default(),
22883 }
22884 }
22885}
22886
22887unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22888unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
22889
22890#[repr(C)]
22892#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22893pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22894 pub s_type: StructureType,
22895 pub next: *mut c_void,
22896 pub vertex_input_dynamic_state: Bool32,
22897}
22898
22899impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
22900 #[inline]
22901 fn default() -> Self {
22902 Self {
22903 s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
22904 next: ptr::null_mut(),
22905 vertex_input_dynamic_state: Bool32::default(),
22906 }
22907 }
22908}
22909
22910unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22911unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
22912
22913#[repr(C)]
22915#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22916pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22917 pub s_type: StructureType,
22918 pub next: *mut c_void,
22919 pub video_decode_vp9: Bool32,
22920}
22921
22922impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
22923 #[inline]
22924 fn default() -> Self {
22925 Self {
22926 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
22927 next: ptr::null_mut(),
22928 video_decode_vp9: Bool32::default(),
22929 }
22930 }
22931}
22932
22933unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22934unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
22935
22936#[repr(C)]
22938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22939pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22940 pub s_type: StructureType,
22941 pub next: *mut c_void,
22942 pub video_encode_av1: Bool32,
22943}
22944
22945impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
22946 #[inline]
22947 fn default() -> Self {
22948 Self {
22949 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
22950 next: ptr::null_mut(),
22951 video_encode_av1: Bool32::default(),
22952 }
22953 }
22954}
22955
22956unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22957unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
22958
22959#[repr(C)]
22961#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22962pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22963 pub s_type: StructureType,
22964 pub next: *mut c_void,
22965 pub video_encode_intra_refresh: Bool32,
22966}
22967
22968impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
22969 #[inline]
22970 fn default() -> Self {
22971 Self {
22972 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
22973 next: ptr::null_mut(),
22974 video_encode_intra_refresh: Bool32::default(),
22975 }
22976 }
22977}
22978
22979unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22980unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
22981
22982#[repr(C)]
22984#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
22985pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22986 pub s_type: StructureType,
22987 pub next: *const c_void,
22988 pub video_profile: *const VideoProfileInfoKHR,
22989 pub quality_level: u32,
22990}
22991
22992impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
22993 #[inline]
22994 fn default() -> Self {
22995 Self {
22996 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
22997 next: ptr::null(),
22998 video_profile: ptr::null(),
22999 quality_level: u32::default(),
23000 }
23001 }
23002}
23003
23004unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
23005unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
23006
23007#[repr(C)]
23009#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23010pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
23011 pub s_type: StructureType,
23012 pub next: *mut c_void,
23013 pub video_encode_quantization_map: Bool32,
23014}
23015
23016impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
23017 #[inline]
23018 fn default() -> Self {
23019 Self {
23020 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
23021 next: ptr::null_mut(),
23022 video_encode_quantization_map: Bool32::default(),
23023 }
23024 }
23025}
23026
23027unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
23028unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
23029
23030#[repr(C)]
23032#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23033pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
23034 pub s_type: StructureType,
23035 pub next: *mut c_void,
23036 pub video_encode_rgb_conversion: Bool32,
23037}
23038
23039impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
23040 #[inline]
23041 fn default() -> Self {
23042 Self {
23043 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
23044 next: ptr::null_mut(),
23045 video_encode_rgb_conversion: Bool32::default(),
23046 }
23047 }
23048}
23049
23050unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
23051unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
23052
23053#[repr(C)]
23055#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23056pub struct PhysicalDeviceVideoFormatInfoKHR {
23057 pub s_type: StructureType,
23058 pub next: *const c_void,
23059 pub image_usage: ImageUsageFlags,
23060}
23061
23062impl Default for PhysicalDeviceVideoFormatInfoKHR {
23063 #[inline]
23064 fn default() -> Self {
23065 Self {
23066 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
23067 next: ptr::null(),
23068 image_usage: ImageUsageFlags::default(),
23069 }
23070 }
23071}
23072
23073unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
23074unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
23075
23076#[repr(C)]
23078#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23079pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
23080 pub s_type: StructureType,
23081 pub next: *mut c_void,
23082 pub video_maintenance1: Bool32,
23083}
23084
23085impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
23086 #[inline]
23087 fn default() -> Self {
23088 Self {
23089 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
23090 next: ptr::null_mut(),
23091 video_maintenance1: Bool32::default(),
23092 }
23093 }
23094}
23095
23096unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
23097unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
23098
23099#[repr(C)]
23101#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23102pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
23103 pub s_type: StructureType,
23104 pub next: *mut c_void,
23105 pub video_maintenance2: Bool32,
23106}
23107
23108impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
23109 #[inline]
23110 fn default() -> Self {
23111 Self {
23112 s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
23113 next: ptr::null_mut(),
23114 video_maintenance2: Bool32::default(),
23115 }
23116 }
23117}
23118
23119unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
23120unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
23121
23122#[repr(C)]
23124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23125pub struct PhysicalDeviceVulkan11Features {
23126 pub s_type: StructureType,
23127 pub next: *mut c_void,
23128 pub storage_buffer_16bit_access: Bool32,
23129 pub uniform_and_storage_buffer_16bit_access: Bool32,
23130 pub storage_push_constant16: Bool32,
23131 pub storage_input_output16: Bool32,
23132 pub multiview: Bool32,
23133 pub multiview_geometry_shader: Bool32,
23134 pub multiview_tessellation_shader: Bool32,
23135 pub variable_pointers_storage_buffer: Bool32,
23136 pub variable_pointers: Bool32,
23137 pub protected_memory: Bool32,
23138 pub sampler_ycbcr_conversion: Bool32,
23139 pub shader_draw_parameters: Bool32,
23140}
23141
23142impl Default for PhysicalDeviceVulkan11Features {
23143 #[inline]
23144 fn default() -> Self {
23145 Self {
23146 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
23147 next: ptr::null_mut(),
23148 storage_buffer_16bit_access: Bool32::default(),
23149 uniform_and_storage_buffer_16bit_access: Bool32::default(),
23150 storage_push_constant16: Bool32::default(),
23151 storage_input_output16: Bool32::default(),
23152 multiview: Bool32::default(),
23153 multiview_geometry_shader: Bool32::default(),
23154 multiview_tessellation_shader: Bool32::default(),
23155 variable_pointers_storage_buffer: Bool32::default(),
23156 variable_pointers: Bool32::default(),
23157 protected_memory: Bool32::default(),
23158 sampler_ycbcr_conversion: Bool32::default(),
23159 shader_draw_parameters: Bool32::default(),
23160 }
23161 }
23162}
23163
23164unsafe impl Send for PhysicalDeviceVulkan11Features {}
23165unsafe impl Sync for PhysicalDeviceVulkan11Features {}
23166
23167#[repr(C)]
23169#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23170pub struct PhysicalDeviceVulkan11Properties {
23171 pub s_type: StructureType,
23172 pub next: *mut c_void,
23173 pub device_uuid: ByteArray<UUID_SIZE>,
23174 pub driver_uuid: ByteArray<UUID_SIZE>,
23175 pub device_luid: ByteArray<LUID_SIZE>,
23176 pub device_node_mask: u32,
23177 pub device_luid_valid: Bool32,
23178 pub subgroup_size: u32,
23179 pub subgroup_supported_stages: ShaderStageFlags,
23180 pub subgroup_supported_operations: SubgroupFeatureFlags,
23181 pub subgroup_quad_operations_in_all_stages: Bool32,
23182 pub point_clipping_behavior: PointClippingBehavior,
23183 pub max_multiview_view_count: u32,
23184 pub max_multiview_instance_index: u32,
23185 pub protected_no_fault: Bool32,
23186 pub max_per_set_descriptors: u32,
23187 pub max_memory_allocation_size: DeviceSize,
23188}
23189
23190impl Default for PhysicalDeviceVulkan11Properties {
23191 #[inline]
23192 fn default() -> Self {
23193 Self {
23194 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
23195 next: ptr::null_mut(),
23196 device_uuid: ByteArray::default(),
23197 driver_uuid: ByteArray::default(),
23198 device_luid: ByteArray::default(),
23199 device_node_mask: u32::default(),
23200 device_luid_valid: Bool32::default(),
23201 subgroup_size: u32::default(),
23202 subgroup_supported_stages: ShaderStageFlags::default(),
23203 subgroup_supported_operations: SubgroupFeatureFlags::default(),
23204 subgroup_quad_operations_in_all_stages: Bool32::default(),
23205 point_clipping_behavior: PointClippingBehavior::default(),
23206 max_multiview_view_count: u32::default(),
23207 max_multiview_instance_index: u32::default(),
23208 protected_no_fault: Bool32::default(),
23209 max_per_set_descriptors: u32::default(),
23210 max_memory_allocation_size: DeviceSize::default(),
23211 }
23212 }
23213}
23214
23215unsafe impl Send for PhysicalDeviceVulkan11Properties {}
23216unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
23217
23218#[repr(C)]
23220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23221pub struct PhysicalDeviceVulkan12Features {
23222 pub s_type: StructureType,
23223 pub next: *mut c_void,
23224 pub sampler_mirror_clamp_to_edge: Bool32,
23225 pub draw_indirect_count: Bool32,
23226 pub storage_buffer_8bit_access: Bool32,
23227 pub uniform_and_storage_buffer_8bit_access: Bool32,
23228 pub storage_push_constant8: Bool32,
23229 pub shader_buffer_int64_atomics: Bool32,
23230 pub shader_shared_int64_atomics: Bool32,
23231 pub shader_float16: Bool32,
23232 pub shader_int8: Bool32,
23233 pub descriptor_indexing: Bool32,
23234 pub shader_input_attachment_array_dynamic_indexing: Bool32,
23235 pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
23236 pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
23237 pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
23238 pub shader_sampled_image_array_non_uniform_indexing: Bool32,
23239 pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
23240 pub shader_storage_image_array_non_uniform_indexing: Bool32,
23241 pub shader_input_attachment_array_non_uniform_indexing: Bool32,
23242 pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
23243 pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
23244 pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
23245 pub descriptor_binding_sampled_image_update_after_bind: Bool32,
23246 pub descriptor_binding_storage_image_update_after_bind: Bool32,
23247 pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
23248 pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
23249 pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
23250 pub descriptor_binding_update_unused_while_pending: Bool32,
23251 pub descriptor_binding_partially_bound: Bool32,
23252 pub descriptor_binding_variable_descriptor_count: Bool32,
23253 pub runtime_descriptor_array: Bool32,
23254 pub sampler_filter_minmax: Bool32,
23255 pub scalar_block_layout: Bool32,
23256 pub imageless_framebuffer: Bool32,
23257 pub uniform_buffer_standard_layout: Bool32,
23258 pub shader_subgroup_extended_types: Bool32,
23259 pub separate_depth_stencil_layouts: Bool32,
23260 pub host_query_reset: Bool32,
23261 pub timeline_semaphore: Bool32,
23262 pub buffer_device_address: Bool32,
23263 pub buffer_device_address_capture_replay: Bool32,
23264 pub buffer_device_address_multi_device: Bool32,
23265 pub vulkan_memory_model: Bool32,
23266 pub vulkan_memory_model_device_scope: Bool32,
23267 pub vulkan_memory_model_availability_visibility_chains: Bool32,
23268 pub shader_output_viewport_index: Bool32,
23269 pub shader_output_layer: Bool32,
23270 pub subgroup_broadcast_dynamic_id: Bool32,
23271}
23272
23273impl Default for PhysicalDeviceVulkan12Features {
23274 #[inline]
23275 fn default() -> Self {
23276 Self {
23277 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
23278 next: ptr::null_mut(),
23279 sampler_mirror_clamp_to_edge: Bool32::default(),
23280 draw_indirect_count: Bool32::default(),
23281 storage_buffer_8bit_access: Bool32::default(),
23282 uniform_and_storage_buffer_8bit_access: Bool32::default(),
23283 storage_push_constant8: Bool32::default(),
23284 shader_buffer_int64_atomics: Bool32::default(),
23285 shader_shared_int64_atomics: Bool32::default(),
23286 shader_float16: Bool32::default(),
23287 shader_int8: Bool32::default(),
23288 descriptor_indexing: Bool32::default(),
23289 shader_input_attachment_array_dynamic_indexing: Bool32::default(),
23290 shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
23291 shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
23292 shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
23293 shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
23294 shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
23295 shader_storage_image_array_non_uniform_indexing: Bool32::default(),
23296 shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
23297 shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
23298 shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
23299 descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
23300 descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
23301 descriptor_binding_storage_image_update_after_bind: Bool32::default(),
23302 descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
23303 descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
23304 descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
23305 descriptor_binding_update_unused_while_pending: Bool32::default(),
23306 descriptor_binding_partially_bound: Bool32::default(),
23307 descriptor_binding_variable_descriptor_count: Bool32::default(),
23308 runtime_descriptor_array: Bool32::default(),
23309 sampler_filter_minmax: Bool32::default(),
23310 scalar_block_layout: Bool32::default(),
23311 imageless_framebuffer: Bool32::default(),
23312 uniform_buffer_standard_layout: Bool32::default(),
23313 shader_subgroup_extended_types: Bool32::default(),
23314 separate_depth_stencil_layouts: Bool32::default(),
23315 host_query_reset: Bool32::default(),
23316 timeline_semaphore: Bool32::default(),
23317 buffer_device_address: Bool32::default(),
23318 buffer_device_address_capture_replay: Bool32::default(),
23319 buffer_device_address_multi_device: Bool32::default(),
23320 vulkan_memory_model: Bool32::default(),
23321 vulkan_memory_model_device_scope: Bool32::default(),
23322 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23323 shader_output_viewport_index: Bool32::default(),
23324 shader_output_layer: Bool32::default(),
23325 subgroup_broadcast_dynamic_id: Bool32::default(),
23326 }
23327 }
23328}
23329
23330unsafe impl Send for PhysicalDeviceVulkan12Features {}
23331unsafe impl Sync for PhysicalDeviceVulkan12Features {}
23332
23333#[repr(C)]
23335#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23336pub struct PhysicalDeviceVulkan12Properties {
23337 pub s_type: StructureType,
23338 pub next: *mut c_void,
23339 pub driver_id: DriverId,
23340 pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
23341 pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
23342 pub conformance_version: ConformanceVersion,
23343 pub denorm_behavior_independence: ShaderFloatControlsIndependence,
23344 pub rounding_mode_independence: ShaderFloatControlsIndependence,
23345 pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
23346 pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
23347 pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
23348 pub shader_denorm_preserve_float16: Bool32,
23349 pub shader_denorm_preserve_float32: Bool32,
23350 pub shader_denorm_preserve_float64: Bool32,
23351 pub shader_denorm_flush_to_zero_float16: Bool32,
23352 pub shader_denorm_flush_to_zero_float32: Bool32,
23353 pub shader_denorm_flush_to_zero_float64: Bool32,
23354 pub shader_rounding_mode_rte_float16: Bool32,
23355 pub shader_rounding_mode_rte_float32: Bool32,
23356 pub shader_rounding_mode_rte_float64: Bool32,
23357 pub shader_rounding_mode_rtz_float16: Bool32,
23358 pub shader_rounding_mode_rtz_float32: Bool32,
23359 pub shader_rounding_mode_rtz_float64: Bool32,
23360 pub max_update_after_bind_descriptors_in_all_pools: u32,
23361 pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
23362 pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
23363 pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
23364 pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
23365 pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
23366 pub robust_buffer_access_update_after_bind: Bool32,
23367 pub quad_divergent_implicit_lod: Bool32,
23368 pub max_per_stage_descriptor_update_after_bind_samplers: u32,
23369 pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
23370 pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
23371 pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
23372 pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
23373 pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
23374 pub max_per_stage_update_after_bind_resources: u32,
23375 pub max_descriptor_set_update_after_bind_samplers: u32,
23376 pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
23377 pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
23378 pub max_descriptor_set_update_after_bind_storage_buffers: u32,
23379 pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
23380 pub max_descriptor_set_update_after_bind_sampled_images: u32,
23381 pub max_descriptor_set_update_after_bind_storage_images: u32,
23382 pub max_descriptor_set_update_after_bind_input_attachments: u32,
23383 pub supported_depth_resolve_modes: ResolveModeFlags,
23384 pub supported_stencil_resolve_modes: ResolveModeFlags,
23385 pub independent_resolve_none: Bool32,
23386 pub independent_resolve: Bool32,
23387 pub filter_minmax_single_component_formats: Bool32,
23388 pub filter_minmax_image_component_mapping: Bool32,
23389 pub max_timeline_semaphore_value_difference: u64,
23390 pub framebuffer_integer_color_sample_counts: SampleCountFlags,
23391}
23392
23393impl Default for PhysicalDeviceVulkan12Properties {
23394 #[inline]
23395 fn default() -> Self {
23396 Self {
23397 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
23398 next: ptr::null_mut(),
23399 driver_id: DriverId::default(),
23400 driver_name: StringArray::default(),
23401 driver_info: StringArray::default(),
23402 conformance_version: ConformanceVersion::default(),
23403 denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
23404 rounding_mode_independence: ShaderFloatControlsIndependence::default(),
23405 shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
23406 shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
23407 shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
23408 shader_denorm_preserve_float16: Bool32::default(),
23409 shader_denorm_preserve_float32: Bool32::default(),
23410 shader_denorm_preserve_float64: Bool32::default(),
23411 shader_denorm_flush_to_zero_float16: Bool32::default(),
23412 shader_denorm_flush_to_zero_float32: Bool32::default(),
23413 shader_denorm_flush_to_zero_float64: Bool32::default(),
23414 shader_rounding_mode_rte_float16: Bool32::default(),
23415 shader_rounding_mode_rte_float32: Bool32::default(),
23416 shader_rounding_mode_rte_float64: Bool32::default(),
23417 shader_rounding_mode_rtz_float16: Bool32::default(),
23418 shader_rounding_mode_rtz_float32: Bool32::default(),
23419 shader_rounding_mode_rtz_float64: Bool32::default(),
23420 max_update_after_bind_descriptors_in_all_pools: u32::default(),
23421 shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
23422 shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
23423 shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
23424 shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
23425 shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
23426 robust_buffer_access_update_after_bind: Bool32::default(),
23427 quad_divergent_implicit_lod: Bool32::default(),
23428 max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
23429 max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
23430 max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
23431 max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
23432 max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
23433 max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
23434 max_per_stage_update_after_bind_resources: u32::default(),
23435 max_descriptor_set_update_after_bind_samplers: u32::default(),
23436 max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
23437 max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
23438 max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
23439 max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
23440 max_descriptor_set_update_after_bind_sampled_images: u32::default(),
23441 max_descriptor_set_update_after_bind_storage_images: u32::default(),
23442 max_descriptor_set_update_after_bind_input_attachments: u32::default(),
23443 supported_depth_resolve_modes: ResolveModeFlags::default(),
23444 supported_stencil_resolve_modes: ResolveModeFlags::default(),
23445 independent_resolve_none: Bool32::default(),
23446 independent_resolve: Bool32::default(),
23447 filter_minmax_single_component_formats: Bool32::default(),
23448 filter_minmax_image_component_mapping: Bool32::default(),
23449 max_timeline_semaphore_value_difference: u64::default(),
23450 framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
23451 }
23452 }
23453}
23454
23455unsafe impl Send for PhysicalDeviceVulkan12Properties {}
23456unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
23457
23458#[repr(C)]
23460#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23461pub struct PhysicalDeviceVulkan13Features {
23462 pub s_type: StructureType,
23463 pub next: *mut c_void,
23464 pub robust_image_access: Bool32,
23465 pub inline_uniform_block: Bool32,
23466 pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
23467 pub pipeline_creation_cache_control: Bool32,
23468 pub private_data: Bool32,
23469 pub shader_demote_to_helper_invocation: Bool32,
23470 pub shader_terminate_invocation: Bool32,
23471 pub subgroup_size_control: Bool32,
23472 pub compute_full_subgroups: Bool32,
23473 pub synchronization2: Bool32,
23474 pub texture_compression_astc_hdr: Bool32,
23475 pub shader_zero_initialize_workgroup_memory: Bool32,
23476 pub dynamic_rendering: Bool32,
23477 pub shader_integer_dot_product: Bool32,
23478 pub maintenance4: Bool32,
23479}
23480
23481impl Default for PhysicalDeviceVulkan13Features {
23482 #[inline]
23483 fn default() -> Self {
23484 Self {
23485 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
23486 next: ptr::null_mut(),
23487 robust_image_access: Bool32::default(),
23488 inline_uniform_block: Bool32::default(),
23489 descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
23490 pipeline_creation_cache_control: Bool32::default(),
23491 private_data: Bool32::default(),
23492 shader_demote_to_helper_invocation: Bool32::default(),
23493 shader_terminate_invocation: Bool32::default(),
23494 subgroup_size_control: Bool32::default(),
23495 compute_full_subgroups: Bool32::default(),
23496 synchronization2: Bool32::default(),
23497 texture_compression_astc_hdr: Bool32::default(),
23498 shader_zero_initialize_workgroup_memory: Bool32::default(),
23499 dynamic_rendering: Bool32::default(),
23500 shader_integer_dot_product: Bool32::default(),
23501 maintenance4: Bool32::default(),
23502 }
23503 }
23504}
23505
23506unsafe impl Send for PhysicalDeviceVulkan13Features {}
23507unsafe impl Sync for PhysicalDeviceVulkan13Features {}
23508
23509#[repr(C)]
23511#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23512pub struct PhysicalDeviceVulkan13Properties {
23513 pub s_type: StructureType,
23514 pub next: *mut c_void,
23515 pub min_subgroup_size: u32,
23516 pub max_subgroup_size: u32,
23517 pub max_compute_workgroup_subgroups: u32,
23518 pub required_subgroup_size_stages: ShaderStageFlags,
23519 pub max_inline_uniform_block_size: u32,
23520 pub max_per_stage_descriptor_inline_uniform_blocks: u32,
23521 pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
23522 pub max_descriptor_set_inline_uniform_blocks: u32,
23523 pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
23524 pub max_inline_uniform_total_size: u32,
23525 pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
23526 pub integer_dot_product_8bit_signed_accelerated: Bool32,
23527 pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
23528 pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
23529 pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
23530 pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
23531 pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
23532 pub integer_dot_product_16bit_signed_accelerated: Bool32,
23533 pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
23534 pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
23535 pub integer_dot_product_32bit_signed_accelerated: Bool32,
23536 pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
23537 pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
23538 pub integer_dot_product_64bit_signed_accelerated: Bool32,
23539 pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
23540 pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
23541 pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
23542 pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
23543 pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
23544 pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
23545 pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
23546 Bool32,
23547 pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
23548 pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
23549 pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
23550 pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
23551 pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
23552 pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
23553 pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
23554 pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
23555 pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
23556 pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
23557 pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
23558 pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
23559 pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
23560 pub max_buffer_size: DeviceSize,
23561}
23562
23563impl Default for PhysicalDeviceVulkan13Properties {
23564 #[inline]
23565 fn default() -> Self {
23566 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() }
23567 }
23568}
23569
23570unsafe impl Send for PhysicalDeviceVulkan13Properties {}
23571unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
23572
23573#[repr(C)]
23575#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23576pub struct PhysicalDeviceVulkan14Features {
23577 pub s_type: StructureType,
23578 pub next: *mut c_void,
23579 pub global_priority_query: Bool32,
23580 pub shader_subgroup_rotate: Bool32,
23581 pub shader_subgroup_rotate_clustered: Bool32,
23582 pub shader_float_controls2: Bool32,
23583 pub shader_expect_assume: Bool32,
23584 pub rectangular_lines: Bool32,
23585 pub bresenham_lines: Bool32,
23586 pub smooth_lines: Bool32,
23587 pub stippled_rectangular_lines: Bool32,
23588 pub stippled_bresenham_lines: Bool32,
23589 pub stippled_smooth_lines: Bool32,
23590 pub vertex_attribute_instance_rate_divisor: Bool32,
23591 pub vertex_attribute_instance_rate_zero_divisor: Bool32,
23592 pub index_type_uint8: Bool32,
23593 pub dynamic_rendering_local_read: Bool32,
23594 pub maintenance5: Bool32,
23595 pub maintenance6: Bool32,
23596 pub pipeline_protected_access: Bool32,
23597 pub pipeline_robustness: Bool32,
23598 pub host_image_copy: Bool32,
23599 pub push_descriptor: Bool32,
23600}
23601
23602impl Default for PhysicalDeviceVulkan14Features {
23603 #[inline]
23604 fn default() -> Self {
23605 Self {
23606 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
23607 next: ptr::null_mut(),
23608 global_priority_query: Bool32::default(),
23609 shader_subgroup_rotate: Bool32::default(),
23610 shader_subgroup_rotate_clustered: Bool32::default(),
23611 shader_float_controls2: Bool32::default(),
23612 shader_expect_assume: Bool32::default(),
23613 rectangular_lines: Bool32::default(),
23614 bresenham_lines: Bool32::default(),
23615 smooth_lines: Bool32::default(),
23616 stippled_rectangular_lines: Bool32::default(),
23617 stippled_bresenham_lines: Bool32::default(),
23618 stippled_smooth_lines: Bool32::default(),
23619 vertex_attribute_instance_rate_divisor: Bool32::default(),
23620 vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
23621 index_type_uint8: Bool32::default(),
23622 dynamic_rendering_local_read: Bool32::default(),
23623 maintenance5: Bool32::default(),
23624 maintenance6: Bool32::default(),
23625 pipeline_protected_access: Bool32::default(),
23626 pipeline_robustness: Bool32::default(),
23627 host_image_copy: Bool32::default(),
23628 push_descriptor: Bool32::default(),
23629 }
23630 }
23631}
23632
23633unsafe impl Send for PhysicalDeviceVulkan14Features {}
23634unsafe impl Sync for PhysicalDeviceVulkan14Features {}
23635
23636#[repr(C)]
23638#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23639pub struct PhysicalDeviceVulkan14Properties {
23640 pub s_type: StructureType,
23641 pub next: *mut c_void,
23642 pub line_sub_pixel_precision_bits: u32,
23643 pub max_vertex_attrib_divisor: u32,
23644 pub supports_non_zero_first_instance: Bool32,
23645 pub max_push_descriptors: u32,
23646 pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
23647 pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
23648 pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
23649 pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
23650 pub depth_stencil_swizzle_one_support: Bool32,
23651 pub polygon_mode_point_size: Bool32,
23652 pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
23653 pub non_strict_wide_lines_use_parallelogram: Bool32,
23654 pub block_texel_view_compatible_multiple_layers: Bool32,
23655 pub max_combined_image_sampler_descriptor_count: u32,
23656 pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
23657 pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
23658 pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
23659 pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
23660 pub default_robustness_images: PipelineRobustnessImageBehavior,
23661 pub copy_src_layout_count: u32,
23662 pub copy_src_layouts: *mut ImageLayout,
23663 pub copy_dst_layout_count: u32,
23664 pub copy_dst_layouts: *mut ImageLayout,
23665 pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
23666 pub identical_memory_type_requirements: Bool32,
23667}
23668
23669impl Default for PhysicalDeviceVulkan14Properties {
23670 #[inline]
23671 fn default() -> Self {
23672 Self {
23673 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
23674 next: ptr::null_mut(),
23675 line_sub_pixel_precision_bits: u32::default(),
23676 max_vertex_attrib_divisor: u32::default(),
23677 supports_non_zero_first_instance: Bool32::default(),
23678 max_push_descriptors: u32::default(),
23679 dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
23680 dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
23681 early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
23682 early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
23683 depth_stencil_swizzle_one_support: Bool32::default(),
23684 polygon_mode_point_size: Bool32::default(),
23685 non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
23686 non_strict_wide_lines_use_parallelogram: Bool32::default(),
23687 block_texel_view_compatible_multiple_layers: Bool32::default(),
23688 max_combined_image_sampler_descriptor_count: u32::default(),
23689 fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
23690 default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
23691 default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
23692 default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
23693 default_robustness_images: PipelineRobustnessImageBehavior::default(),
23694 copy_src_layout_count: u32::default(),
23695 copy_src_layouts: ptr::null_mut(),
23696 copy_dst_layout_count: u32::default(),
23697 copy_dst_layouts: ptr::null_mut(),
23698 optimal_tiling_layout_uuid: ByteArray::default(),
23699 identical_memory_type_requirements: Bool32::default(),
23700 }
23701 }
23702}
23703
23704unsafe impl Send for PhysicalDeviceVulkan14Properties {}
23705unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
23706
23707#[repr(C)]
23709#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23710pub struct PhysicalDeviceVulkanMemoryModelFeatures {
23711 pub s_type: StructureType,
23712 pub next: *mut c_void,
23713 pub vulkan_memory_model: Bool32,
23714 pub vulkan_memory_model_device_scope: Bool32,
23715 pub vulkan_memory_model_availability_visibility_chains: Bool32,
23716}
23717
23718impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
23719 #[inline]
23720 fn default() -> Self {
23721 Self {
23722 s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
23723 next: ptr::null_mut(),
23724 vulkan_memory_model: Bool32::default(),
23725 vulkan_memory_model_device_scope: Bool32::default(),
23726 vulkan_memory_model_availability_visibility_chains: Bool32::default(),
23727 }
23728 }
23729}
23730
23731unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
23732unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
23733
23734#[repr(C)]
23736#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23737pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23738 pub s_type: StructureType,
23739 pub next: *mut c_void,
23740 pub workgroup_memory_explicit_layout: Bool32,
23741 pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
23742 pub workgroup_memory_explicit_layout_8bit_access: Bool32,
23743 pub workgroup_memory_explicit_layout_16bit_access: Bool32,
23744}
23745
23746impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
23747 #[inline]
23748 fn default() -> Self {
23749 Self {
23750 s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
23751 next: ptr::null_mut(),
23752 workgroup_memory_explicit_layout: Bool32::default(),
23753 workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
23754 workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
23755 workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
23756 }
23757 }
23758}
23759
23760unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23761unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
23762
23763#[repr(C)]
23765#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23766pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23767 pub s_type: StructureType,
23768 pub next: *mut c_void,
23769 pub ycbcr2plane444_formats: Bool32,
23770}
23771
23772impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
23773 #[inline]
23774 fn default() -> Self {
23775 Self {
23776 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
23777 next: ptr::null_mut(),
23778 ycbcr2plane444_formats: Bool32::default(),
23779 }
23780 }
23781}
23782
23783unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23784unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
23785
23786#[repr(C)]
23788#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23789pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23790 pub s_type: StructureType,
23791 pub next: *mut c_void,
23792 pub ycbcr_degamma: Bool32,
23793}
23794
23795impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
23796 #[inline]
23797 fn default() -> Self {
23798 Self {
23799 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
23800 next: ptr::null_mut(),
23801 ycbcr_degamma: Bool32::default(),
23802 }
23803 }
23804}
23805
23806unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23807unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
23808
23809#[repr(C)]
23811#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23812pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23813 pub s_type: StructureType,
23814 pub next: *mut c_void,
23815 pub ycbcr_image_arrays: Bool32,
23816}
23817
23818impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
23819 #[inline]
23820 fn default() -> Self {
23821 Self {
23822 s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
23823 next: ptr::null_mut(),
23824 ycbcr_image_arrays: Bool32::default(),
23825 }
23826 }
23827}
23828
23829unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23830unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
23831
23832#[repr(C)]
23834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23835pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23836 pub s_type: StructureType,
23837 pub next: *mut c_void,
23838 pub zero_initialize_device_memory: Bool32,
23839}
23840
23841impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
23842 #[inline]
23843 fn default() -> Self {
23844 Self {
23845 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
23846 next: ptr::null_mut(),
23847 zero_initialize_device_memory: Bool32::default(),
23848 }
23849 }
23850}
23851
23852unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23853unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
23854
23855#[repr(C)]
23857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23858pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23859 pub s_type: StructureType,
23860 pub next: *mut c_void,
23861 pub shader_zero_initialize_workgroup_memory: Bool32,
23862}
23863
23864impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
23865 #[inline]
23866 fn default() -> Self {
23867 Self {
23868 s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
23869 next: ptr::null_mut(),
23870 shader_zero_initialize_workgroup_memory: Bool32::default(),
23871 }
23872 }
23873}
23874
23875unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23876unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
23877
23878#[repr(C)]
23880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23881pub struct PipelineBinaryCreateInfoKHR {
23882 pub s_type: StructureType,
23883 pub next: *const c_void,
23884 pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
23885 pub pipeline: Pipeline,
23886 pub pipeline_create_info: *const PipelineCreateInfoKHR,
23887}
23888
23889impl Default for PipelineBinaryCreateInfoKHR {
23890 #[inline]
23891 fn default() -> Self {
23892 Self {
23893 s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
23894 next: ptr::null(),
23895 keys_and_data_info: ptr::null(),
23896 pipeline: Pipeline::default(),
23897 pipeline_create_info: ptr::null(),
23898 }
23899 }
23900}
23901
23902unsafe impl Send for PipelineBinaryCreateInfoKHR {}
23903unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
23904
23905#[repr(C)]
23907#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23908pub struct PipelineBinaryDataInfoKHR {
23909 pub s_type: StructureType,
23910 pub next: *mut c_void,
23911 pub pipeline_binary: PipelineBinaryKHR,
23912}
23913
23914impl Default for PipelineBinaryDataInfoKHR {
23915 #[inline]
23916 fn default() -> Self {
23917 Self {
23918 s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
23919 next: ptr::null_mut(),
23920 pipeline_binary: PipelineBinaryKHR::default(),
23921 }
23922 }
23923}
23924
23925unsafe impl Send for PipelineBinaryDataInfoKHR {}
23926unsafe impl Sync for PipelineBinaryDataInfoKHR {}
23927
23928#[repr(C)]
23930#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23931pub struct PipelineBinaryDataKHR {
23932 pub data_size: usize,
23933 pub data: *mut c_void,
23934}
23935
23936impl Default for PipelineBinaryDataKHR {
23937 #[inline]
23938 fn default() -> Self {
23939 Self {
23940 data_size: usize::default(),
23941 data: ptr::null_mut(),
23942 }
23943 }
23944}
23945
23946unsafe impl Send for PipelineBinaryDataKHR {}
23947unsafe impl Sync for PipelineBinaryDataKHR {}
23948
23949#[repr(C)]
23951#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23952pub struct PipelineBinaryHandlesInfoKHR {
23953 pub s_type: StructureType,
23954 pub next: *const c_void,
23955 pub pipeline_binary_count: u32,
23956 pub pipeline_binaries: *mut PipelineBinaryKHR,
23957}
23958
23959impl Default for PipelineBinaryHandlesInfoKHR {
23960 #[inline]
23961 fn default() -> Self {
23962 Self {
23963 s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
23964 next: ptr::null(),
23965 pipeline_binary_count: u32::default(),
23966 pipeline_binaries: ptr::null_mut(),
23967 }
23968 }
23969}
23970
23971unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
23972unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
23973
23974#[repr(C)]
23976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
23977pub struct PipelineBinaryInfoKHR {
23978 pub s_type: StructureType,
23979 pub next: *const c_void,
23980 pub binary_count: u32,
23981 pub pipeline_binaries: *const PipelineBinaryKHR,
23982}
23983
23984impl Default for PipelineBinaryInfoKHR {
23985 #[inline]
23986 fn default() -> Self {
23987 Self {
23988 s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
23989 next: ptr::null(),
23990 binary_count: u32::default(),
23991 pipeline_binaries: ptr::null(),
23992 }
23993 }
23994}
23995
23996unsafe impl Send for PipelineBinaryInfoKHR {}
23997unsafe impl Sync for PipelineBinaryInfoKHR {}
23998
23999#[repr(C)]
24001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24002pub struct PipelineBinaryKeyKHR {
24003 pub s_type: StructureType,
24004 pub next: *mut c_void,
24005 pub key_size: u32,
24006 pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
24007}
24008
24009impl Default for PipelineBinaryKeyKHR {
24010 #[inline]
24011 fn default() -> Self {
24012 Self {
24013 s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
24014 next: ptr::null_mut(),
24015 key_size: u32::default(),
24016 key: ByteArray::default(),
24017 }
24018 }
24019}
24020
24021unsafe impl Send for PipelineBinaryKeyKHR {}
24022unsafe impl Sync for PipelineBinaryKeyKHR {}
24023
24024#[repr(C)]
24026#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24027pub struct PipelineBinaryKeysAndDataKHR {
24028 pub binary_count: u32,
24029 pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
24030 pub pipeline_binary_data: *const PipelineBinaryDataKHR,
24031}
24032
24033impl Default for PipelineBinaryKeysAndDataKHR {
24034 #[inline]
24035 fn default() -> Self {
24036 Self {
24037 binary_count: u32::default(),
24038 pipeline_binary_keys: ptr::null(),
24039 pipeline_binary_data: ptr::null(),
24040 }
24041 }
24042}
24043
24044unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
24045unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
24046
24047#[repr(C)]
24049#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24050pub struct PipelineCacheCreateInfo {
24051 pub s_type: StructureType,
24052 pub next: *const c_void,
24053 pub flags: PipelineCacheCreateFlags,
24054 pub initial_data_size: usize,
24055 pub initial_data: *const c_void,
24056}
24057
24058impl Default for PipelineCacheCreateInfo {
24059 #[inline]
24060 fn default() -> Self {
24061 Self {
24062 s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
24063 next: ptr::null(),
24064 flags: PipelineCacheCreateFlags::default(),
24065 initial_data_size: usize::default(),
24066 initial_data: ptr::null(),
24067 }
24068 }
24069}
24070
24071unsafe impl Send for PipelineCacheCreateInfo {}
24072unsafe impl Sync for PipelineCacheCreateInfo {}
24073
24074#[repr(C)]
24076#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24077pub struct PipelineCacheHeaderVersionDataGraphQCOM {
24078 pub header_size: u32,
24079 pub header_version: PipelineCacheHeaderVersion,
24080 pub cache_type: DataGraphModelCacheTypeQCOM,
24081 pub cache_version: u32,
24082 pub toolchain_version: [u32; DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM as usize],
24083}
24084
24085#[repr(C)]
24087#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24088pub struct PipelineCacheHeaderVersionOne {
24089 pub header_size: u32,
24090 pub header_version: PipelineCacheHeaderVersion,
24091 pub vendor_id: u32,
24092 pub device_id: u32,
24093 pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
24094}
24095
24096#[repr(C)]
24098#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24099pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
24100 pub s_type: StructureType,
24101 pub next: *const c_void,
24102 pub src_premultiplied: Bool32,
24103 pub dst_premultiplied: Bool32,
24104 pub blend_overlap: BlendOverlapEXT,
24105}
24106
24107impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
24108 #[inline]
24109 fn default() -> Self {
24110 Self {
24111 s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
24112 next: ptr::null(),
24113 src_premultiplied: Bool32::default(),
24114 dst_premultiplied: Bool32::default(),
24115 blend_overlap: BlendOverlapEXT::default(),
24116 }
24117 }
24118}
24119
24120unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
24121unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
24122
24123#[repr(C)]
24125#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24126pub struct PipelineColorBlendAttachmentState {
24127 pub blend_enable: Bool32,
24128 pub src_color_blend_factor: BlendFactor,
24129 pub dst_color_blend_factor: BlendFactor,
24130 pub color_blend_op: BlendOp,
24131 pub src_alpha_blend_factor: BlendFactor,
24132 pub dst_alpha_blend_factor: BlendFactor,
24133 pub alpha_blend_op: BlendOp,
24134 pub color_write_mask: ColorComponentFlags,
24135}
24136
24137#[repr(C)]
24139#[derive(Copy, Clone, Debug, PartialEq)]
24140pub struct PipelineColorBlendStateCreateInfo {
24141 pub s_type: StructureType,
24142 pub next: *const c_void,
24143 pub flags: PipelineColorBlendStateCreateFlags,
24144 pub logic_op_enable: Bool32,
24145 pub logic_op: LogicOp,
24146 pub attachment_count: u32,
24147 pub attachments: *const PipelineColorBlendAttachmentState,
24148 pub blend_constants: [f32; 4],
24149}
24150
24151impl Default for PipelineColorBlendStateCreateInfo {
24152 #[inline]
24153 fn default() -> Self {
24154 Self {
24155 s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
24156 next: ptr::null(),
24157 flags: PipelineColorBlendStateCreateFlags::default(),
24158 logic_op_enable: Bool32::default(),
24159 logic_op: LogicOp::default(),
24160 attachment_count: u32::default(),
24161 attachments: ptr::null(),
24162 blend_constants: [f32::default(); 4],
24163 }
24164 }
24165}
24166
24167unsafe impl Send for PipelineColorBlendStateCreateInfo {}
24168unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
24169
24170#[repr(C)]
24172#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24173pub struct PipelineColorWriteCreateInfoEXT {
24174 pub s_type: StructureType,
24175 pub next: *const c_void,
24176 pub attachment_count: u32,
24177 pub color_write_enables: *const Bool32,
24178}
24179
24180impl Default for PipelineColorWriteCreateInfoEXT {
24181 #[inline]
24182 fn default() -> Self {
24183 Self {
24184 s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
24185 next: ptr::null(),
24186 attachment_count: u32::default(),
24187 color_write_enables: ptr::null(),
24188 }
24189 }
24190}
24191
24192unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
24193unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
24194
24195#[repr(C)]
24197#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24198pub struct PipelineCompilerControlCreateInfoAMD {
24199 pub s_type: StructureType,
24200 pub next: *const c_void,
24201 pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
24202}
24203
24204impl Default for PipelineCompilerControlCreateInfoAMD {
24205 #[inline]
24206 fn default() -> Self {
24207 Self {
24208 s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
24209 next: ptr::null(),
24210 compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
24211 }
24212 }
24213}
24214
24215unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
24216unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
24217
24218#[repr(C)]
24220#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24221pub struct PipelineCoverageModulationStateCreateInfoNV {
24222 pub s_type: StructureType,
24223 pub next: *const c_void,
24224 pub flags: PipelineCoverageModulationStateCreateFlagsNV,
24225 pub coverage_modulation_mode: CoverageModulationModeNV,
24226 pub coverage_modulation_table_enable: Bool32,
24227 pub coverage_modulation_table_count: u32,
24228 pub coverage_modulation_table: *const f32,
24229}
24230
24231impl Default for PipelineCoverageModulationStateCreateInfoNV {
24232 #[inline]
24233 fn default() -> Self {
24234 Self {
24235 s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
24236 next: ptr::null(),
24237 flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
24238 coverage_modulation_mode: CoverageModulationModeNV::default(),
24239 coverage_modulation_table_enable: Bool32::default(),
24240 coverage_modulation_table_count: u32::default(),
24241 coverage_modulation_table: ptr::null(),
24242 }
24243 }
24244}
24245
24246unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
24247unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
24248
24249#[repr(C)]
24251#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24252pub struct PipelineCoverageReductionStateCreateInfoNV {
24253 pub s_type: StructureType,
24254 pub next: *const c_void,
24255 pub flags: PipelineCoverageReductionStateCreateFlagsNV,
24256 pub coverage_reduction_mode: CoverageReductionModeNV,
24257}
24258
24259impl Default for PipelineCoverageReductionStateCreateInfoNV {
24260 #[inline]
24261 fn default() -> Self {
24262 Self {
24263 s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
24264 next: ptr::null(),
24265 flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
24266 coverage_reduction_mode: CoverageReductionModeNV::default(),
24267 }
24268 }
24269}
24270
24271unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
24272unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
24273
24274#[repr(C)]
24276#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24277pub struct PipelineCoverageToColorStateCreateInfoNV {
24278 pub s_type: StructureType,
24279 pub next: *const c_void,
24280 pub flags: PipelineCoverageToColorStateCreateFlagsNV,
24281 pub coverage_to_color_enable: Bool32,
24282 pub coverage_to_color_location: u32,
24283}
24284
24285impl Default for PipelineCoverageToColorStateCreateInfoNV {
24286 #[inline]
24287 fn default() -> Self {
24288 Self {
24289 s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
24290 next: ptr::null(),
24291 flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
24292 coverage_to_color_enable: Bool32::default(),
24293 coverage_to_color_location: u32::default(),
24294 }
24295 }
24296}
24297
24298unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
24299unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
24300
24301#[repr(C)]
24303#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24304pub struct PipelineCreateFlags2CreateInfo {
24305 pub s_type: StructureType,
24306 pub next: *const c_void,
24307 pub flags: PipelineCreateFlags2,
24308}
24309
24310impl Default for PipelineCreateFlags2CreateInfo {
24311 #[inline]
24312 fn default() -> Self {
24313 Self {
24314 s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
24315 next: ptr::null(),
24316 flags: PipelineCreateFlags2::default(),
24317 }
24318 }
24319}
24320
24321unsafe impl Send for PipelineCreateFlags2CreateInfo {}
24322unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
24323
24324#[repr(C)]
24326#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24327pub struct PipelineCreateInfoKHR {
24328 pub s_type: StructureType,
24329 pub next: *mut c_void,
24330}
24331
24332impl Default for PipelineCreateInfoKHR {
24333 #[inline]
24334 fn default() -> Self {
24335 Self {
24336 s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
24337 next: ptr::null_mut(),
24338 }
24339 }
24340}
24341
24342unsafe impl Send for PipelineCreateInfoKHR {}
24343unsafe impl Sync for PipelineCreateInfoKHR {}
24344
24345#[repr(C)]
24347#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
24348pub struct PipelineCreationFeedback {
24349 pub flags: PipelineCreationFeedbackFlags,
24350 pub duration: u64,
24351}
24352
24353#[repr(C)]
24355#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24356pub struct PipelineCreationFeedbackCreateInfo {
24357 pub s_type: StructureType,
24358 pub next: *const c_void,
24359 pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
24360 pub pipeline_stage_creation_feedback_count: u32,
24361 pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
24362}
24363
24364impl Default for PipelineCreationFeedbackCreateInfo {
24365 #[inline]
24366 fn default() -> Self {
24367 Self {
24368 s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
24369 next: ptr::null(),
24370 pipeline_creation_feedback: ptr::null_mut(),
24371 pipeline_stage_creation_feedback_count: u32::default(),
24372 pipeline_stage_creation_feedbacks: ptr::null_mut(),
24373 }
24374 }
24375}
24376
24377unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
24378unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
24379
24380#[repr(C)]
24382#[derive(Copy, Clone, Debug, PartialEq)]
24383pub struct PipelineDepthStencilStateCreateInfo {
24384 pub s_type: StructureType,
24385 pub next: *const c_void,
24386 pub flags: PipelineDepthStencilStateCreateFlags,
24387 pub depth_test_enable: Bool32,
24388 pub depth_write_enable: Bool32,
24389 pub depth_compare_op: CompareOp,
24390 pub depth_bounds_test_enable: Bool32,
24391 pub stencil_test_enable: Bool32,
24392 pub front: StencilOpState,
24393 pub back: StencilOpState,
24394 pub min_depth_bounds: f32,
24395 pub max_depth_bounds: f32,
24396}
24397
24398impl Default for PipelineDepthStencilStateCreateInfo {
24399 #[inline]
24400 fn default() -> Self {
24401 Self {
24402 s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
24403 next: ptr::null(),
24404 flags: PipelineDepthStencilStateCreateFlags::default(),
24405 depth_test_enable: Bool32::default(),
24406 depth_write_enable: Bool32::default(),
24407 depth_compare_op: CompareOp::default(),
24408 depth_bounds_test_enable: Bool32::default(),
24409 stencil_test_enable: Bool32::default(),
24410 front: StencilOpState::default(),
24411 back: StencilOpState::default(),
24412 min_depth_bounds: f32::default(),
24413 max_depth_bounds: f32::default(),
24414 }
24415 }
24416}
24417
24418unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
24419unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
24420
24421#[repr(C)]
24423#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24424pub struct PipelineDiscardRectangleStateCreateInfoEXT {
24425 pub s_type: StructureType,
24426 pub next: *const c_void,
24427 pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
24428 pub discard_rectangle_mode: DiscardRectangleModeEXT,
24429 pub discard_rectangle_count: u32,
24430 pub discard_rectangles: *const Rect2D,
24431}
24432
24433impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
24434 #[inline]
24435 fn default() -> Self {
24436 Self {
24437 s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
24438 next: ptr::null(),
24439 flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
24440 discard_rectangle_mode: DiscardRectangleModeEXT::default(),
24441 discard_rectangle_count: u32::default(),
24442 discard_rectangles: ptr::null(),
24443 }
24444 }
24445}
24446
24447unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
24448unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
24449
24450#[repr(C)]
24452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24453pub struct PipelineDynamicStateCreateInfo {
24454 pub s_type: StructureType,
24455 pub next: *const c_void,
24456 pub flags: PipelineDynamicStateCreateFlags,
24457 pub dynamic_state_count: u32,
24458 pub dynamic_states: *const DynamicState,
24459}
24460
24461impl Default for PipelineDynamicStateCreateInfo {
24462 #[inline]
24463 fn default() -> Self {
24464 Self {
24465 s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
24466 next: ptr::null(),
24467 flags: PipelineDynamicStateCreateFlags::default(),
24468 dynamic_state_count: u32::default(),
24469 dynamic_states: ptr::null(),
24470 }
24471 }
24472}
24473
24474unsafe impl Send for PipelineDynamicStateCreateInfo {}
24475unsafe impl Sync for PipelineDynamicStateCreateInfo {}
24476
24477#[repr(C)]
24479#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24480pub struct PipelineExecutableInfoKHR {
24481 pub s_type: StructureType,
24482 pub next: *const c_void,
24483 pub pipeline: Pipeline,
24484 pub executable_index: u32,
24485}
24486
24487impl Default for PipelineExecutableInfoKHR {
24488 #[inline]
24489 fn default() -> Self {
24490 Self {
24491 s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
24492 next: ptr::null(),
24493 pipeline: Pipeline::default(),
24494 executable_index: u32::default(),
24495 }
24496 }
24497}
24498
24499unsafe impl Send for PipelineExecutableInfoKHR {}
24500unsafe impl Sync for PipelineExecutableInfoKHR {}
24501
24502#[repr(C)]
24504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24505pub struct PipelineExecutableInternalRepresentationKHR {
24506 pub s_type: StructureType,
24507 pub next: *mut c_void,
24508 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24509 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24510 pub is_text: Bool32,
24511 pub data_size: usize,
24512 pub data: *mut c_void,
24513}
24514
24515impl Default for PipelineExecutableInternalRepresentationKHR {
24516 #[inline]
24517 fn default() -> Self {
24518 Self {
24519 s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
24520 next: ptr::null_mut(),
24521 name: StringArray::default(),
24522 description: StringArray::default(),
24523 is_text: Bool32::default(),
24524 data_size: usize::default(),
24525 data: ptr::null_mut(),
24526 }
24527 }
24528}
24529
24530unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
24531unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
24532
24533#[repr(C)]
24535#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24536pub struct PipelineExecutablePropertiesKHR {
24537 pub s_type: StructureType,
24538 pub next: *mut c_void,
24539 pub stages: ShaderStageFlags,
24540 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24541 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24542 pub subgroup_size: u32,
24543}
24544
24545impl Default for PipelineExecutablePropertiesKHR {
24546 #[inline]
24547 fn default() -> Self {
24548 Self {
24549 s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
24550 next: ptr::null_mut(),
24551 stages: ShaderStageFlags::default(),
24552 name: StringArray::default(),
24553 description: StringArray::default(),
24554 subgroup_size: u32::default(),
24555 }
24556 }
24557}
24558
24559unsafe impl Send for PipelineExecutablePropertiesKHR {}
24560unsafe impl Sync for PipelineExecutablePropertiesKHR {}
24561
24562#[repr(C)]
24564#[derive(Copy, Clone, Debug)]
24565pub struct PipelineExecutableStatisticKHR {
24566 pub s_type: StructureType,
24567 pub next: *mut c_void,
24568 pub name: StringArray<MAX_DESCRIPTION_SIZE>,
24569 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
24570 pub format: PipelineExecutableStatisticFormatKHR,
24571 pub value: PipelineExecutableStatisticValueKHR,
24572}
24573
24574impl Default for PipelineExecutableStatisticKHR {
24575 #[inline]
24576 fn default() -> Self {
24577 Self {
24578 s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
24579 next: ptr::null_mut(),
24580 name: StringArray::default(),
24581 description: StringArray::default(),
24582 format: PipelineExecutableStatisticFormatKHR::default(),
24583 value: PipelineExecutableStatisticValueKHR::default(),
24584 }
24585 }
24586}
24587
24588unsafe impl Send for PipelineExecutableStatisticKHR {}
24589unsafe impl Sync for PipelineExecutableStatisticKHR {}
24590
24591#[repr(C)]
24593#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24594pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24595 pub s_type: StructureType,
24596 pub next: *const c_void,
24597 pub max_fragment_density_map_layers: u32,
24598}
24599
24600impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
24601 #[inline]
24602 fn default() -> Self {
24603 Self {
24604 s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
24605 next: ptr::null(),
24606 max_fragment_density_map_layers: u32::default(),
24607 }
24608 }
24609}
24610
24611unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24612unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
24613
24614#[repr(C)]
24616#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24617pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
24618 pub s_type: StructureType,
24619 pub next: *const c_void,
24620 pub shading_rate_type: FragmentShadingRateTypeNV,
24621 pub shading_rate: FragmentShadingRateNV,
24622 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24623}
24624
24625impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
24626 #[inline]
24627 fn default() -> Self {
24628 Self {
24629 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
24630 next: ptr::null(),
24631 shading_rate_type: FragmentShadingRateTypeNV::default(),
24632 shading_rate: FragmentShadingRateNV::default(),
24633 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24634 }
24635 }
24636}
24637
24638unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24639unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
24640
24641#[repr(C)]
24643#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24644pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
24645 pub s_type: StructureType,
24646 pub next: *const c_void,
24647 pub fragment_size: Extent2D,
24648 pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
24649}
24650
24651impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
24652 #[inline]
24653 fn default() -> Self {
24654 Self {
24655 s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
24656 next: ptr::null(),
24657 fragment_size: Extent2D::default(),
24658 combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
24659 }
24660 }
24661}
24662
24663unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
24664unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
24665
24666#[repr(C)]
24668#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24669pub struct PipelineIndirectDeviceAddressInfoNV {
24670 pub s_type: StructureType,
24671 pub next: *const c_void,
24672 pub pipeline_bind_point: PipelineBindPoint,
24673 pub pipeline: Pipeline,
24674}
24675
24676impl Default for PipelineIndirectDeviceAddressInfoNV {
24677 #[inline]
24678 fn default() -> Self {
24679 Self {
24680 s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
24681 next: ptr::null(),
24682 pipeline_bind_point: PipelineBindPoint::default(),
24683 pipeline: Pipeline::default(),
24684 }
24685 }
24686}
24687
24688unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
24689unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
24690
24691#[repr(C)]
24693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24694pub struct PipelineInfoKHR {
24695 pub s_type: StructureType,
24696 pub next: *const c_void,
24697 pub pipeline: Pipeline,
24698}
24699
24700impl Default for PipelineInfoKHR {
24701 #[inline]
24702 fn default() -> Self {
24703 Self {
24704 s_type: StructureType::PIPELINE_INFO_KHR,
24705 next: ptr::null(),
24706 pipeline: Pipeline::default(),
24707 }
24708 }
24709}
24710
24711unsafe impl Send for PipelineInfoKHR {}
24712unsafe impl Sync for PipelineInfoKHR {}
24713
24714#[repr(C)]
24716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24717pub struct PipelineInputAssemblyStateCreateInfo {
24718 pub s_type: StructureType,
24719 pub next: *const c_void,
24720 pub flags: PipelineInputAssemblyStateCreateFlags,
24721 pub topology: PrimitiveTopology,
24722 pub primitive_restart_enable: Bool32,
24723}
24724
24725impl Default for PipelineInputAssemblyStateCreateInfo {
24726 #[inline]
24727 fn default() -> Self {
24728 Self {
24729 s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
24730 next: ptr::null(),
24731 flags: PipelineInputAssemblyStateCreateFlags::default(),
24732 topology: PrimitiveTopology::default(),
24733 primitive_restart_enable: Bool32::default(),
24734 }
24735 }
24736}
24737
24738unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
24739unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
24740
24741#[repr(C)]
24743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24744pub struct PipelineLayoutCreateInfo {
24745 pub s_type: StructureType,
24746 pub next: *const c_void,
24747 pub flags: PipelineLayoutCreateFlags,
24748 pub set_layout_count: u32,
24749 pub set_layouts: *const DescriptorSetLayout,
24750 pub push_constant_range_count: u32,
24751 pub push_constant_ranges: *const PushConstantRange,
24752}
24753
24754impl Default for PipelineLayoutCreateInfo {
24755 #[inline]
24756 fn default() -> Self {
24757 Self {
24758 s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
24759 next: ptr::null(),
24760 flags: PipelineLayoutCreateFlags::default(),
24761 set_layout_count: u32::default(),
24762 set_layouts: ptr::null(),
24763 push_constant_range_count: u32::default(),
24764 push_constant_ranges: ptr::null(),
24765 }
24766 }
24767}
24768
24769unsafe impl Send for PipelineLayoutCreateInfo {}
24770unsafe impl Sync for PipelineLayoutCreateInfo {}
24771
24772#[repr(C)]
24774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24775pub struct PipelineLibraryCreateInfoKHR {
24776 pub s_type: StructureType,
24777 pub next: *const c_void,
24778 pub library_count: u32,
24779 pub libraries: *const Pipeline,
24780}
24781
24782impl Default for PipelineLibraryCreateInfoKHR {
24783 #[inline]
24784 fn default() -> Self {
24785 Self {
24786 s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
24787 next: ptr::null(),
24788 library_count: u32::default(),
24789 libraries: ptr::null(),
24790 }
24791 }
24792}
24793
24794unsafe impl Send for PipelineLibraryCreateInfoKHR {}
24795unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
24796
24797#[repr(C)]
24799#[derive(Copy, Clone, Debug, PartialEq)]
24800pub struct PipelineMultisampleStateCreateInfo {
24801 pub s_type: StructureType,
24802 pub next: *const c_void,
24803 pub flags: PipelineMultisampleStateCreateFlags,
24804 pub rasterization_samples: SampleCountFlags,
24805 pub sample_shading_enable: Bool32,
24806 pub min_sample_shading: f32,
24807 pub sample_mask: *const SampleMask,
24808 pub alpha_to_coverage_enable: Bool32,
24809 pub alpha_to_one_enable: Bool32,
24810}
24811
24812impl Default for PipelineMultisampleStateCreateInfo {
24813 #[inline]
24814 fn default() -> Self {
24815 Self {
24816 s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
24817 next: ptr::null(),
24818 flags: PipelineMultisampleStateCreateFlags::default(),
24819 rasterization_samples: SampleCountFlags::default(),
24820 sample_shading_enable: Bool32::default(),
24821 min_sample_shading: f32::default(),
24822 sample_mask: ptr::null(),
24823 alpha_to_coverage_enable: Bool32::default(),
24824 alpha_to_one_enable: Bool32::default(),
24825 }
24826 }
24827}
24828
24829unsafe impl Send for PipelineMultisampleStateCreateInfo {}
24830unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
24831
24832#[repr(C)]
24834#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24835pub struct PipelinePropertiesIdentifierEXT {
24836 pub s_type: StructureType,
24837 pub next: *mut c_void,
24838 pub pipeline_identifier: ByteArray<UUID_SIZE>,
24839}
24840
24841impl Default for PipelinePropertiesIdentifierEXT {
24842 #[inline]
24843 fn default() -> Self {
24844 Self {
24845 s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
24846 next: ptr::null_mut(),
24847 pipeline_identifier: ByteArray::default(),
24848 }
24849 }
24850}
24851
24852unsafe impl Send for PipelinePropertiesIdentifierEXT {}
24853unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
24854
24855#[repr(C)]
24857#[derive(Copy, Clone, Debug, PartialEq)]
24858pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
24859 pub s_type: StructureType,
24860 pub next: *const c_void,
24861 pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
24862 pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
24863 pub extra_primitive_overestimation_size: f32,
24864}
24865
24866impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
24867 #[inline]
24868 fn default() -> Self {
24869 Self {
24870 s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
24871 next: ptr::null(),
24872 flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
24873 conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
24874 extra_primitive_overestimation_size: f32::default(),
24875 }
24876 }
24877}
24878
24879unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
24880unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
24881
24882#[repr(C)]
24884#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24885pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
24886 pub s_type: StructureType,
24887 pub next: *const c_void,
24888 pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
24889 pub depth_clip_enable: Bool32,
24890}
24891
24892impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
24893 #[inline]
24894 fn default() -> Self {
24895 Self {
24896 s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
24897 next: ptr::null(),
24898 flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
24899 depth_clip_enable: Bool32::default(),
24900 }
24901 }
24902}
24903
24904unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24905unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
24906
24907#[repr(C)]
24909#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24910pub struct PipelineRasterizationLineStateCreateInfo {
24911 pub s_type: StructureType,
24912 pub next: *const c_void,
24913 pub line_rasterization_mode: LineRasterizationMode,
24914 pub stippled_line_enable: Bool32,
24915 pub line_stipple_factor: u32,
24916 pub line_stipple_pattern: u16,
24917}
24918
24919impl Default for PipelineRasterizationLineStateCreateInfo {
24920 #[inline]
24921 fn default() -> Self {
24922 Self {
24923 s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
24924 next: ptr::null(),
24925 line_rasterization_mode: LineRasterizationMode::default(),
24926 stippled_line_enable: Bool32::default(),
24927 line_stipple_factor: u32::default(),
24928 line_stipple_pattern: u16::default(),
24929 }
24930 }
24931}
24932
24933unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
24934unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
24935
24936#[repr(C)]
24938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
24939pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24940 pub s_type: StructureType,
24941 pub next: *const c_void,
24942 pub provoking_vertex_mode: ProvokingVertexModeEXT,
24943}
24944
24945impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
24946 #[inline]
24947 fn default() -> Self {
24948 Self {
24949 s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
24950 next: ptr::null(),
24951 provoking_vertex_mode: ProvokingVertexModeEXT::default(),
24952 }
24953 }
24954}
24955
24956unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24957unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
24958
24959#[repr(C)]
24961#[derive(Copy, Clone, Debug, PartialEq)]
24962pub struct PipelineRasterizationStateCreateInfo {
24963 pub s_type: StructureType,
24964 pub next: *const c_void,
24965 pub flags: PipelineRasterizationStateCreateFlags,
24966 pub depth_clamp_enable: Bool32,
24967 pub rasterizer_discard_enable: Bool32,
24968 pub polygon_mode: PolygonMode,
24969 pub cull_mode: CullModeFlags,
24970 pub front_face: FrontFace,
24971 pub depth_bias_enable: Bool32,
24972 pub depth_bias_constant_factor: f32,
24973 pub depth_bias_clamp: f32,
24974 pub depth_bias_slope_factor: f32,
24975 pub line_width: f32,
24976}
24977
24978impl Default for PipelineRasterizationStateCreateInfo {
24979 #[inline]
24980 fn default() -> Self {
24981 Self {
24982 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
24983 next: ptr::null(),
24984 flags: PipelineRasterizationStateCreateFlags::default(),
24985 depth_clamp_enable: Bool32::default(),
24986 rasterizer_discard_enable: Bool32::default(),
24987 polygon_mode: PolygonMode::default(),
24988 cull_mode: CullModeFlags::default(),
24989 front_face: FrontFace::default(),
24990 depth_bias_enable: Bool32::default(),
24991 depth_bias_constant_factor: f32::default(),
24992 depth_bias_clamp: f32::default(),
24993 depth_bias_slope_factor: f32::default(),
24994 line_width: f32::default(),
24995 }
24996 }
24997}
24998
24999unsafe impl Send for PipelineRasterizationStateCreateInfo {}
25000unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
25001
25002#[repr(C)]
25004#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25005pub struct PipelineRasterizationStateRasterizationOrderAMD {
25006 pub s_type: StructureType,
25007 pub next: *const c_void,
25008 pub rasterization_order: RasterizationOrderAMD,
25009}
25010
25011impl Default for PipelineRasterizationStateRasterizationOrderAMD {
25012 #[inline]
25013 fn default() -> Self {
25014 Self {
25015 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
25016 next: ptr::null(),
25017 rasterization_order: RasterizationOrderAMD::default(),
25018 }
25019 }
25020}
25021
25022unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
25023unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
25024
25025#[repr(C)]
25027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25028pub struct PipelineRasterizationStateStreamCreateInfoEXT {
25029 pub s_type: StructureType,
25030 pub next: *const c_void,
25031 pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
25032 pub rasterization_stream: u32,
25033}
25034
25035impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
25036 #[inline]
25037 fn default() -> Self {
25038 Self {
25039 s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
25040 next: ptr::null(),
25041 flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
25042 rasterization_stream: u32::default(),
25043 }
25044 }
25045}
25046
25047unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
25048unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
25049
25050#[repr(C)]
25052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25053pub struct PipelineRenderingCreateInfo {
25054 pub s_type: StructureType,
25055 pub next: *const c_void,
25056 pub view_mask: u32,
25057 pub color_attachment_count: u32,
25058 pub color_attachment_formats: *const Format,
25059 pub depth_attachment_format: Format,
25060 pub stencil_attachment_format: Format,
25061}
25062
25063impl Default for PipelineRenderingCreateInfo {
25064 #[inline]
25065 fn default() -> Self {
25066 Self {
25067 s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
25068 next: ptr::null(),
25069 view_mask: u32::default(),
25070 color_attachment_count: u32::default(),
25071 color_attachment_formats: ptr::null(),
25072 depth_attachment_format: Format::default(),
25073 stencil_attachment_format: Format::default(),
25074 }
25075 }
25076}
25077
25078unsafe impl Send for PipelineRenderingCreateInfo {}
25079unsafe impl Sync for PipelineRenderingCreateInfo {}
25080
25081#[repr(C)]
25083#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25084pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
25085 pub s_type: StructureType,
25086 pub next: *const c_void,
25087 pub representative_fragment_test_enable: Bool32,
25088}
25089
25090impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
25091 #[inline]
25092 fn default() -> Self {
25093 Self {
25094 s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
25095 next: ptr::null(),
25096 representative_fragment_test_enable: Bool32::default(),
25097 }
25098 }
25099}
25100
25101unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
25102unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
25103
25104#[repr(C)]
25106#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25107pub struct PipelineRobustnessCreateInfo {
25108 pub s_type: StructureType,
25109 pub next: *const c_void,
25110 pub storage_buffers: PipelineRobustnessBufferBehavior,
25111 pub uniform_buffers: PipelineRobustnessBufferBehavior,
25112 pub vertex_inputs: PipelineRobustnessBufferBehavior,
25113 pub images: PipelineRobustnessImageBehavior,
25114}
25115
25116impl Default for PipelineRobustnessCreateInfo {
25117 #[inline]
25118 fn default() -> Self {
25119 Self {
25120 s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
25121 next: ptr::null(),
25122 storage_buffers: PipelineRobustnessBufferBehavior::default(),
25123 uniform_buffers: PipelineRobustnessBufferBehavior::default(),
25124 vertex_inputs: PipelineRobustnessBufferBehavior::default(),
25125 images: PipelineRobustnessImageBehavior::default(),
25126 }
25127 }
25128}
25129
25130unsafe impl Send for PipelineRobustnessCreateInfo {}
25131unsafe impl Sync for PipelineRobustnessCreateInfo {}
25132
25133#[repr(C)]
25135#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25136pub struct PipelineSampleLocationsStateCreateInfoEXT {
25137 pub s_type: StructureType,
25138 pub next: *const c_void,
25139 pub sample_locations_enable: Bool32,
25140 pub sample_locations_info: SampleLocationsInfoEXT,
25141}
25142
25143impl Default for PipelineSampleLocationsStateCreateInfoEXT {
25144 #[inline]
25145 fn default() -> Self {
25146 Self {
25147 s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
25148 next: ptr::null(),
25149 sample_locations_enable: Bool32::default(),
25150 sample_locations_info: SampleLocationsInfoEXT::default(),
25151 }
25152 }
25153}
25154
25155unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
25156unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
25157
25158#[repr(C)]
25160#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25161pub struct PipelineShaderStageCreateInfo {
25162 pub s_type: StructureType,
25163 pub next: *const c_void,
25164 pub flags: PipelineShaderStageCreateFlags,
25165 pub stage: ShaderStageFlags,
25166 pub module: ShaderModule,
25167 pub name: *const c_char,
25168 pub specialization_info: *const SpecializationInfo,
25169}
25170
25171impl Default for PipelineShaderStageCreateInfo {
25172 #[inline]
25173 fn default() -> Self {
25174 Self {
25175 s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
25176 next: ptr::null(),
25177 flags: PipelineShaderStageCreateFlags::default(),
25178 stage: ShaderStageFlags::default(),
25179 module: ShaderModule::default(),
25180 name: ptr::null(),
25181 specialization_info: ptr::null(),
25182 }
25183 }
25184}
25185
25186unsafe impl Send for PipelineShaderStageCreateInfo {}
25187unsafe impl Sync for PipelineShaderStageCreateInfo {}
25188
25189#[repr(C)]
25191#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25192pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
25193 pub s_type: StructureType,
25194 pub next: *const c_void,
25195 pub identifier_size: u32,
25196 pub identifier: *const u8,
25197}
25198
25199impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
25200 #[inline]
25201 fn default() -> Self {
25202 Self {
25203 s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
25204 next: ptr::null(),
25205 identifier_size: u32::default(),
25206 identifier: ptr::null(),
25207 }
25208 }
25209}
25210
25211unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
25212unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
25213
25214#[repr(C)]
25216#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25217pub struct PipelineShaderStageNodeCreateInfoAMDX {
25218 pub s_type: StructureType,
25219 pub next: *const c_void,
25220 pub name: *const c_char,
25221 pub index: u32,
25222}
25223
25224impl Default for PipelineShaderStageNodeCreateInfoAMDX {
25225 #[inline]
25226 fn default() -> Self {
25227 Self {
25228 s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
25229 next: ptr::null(),
25230 name: ptr::null(),
25231 index: u32::default(),
25232 }
25233 }
25234}
25235
25236unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
25237unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
25238
25239#[repr(C)]
25241#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25242pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
25243 pub s_type: StructureType,
25244 pub next: *const c_void,
25245 pub required_subgroup_size: u32,
25246}
25247
25248impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
25249 #[inline]
25250 fn default() -> Self {
25251 Self {
25252 s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
25253 next: ptr::null(),
25254 required_subgroup_size: u32::default(),
25255 }
25256 }
25257}
25258
25259unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
25260unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
25261
25262#[repr(C)]
25264#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25265pub struct PipelineTessellationDomainOriginStateCreateInfo {
25266 pub s_type: StructureType,
25267 pub next: *const c_void,
25268 pub domain_origin: TessellationDomainOrigin,
25269}
25270
25271impl Default for PipelineTessellationDomainOriginStateCreateInfo {
25272 #[inline]
25273 fn default() -> Self {
25274 Self {
25275 s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
25276 next: ptr::null(),
25277 domain_origin: TessellationDomainOrigin::default(),
25278 }
25279 }
25280}
25281
25282unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
25283unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
25284
25285#[repr(C)]
25287#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25288pub struct PipelineTessellationStateCreateInfo {
25289 pub s_type: StructureType,
25290 pub next: *const c_void,
25291 pub flags: PipelineTessellationStateCreateFlags,
25292 pub patch_control_points: u32,
25293}
25294
25295impl Default for PipelineTessellationStateCreateInfo {
25296 #[inline]
25297 fn default() -> Self {
25298 Self {
25299 s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
25300 next: ptr::null(),
25301 flags: PipelineTessellationStateCreateFlags::default(),
25302 patch_control_points: u32::default(),
25303 }
25304 }
25305}
25306
25307unsafe impl Send for PipelineTessellationStateCreateInfo {}
25308unsafe impl Sync for PipelineTessellationStateCreateInfo {}
25309
25310#[repr(C)]
25312#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25313pub struct PipelineVertexInputDivisorStateCreateInfo {
25314 pub s_type: StructureType,
25315 pub next: *const c_void,
25316 pub vertex_binding_divisor_count: u32,
25317 pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
25318}
25319
25320impl Default for PipelineVertexInputDivisorStateCreateInfo {
25321 #[inline]
25322 fn default() -> Self {
25323 Self {
25324 s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
25325 next: ptr::null(),
25326 vertex_binding_divisor_count: u32::default(),
25327 vertex_binding_divisors: ptr::null(),
25328 }
25329 }
25330}
25331
25332unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
25333unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
25334
25335#[repr(C)]
25337#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25338pub struct PipelineVertexInputStateCreateInfo {
25339 pub s_type: StructureType,
25340 pub next: *const c_void,
25341 pub flags: PipelineVertexInputStateCreateFlags,
25342 pub vertex_binding_description_count: u32,
25343 pub vertex_binding_descriptions: *const VertexInputBindingDescription,
25344 pub vertex_attribute_description_count: u32,
25345 pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
25346}
25347
25348impl Default for PipelineVertexInputStateCreateInfo {
25349 #[inline]
25350 fn default() -> Self {
25351 Self {
25352 s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
25353 next: ptr::null(),
25354 flags: PipelineVertexInputStateCreateFlags::default(),
25355 vertex_binding_description_count: u32::default(),
25356 vertex_binding_descriptions: ptr::null(),
25357 vertex_attribute_description_count: u32::default(),
25358 vertex_attribute_descriptions: ptr::null(),
25359 }
25360 }
25361}
25362
25363unsafe impl Send for PipelineVertexInputStateCreateInfo {}
25364unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
25365
25366#[repr(C)]
25368#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25369pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25370 pub s_type: StructureType,
25371 pub next: *const c_void,
25372 pub sample_order_type: CoarseSampleOrderTypeNV,
25373 pub custom_sample_order_count: u32,
25374 pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
25375}
25376
25377impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
25378 #[inline]
25379 fn default() -> Self {
25380 Self {
25381 s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
25382 next: ptr::null(),
25383 sample_order_type: CoarseSampleOrderTypeNV::default(),
25384 custom_sample_order_count: u32::default(),
25385 custom_sample_orders: ptr::null(),
25386 }
25387 }
25388}
25389
25390unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25391unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
25392
25393#[repr(C)]
25395#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25396pub struct PipelineViewportDepthClampControlCreateInfoEXT {
25397 pub s_type: StructureType,
25398 pub next: *const c_void,
25399 pub depth_clamp_mode: DepthClampModeEXT,
25400 pub depth_clamp_range: *const DepthClampRangeEXT,
25401}
25402
25403impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
25404 #[inline]
25405 fn default() -> Self {
25406 Self {
25407 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
25408 next: ptr::null(),
25409 depth_clamp_mode: DepthClampModeEXT::default(),
25410 depth_clamp_range: ptr::null(),
25411 }
25412 }
25413}
25414
25415unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
25416unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
25417
25418#[repr(C)]
25420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25421pub struct PipelineViewportDepthClipControlCreateInfoEXT {
25422 pub s_type: StructureType,
25423 pub next: *const c_void,
25424 pub negative_one_to_one: Bool32,
25425}
25426
25427impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
25428 #[inline]
25429 fn default() -> Self {
25430 Self {
25431 s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
25432 next: ptr::null(),
25433 negative_one_to_one: Bool32::default(),
25434 }
25435 }
25436}
25437
25438unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
25439unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
25440
25441#[repr(C)]
25443#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25444pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
25445 pub s_type: StructureType,
25446 pub next: *const c_void,
25447 pub exclusive_scissor_count: u32,
25448 pub exclusive_scissors: *const Rect2D,
25449}
25450
25451impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
25452 #[inline]
25453 fn default() -> Self {
25454 Self {
25455 s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
25456 next: ptr::null(),
25457 exclusive_scissor_count: u32::default(),
25458 exclusive_scissors: ptr::null(),
25459 }
25460 }
25461}
25462
25463unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25464unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
25465
25466#[repr(C)]
25468#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25469pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
25470 pub s_type: StructureType,
25471 pub next: *const c_void,
25472 pub shading_rate_image_enable: Bool32,
25473 pub viewport_count: u32,
25474 pub shading_rate_palettes: *const ShadingRatePaletteNV,
25475}
25476
25477impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
25478 #[inline]
25479 fn default() -> Self {
25480 Self {
25481 s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
25482 next: ptr::null(),
25483 shading_rate_image_enable: Bool32::default(),
25484 viewport_count: u32::default(),
25485 shading_rate_palettes: ptr::null(),
25486 }
25487 }
25488}
25489
25490unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
25491unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
25492
25493#[repr(C)]
25495#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25496pub struct PipelineViewportStateCreateInfo {
25497 pub s_type: StructureType,
25498 pub next: *const c_void,
25499 pub flags: PipelineViewportStateCreateFlags,
25500 pub viewport_count: u32,
25501 pub viewports: *const Viewport,
25502 pub scissor_count: u32,
25503 pub scissors: *const Rect2D,
25504}
25505
25506impl Default for PipelineViewportStateCreateInfo {
25507 #[inline]
25508 fn default() -> Self {
25509 Self {
25510 s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
25511 next: ptr::null(),
25512 flags: PipelineViewportStateCreateFlags::default(),
25513 viewport_count: u32::default(),
25514 viewports: ptr::null(),
25515 scissor_count: u32::default(),
25516 scissors: ptr::null(),
25517 }
25518 }
25519}
25520
25521unsafe impl Send for PipelineViewportStateCreateInfo {}
25522unsafe impl Sync for PipelineViewportStateCreateInfo {}
25523
25524#[repr(C)]
25526#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25527pub struct PipelineViewportSwizzleStateCreateInfoNV {
25528 pub s_type: StructureType,
25529 pub next: *const c_void,
25530 pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
25531 pub viewport_count: u32,
25532 pub viewport_swizzles: *const ViewportSwizzleNV,
25533}
25534
25535impl Default for PipelineViewportSwizzleStateCreateInfoNV {
25536 #[inline]
25537 fn default() -> Self {
25538 Self {
25539 s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
25540 next: ptr::null(),
25541 flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
25542 viewport_count: u32::default(),
25543 viewport_swizzles: ptr::null(),
25544 }
25545 }
25546}
25547
25548unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
25549unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
25550
25551#[repr(C)]
25553#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25554pub struct PipelineViewportWScalingStateCreateInfoNV {
25555 pub s_type: StructureType,
25556 pub next: *const c_void,
25557 pub viewport_w_scaling_enable: Bool32,
25558 pub viewport_count: u32,
25559 pub viewport_w_scalings: *const ViewportWScalingNV,
25560}
25561
25562impl Default for PipelineViewportWScalingStateCreateInfoNV {
25563 #[inline]
25564 fn default() -> Self {
25565 Self {
25566 s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
25567 next: ptr::null(),
25568 viewport_w_scaling_enable: Bool32::default(),
25569 viewport_count: u32::default(),
25570 viewport_w_scalings: ptr::null(),
25571 }
25572 }
25573}
25574
25575unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
25576unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
25577
25578#[repr(C)]
25580#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25581pub struct PresentFrameTokenGGP {
25582 pub s_type: StructureType,
25583 pub next: *const c_void,
25584 pub frame_token: GgpFrameToken,
25585}
25586
25587impl Default for PresentFrameTokenGGP {
25588 #[inline]
25589 fn default() -> Self {
25590 Self {
25591 s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
25592 next: ptr::null(),
25593 frame_token: GgpFrameToken::default(),
25594 }
25595 }
25596}
25597
25598unsafe impl Send for PresentFrameTokenGGP {}
25599unsafe impl Sync for PresentFrameTokenGGP {}
25600
25601#[repr(C)]
25603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25604pub struct PresentId2KHR {
25605 pub s_type: StructureType,
25606 pub next: *const c_void,
25607 pub swapchain_count: u32,
25608 pub present_ids: *const u64,
25609}
25610
25611impl Default for PresentId2KHR {
25612 #[inline]
25613 fn default() -> Self {
25614 Self {
25615 s_type: StructureType::PRESENT_ID_2_KHR,
25616 next: ptr::null(),
25617 swapchain_count: u32::default(),
25618 present_ids: ptr::null(),
25619 }
25620 }
25621}
25622
25623unsafe impl Send for PresentId2KHR {}
25624unsafe impl Sync for PresentId2KHR {}
25625
25626#[repr(C)]
25628#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25629pub struct PresentIdKHR {
25630 pub s_type: StructureType,
25631 pub next: *const c_void,
25632 pub swapchain_count: u32,
25633 pub present_ids: *const u64,
25634}
25635
25636impl Default for PresentIdKHR {
25637 #[inline]
25638 fn default() -> Self {
25639 Self {
25640 s_type: StructureType::PRESENT_ID_KHR,
25641 next: ptr::null(),
25642 swapchain_count: u32::default(),
25643 present_ids: ptr::null(),
25644 }
25645 }
25646}
25647
25648unsafe impl Send for PresentIdKHR {}
25649unsafe impl Sync for PresentIdKHR {}
25650
25651#[repr(C)]
25653#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25654pub struct PresentInfoKHR {
25655 pub s_type: StructureType,
25656 pub next: *const c_void,
25657 pub wait_semaphore_count: u32,
25658 pub wait_semaphores: *const Semaphore,
25659 pub swapchain_count: u32,
25660 pub swapchains: *const SwapchainKHR,
25661 pub image_indices: *const u32,
25662 pub results: *mut Result,
25663}
25664
25665impl Default for PresentInfoKHR {
25666 #[inline]
25667 fn default() -> Self {
25668 Self {
25669 s_type: StructureType::PRESENT_INFO_KHR,
25670 next: ptr::null(),
25671 wait_semaphore_count: u32::default(),
25672 wait_semaphores: ptr::null(),
25673 swapchain_count: u32::default(),
25674 swapchains: ptr::null(),
25675 image_indices: ptr::null(),
25676 results: ptr::null_mut(),
25677 }
25678 }
25679}
25680
25681unsafe impl Send for PresentInfoKHR {}
25682unsafe impl Sync for PresentInfoKHR {}
25683
25684#[repr(C)]
25686#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25687pub struct PresentRegionKHR {
25688 pub rectangle_count: u32,
25689 pub rectangles: *const RectLayerKHR,
25690}
25691
25692impl Default for PresentRegionKHR {
25693 #[inline]
25694 fn default() -> Self {
25695 Self {
25696 rectangle_count: u32::default(),
25697 rectangles: ptr::null(),
25698 }
25699 }
25700}
25701
25702unsafe impl Send for PresentRegionKHR {}
25703unsafe impl Sync for PresentRegionKHR {}
25704
25705#[repr(C)]
25707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25708pub struct PresentRegionsKHR {
25709 pub s_type: StructureType,
25710 pub next: *const c_void,
25711 pub swapchain_count: u32,
25712 pub regions: *const PresentRegionKHR,
25713}
25714
25715impl Default for PresentRegionsKHR {
25716 #[inline]
25717 fn default() -> Self {
25718 Self {
25719 s_type: StructureType::PRESENT_REGIONS_KHR,
25720 next: ptr::null(),
25721 swapchain_count: u32::default(),
25722 regions: ptr::null(),
25723 }
25724 }
25725}
25726
25727unsafe impl Send for PresentRegionsKHR {}
25728unsafe impl Sync for PresentRegionsKHR {}
25729
25730#[repr(C)]
25732#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25733pub struct PresentStageTimeEXT {
25734 pub stage: PresentStageFlagsEXT,
25735 pub time: u64,
25736}
25737
25738#[repr(C)]
25740#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25741pub struct PresentTimeGOOGLE {
25742 pub present_id: u32,
25743 pub desired_present_time: u64,
25744}
25745
25746#[repr(C)]
25748#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25749pub struct PresentTimesInfoGOOGLE {
25750 pub s_type: StructureType,
25751 pub next: *const c_void,
25752 pub swapchain_count: u32,
25753 pub times: *const PresentTimeGOOGLE,
25754}
25755
25756impl Default for PresentTimesInfoGOOGLE {
25757 #[inline]
25758 fn default() -> Self {
25759 Self {
25760 s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
25761 next: ptr::null(),
25762 swapchain_count: u32::default(),
25763 times: ptr::null(),
25764 }
25765 }
25766}
25767
25768unsafe impl Send for PresentTimesInfoGOOGLE {}
25769unsafe impl Sync for PresentTimesInfoGOOGLE {}
25770
25771#[repr(C)]
25773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25774pub struct PresentTimingInfoEXT {
25775 pub s_type: StructureType,
25776 pub next: *const c_void,
25777 pub flags: PresentTimingInfoFlagsEXT,
25778 pub target_time: u64,
25779 pub time_domain_id: u64,
25780 pub present_stage_queries: PresentStageFlagsEXT,
25781 pub target_time_domain_present_stage: PresentStageFlagsEXT,
25782}
25783
25784impl Default for PresentTimingInfoEXT {
25785 #[inline]
25786 fn default() -> Self {
25787 Self {
25788 s_type: StructureType::PRESENT_TIMING_INFO_EXT,
25789 next: ptr::null(),
25790 flags: PresentTimingInfoFlagsEXT::default(),
25791 target_time: u64::default(),
25792 time_domain_id: u64::default(),
25793 present_stage_queries: PresentStageFlagsEXT::default(),
25794 target_time_domain_present_stage: PresentStageFlagsEXT::default(),
25795 }
25796 }
25797}
25798
25799unsafe impl Send for PresentTimingInfoEXT {}
25800unsafe impl Sync for PresentTimingInfoEXT {}
25801
25802#[repr(C)]
25804#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25805pub struct PresentTimingSurfaceCapabilitiesEXT {
25806 pub s_type: StructureType,
25807 pub next: *mut c_void,
25808 pub present_timing_supported: Bool32,
25809 pub present_at_absolute_time_supported: Bool32,
25810 pub present_at_relative_time_supported: Bool32,
25811 pub present_stage_queries: PresentStageFlagsEXT,
25812}
25813
25814impl Default for PresentTimingSurfaceCapabilitiesEXT {
25815 #[inline]
25816 fn default() -> Self {
25817 Self {
25818 s_type: StructureType::PRESENT_TIMING_SURFACE_CAPABILITIES_EXT,
25819 next: ptr::null_mut(),
25820 present_timing_supported: Bool32::default(),
25821 present_at_absolute_time_supported: Bool32::default(),
25822 present_at_relative_time_supported: Bool32::default(),
25823 present_stage_queries: PresentStageFlagsEXT::default(),
25824 }
25825 }
25826}
25827
25828unsafe impl Send for PresentTimingSurfaceCapabilitiesEXT {}
25829unsafe impl Sync for PresentTimingSurfaceCapabilitiesEXT {}
25830
25831#[repr(C)]
25833#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25834pub struct PresentTimingsInfoEXT {
25835 pub s_type: StructureType,
25836 pub next: *const c_void,
25837 pub swapchain_count: u32,
25838 pub timing_infos: *const PresentTimingInfoEXT,
25839}
25840
25841impl Default for PresentTimingsInfoEXT {
25842 #[inline]
25843 fn default() -> Self {
25844 Self {
25845 s_type: StructureType::PRESENT_TIMINGS_INFO_EXT,
25846 next: ptr::null(),
25847 swapchain_count: u32::default(),
25848 timing_infos: ptr::null(),
25849 }
25850 }
25851}
25852
25853unsafe impl Send for PresentTimingsInfoEXT {}
25854unsafe impl Sync for PresentTimingsInfoEXT {}
25855
25856#[repr(C)]
25858#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25859pub struct PresentWait2InfoKHR {
25860 pub s_type: StructureType,
25861 pub next: *const c_void,
25862 pub present_id: u64,
25863 pub timeout: u64,
25864}
25865
25866impl Default for PresentWait2InfoKHR {
25867 #[inline]
25868 fn default() -> Self {
25869 Self {
25870 s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
25871 next: ptr::null(),
25872 present_id: u64::default(),
25873 timeout: u64::default(),
25874 }
25875 }
25876}
25877
25878unsafe impl Send for PresentWait2InfoKHR {}
25879unsafe impl Sync for PresentWait2InfoKHR {}
25880
25881#[repr(C)]
25883#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25884pub struct PrivateDataSlotCreateInfo {
25885 pub s_type: StructureType,
25886 pub next: *const c_void,
25887 pub flags: PrivateDataSlotCreateFlags,
25888}
25889
25890impl Default for PrivateDataSlotCreateInfo {
25891 #[inline]
25892 fn default() -> Self {
25893 Self {
25894 s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
25895 next: ptr::null(),
25896 flags: PrivateDataSlotCreateFlags::default(),
25897 }
25898 }
25899}
25900
25901unsafe impl Send for PrivateDataSlotCreateInfo {}
25902unsafe impl Sync for PrivateDataSlotCreateInfo {}
25903
25904#[repr(C)]
25906#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25907pub struct ProtectedSubmitInfo {
25908 pub s_type: StructureType,
25909 pub next: *const c_void,
25910 pub protected_submit: Bool32,
25911}
25912
25913impl Default for ProtectedSubmitInfo {
25914 #[inline]
25915 fn default() -> Self {
25916 Self {
25917 s_type: StructureType::PROTECTED_SUBMIT_INFO,
25918 next: ptr::null(),
25919 protected_submit: Bool32::default(),
25920 }
25921 }
25922}
25923
25924unsafe impl Send for ProtectedSubmitInfo {}
25925unsafe impl Sync for ProtectedSubmitInfo {}
25926
25927#[repr(C)]
25929#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
25930pub struct PushConstantRange {
25931 pub stage_flags: ShaderStageFlags,
25932 pub offset: u32,
25933 pub size: u32,
25934}
25935
25936#[repr(C)]
25938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25939pub struct PushConstantsInfo {
25940 pub s_type: StructureType,
25941 pub next: *const c_void,
25942 pub layout: PipelineLayout,
25943 pub stage_flags: ShaderStageFlags,
25944 pub offset: u32,
25945 pub size: u32,
25946 pub values: *const c_void,
25947}
25948
25949impl Default for PushConstantsInfo {
25950 #[inline]
25951 fn default() -> Self {
25952 Self {
25953 s_type: StructureType::PUSH_CONSTANTS_INFO,
25954 next: ptr::null(),
25955 layout: PipelineLayout::default(),
25956 stage_flags: ShaderStageFlags::default(),
25957 offset: u32::default(),
25958 size: u32::default(),
25959 values: ptr::null(),
25960 }
25961 }
25962}
25963
25964unsafe impl Send for PushConstantsInfo {}
25965unsafe impl Sync for PushConstantsInfo {}
25966
25967#[repr(C)]
25969#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
25970pub struct PushDescriptorSetInfo {
25971 pub s_type: StructureType,
25972 pub next: *const c_void,
25973 pub stage_flags: ShaderStageFlags,
25974 pub layout: PipelineLayout,
25975 pub set: u32,
25976 pub descriptor_write_count: u32,
25977 pub descriptor_writes: *const WriteDescriptorSet,
25978}
25979
25980impl Default for PushDescriptorSetInfo {
25981 #[inline]
25982 fn default() -> Self {
25983 Self {
25984 s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
25985 next: ptr::null(),
25986 stage_flags: ShaderStageFlags::default(),
25987 layout: PipelineLayout::default(),
25988 set: u32::default(),
25989 descriptor_write_count: u32::default(),
25990 descriptor_writes: ptr::null(),
25991 }
25992 }
25993}
25994
25995unsafe impl Send for PushDescriptorSetInfo {}
25996unsafe impl Sync for PushDescriptorSetInfo {}
25997
25998#[repr(C)]
26000#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26001pub struct PushDescriptorSetWithTemplateInfo {
26002 pub s_type: StructureType,
26003 pub next: *const c_void,
26004 pub descriptor_update_template: DescriptorUpdateTemplate,
26005 pub layout: PipelineLayout,
26006 pub set: u32,
26007 pub data: *const c_void,
26008}
26009
26010impl Default for PushDescriptorSetWithTemplateInfo {
26011 #[inline]
26012 fn default() -> Self {
26013 Self {
26014 s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
26015 next: ptr::null(),
26016 descriptor_update_template: DescriptorUpdateTemplate::default(),
26017 layout: PipelineLayout::default(),
26018 set: u32::default(),
26019 data: ptr::null(),
26020 }
26021 }
26022}
26023
26024unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
26025unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
26026
26027#[repr(C)]
26029#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26030pub struct QueryLowLatencySupportNV {
26031 pub s_type: StructureType,
26032 pub next: *const c_void,
26033 pub queried_low_latency_data: *mut c_void,
26034}
26035
26036impl Default for QueryLowLatencySupportNV {
26037 #[inline]
26038 fn default() -> Self {
26039 Self {
26040 s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
26041 next: ptr::null(),
26042 queried_low_latency_data: ptr::null_mut(),
26043 }
26044 }
26045}
26046
26047unsafe impl Send for QueryLowLatencySupportNV {}
26048unsafe impl Sync for QueryLowLatencySupportNV {}
26049
26050#[repr(C)]
26052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26053pub struct QueryPoolCreateInfo {
26054 pub s_type: StructureType,
26055 pub next: *const c_void,
26056 pub flags: QueryPoolCreateFlags,
26057 pub query_type: QueryType,
26058 pub query_count: u32,
26059 pub pipeline_statistics: QueryPipelineStatisticFlags,
26060}
26061
26062impl Default for QueryPoolCreateInfo {
26063 #[inline]
26064 fn default() -> Self {
26065 Self {
26066 s_type: StructureType::QUERY_POOL_CREATE_INFO,
26067 next: ptr::null(),
26068 flags: QueryPoolCreateFlags::default(),
26069 query_type: QueryType::default(),
26070 query_count: u32::default(),
26071 pipeline_statistics: QueryPipelineStatisticFlags::default(),
26072 }
26073 }
26074}
26075
26076unsafe impl Send for QueryPoolCreateInfo {}
26077unsafe impl Sync for QueryPoolCreateInfo {}
26078
26079#[repr(C)]
26081#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26082pub struct QueryPoolPerformanceCreateInfoKHR {
26083 pub s_type: StructureType,
26084 pub next: *const c_void,
26085 pub queue_family_index: u32,
26086 pub counter_index_count: u32,
26087 pub counter_indices: *const u32,
26088}
26089
26090impl Default for QueryPoolPerformanceCreateInfoKHR {
26091 #[inline]
26092 fn default() -> Self {
26093 Self {
26094 s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
26095 next: ptr::null(),
26096 queue_family_index: u32::default(),
26097 counter_index_count: u32::default(),
26098 counter_indices: ptr::null(),
26099 }
26100 }
26101}
26102
26103unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
26104unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
26105
26106#[repr(C)]
26108#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26109pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
26110 pub s_type: StructureType,
26111 pub next: *const c_void,
26112 pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
26113}
26114
26115impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
26116 #[inline]
26117 fn default() -> Self {
26118 Self {
26119 s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
26120 next: ptr::null(),
26121 performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
26122 }
26123 }
26124}
26125
26126unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
26127unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
26128
26129#[repr(C)]
26131#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26132pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
26133 pub s_type: StructureType,
26134 pub next: *const c_void,
26135 pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
26136}
26137
26138impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
26139 #[inline]
26140 fn default() -> Self {
26141 Self {
26142 s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
26143 next: ptr::null(),
26144 encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
26145 }
26146 }
26147}
26148
26149unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
26150unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
26151
26152#[repr(C)]
26154#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26155pub struct QueueFamilyCheckpointProperties2NV {
26156 pub s_type: StructureType,
26157 pub next: *mut c_void,
26158 pub checkpoint_execution_stage_mask: PipelineStageFlags2,
26159}
26160
26161impl Default for QueueFamilyCheckpointProperties2NV {
26162 #[inline]
26163 fn default() -> Self {
26164 Self {
26165 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
26166 next: ptr::null_mut(),
26167 checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
26168 }
26169 }
26170}
26171
26172unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
26173unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
26174
26175#[repr(C)]
26177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26178pub struct QueueFamilyCheckpointPropertiesNV {
26179 pub s_type: StructureType,
26180 pub next: *mut c_void,
26181 pub checkpoint_execution_stage_mask: PipelineStageFlags,
26182}
26183
26184impl Default for QueueFamilyCheckpointPropertiesNV {
26185 #[inline]
26186 fn default() -> Self {
26187 Self {
26188 s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
26189 next: ptr::null_mut(),
26190 checkpoint_execution_stage_mask: PipelineStageFlags::default(),
26191 }
26192 }
26193}
26194
26195unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
26196unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
26197
26198#[repr(C)]
26200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26201pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
26202 pub s_type: StructureType,
26203 pub next: *const c_void,
26204 pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
26205 pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
26206}
26207
26208impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
26209 #[inline]
26210 fn default() -> Self {
26211 Self {
26212 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
26213 next: ptr::null(),
26214 foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
26215 foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
26216 }
26217 }
26218}
26219
26220unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
26221unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
26222
26223#[repr(C)]
26225#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26226pub struct QueueFamilyDataGraphPropertiesARM {
26227 pub s_type: StructureType,
26228 pub next: *const c_void,
26229 pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
26230 pub operation: PhysicalDeviceDataGraphOperationSupportARM,
26231}
26232
26233impl Default for QueueFamilyDataGraphPropertiesARM {
26234 #[inline]
26235 fn default() -> Self {
26236 Self {
26237 s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
26238 next: ptr::null(),
26239 engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
26240 operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
26241 }
26242 }
26243}
26244
26245unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
26246unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
26247
26248#[repr(C)]
26250#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26251pub struct QueueFamilyGlobalPriorityProperties {
26252 pub s_type: StructureType,
26253 pub next: *mut c_void,
26254 pub priority_count: u32,
26255 pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE as usize],
26256}
26257
26258impl Default for QueueFamilyGlobalPriorityProperties {
26259 #[inline]
26260 fn default() -> Self {
26261 Self {
26262 s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
26263 next: ptr::null_mut(),
26264 priority_count: u32::default(),
26265 priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
26266 }
26267 }
26268}
26269
26270unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
26271unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
26272
26273#[repr(C)]
26275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26276pub struct QueueFamilyOwnershipTransferPropertiesKHR {
26277 pub s_type: StructureType,
26278 pub next: *mut c_void,
26279 pub optimal_image_transfer_to_queue_families: u32,
26280}
26281
26282impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
26283 #[inline]
26284 fn default() -> Self {
26285 Self {
26286 s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
26287 next: ptr::null_mut(),
26288 optimal_image_transfer_to_queue_families: u32::default(),
26289 }
26290 }
26291}
26292
26293unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
26294unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
26295
26296#[repr(C)]
26298#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26299pub struct QueueFamilyProperties {
26300 pub queue_flags: QueueFlags,
26301 pub queue_count: u32,
26302 pub timestamp_valid_bits: u32,
26303 pub min_image_transfer_granularity: Extent3D,
26304}
26305
26306#[repr(C)]
26308#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26309pub struct QueueFamilyProperties2 {
26310 pub s_type: StructureType,
26311 pub next: *mut c_void,
26312 pub queue_family_properties: QueueFamilyProperties,
26313}
26314
26315impl Default for QueueFamilyProperties2 {
26316 #[inline]
26317 fn default() -> Self {
26318 Self {
26319 s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
26320 next: ptr::null_mut(),
26321 queue_family_properties: QueueFamilyProperties::default(),
26322 }
26323 }
26324}
26325
26326unsafe impl Send for QueueFamilyProperties2 {}
26327unsafe impl Sync for QueueFamilyProperties2 {}
26328
26329#[repr(C)]
26331#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26332pub struct QueueFamilyQueryResultStatusPropertiesKHR {
26333 pub s_type: StructureType,
26334 pub next: *mut c_void,
26335 pub query_result_status_support: Bool32,
26336}
26337
26338impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
26339 #[inline]
26340 fn default() -> Self {
26341 Self {
26342 s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
26343 next: ptr::null_mut(),
26344 query_result_status_support: Bool32::default(),
26345 }
26346 }
26347}
26348
26349unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
26350unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
26351
26352#[repr(C)]
26354#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26355pub struct QueueFamilyVideoPropertiesKHR {
26356 pub s_type: StructureType,
26357 pub next: *mut c_void,
26358 pub video_codec_operations: VideoCodecOperationFlagsKHR,
26359}
26360
26361impl Default for QueueFamilyVideoPropertiesKHR {
26362 #[inline]
26363 fn default() -> Self {
26364 Self {
26365 s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
26366 next: ptr::null_mut(),
26367 video_codec_operations: VideoCodecOperationFlagsKHR::default(),
26368 }
26369 }
26370}
26371
26372unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
26373unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
26374
26375#[repr(C)]
26377#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26378pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
26379 pub s_type: StructureType,
26380 pub next: *mut c_void,
26381 pub allow_cluster_acceleration_structure: Bool32,
26382}
26383
26384impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
26385 #[inline]
26386 fn default() -> Self {
26387 Self {
26388 s_type:
26389 StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
26390 next: ptr::null_mut(),
26391 allow_cluster_acceleration_structure: Bool32::default(),
26392 }
26393 }
26394}
26395
26396unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
26397unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
26398
26399#[repr(C)]
26401#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26402pub struct RayTracingPipelineCreateInfoKHR {
26403 pub s_type: StructureType,
26404 pub next: *const c_void,
26405 pub flags: PipelineCreateFlags,
26406 pub stage_count: u32,
26407 pub stages: *const PipelineShaderStageCreateInfo,
26408 pub group_count: u32,
26409 pub groups: *const RayTracingShaderGroupCreateInfoKHR,
26410 pub max_pipeline_ray_recursion_depth: u32,
26411 pub library_info: *const PipelineLibraryCreateInfoKHR,
26412 pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
26413 pub dynamic_state: *const PipelineDynamicStateCreateInfo,
26414 pub layout: PipelineLayout,
26415 pub base_pipeline_handle: Pipeline,
26416 pub base_pipeline_index: i32,
26417}
26418
26419impl Default for RayTracingPipelineCreateInfoKHR {
26420 #[inline]
26421 fn default() -> Self {
26422 Self {
26423 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
26424 next: ptr::null(),
26425 flags: PipelineCreateFlags::default(),
26426 stage_count: u32::default(),
26427 stages: ptr::null(),
26428 group_count: u32::default(),
26429 groups: ptr::null(),
26430 max_pipeline_ray_recursion_depth: u32::default(),
26431 library_info: ptr::null(),
26432 library_interface: ptr::null(),
26433 dynamic_state: ptr::null(),
26434 layout: PipelineLayout::default(),
26435 base_pipeline_handle: Pipeline::default(),
26436 base_pipeline_index: i32::default(),
26437 }
26438 }
26439}
26440
26441unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
26442unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
26443
26444#[repr(C)]
26446#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26447pub struct RayTracingPipelineCreateInfoNV {
26448 pub s_type: StructureType,
26449 pub next: *const c_void,
26450 pub flags: PipelineCreateFlags,
26451 pub stage_count: u32,
26452 pub stages: *const PipelineShaderStageCreateInfo,
26453 pub group_count: u32,
26454 pub groups: *const RayTracingShaderGroupCreateInfoNV,
26455 pub max_recursion_depth: u32,
26456 pub layout: PipelineLayout,
26457 pub base_pipeline_handle: Pipeline,
26458 pub base_pipeline_index: i32,
26459}
26460
26461impl Default for RayTracingPipelineCreateInfoNV {
26462 #[inline]
26463 fn default() -> Self {
26464 Self {
26465 s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
26466 next: ptr::null(),
26467 flags: PipelineCreateFlags::default(),
26468 stage_count: u32::default(),
26469 stages: ptr::null(),
26470 group_count: u32::default(),
26471 groups: ptr::null(),
26472 max_recursion_depth: u32::default(),
26473 layout: PipelineLayout::default(),
26474 base_pipeline_handle: Pipeline::default(),
26475 base_pipeline_index: i32::default(),
26476 }
26477 }
26478}
26479
26480unsafe impl Send for RayTracingPipelineCreateInfoNV {}
26481unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
26482
26483#[repr(C)]
26485#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26486pub struct RayTracingPipelineInterfaceCreateInfoKHR {
26487 pub s_type: StructureType,
26488 pub next: *const c_void,
26489 pub max_pipeline_ray_payload_size: u32,
26490 pub max_pipeline_ray_hit_attribute_size: u32,
26491}
26492
26493impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
26494 #[inline]
26495 fn default() -> Self {
26496 Self {
26497 s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
26498 next: ptr::null(),
26499 max_pipeline_ray_payload_size: u32::default(),
26500 max_pipeline_ray_hit_attribute_size: u32::default(),
26501 }
26502 }
26503}
26504
26505unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
26506unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
26507
26508#[repr(C)]
26510#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26511pub struct RayTracingShaderGroupCreateInfoKHR {
26512 pub s_type: StructureType,
26513 pub next: *const c_void,
26514 pub type_: RayTracingShaderGroupTypeKHR,
26515 pub general_shader: u32,
26516 pub closest_hit_shader: u32,
26517 pub any_hit_shader: u32,
26518 pub intersection_shader: u32,
26519 pub shader_group_capture_replay_handle: *const c_void,
26520}
26521
26522impl Default for RayTracingShaderGroupCreateInfoKHR {
26523 #[inline]
26524 fn default() -> Self {
26525 Self {
26526 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
26527 next: ptr::null(),
26528 type_: RayTracingShaderGroupTypeKHR::default(),
26529 general_shader: u32::default(),
26530 closest_hit_shader: u32::default(),
26531 any_hit_shader: u32::default(),
26532 intersection_shader: u32::default(),
26533 shader_group_capture_replay_handle: ptr::null(),
26534 }
26535 }
26536}
26537
26538unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
26539unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
26540
26541#[repr(C)]
26543#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26544pub struct RayTracingShaderGroupCreateInfoNV {
26545 pub s_type: StructureType,
26546 pub next: *const c_void,
26547 pub type_: RayTracingShaderGroupTypeKHR,
26548 pub general_shader: u32,
26549 pub closest_hit_shader: u32,
26550 pub any_hit_shader: u32,
26551 pub intersection_shader: u32,
26552}
26553
26554impl Default for RayTracingShaderGroupCreateInfoNV {
26555 #[inline]
26556 fn default() -> Self {
26557 Self {
26558 s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
26559 next: ptr::null(),
26560 type_: RayTracingShaderGroupTypeKHR::default(),
26561 general_shader: u32::default(),
26562 closest_hit_shader: u32::default(),
26563 any_hit_shader: u32::default(),
26564 intersection_shader: u32::default(),
26565 }
26566 }
26567}
26568
26569unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
26570unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
26571
26572#[repr(C)]
26574#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26575pub struct Rect2D {
26576 pub offset: Offset2D,
26577 pub extent: Extent2D,
26578}
26579
26580#[repr(C)]
26582#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26583pub struct RectLayerKHR {
26584 pub offset: Offset2D,
26585 pub extent: Extent2D,
26586 pub layer: u32,
26587}
26588
26589#[repr(C)]
26591#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26592pub struct RefreshCycleDurationGOOGLE {
26593 pub refresh_duration: u64,
26594}
26595
26596#[repr(C)]
26598#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26599pub struct RefreshObjectKHR {
26600 pub object_type: ObjectType,
26601 pub object_handle: u64,
26602 pub flags: RefreshObjectFlagsKHR,
26603}
26604
26605#[repr(C)]
26607#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26608pub struct RefreshObjectListKHR {
26609 pub s_type: StructureType,
26610 pub next: *const c_void,
26611 pub object_count: u32,
26612 pub objects: *const RefreshObjectKHR,
26613}
26614
26615impl Default for RefreshObjectListKHR {
26616 #[inline]
26617 fn default() -> Self {
26618 Self {
26619 s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
26620 next: ptr::null(),
26621 object_count: u32::default(),
26622 objects: ptr::null(),
26623 }
26624 }
26625}
26626
26627unsafe impl Send for RefreshObjectListKHR {}
26628unsafe impl Sync for RefreshObjectListKHR {}
26629
26630#[repr(C)]
26632#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26633pub struct ReleaseCapturedPipelineDataInfoKHR {
26634 pub s_type: StructureType,
26635 pub next: *mut c_void,
26636 pub pipeline: Pipeline,
26637}
26638
26639impl Default for ReleaseCapturedPipelineDataInfoKHR {
26640 #[inline]
26641 fn default() -> Self {
26642 Self {
26643 s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
26644 next: ptr::null_mut(),
26645 pipeline: Pipeline::default(),
26646 }
26647 }
26648}
26649
26650unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
26651unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
26652
26653#[repr(C)]
26655#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26656pub struct ReleaseSwapchainImagesInfoKHR {
26657 pub s_type: StructureType,
26658 pub next: *const c_void,
26659 pub swapchain: SwapchainKHR,
26660 pub image_index_count: u32,
26661 pub image_indices: *const u32,
26662}
26663
26664impl Default for ReleaseSwapchainImagesInfoKHR {
26665 #[inline]
26666 fn default() -> Self {
26667 Self {
26668 s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
26669 next: ptr::null(),
26670 swapchain: SwapchainKHR::default(),
26671 image_index_count: u32::default(),
26672 image_indices: ptr::null(),
26673 }
26674 }
26675}
26676
26677unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
26678unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
26679
26680#[repr(C)]
26682#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26683pub struct RenderPassAttachmentBeginInfo {
26684 pub s_type: StructureType,
26685 pub next: *const c_void,
26686 pub attachment_count: u32,
26687 pub attachments: *const ImageView,
26688}
26689
26690impl Default for RenderPassAttachmentBeginInfo {
26691 #[inline]
26692 fn default() -> Self {
26693 Self {
26694 s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
26695 next: ptr::null(),
26696 attachment_count: u32::default(),
26697 attachments: ptr::null(),
26698 }
26699 }
26700}
26701
26702unsafe impl Send for RenderPassAttachmentBeginInfo {}
26703unsafe impl Sync for RenderPassAttachmentBeginInfo {}
26704
26705#[repr(C)]
26707#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26708pub struct RenderPassBeginInfo {
26709 pub s_type: StructureType,
26710 pub next: *const c_void,
26711 pub render_pass: RenderPass,
26712 pub framebuffer: Framebuffer,
26713 pub render_area: Rect2D,
26714 pub clear_value_count: u32,
26715 pub clear_values: *const ClearValue,
26716}
26717
26718impl Default for RenderPassBeginInfo {
26719 #[inline]
26720 fn default() -> Self {
26721 Self {
26722 s_type: StructureType::RENDER_PASS_BEGIN_INFO,
26723 next: ptr::null(),
26724 render_pass: RenderPass::default(),
26725 framebuffer: Framebuffer::default(),
26726 render_area: Rect2D::default(),
26727 clear_value_count: u32::default(),
26728 clear_values: ptr::null(),
26729 }
26730 }
26731}
26732
26733unsafe impl Send for RenderPassBeginInfo {}
26734unsafe impl Sync for RenderPassBeginInfo {}
26735
26736#[repr(C)]
26738#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26739pub struct RenderPassCreateInfo {
26740 pub s_type: StructureType,
26741 pub next: *const c_void,
26742 pub flags: RenderPassCreateFlags,
26743 pub attachment_count: u32,
26744 pub attachments: *const AttachmentDescription,
26745 pub subpass_count: u32,
26746 pub subpasses: *const SubpassDescription,
26747 pub dependency_count: u32,
26748 pub dependencies: *const SubpassDependency,
26749}
26750
26751impl Default for RenderPassCreateInfo {
26752 #[inline]
26753 fn default() -> Self {
26754 Self {
26755 s_type: StructureType::RENDER_PASS_CREATE_INFO,
26756 next: ptr::null(),
26757 flags: RenderPassCreateFlags::default(),
26758 attachment_count: u32::default(),
26759 attachments: ptr::null(),
26760 subpass_count: u32::default(),
26761 subpasses: ptr::null(),
26762 dependency_count: u32::default(),
26763 dependencies: ptr::null(),
26764 }
26765 }
26766}
26767
26768unsafe impl Send for RenderPassCreateInfo {}
26769unsafe impl Sync for RenderPassCreateInfo {}
26770
26771#[repr(C)]
26773#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26774pub struct RenderPassCreateInfo2 {
26775 pub s_type: StructureType,
26776 pub next: *const c_void,
26777 pub flags: RenderPassCreateFlags,
26778 pub attachment_count: u32,
26779 pub attachments: *const AttachmentDescription2,
26780 pub subpass_count: u32,
26781 pub subpasses: *const SubpassDescription2,
26782 pub dependency_count: u32,
26783 pub dependencies: *const SubpassDependency2,
26784 pub correlated_view_mask_count: u32,
26785 pub correlated_view_masks: *const u32,
26786}
26787
26788impl Default for RenderPassCreateInfo2 {
26789 #[inline]
26790 fn default() -> Self {
26791 Self {
26792 s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
26793 next: ptr::null(),
26794 flags: RenderPassCreateFlags::default(),
26795 attachment_count: u32::default(),
26796 attachments: ptr::null(),
26797 subpass_count: u32::default(),
26798 subpasses: ptr::null(),
26799 dependency_count: u32::default(),
26800 dependencies: ptr::null(),
26801 correlated_view_mask_count: u32::default(),
26802 correlated_view_masks: ptr::null(),
26803 }
26804 }
26805}
26806
26807unsafe impl Send for RenderPassCreateInfo2 {}
26808unsafe impl Sync for RenderPassCreateInfo2 {}
26809
26810#[repr(C)]
26812#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26813pub struct RenderPassCreationControlEXT {
26814 pub s_type: StructureType,
26815 pub next: *const c_void,
26816 pub disallow_merging: Bool32,
26817}
26818
26819impl Default for RenderPassCreationControlEXT {
26820 #[inline]
26821 fn default() -> Self {
26822 Self {
26823 s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
26824 next: ptr::null(),
26825 disallow_merging: Bool32::default(),
26826 }
26827 }
26828}
26829
26830unsafe impl Send for RenderPassCreationControlEXT {}
26831unsafe impl Sync for RenderPassCreationControlEXT {}
26832
26833#[repr(C)]
26835#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26836pub struct RenderPassCreationFeedbackCreateInfoEXT {
26837 pub s_type: StructureType,
26838 pub next: *const c_void,
26839 pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
26840}
26841
26842impl Default for RenderPassCreationFeedbackCreateInfoEXT {
26843 #[inline]
26844 fn default() -> Self {
26845 Self {
26846 s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
26847 next: ptr::null(),
26848 render_pass_feedback: ptr::null_mut(),
26849 }
26850 }
26851}
26852
26853unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
26854unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
26855
26856#[repr(C)]
26858#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
26859pub struct RenderPassCreationFeedbackInfoEXT {
26860 pub post_merge_subpass_count: u32,
26861}
26862
26863#[repr(C)]
26865#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26866pub struct RenderPassFragmentDensityMapCreateInfoEXT {
26867 pub s_type: StructureType,
26868 pub next: *const c_void,
26869 pub fragment_density_map_attachment: AttachmentReference,
26870}
26871
26872impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
26873 #[inline]
26874 fn default() -> Self {
26875 Self {
26876 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
26877 next: ptr::null(),
26878 fragment_density_map_attachment: AttachmentReference::default(),
26879 }
26880 }
26881}
26882
26883unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
26884unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
26885
26886#[repr(C)]
26888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26889pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
26890 pub s_type: StructureType,
26891 pub next: *const c_void,
26892 pub fragment_density_offset_count: u32,
26893 pub fragment_density_offsets: *const Offset2D,
26894}
26895
26896impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
26897 #[inline]
26898 fn default() -> Self {
26899 Self {
26900 s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
26901 next: ptr::null(),
26902 fragment_density_offset_count: u32::default(),
26903 fragment_density_offsets: ptr::null(),
26904 }
26905 }
26906}
26907
26908unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26909unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
26910
26911#[repr(C)]
26913#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26914pub struct RenderPassInputAttachmentAspectCreateInfo {
26915 pub s_type: StructureType,
26916 pub next: *const c_void,
26917 pub aspect_reference_count: u32,
26918 pub aspect_references: *const InputAttachmentAspectReference,
26919}
26920
26921impl Default for RenderPassInputAttachmentAspectCreateInfo {
26922 #[inline]
26923 fn default() -> Self {
26924 Self {
26925 s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
26926 next: ptr::null(),
26927 aspect_reference_count: u32::default(),
26928 aspect_references: ptr::null(),
26929 }
26930 }
26931}
26932
26933unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
26934unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
26935
26936#[repr(C)]
26938#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26939pub struct RenderPassMultiviewCreateInfo {
26940 pub s_type: StructureType,
26941 pub next: *const c_void,
26942 pub subpass_count: u32,
26943 pub view_masks: *const u32,
26944 pub dependency_count: u32,
26945 pub view_offsets: *const i32,
26946 pub correlation_mask_count: u32,
26947 pub correlation_masks: *const u32,
26948}
26949
26950impl Default for RenderPassMultiviewCreateInfo {
26951 #[inline]
26952 fn default() -> Self {
26953 Self {
26954 s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
26955 next: ptr::null(),
26956 subpass_count: u32::default(),
26957 view_masks: ptr::null(),
26958 dependency_count: u32::default(),
26959 view_offsets: ptr::null(),
26960 correlation_mask_count: u32::default(),
26961 correlation_masks: ptr::null(),
26962 }
26963 }
26964}
26965
26966unsafe impl Send for RenderPassMultiviewCreateInfo {}
26967unsafe impl Sync for RenderPassMultiviewCreateInfo {}
26968
26969#[repr(C)]
26971#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
26972pub struct RenderPassPerformanceCountersByRegionBeginInfoARM {
26973 pub s_type: StructureType,
26974 pub next: *mut c_void,
26975 pub counter_address_count: u32,
26976 pub counter_addresses: *const DeviceAddress,
26977 pub serialize_regions: Bool32,
26978 pub counter_index_count: u32,
26979 pub counter_indices: *mut u32,
26980}
26981
26982impl Default for RenderPassPerformanceCountersByRegionBeginInfoARM {
26983 #[inline]
26984 fn default() -> Self {
26985 Self {
26986 s_type: StructureType::RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
26987 next: ptr::null_mut(),
26988 counter_address_count: u32::default(),
26989 counter_addresses: ptr::null(),
26990 serialize_regions: Bool32::default(),
26991 counter_index_count: u32::default(),
26992 counter_indices: ptr::null_mut(),
26993 }
26994 }
26995}
26996
26997unsafe impl Send for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26998unsafe impl Sync for RenderPassPerformanceCountersByRegionBeginInfoARM {}
26999
27000#[repr(C)]
27002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27003pub struct RenderPassSampleLocationsBeginInfoEXT {
27004 pub s_type: StructureType,
27005 pub next: *const c_void,
27006 pub attachment_initial_sample_locations_count: u32,
27007 pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
27008 pub post_subpass_sample_locations_count: u32,
27009 pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
27010}
27011
27012impl Default for RenderPassSampleLocationsBeginInfoEXT {
27013 #[inline]
27014 fn default() -> Self {
27015 Self {
27016 s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
27017 next: ptr::null(),
27018 attachment_initial_sample_locations_count: u32::default(),
27019 attachment_initial_sample_locations: ptr::null(),
27020 post_subpass_sample_locations_count: u32::default(),
27021 post_subpass_sample_locations: ptr::null(),
27022 }
27023 }
27024}
27025
27026unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
27027unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
27028
27029#[repr(C)]
27031#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27032pub struct RenderPassStripeBeginInfoARM {
27033 pub s_type: StructureType,
27034 pub next: *const c_void,
27035 pub stripe_info_count: u32,
27036 pub stripe_infos: *const RenderPassStripeInfoARM,
27037}
27038
27039impl Default for RenderPassStripeBeginInfoARM {
27040 #[inline]
27041 fn default() -> Self {
27042 Self {
27043 s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
27044 next: ptr::null(),
27045 stripe_info_count: u32::default(),
27046 stripe_infos: ptr::null(),
27047 }
27048 }
27049}
27050
27051unsafe impl Send for RenderPassStripeBeginInfoARM {}
27052unsafe impl Sync for RenderPassStripeBeginInfoARM {}
27053
27054#[repr(C)]
27056#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27057pub struct RenderPassStripeInfoARM {
27058 pub s_type: StructureType,
27059 pub next: *const c_void,
27060 pub stripe_area: Rect2D,
27061}
27062
27063impl Default for RenderPassStripeInfoARM {
27064 #[inline]
27065 fn default() -> Self {
27066 Self {
27067 s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
27068 next: ptr::null(),
27069 stripe_area: Rect2D::default(),
27070 }
27071 }
27072}
27073
27074unsafe impl Send for RenderPassStripeInfoARM {}
27075unsafe impl Sync for RenderPassStripeInfoARM {}
27076
27077#[repr(C)]
27079#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27080pub struct RenderPassStripeSubmitInfoARM {
27081 pub s_type: StructureType,
27082 pub next: *const c_void,
27083 pub stripe_semaphore_info_count: u32,
27084 pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
27085}
27086
27087impl Default for RenderPassStripeSubmitInfoARM {
27088 #[inline]
27089 fn default() -> Self {
27090 Self {
27091 s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
27092 next: ptr::null(),
27093 stripe_semaphore_info_count: u32::default(),
27094 stripe_semaphore_infos: ptr::null(),
27095 }
27096 }
27097}
27098
27099unsafe impl Send for RenderPassStripeSubmitInfoARM {}
27100unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
27101
27102#[repr(C)]
27104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27105pub struct RenderPassSubpassFeedbackCreateInfoEXT {
27106 pub s_type: StructureType,
27107 pub next: *const c_void,
27108 pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
27109}
27110
27111impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
27112 #[inline]
27113 fn default() -> Self {
27114 Self {
27115 s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
27116 next: ptr::null(),
27117 subpass_feedback: ptr::null_mut(),
27118 }
27119 }
27120}
27121
27122unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
27123unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
27124
27125#[repr(C)]
27127#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
27128pub struct RenderPassSubpassFeedbackInfoEXT {
27129 pub subpass_merge_status: SubpassMergeStatusEXT,
27130 pub description: StringArray<MAX_DESCRIPTION_SIZE>,
27131 pub post_merge_index: u32,
27132}
27133
27134#[repr(C)]
27136#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27137pub struct RenderPassTileShadingCreateInfoQCOM {
27138 pub s_type: StructureType,
27139 pub next: *const c_void,
27140 pub flags: TileShadingRenderPassFlagsQCOM,
27141 pub tile_apron_size: Extent2D,
27142}
27143
27144impl Default for RenderPassTileShadingCreateInfoQCOM {
27145 #[inline]
27146 fn default() -> Self {
27147 Self {
27148 s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
27149 next: ptr::null(),
27150 flags: TileShadingRenderPassFlagsQCOM::default(),
27151 tile_apron_size: Extent2D::default(),
27152 }
27153 }
27154}
27155
27156unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
27157unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
27158
27159#[repr(C)]
27161#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27162pub struct RenderPassTransformBeginInfoQCOM {
27163 pub s_type: StructureType,
27164 pub next: *const c_void,
27165 pub transform: SurfaceTransformFlagsKHR,
27166}
27167
27168impl Default for RenderPassTransformBeginInfoQCOM {
27169 #[inline]
27170 fn default() -> Self {
27171 Self {
27172 s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
27173 next: ptr::null(),
27174 transform: SurfaceTransformFlagsKHR::default(),
27175 }
27176 }
27177}
27178
27179unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
27180unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
27181
27182#[repr(C)]
27184#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27185pub struct RenderingAreaInfo {
27186 pub s_type: StructureType,
27187 pub next: *const c_void,
27188 pub view_mask: u32,
27189 pub color_attachment_count: u32,
27190 pub color_attachment_formats: *const Format,
27191 pub depth_attachment_format: Format,
27192 pub stencil_attachment_format: Format,
27193}
27194
27195impl Default for RenderingAreaInfo {
27196 #[inline]
27197 fn default() -> Self {
27198 Self {
27199 s_type: StructureType::RENDERING_AREA_INFO,
27200 next: ptr::null(),
27201 view_mask: u32::default(),
27202 color_attachment_count: u32::default(),
27203 color_attachment_formats: ptr::null(),
27204 depth_attachment_format: Format::default(),
27205 stencil_attachment_format: Format::default(),
27206 }
27207 }
27208}
27209
27210unsafe impl Send for RenderingAreaInfo {}
27211unsafe impl Sync for RenderingAreaInfo {}
27212
27213#[repr(C)]
27215#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27216pub struct RenderingAttachmentFlagsInfoKHR {
27217 pub s_type: StructureType,
27218 pub next: *const c_void,
27219 pub flags: RenderingAttachmentFlagsKHR,
27220}
27221
27222impl Default for RenderingAttachmentFlagsInfoKHR {
27223 #[inline]
27224 fn default() -> Self {
27225 Self {
27226 s_type: StructureType::RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
27227 next: ptr::null(),
27228 flags: RenderingAttachmentFlagsKHR::default(),
27229 }
27230 }
27231}
27232
27233unsafe impl Send for RenderingAttachmentFlagsInfoKHR {}
27234unsafe impl Sync for RenderingAttachmentFlagsInfoKHR {}
27235
27236#[repr(C)]
27238#[derive(Copy, Clone, Debug)]
27239pub struct RenderingAttachmentInfo {
27240 pub s_type: StructureType,
27241 pub next: *const c_void,
27242 pub image_view: ImageView,
27243 pub image_layout: ImageLayout,
27244 pub resolve_mode: ResolveModeFlags,
27245 pub resolve_image_view: ImageView,
27246 pub resolve_image_layout: ImageLayout,
27247 pub load_op: AttachmentLoadOp,
27248 pub store_op: AttachmentStoreOp,
27249 pub clear_value: ClearValue,
27250}
27251
27252impl Default for RenderingAttachmentInfo {
27253 #[inline]
27254 fn default() -> Self {
27255 Self {
27256 s_type: StructureType::RENDERING_ATTACHMENT_INFO,
27257 next: ptr::null(),
27258 image_view: ImageView::default(),
27259 image_layout: ImageLayout::default(),
27260 resolve_mode: ResolveModeFlags::default(),
27261 resolve_image_view: ImageView::default(),
27262 resolve_image_layout: ImageLayout::default(),
27263 load_op: AttachmentLoadOp::default(),
27264 store_op: AttachmentStoreOp::default(),
27265 clear_value: ClearValue::default(),
27266 }
27267 }
27268}
27269
27270unsafe impl Send for RenderingAttachmentInfo {}
27271unsafe impl Sync for RenderingAttachmentInfo {}
27272
27273#[repr(C)]
27275#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27276pub struct RenderingAttachmentLocationInfo {
27277 pub s_type: StructureType,
27278 pub next: *const c_void,
27279 pub color_attachment_count: u32,
27280 pub color_attachment_locations: *const u32,
27281}
27282
27283impl Default for RenderingAttachmentLocationInfo {
27284 #[inline]
27285 fn default() -> Self {
27286 Self {
27287 s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
27288 next: ptr::null(),
27289 color_attachment_count: u32::default(),
27290 color_attachment_locations: ptr::null(),
27291 }
27292 }
27293}
27294
27295unsafe impl Send for RenderingAttachmentLocationInfo {}
27296unsafe impl Sync for RenderingAttachmentLocationInfo {}
27297
27298#[repr(C)]
27300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27301pub struct RenderingEndInfoKHR {
27302 pub s_type: StructureType,
27303 pub next: *const c_void,
27304}
27305
27306impl Default for RenderingEndInfoKHR {
27307 #[inline]
27308 fn default() -> Self {
27309 Self {
27310 s_type: StructureType::RENDERING_END_INFO_KHR,
27311 next: ptr::null(),
27312 }
27313 }
27314}
27315
27316unsafe impl Send for RenderingEndInfoKHR {}
27317unsafe impl Sync for RenderingEndInfoKHR {}
27318
27319#[repr(C)]
27321#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27322pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
27323 pub s_type: StructureType,
27324 pub next: *const c_void,
27325 pub image_view: ImageView,
27326 pub image_layout: ImageLayout,
27327}
27328
27329impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
27330 #[inline]
27331 fn default() -> Self {
27332 Self {
27333 s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
27334 next: ptr::null(),
27335 image_view: ImageView::default(),
27336 image_layout: ImageLayout::default(),
27337 }
27338 }
27339}
27340
27341unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
27342unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
27343
27344#[repr(C)]
27346#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27347pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
27348 pub s_type: StructureType,
27349 pub next: *const c_void,
27350 pub image_view: ImageView,
27351 pub image_layout: ImageLayout,
27352 pub shading_rate_attachment_texel_size: Extent2D,
27353}
27354
27355impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
27356 #[inline]
27357 fn default() -> Self {
27358 Self {
27359 s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
27360 next: ptr::null(),
27361 image_view: ImageView::default(),
27362 image_layout: ImageLayout::default(),
27363 shading_rate_attachment_texel_size: Extent2D::default(),
27364 }
27365 }
27366}
27367
27368unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
27369unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
27370
27371#[repr(C)]
27373#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27374pub struct RenderingInfo {
27375 pub s_type: StructureType,
27376 pub next: *const c_void,
27377 pub flags: RenderingFlags,
27378 pub render_area: Rect2D,
27379 pub layer_count: u32,
27380 pub view_mask: u32,
27381 pub color_attachment_count: u32,
27382 pub color_attachments: *const RenderingAttachmentInfo,
27383 pub depth_attachment: *const RenderingAttachmentInfo,
27384 pub stencil_attachment: *const RenderingAttachmentInfo,
27385}
27386
27387impl Default for RenderingInfo {
27388 #[inline]
27389 fn default() -> Self {
27390 Self {
27391 s_type: StructureType::RENDERING_INFO,
27392 next: ptr::null(),
27393 flags: RenderingFlags::default(),
27394 render_area: Rect2D::default(),
27395 layer_count: u32::default(),
27396 view_mask: u32::default(),
27397 color_attachment_count: u32::default(),
27398 color_attachments: ptr::null(),
27399 depth_attachment: ptr::null(),
27400 stencil_attachment: ptr::null(),
27401 }
27402 }
27403}
27404
27405unsafe impl Send for RenderingInfo {}
27406unsafe impl Sync for RenderingInfo {}
27407
27408#[repr(C)]
27410#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27411pub struct RenderingInputAttachmentIndexInfo {
27412 pub s_type: StructureType,
27413 pub next: *const c_void,
27414 pub color_attachment_count: u32,
27415 pub color_attachment_input_indices: *const u32,
27416 pub depth_input_attachment_index: *const u32,
27417 pub stencil_input_attachment_index: *const u32,
27418}
27419
27420impl Default for RenderingInputAttachmentIndexInfo {
27421 #[inline]
27422 fn default() -> Self {
27423 Self {
27424 s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
27425 next: ptr::null(),
27426 color_attachment_count: u32::default(),
27427 color_attachment_input_indices: ptr::null(),
27428 depth_input_attachment_index: ptr::null(),
27429 stencil_input_attachment_index: ptr::null(),
27430 }
27431 }
27432}
27433
27434unsafe impl Send for RenderingInputAttachmentIndexInfo {}
27435unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
27436
27437#[repr(C)]
27439#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27440pub struct ResolveImageInfo2 {
27441 pub s_type: StructureType,
27442 pub next: *const c_void,
27443 pub src_image: Image,
27444 pub src_image_layout: ImageLayout,
27445 pub dst_image: Image,
27446 pub dst_image_layout: ImageLayout,
27447 pub region_count: u32,
27448 pub regions: *const ImageResolve2,
27449}
27450
27451impl Default for ResolveImageInfo2 {
27452 #[inline]
27453 fn default() -> Self {
27454 Self {
27455 s_type: StructureType::RESOLVE_IMAGE_INFO_2,
27456 next: ptr::null(),
27457 src_image: Image::default(),
27458 src_image_layout: ImageLayout::default(),
27459 dst_image: Image::default(),
27460 dst_image_layout: ImageLayout::default(),
27461 region_count: u32::default(),
27462 regions: ptr::null(),
27463 }
27464 }
27465}
27466
27467unsafe impl Send for ResolveImageInfo2 {}
27468unsafe impl Sync for ResolveImageInfo2 {}
27469
27470#[repr(C)]
27472#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27473pub struct ResolveImageModeInfoKHR {
27474 pub s_type: StructureType,
27475 pub next: *const c_void,
27476 pub flags: ResolveImageFlagsKHR,
27477 pub resolve_mode: ResolveModeFlags,
27478 pub stencil_resolve_mode: ResolveModeFlags,
27479}
27480
27481impl Default for ResolveImageModeInfoKHR {
27482 #[inline]
27483 fn default() -> Self {
27484 Self {
27485 s_type: StructureType::RESOLVE_IMAGE_MODE_INFO_KHR,
27486 next: ptr::null(),
27487 flags: ResolveImageFlagsKHR::default(),
27488 resolve_mode: ResolveModeFlags::default(),
27489 stencil_resolve_mode: ResolveModeFlags::default(),
27490 }
27491 }
27492}
27493
27494unsafe impl Send for ResolveImageModeInfoKHR {}
27495unsafe impl Sync for ResolveImageModeInfoKHR {}
27496
27497#[repr(C)]
27499#[derive(Copy, Clone, Default, Debug, PartialEq)]
27500pub struct SRTDataNV {
27501 pub sx: f32,
27502 pub a: f32,
27503 pub b: f32,
27504 pub pvx: f32,
27505 pub sy: f32,
27506 pub c: f32,
27507 pub pvy: f32,
27508 pub sz: f32,
27509 pub pvz: f32,
27510 pub qx: f32,
27511 pub qy: f32,
27512 pub qz: f32,
27513 pub qw: f32,
27514 pub tx: f32,
27515 pub ty: f32,
27516 pub tz: f32,
27517}
27518
27519#[repr(C)]
27521#[derive(Copy, Clone, Default, Debug, PartialEq)]
27522pub struct SampleLocationEXT {
27523 pub x: f32,
27524 pub y: f32,
27525}
27526
27527#[repr(C)]
27529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27530pub struct SampleLocationsInfoEXT {
27531 pub s_type: StructureType,
27532 pub next: *const c_void,
27533 pub sample_locations_per_pixel: SampleCountFlags,
27534 pub sample_location_grid_size: Extent2D,
27535 pub sample_locations_count: u32,
27536 pub sample_locations: *const SampleLocationEXT,
27537}
27538
27539impl Default for SampleLocationsInfoEXT {
27540 #[inline]
27541 fn default() -> Self {
27542 Self {
27543 s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
27544 next: ptr::null(),
27545 sample_locations_per_pixel: SampleCountFlags::default(),
27546 sample_location_grid_size: Extent2D::default(),
27547 sample_locations_count: u32::default(),
27548 sample_locations: ptr::null(),
27549 }
27550 }
27551}
27552
27553unsafe impl Send for SampleLocationsInfoEXT {}
27554unsafe impl Sync for SampleLocationsInfoEXT {}
27555
27556#[repr(C)]
27558#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27559pub struct SamplerBlockMatchWindowCreateInfoQCOM {
27560 pub s_type: StructureType,
27561 pub next: *const c_void,
27562 pub window_extent: Extent2D,
27563 pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
27564}
27565
27566impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
27567 #[inline]
27568 fn default() -> Self {
27569 Self {
27570 s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
27571 next: ptr::null(),
27572 window_extent: Extent2D::default(),
27573 window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
27574 }
27575 }
27576}
27577
27578unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
27579unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
27580
27581#[repr(C)]
27583#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27584pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
27585 pub s_type: StructureType,
27586 pub next: *const c_void,
27587 pub components: ComponentMapping,
27588 pub srgb: Bool32,
27589}
27590
27591impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
27592 #[inline]
27593 fn default() -> Self {
27594 Self {
27595 s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
27596 next: ptr::null(),
27597 components: ComponentMapping::default(),
27598 srgb: Bool32::default(),
27599 }
27600 }
27601}
27602
27603unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
27604unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
27605
27606#[repr(C)]
27608#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27609pub struct SamplerCaptureDescriptorDataInfoEXT {
27610 pub s_type: StructureType,
27611 pub next: *const c_void,
27612 pub sampler: Sampler,
27613}
27614
27615impl Default for SamplerCaptureDescriptorDataInfoEXT {
27616 #[inline]
27617 fn default() -> Self {
27618 Self {
27619 s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
27620 next: ptr::null(),
27621 sampler: Sampler::default(),
27622 }
27623 }
27624}
27625
27626unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
27627unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
27628
27629#[repr(C)]
27631#[derive(Copy, Clone, Debug, PartialEq)]
27632pub struct SamplerCreateInfo {
27633 pub s_type: StructureType,
27634 pub next: *const c_void,
27635 pub flags: SamplerCreateFlags,
27636 pub mag_filter: Filter,
27637 pub min_filter: Filter,
27638 pub mipmap_mode: SamplerMipmapMode,
27639 pub address_mode_u: SamplerAddressMode,
27640 pub address_mode_v: SamplerAddressMode,
27641 pub address_mode_w: SamplerAddressMode,
27642 pub mip_lod_bias: f32,
27643 pub anisotropy_enable: Bool32,
27644 pub max_anisotropy: f32,
27645 pub compare_enable: Bool32,
27646 pub compare_op: CompareOp,
27647 pub min_lod: f32,
27648 pub max_lod: f32,
27649 pub border_color: BorderColor,
27650 pub unnormalized_coordinates: Bool32,
27651}
27652
27653impl Default for SamplerCreateInfo {
27654 #[inline]
27655 fn default() -> Self {
27656 Self {
27657 s_type: StructureType::SAMPLER_CREATE_INFO,
27658 next: ptr::null(),
27659 flags: SamplerCreateFlags::default(),
27660 mag_filter: Filter::default(),
27661 min_filter: Filter::default(),
27662 mipmap_mode: SamplerMipmapMode::default(),
27663 address_mode_u: SamplerAddressMode::default(),
27664 address_mode_v: SamplerAddressMode::default(),
27665 address_mode_w: SamplerAddressMode::default(),
27666 mip_lod_bias: f32::default(),
27667 anisotropy_enable: Bool32::default(),
27668 max_anisotropy: f32::default(),
27669 compare_enable: Bool32::default(),
27670 compare_op: CompareOp::default(),
27671 min_lod: f32::default(),
27672 max_lod: f32::default(),
27673 border_color: BorderColor::default(),
27674 unnormalized_coordinates: Bool32::default(),
27675 }
27676 }
27677}
27678
27679unsafe impl Send for SamplerCreateInfo {}
27680unsafe impl Sync for SamplerCreateInfo {}
27681
27682#[repr(C)]
27684#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27685pub struct SamplerCubicWeightsCreateInfoQCOM {
27686 pub s_type: StructureType,
27687 pub next: *const c_void,
27688 pub cubic_weights: CubicFilterWeightsQCOM,
27689}
27690
27691impl Default for SamplerCubicWeightsCreateInfoQCOM {
27692 #[inline]
27693 fn default() -> Self {
27694 Self {
27695 s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
27696 next: ptr::null(),
27697 cubic_weights: CubicFilterWeightsQCOM::default(),
27698 }
27699 }
27700}
27701
27702unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
27703unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
27704
27705#[repr(C)]
27707#[derive(Copy, Clone, Debug)]
27708pub struct SamplerCustomBorderColorCreateInfoEXT {
27709 pub s_type: StructureType,
27710 pub next: *const c_void,
27711 pub custom_border_color: ClearColorValue,
27712 pub format: Format,
27713}
27714
27715impl Default for SamplerCustomBorderColorCreateInfoEXT {
27716 #[inline]
27717 fn default() -> Self {
27718 Self {
27719 s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
27720 next: ptr::null(),
27721 custom_border_color: ClearColorValue::default(),
27722 format: Format::default(),
27723 }
27724 }
27725}
27726
27727unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
27728unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
27729
27730#[repr(C)]
27732#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27733pub struct SamplerReductionModeCreateInfo {
27734 pub s_type: StructureType,
27735 pub next: *const c_void,
27736 pub reduction_mode: SamplerReductionMode,
27737}
27738
27739impl Default for SamplerReductionModeCreateInfo {
27740 #[inline]
27741 fn default() -> Self {
27742 Self {
27743 s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
27744 next: ptr::null(),
27745 reduction_mode: SamplerReductionMode::default(),
27746 }
27747 }
27748}
27749
27750unsafe impl Send for SamplerReductionModeCreateInfo {}
27751unsafe impl Sync for SamplerReductionModeCreateInfo {}
27752
27753#[repr(C)]
27755#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27756pub struct SamplerYcbcrConversionCreateInfo {
27757 pub s_type: StructureType,
27758 pub next: *const c_void,
27759 pub format: Format,
27760 pub ycbcr_model: SamplerYcbcrModelConversion,
27761 pub ycbcr_range: SamplerYcbcrRange,
27762 pub components: ComponentMapping,
27763 pub x_chroma_offset: ChromaLocation,
27764 pub y_chroma_offset: ChromaLocation,
27765 pub chroma_filter: Filter,
27766 pub force_explicit_reconstruction: Bool32,
27767}
27768
27769impl Default for SamplerYcbcrConversionCreateInfo {
27770 #[inline]
27771 fn default() -> Self {
27772 Self {
27773 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
27774 next: ptr::null(),
27775 format: Format::default(),
27776 ycbcr_model: SamplerYcbcrModelConversion::default(),
27777 ycbcr_range: SamplerYcbcrRange::default(),
27778 components: ComponentMapping::default(),
27779 x_chroma_offset: ChromaLocation::default(),
27780 y_chroma_offset: ChromaLocation::default(),
27781 chroma_filter: Filter::default(),
27782 force_explicit_reconstruction: Bool32::default(),
27783 }
27784 }
27785}
27786
27787unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
27788unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
27789
27790#[repr(C)]
27792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27793pub struct SamplerYcbcrConversionImageFormatProperties {
27794 pub s_type: StructureType,
27795 pub next: *mut c_void,
27796 pub combined_image_sampler_descriptor_count: u32,
27797}
27798
27799impl Default for SamplerYcbcrConversionImageFormatProperties {
27800 #[inline]
27801 fn default() -> Self {
27802 Self {
27803 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
27804 next: ptr::null_mut(),
27805 combined_image_sampler_descriptor_count: u32::default(),
27806 }
27807 }
27808}
27809
27810unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
27811unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
27812
27813#[repr(C)]
27815#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27816pub struct SamplerYcbcrConversionInfo {
27817 pub s_type: StructureType,
27818 pub next: *const c_void,
27819 pub conversion: SamplerYcbcrConversion,
27820}
27821
27822impl Default for SamplerYcbcrConversionInfo {
27823 #[inline]
27824 fn default() -> Self {
27825 Self {
27826 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
27827 next: ptr::null(),
27828 conversion: SamplerYcbcrConversion::default(),
27829 }
27830 }
27831}
27832
27833unsafe impl Send for SamplerYcbcrConversionInfo {}
27834unsafe impl Sync for SamplerYcbcrConversionInfo {}
27835
27836#[repr(C)]
27838#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27839pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27840 pub s_type: StructureType,
27841 pub next: *mut c_void,
27842 pub enable_y_degamma: Bool32,
27843 pub enable_cb_cr_degamma: Bool32,
27844}
27845
27846impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
27847 #[inline]
27848 fn default() -> Self {
27849 Self {
27850 s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
27851 next: ptr::null_mut(),
27852 enable_y_degamma: Bool32::default(),
27853 enable_cb_cr_degamma: Bool32::default(),
27854 }
27855 }
27856}
27857
27858unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27859unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
27860
27861#[repr(C)]
27863#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27864pub struct SciSyncAttributesInfoNV {
27865 pub s_type: StructureType,
27866 pub next: *const c_void,
27867 pub client_type: SciSyncClientTypeNV,
27868 pub primitive_type: SciSyncPrimitiveTypeNV,
27869}
27870
27871impl Default for SciSyncAttributesInfoNV {
27872 #[inline]
27873 fn default() -> Self {
27874 Self {
27875 s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
27876 next: ptr::null(),
27877 client_type: SciSyncClientTypeNV::default(),
27878 primitive_type: SciSyncPrimitiveTypeNV::default(),
27879 }
27880 }
27881}
27882
27883unsafe impl Send for SciSyncAttributesInfoNV {}
27884unsafe impl Sync for SciSyncAttributesInfoNV {}
27885
27886#[repr(C)]
27888#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27889pub struct ScreenBufferFormatPropertiesQNX {
27890 pub s_type: StructureType,
27891 pub next: *mut c_void,
27892 pub format: Format,
27893 pub external_format: u64,
27894 pub screen_usage: u64,
27895 pub format_features: FormatFeatureFlags,
27896 pub sampler_ycbcr_conversion_components: ComponentMapping,
27897 pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
27898 pub suggested_ycbcr_range: SamplerYcbcrRange,
27899 pub suggested_x_chroma_offset: ChromaLocation,
27900 pub suggested_y_chroma_offset: ChromaLocation,
27901}
27902
27903impl Default for ScreenBufferFormatPropertiesQNX {
27904 #[inline]
27905 fn default() -> Self {
27906 Self {
27907 s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
27908 next: ptr::null_mut(),
27909 format: Format::default(),
27910 external_format: u64::default(),
27911 screen_usage: u64::default(),
27912 format_features: FormatFeatureFlags::default(),
27913 sampler_ycbcr_conversion_components: ComponentMapping::default(),
27914 suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
27915 suggested_ycbcr_range: SamplerYcbcrRange::default(),
27916 suggested_x_chroma_offset: ChromaLocation::default(),
27917 suggested_y_chroma_offset: ChromaLocation::default(),
27918 }
27919 }
27920}
27921
27922unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
27923unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
27924
27925#[repr(C)]
27927#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27928pub struct ScreenBufferPropertiesQNX {
27929 pub s_type: StructureType,
27930 pub next: *mut c_void,
27931 pub allocation_size: DeviceSize,
27932 pub memory_type_bits: u32,
27933}
27934
27935impl Default for ScreenBufferPropertiesQNX {
27936 #[inline]
27937 fn default() -> Self {
27938 Self {
27939 s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
27940 next: ptr::null_mut(),
27941 allocation_size: DeviceSize::default(),
27942 memory_type_bits: u32::default(),
27943 }
27944 }
27945}
27946
27947unsafe impl Send for ScreenBufferPropertiesQNX {}
27948unsafe impl Sync for ScreenBufferPropertiesQNX {}
27949
27950#[repr(C)]
27952#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27953pub struct ScreenSurfaceCreateInfoQNX {
27954 pub s_type: StructureType,
27955 pub next: *const c_void,
27956 pub flags: ScreenSurfaceCreateFlagsQNX,
27957 pub context: *mut _screen_context,
27958 pub window: *mut _screen_window,
27959}
27960
27961impl Default for ScreenSurfaceCreateInfoQNX {
27962 #[inline]
27963 fn default() -> Self {
27964 Self {
27965 s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
27966 next: ptr::null(),
27967 flags: ScreenSurfaceCreateFlagsQNX::default(),
27968 context: ptr::null_mut(),
27969 window: ptr::null_mut(),
27970 }
27971 }
27972}
27973
27974unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
27975unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
27976
27977#[repr(C)]
27979#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
27980pub struct SemaphoreCreateInfo {
27981 pub s_type: StructureType,
27982 pub next: *const c_void,
27983 pub flags: SemaphoreCreateFlags,
27984}
27985
27986impl Default for SemaphoreCreateInfo {
27987 #[inline]
27988 fn default() -> Self {
27989 Self {
27990 s_type: StructureType::SEMAPHORE_CREATE_INFO,
27991 next: ptr::null(),
27992 flags: SemaphoreCreateFlags::default(),
27993 }
27994 }
27995}
27996
27997unsafe impl Send for SemaphoreCreateInfo {}
27998unsafe impl Sync for SemaphoreCreateInfo {}
27999
28000#[repr(C)]
28002#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28003pub struct SemaphoreGetFdInfoKHR {
28004 pub s_type: StructureType,
28005 pub next: *const c_void,
28006 pub semaphore: Semaphore,
28007 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28008}
28009
28010impl Default for SemaphoreGetFdInfoKHR {
28011 #[inline]
28012 fn default() -> Self {
28013 Self {
28014 s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
28015 next: ptr::null(),
28016 semaphore: Semaphore::default(),
28017 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28018 }
28019 }
28020}
28021
28022unsafe impl Send for SemaphoreGetFdInfoKHR {}
28023unsafe impl Sync for SemaphoreGetFdInfoKHR {}
28024
28025#[repr(C)]
28027#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28028pub struct SemaphoreGetSciSyncInfoNV {
28029 pub s_type: StructureType,
28030 pub next: *const c_void,
28031 pub semaphore: Semaphore,
28032 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28033}
28034
28035impl Default for SemaphoreGetSciSyncInfoNV {
28036 #[inline]
28037 fn default() -> Self {
28038 Self {
28039 s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
28040 next: ptr::null(),
28041 semaphore: Semaphore::default(),
28042 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28043 }
28044 }
28045}
28046
28047unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
28048unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
28049
28050#[repr(C)]
28052#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28053pub struct SemaphoreGetWin32HandleInfoKHR {
28054 pub s_type: StructureType,
28055 pub next: *const c_void,
28056 pub semaphore: Semaphore,
28057 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28058}
28059
28060impl Default for SemaphoreGetWin32HandleInfoKHR {
28061 #[inline]
28062 fn default() -> Self {
28063 Self {
28064 s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
28065 next: ptr::null(),
28066 semaphore: Semaphore::default(),
28067 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28068 }
28069 }
28070}
28071
28072unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
28073unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
28074
28075#[repr(C)]
28077#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28078pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
28079 pub s_type: StructureType,
28080 pub next: *const c_void,
28081 pub semaphore: Semaphore,
28082 pub handle_type: ExternalSemaphoreHandleTypeFlags,
28083}
28084
28085impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
28086 #[inline]
28087 fn default() -> Self {
28088 Self {
28089 s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
28090 next: ptr::null(),
28091 semaphore: Semaphore::default(),
28092 handle_type: ExternalSemaphoreHandleTypeFlags::default(),
28093 }
28094 }
28095}
28096
28097unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
28098unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
28099
28100#[repr(C)]
28102#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28103pub struct SemaphoreSciSyncCreateInfoNV {
28104 pub s_type: StructureType,
28105 pub next: *const c_void,
28106 pub semaphore_pool: SemaphoreSciSyncPoolNV,
28107 pub fence: *const NvSciSyncFence,
28108}
28109
28110impl Default for SemaphoreSciSyncCreateInfoNV {
28111 #[inline]
28112 fn default() -> Self {
28113 Self {
28114 s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
28115 next: ptr::null(),
28116 semaphore_pool: SemaphoreSciSyncPoolNV::default(),
28117 fence: ptr::null(),
28118 }
28119 }
28120}
28121
28122unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
28123unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
28124
28125#[repr(C)]
28127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28128pub struct SemaphoreSciSyncPoolCreateInfoNV {
28129 pub s_type: StructureType,
28130 pub next: *const c_void,
28131 pub handle: NvSciSyncObj,
28132}
28133
28134impl Default for SemaphoreSciSyncPoolCreateInfoNV {
28135 #[inline]
28136 fn default() -> Self {
28137 Self {
28138 s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
28139 next: ptr::null(),
28140 handle: ptr::null_mut(),
28141 }
28142 }
28143}
28144
28145unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
28146unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
28147
28148#[repr(C)]
28150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28151pub struct SemaphoreSignalInfo {
28152 pub s_type: StructureType,
28153 pub next: *const c_void,
28154 pub semaphore: Semaphore,
28155 pub value: u64,
28156}
28157
28158impl Default for SemaphoreSignalInfo {
28159 #[inline]
28160 fn default() -> Self {
28161 Self {
28162 s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
28163 next: ptr::null(),
28164 semaphore: Semaphore::default(),
28165 value: u64::default(),
28166 }
28167 }
28168}
28169
28170unsafe impl Send for SemaphoreSignalInfo {}
28171unsafe impl Sync for SemaphoreSignalInfo {}
28172
28173#[repr(C)]
28175#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28176pub struct SemaphoreSubmitInfo {
28177 pub s_type: StructureType,
28178 pub next: *const c_void,
28179 pub semaphore: Semaphore,
28180 pub value: u64,
28181 pub stage_mask: PipelineStageFlags2,
28182 pub device_index: u32,
28183}
28184
28185impl Default for SemaphoreSubmitInfo {
28186 #[inline]
28187 fn default() -> Self {
28188 Self {
28189 s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
28190 next: ptr::null(),
28191 semaphore: Semaphore::default(),
28192 value: u64::default(),
28193 stage_mask: PipelineStageFlags2::default(),
28194 device_index: u32::default(),
28195 }
28196 }
28197}
28198
28199unsafe impl Send for SemaphoreSubmitInfo {}
28200unsafe impl Sync for SemaphoreSubmitInfo {}
28201
28202#[repr(C)]
28204#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28205pub struct SemaphoreTypeCreateInfo {
28206 pub s_type: StructureType,
28207 pub next: *const c_void,
28208 pub semaphore_type: SemaphoreType,
28209 pub initial_value: u64,
28210}
28211
28212impl Default for SemaphoreTypeCreateInfo {
28213 #[inline]
28214 fn default() -> Self {
28215 Self {
28216 s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
28217 next: ptr::null(),
28218 semaphore_type: SemaphoreType::default(),
28219 initial_value: u64::default(),
28220 }
28221 }
28222}
28223
28224unsafe impl Send for SemaphoreTypeCreateInfo {}
28225unsafe impl Sync for SemaphoreTypeCreateInfo {}
28226
28227#[repr(C)]
28229#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28230pub struct SemaphoreWaitInfo {
28231 pub s_type: StructureType,
28232 pub next: *const c_void,
28233 pub flags: SemaphoreWaitFlags,
28234 pub semaphore_count: u32,
28235 pub semaphores: *const Semaphore,
28236 pub values: *const u64,
28237}
28238
28239impl Default for SemaphoreWaitInfo {
28240 #[inline]
28241 fn default() -> Self {
28242 Self {
28243 s_type: StructureType::SEMAPHORE_WAIT_INFO,
28244 next: ptr::null(),
28245 flags: SemaphoreWaitFlags::default(),
28246 semaphore_count: u32::default(),
28247 semaphores: ptr::null(),
28248 values: ptr::null(),
28249 }
28250 }
28251}
28252
28253unsafe impl Send for SemaphoreWaitInfo {}
28254unsafe impl Sync for SemaphoreWaitInfo {}
28255
28256#[repr(C)]
28258#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28259pub struct SetDescriptorBufferOffsetsInfoEXT {
28260 pub s_type: StructureType,
28261 pub next: *const c_void,
28262 pub stage_flags: ShaderStageFlags,
28263 pub layout: PipelineLayout,
28264 pub first_set: u32,
28265 pub set_count: u32,
28266 pub buffer_indices: *const u32,
28267 pub offsets: *const DeviceSize,
28268}
28269
28270impl Default for SetDescriptorBufferOffsetsInfoEXT {
28271 #[inline]
28272 fn default() -> Self {
28273 Self {
28274 s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
28275 next: ptr::null(),
28276 stage_flags: ShaderStageFlags::default(),
28277 layout: PipelineLayout::default(),
28278 first_set: u32::default(),
28279 set_count: u32::default(),
28280 buffer_indices: ptr::null(),
28281 offsets: ptr::null(),
28282 }
28283 }
28284}
28285
28286unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
28287unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
28288
28289#[repr(C)]
28291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28292pub struct SetLatencyMarkerInfoNV {
28293 pub s_type: StructureType,
28294 pub next: *const c_void,
28295 pub present_id: u64,
28296 pub marker: LatencyMarkerNV,
28297}
28298
28299impl Default for SetLatencyMarkerInfoNV {
28300 #[inline]
28301 fn default() -> Self {
28302 Self {
28303 s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
28304 next: ptr::null(),
28305 present_id: u64::default(),
28306 marker: LatencyMarkerNV::default(),
28307 }
28308 }
28309}
28310
28311unsafe impl Send for SetLatencyMarkerInfoNV {}
28312unsafe impl Sync for SetLatencyMarkerInfoNV {}
28313
28314#[repr(C)]
28316#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28317pub struct SetPresentConfigNV {
28318 pub s_type: StructureType,
28319 pub next: *const c_void,
28320 pub num_frames_per_batch: u32,
28321 pub present_config_feedback: u32,
28322}
28323
28324impl Default for SetPresentConfigNV {
28325 #[inline]
28326 fn default() -> Self {
28327 Self {
28328 s_type: StructureType::SET_PRESENT_CONFIG_NV,
28329 next: ptr::null(),
28330 num_frames_per_batch: u32::default(),
28331 present_config_feedback: u32::default(),
28332 }
28333 }
28334}
28335
28336unsafe impl Send for SetPresentConfigNV {}
28337unsafe impl Sync for SetPresentConfigNV {}
28338
28339#[repr(C)]
28341#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28342pub struct SetStateFlagsIndirectCommandNV {
28343 pub data: u32,
28344}
28345
28346#[repr(C)]
28348#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28349pub struct ShaderCreateInfoEXT {
28350 pub s_type: StructureType,
28351 pub next: *const c_void,
28352 pub flags: ShaderCreateFlagsEXT,
28353 pub stage: ShaderStageFlags,
28354 pub next_stage: ShaderStageFlags,
28355 pub code_type: ShaderCodeTypeEXT,
28356 pub code_size: usize,
28357 pub code: *const c_void,
28358 pub name: *const c_char,
28359 pub set_layout_count: u32,
28360 pub set_layouts: *const DescriptorSetLayout,
28361 pub push_constant_range_count: u32,
28362 pub push_constant_ranges: *const PushConstantRange,
28363 pub specialization_info: *const SpecializationInfo,
28364}
28365
28366impl Default for ShaderCreateInfoEXT {
28367 #[inline]
28368 fn default() -> Self {
28369 Self {
28370 s_type: StructureType::SHADER_CREATE_INFO_EXT,
28371 next: ptr::null(),
28372 flags: ShaderCreateFlagsEXT::default(),
28373 stage: ShaderStageFlags::default(),
28374 next_stage: ShaderStageFlags::default(),
28375 code_type: ShaderCodeTypeEXT::default(),
28376 code_size: usize::default(),
28377 code: ptr::null(),
28378 name: ptr::null(),
28379 set_layout_count: u32::default(),
28380 set_layouts: ptr::null(),
28381 push_constant_range_count: u32::default(),
28382 push_constant_ranges: ptr::null(),
28383 specialization_info: ptr::null(),
28384 }
28385 }
28386}
28387
28388unsafe impl Send for ShaderCreateInfoEXT {}
28389unsafe impl Sync for ShaderCreateInfoEXT {}
28390
28391#[repr(C)]
28393#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28394pub struct ShaderModuleCreateInfo {
28395 pub s_type: StructureType,
28396 pub next: *const c_void,
28397 pub flags: ShaderModuleCreateFlags,
28398 pub code_size: usize,
28399 pub code: *const u32,
28400}
28401
28402impl Default for ShaderModuleCreateInfo {
28403 #[inline]
28404 fn default() -> Self {
28405 Self {
28406 s_type: StructureType::SHADER_MODULE_CREATE_INFO,
28407 next: ptr::null(),
28408 flags: ShaderModuleCreateFlags::default(),
28409 code_size: usize::default(),
28410 code: ptr::null(),
28411 }
28412 }
28413}
28414
28415unsafe impl Send for ShaderModuleCreateInfo {}
28416unsafe impl Sync for ShaderModuleCreateInfo {}
28417
28418#[repr(C)]
28420#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28421pub struct ShaderModuleIdentifierEXT {
28422 pub s_type: StructureType,
28423 pub next: *mut c_void,
28424 pub identifier_size: u32,
28425 pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
28426}
28427
28428impl Default for ShaderModuleIdentifierEXT {
28429 #[inline]
28430 fn default() -> Self {
28431 Self {
28432 s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
28433 next: ptr::null_mut(),
28434 identifier_size: u32::default(),
28435 identifier: ByteArray::default(),
28436 }
28437 }
28438}
28439
28440unsafe impl Send for ShaderModuleIdentifierEXT {}
28441unsafe impl Sync for ShaderModuleIdentifierEXT {}
28442
28443#[repr(C)]
28445#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28446pub struct ShaderModuleValidationCacheCreateInfoEXT {
28447 pub s_type: StructureType,
28448 pub next: *const c_void,
28449 pub validation_cache: ValidationCacheEXT,
28450}
28451
28452impl Default for ShaderModuleValidationCacheCreateInfoEXT {
28453 #[inline]
28454 fn default() -> Self {
28455 Self {
28456 s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
28457 next: ptr::null(),
28458 validation_cache: ValidationCacheEXT::default(),
28459 }
28460 }
28461}
28462
28463unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
28464unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
28465
28466#[repr(C)]
28468#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28469pub struct ShaderResourceUsageAMD {
28470 pub num_used_vgprs: u32,
28471 pub num_used_sgprs: u32,
28472 pub lds_size_per_local_work_group: u32,
28473 pub lds_usage_size_in_bytes: usize,
28474 pub scratch_mem_usage_in_bytes: usize,
28475}
28476
28477#[repr(C)]
28479#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28480pub struct ShaderStatisticsInfoAMD {
28481 pub shader_stage_mask: ShaderStageFlags,
28482 pub resource_usage: ShaderResourceUsageAMD,
28483 pub num_physical_vgprs: u32,
28484 pub num_physical_sgprs: u32,
28485 pub num_available_vgprs: u32,
28486 pub num_available_sgprs: u32,
28487 pub compute_work_group_size: [u32; 3],
28488}
28489
28490#[repr(C)]
28492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28493pub struct ShadingRatePaletteNV {
28494 pub shading_rate_palette_entry_count: u32,
28495 pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
28496}
28497
28498impl Default for ShadingRatePaletteNV {
28499 #[inline]
28500 fn default() -> Self {
28501 Self {
28502 shading_rate_palette_entry_count: u32::default(),
28503 shading_rate_palette_entries: ptr::null(),
28504 }
28505 }
28506}
28507
28508unsafe impl Send for ShadingRatePaletteNV {}
28509unsafe impl Sync for ShadingRatePaletteNV {}
28510
28511#[repr(C)]
28513#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28514pub struct SharedPresentSurfaceCapabilitiesKHR {
28515 pub s_type: StructureType,
28516 pub next: *mut c_void,
28517 pub shared_present_supported_usage_flags: ImageUsageFlags,
28518}
28519
28520impl Default for SharedPresentSurfaceCapabilitiesKHR {
28521 #[inline]
28522 fn default() -> Self {
28523 Self {
28524 s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
28525 next: ptr::null_mut(),
28526 shared_present_supported_usage_flags: ImageUsageFlags::default(),
28527 }
28528 }
28529}
28530
28531unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
28532unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
28533
28534#[repr(C)]
28536#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28537pub struct SparseBufferMemoryBindInfo {
28538 pub buffer: Buffer,
28539 pub bind_count: u32,
28540 pub binds: *const SparseMemoryBind,
28541}
28542
28543impl Default for SparseBufferMemoryBindInfo {
28544 #[inline]
28545 fn default() -> Self {
28546 Self {
28547 buffer: Buffer::default(),
28548 bind_count: u32::default(),
28549 binds: ptr::null(),
28550 }
28551 }
28552}
28553
28554unsafe impl Send for SparseBufferMemoryBindInfo {}
28555unsafe impl Sync for SparseBufferMemoryBindInfo {}
28556
28557#[repr(C)]
28559#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28560pub struct SparseImageFormatProperties {
28561 pub aspect_mask: ImageAspectFlags,
28562 pub image_granularity: Extent3D,
28563 pub flags: SparseImageFormatFlags,
28564}
28565
28566#[repr(C)]
28568#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28569pub struct SparseImageFormatProperties2 {
28570 pub s_type: StructureType,
28571 pub next: *mut c_void,
28572 pub properties: SparseImageFormatProperties,
28573}
28574
28575impl Default for SparseImageFormatProperties2 {
28576 #[inline]
28577 fn default() -> Self {
28578 Self {
28579 s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
28580 next: ptr::null_mut(),
28581 properties: SparseImageFormatProperties::default(),
28582 }
28583 }
28584}
28585
28586unsafe impl Send for SparseImageFormatProperties2 {}
28587unsafe impl Sync for SparseImageFormatProperties2 {}
28588
28589#[repr(C)]
28591#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28592pub struct SparseImageMemoryBind {
28593 pub subresource: ImageSubresource,
28594 pub offset: Offset3D,
28595 pub extent: Extent3D,
28596 pub memory: DeviceMemory,
28597 pub memory_offset: DeviceSize,
28598 pub flags: SparseMemoryBindFlags,
28599}
28600
28601#[repr(C)]
28603#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28604pub struct SparseImageMemoryBindInfo {
28605 pub image: Image,
28606 pub bind_count: u32,
28607 pub binds: *const SparseImageMemoryBind,
28608}
28609
28610impl Default for SparseImageMemoryBindInfo {
28611 #[inline]
28612 fn default() -> Self {
28613 Self {
28614 image: Image::default(),
28615 bind_count: u32::default(),
28616 binds: ptr::null(),
28617 }
28618 }
28619}
28620
28621unsafe impl Send for SparseImageMemoryBindInfo {}
28622unsafe impl Sync for SparseImageMemoryBindInfo {}
28623
28624#[repr(C)]
28626#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28627pub struct SparseImageMemoryRequirements {
28628 pub format_properties: SparseImageFormatProperties,
28629 pub image_mip_tail_first_lod: u32,
28630 pub image_mip_tail_size: DeviceSize,
28631 pub image_mip_tail_offset: DeviceSize,
28632 pub image_mip_tail_stride: DeviceSize,
28633}
28634
28635#[repr(C)]
28637#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28638pub struct SparseImageMemoryRequirements2 {
28639 pub s_type: StructureType,
28640 pub next: *mut c_void,
28641 pub memory_requirements: SparseImageMemoryRequirements,
28642}
28643
28644impl Default for SparseImageMemoryRequirements2 {
28645 #[inline]
28646 fn default() -> Self {
28647 Self {
28648 s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
28649 next: ptr::null_mut(),
28650 memory_requirements: SparseImageMemoryRequirements::default(),
28651 }
28652 }
28653}
28654
28655unsafe impl Send for SparseImageMemoryRequirements2 {}
28656unsafe impl Sync for SparseImageMemoryRequirements2 {}
28657
28658#[repr(C)]
28660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28661pub struct SparseImageOpaqueMemoryBindInfo {
28662 pub image: Image,
28663 pub bind_count: u32,
28664 pub binds: *const SparseMemoryBind,
28665}
28666
28667impl Default for SparseImageOpaqueMemoryBindInfo {
28668 #[inline]
28669 fn default() -> Self {
28670 Self {
28671 image: Image::default(),
28672 bind_count: u32::default(),
28673 binds: ptr::null(),
28674 }
28675 }
28676}
28677
28678unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
28679unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
28680
28681#[repr(C)]
28683#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28684pub struct SparseMemoryBind {
28685 pub resource_offset: DeviceSize,
28686 pub size: DeviceSize,
28687 pub memory: DeviceMemory,
28688 pub memory_offset: DeviceSize,
28689 pub flags: SparseMemoryBindFlags,
28690}
28691
28692#[repr(C)]
28694#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28695pub struct SpecializationInfo {
28696 pub map_entry_count: u32,
28697 pub map_entries: *const SpecializationMapEntry,
28698 pub data_size: usize,
28699 pub data: *const c_void,
28700}
28701
28702impl Default for SpecializationInfo {
28703 #[inline]
28704 fn default() -> Self {
28705 Self {
28706 map_entry_count: u32::default(),
28707 map_entries: ptr::null(),
28708 data_size: usize::default(),
28709 data: ptr::null(),
28710 }
28711 }
28712}
28713
28714unsafe impl Send for SpecializationInfo {}
28715unsafe impl Sync for SpecializationInfo {}
28716
28717#[repr(C)]
28719#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28720pub struct SpecializationMapEntry {
28721 pub constant_id: u32,
28722 pub offset: u32,
28723 pub size: usize,
28724}
28725
28726#[repr(C)]
28728#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28729pub struct StencilOpState {
28730 pub fail_op: StencilOp,
28731 pub pass_op: StencilOp,
28732 pub depth_fail_op: StencilOp,
28733 pub compare_op: CompareOp,
28734 pub compare_mask: u32,
28735 pub write_mask: u32,
28736 pub reference: u32,
28737}
28738
28739#[repr(C)]
28741#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28742pub struct StreamDescriptorSurfaceCreateInfoGGP {
28743 pub s_type: StructureType,
28744 pub next: *const c_void,
28745 pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
28746 pub stream_descriptor: GgpStreamDescriptor,
28747}
28748
28749impl Default for StreamDescriptorSurfaceCreateInfoGGP {
28750 #[inline]
28751 fn default() -> Self {
28752 Self {
28753 s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
28754 next: ptr::null(),
28755 flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
28756 stream_descriptor: GgpStreamDescriptor::default(),
28757 }
28758 }
28759}
28760
28761unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
28762unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
28763
28764#[repr(C)]
28766#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28767pub struct StridedDeviceAddressNV {
28768 pub start_address: DeviceAddress,
28769 pub stride_in_bytes: DeviceSize,
28770}
28771
28772#[repr(C)]
28774#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28775pub struct StridedDeviceAddressRangeKHR {
28776 pub address: DeviceAddress,
28777 pub size: DeviceSize,
28778 pub stride: DeviceSize,
28779}
28780
28781#[repr(C)]
28783#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28784pub struct StridedDeviceAddressRegionKHR {
28785 pub device_address: DeviceAddress,
28786 pub stride: DeviceSize,
28787 pub size: DeviceSize,
28788}
28789
28790#[repr(C)]
28792#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28793pub struct SubmitInfo {
28794 pub s_type: StructureType,
28795 pub next: *const c_void,
28796 pub wait_semaphore_count: u32,
28797 pub wait_semaphores: *const Semaphore,
28798 pub wait_dst_stage_mask: *const PipelineStageFlags,
28799 pub command_buffer_count: u32,
28800 pub command_buffers: *const CommandBuffer,
28801 pub signal_semaphore_count: u32,
28802 pub signal_semaphores: *const Semaphore,
28803}
28804
28805impl Default for SubmitInfo {
28806 #[inline]
28807 fn default() -> Self {
28808 Self {
28809 s_type: StructureType::SUBMIT_INFO,
28810 next: ptr::null(),
28811 wait_semaphore_count: u32::default(),
28812 wait_semaphores: ptr::null(),
28813 wait_dst_stage_mask: ptr::null(),
28814 command_buffer_count: u32::default(),
28815 command_buffers: ptr::null(),
28816 signal_semaphore_count: u32::default(),
28817 signal_semaphores: ptr::null(),
28818 }
28819 }
28820}
28821
28822unsafe impl Send for SubmitInfo {}
28823unsafe impl Sync for SubmitInfo {}
28824
28825#[repr(C)]
28827#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28828pub struct SubmitInfo2 {
28829 pub s_type: StructureType,
28830 pub next: *const c_void,
28831 pub flags: SubmitFlags,
28832 pub wait_semaphore_info_count: u32,
28833 pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
28834 pub command_buffer_info_count: u32,
28835 pub command_buffer_infos: *const CommandBufferSubmitInfo,
28836 pub signal_semaphore_info_count: u32,
28837 pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
28838}
28839
28840impl Default for SubmitInfo2 {
28841 #[inline]
28842 fn default() -> Self {
28843 Self {
28844 s_type: StructureType::SUBMIT_INFO_2,
28845 next: ptr::null(),
28846 flags: SubmitFlags::default(),
28847 wait_semaphore_info_count: u32::default(),
28848 wait_semaphore_infos: ptr::null(),
28849 command_buffer_info_count: u32::default(),
28850 command_buffer_infos: ptr::null(),
28851 signal_semaphore_info_count: u32::default(),
28852 signal_semaphore_infos: ptr::null(),
28853 }
28854 }
28855}
28856
28857unsafe impl Send for SubmitInfo2 {}
28858unsafe impl Sync for SubmitInfo2 {}
28859
28860#[repr(C)]
28862#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28863pub struct SubpassBeginInfo {
28864 pub s_type: StructureType,
28865 pub next: *const c_void,
28866 pub contents: SubpassContents,
28867}
28868
28869impl Default for SubpassBeginInfo {
28870 #[inline]
28871 fn default() -> Self {
28872 Self {
28873 s_type: StructureType::SUBPASS_BEGIN_INFO,
28874 next: ptr::null(),
28875 contents: SubpassContents::default(),
28876 }
28877 }
28878}
28879
28880unsafe impl Send for SubpassBeginInfo {}
28881unsafe impl Sync for SubpassBeginInfo {}
28882
28883#[repr(C)]
28885#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
28886pub struct SubpassDependency {
28887 pub src_subpass: u32,
28888 pub dst_subpass: u32,
28889 pub src_stage_mask: PipelineStageFlags,
28890 pub dst_stage_mask: PipelineStageFlags,
28891 pub src_access_mask: AccessFlags,
28892 pub dst_access_mask: AccessFlags,
28893 pub dependency_flags: DependencyFlags,
28894}
28895
28896#[repr(C)]
28898#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28899pub struct SubpassDependency2 {
28900 pub s_type: StructureType,
28901 pub next: *const c_void,
28902 pub src_subpass: u32,
28903 pub dst_subpass: u32,
28904 pub src_stage_mask: PipelineStageFlags,
28905 pub dst_stage_mask: PipelineStageFlags,
28906 pub src_access_mask: AccessFlags,
28907 pub dst_access_mask: AccessFlags,
28908 pub dependency_flags: DependencyFlags,
28909 pub view_offset: i32,
28910}
28911
28912impl Default for SubpassDependency2 {
28913 #[inline]
28914 fn default() -> Self {
28915 Self {
28916 s_type: StructureType::SUBPASS_DEPENDENCY_2,
28917 next: ptr::null(),
28918 src_subpass: u32::default(),
28919 dst_subpass: u32::default(),
28920 src_stage_mask: PipelineStageFlags::default(),
28921 dst_stage_mask: PipelineStageFlags::default(),
28922 src_access_mask: AccessFlags::default(),
28923 dst_access_mask: AccessFlags::default(),
28924 dependency_flags: DependencyFlags::default(),
28925 view_offset: i32::default(),
28926 }
28927 }
28928}
28929
28930unsafe impl Send for SubpassDependency2 {}
28931unsafe impl Sync for SubpassDependency2 {}
28932
28933#[repr(C)]
28935#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28936pub struct SubpassDescription {
28937 pub flags: SubpassDescriptionFlags,
28938 pub pipeline_bind_point: PipelineBindPoint,
28939 pub input_attachment_count: u32,
28940 pub input_attachments: *const AttachmentReference,
28941 pub color_attachment_count: u32,
28942 pub color_attachments: *const AttachmentReference,
28943 pub resolve_attachments: *const AttachmentReference,
28944 pub depth_stencil_attachment: *const AttachmentReference,
28945 pub preserve_attachment_count: u32,
28946 pub preserve_attachments: *const u32,
28947}
28948
28949impl Default for SubpassDescription {
28950 #[inline]
28951 fn default() -> Self {
28952 Self {
28953 flags: SubpassDescriptionFlags::default(),
28954 pipeline_bind_point: PipelineBindPoint::default(),
28955 input_attachment_count: u32::default(),
28956 input_attachments: ptr::null(),
28957 color_attachment_count: u32::default(),
28958 color_attachments: ptr::null(),
28959 resolve_attachments: ptr::null(),
28960 depth_stencil_attachment: ptr::null(),
28961 preserve_attachment_count: u32::default(),
28962 preserve_attachments: ptr::null(),
28963 }
28964 }
28965}
28966
28967unsafe impl Send for SubpassDescription {}
28968unsafe impl Sync for SubpassDescription {}
28969
28970#[repr(C)]
28972#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
28973pub struct SubpassDescription2 {
28974 pub s_type: StructureType,
28975 pub next: *const c_void,
28976 pub flags: SubpassDescriptionFlags,
28977 pub pipeline_bind_point: PipelineBindPoint,
28978 pub view_mask: u32,
28979 pub input_attachment_count: u32,
28980 pub input_attachments: *const AttachmentReference2,
28981 pub color_attachment_count: u32,
28982 pub color_attachments: *const AttachmentReference2,
28983 pub resolve_attachments: *const AttachmentReference2,
28984 pub depth_stencil_attachment: *const AttachmentReference2,
28985 pub preserve_attachment_count: u32,
28986 pub preserve_attachments: *const u32,
28987}
28988
28989impl Default for SubpassDescription2 {
28990 #[inline]
28991 fn default() -> Self {
28992 Self {
28993 s_type: StructureType::SUBPASS_DESCRIPTION_2,
28994 next: ptr::null(),
28995 flags: SubpassDescriptionFlags::default(),
28996 pipeline_bind_point: PipelineBindPoint::default(),
28997 view_mask: u32::default(),
28998 input_attachment_count: u32::default(),
28999 input_attachments: ptr::null(),
29000 color_attachment_count: u32::default(),
29001 color_attachments: ptr::null(),
29002 resolve_attachments: ptr::null(),
29003 depth_stencil_attachment: ptr::null(),
29004 preserve_attachment_count: u32::default(),
29005 preserve_attachments: ptr::null(),
29006 }
29007 }
29008}
29009
29010unsafe impl Send for SubpassDescription2 {}
29011unsafe impl Sync for SubpassDescription2 {}
29012
29013#[repr(C)]
29015#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29016pub struct SubpassDescriptionDepthStencilResolve {
29017 pub s_type: StructureType,
29018 pub next: *const c_void,
29019 pub depth_resolve_mode: ResolveModeFlags,
29020 pub stencil_resolve_mode: ResolveModeFlags,
29021 pub depth_stencil_resolve_attachment: *const AttachmentReference2,
29022}
29023
29024impl Default for SubpassDescriptionDepthStencilResolve {
29025 #[inline]
29026 fn default() -> Self {
29027 Self {
29028 s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
29029 next: ptr::null(),
29030 depth_resolve_mode: ResolveModeFlags::default(),
29031 stencil_resolve_mode: ResolveModeFlags::default(),
29032 depth_stencil_resolve_attachment: ptr::null(),
29033 }
29034 }
29035}
29036
29037unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
29038unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
29039
29040#[repr(C)]
29042#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29043pub struct SubpassEndInfo {
29044 pub s_type: StructureType,
29045 pub next: *const c_void,
29046}
29047
29048impl Default for SubpassEndInfo {
29049 #[inline]
29050 fn default() -> Self {
29051 Self {
29052 s_type: StructureType::SUBPASS_END_INFO,
29053 next: ptr::null(),
29054 }
29055 }
29056}
29057
29058unsafe impl Send for SubpassEndInfo {}
29059unsafe impl Sync for SubpassEndInfo {}
29060
29061#[repr(C)]
29063#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29064pub struct SubpassResolvePerformanceQueryEXT {
29065 pub s_type: StructureType,
29066 pub next: *mut c_void,
29067 pub optimal: Bool32,
29068}
29069
29070impl Default for SubpassResolvePerformanceQueryEXT {
29071 #[inline]
29072 fn default() -> Self {
29073 Self {
29074 s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
29075 next: ptr::null_mut(),
29076 optimal: Bool32::default(),
29077 }
29078 }
29079}
29080
29081unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
29082unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
29083
29084#[repr(C)]
29086#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29087pub struct SubpassSampleLocationsEXT {
29088 pub subpass_index: u32,
29089 pub sample_locations_info: SampleLocationsInfoEXT,
29090}
29091
29092#[repr(C)]
29094#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29095pub struct SubpassShadingPipelineCreateInfoHUAWEI {
29096 pub s_type: StructureType,
29097 pub next: *mut c_void,
29098 pub render_pass: RenderPass,
29099 pub subpass: u32,
29100}
29101
29102impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
29103 #[inline]
29104 fn default() -> Self {
29105 Self {
29106 s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
29107 next: ptr::null_mut(),
29108 render_pass: RenderPass::default(),
29109 subpass: u32::default(),
29110 }
29111 }
29112}
29113
29114unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
29115unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
29116
29117#[repr(C)]
29119#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29120pub struct SubresourceHostMemcpySize {
29121 pub s_type: StructureType,
29122 pub next: *mut c_void,
29123 pub size: DeviceSize,
29124}
29125
29126impl Default for SubresourceHostMemcpySize {
29127 #[inline]
29128 fn default() -> Self {
29129 Self {
29130 s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
29131 next: ptr::null_mut(),
29132 size: DeviceSize::default(),
29133 }
29134 }
29135}
29136
29137unsafe impl Send for SubresourceHostMemcpySize {}
29138unsafe impl Sync for SubresourceHostMemcpySize {}
29139
29140#[repr(C)]
29142#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29143pub struct SubresourceLayout {
29144 pub offset: DeviceSize,
29145 pub size: DeviceSize,
29146 pub row_pitch: DeviceSize,
29147 pub array_pitch: DeviceSize,
29148 pub depth_pitch: DeviceSize,
29149}
29150
29151#[repr(C)]
29153#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29154pub struct SubresourceLayout2 {
29155 pub s_type: StructureType,
29156 pub next: *mut c_void,
29157 pub subresource_layout: SubresourceLayout,
29158}
29159
29160impl Default for SubresourceLayout2 {
29161 #[inline]
29162 fn default() -> Self {
29163 Self {
29164 s_type: StructureType::SUBRESOURCE_LAYOUT_2,
29165 next: ptr::null_mut(),
29166 subresource_layout: SubresourceLayout::default(),
29167 }
29168 }
29169}
29170
29171unsafe impl Send for SubresourceLayout2 {}
29172unsafe impl Sync for SubresourceLayout2 {}
29173
29174#[repr(C)]
29176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29177pub struct SurfaceCapabilities2EXT {
29178 pub s_type: StructureType,
29179 pub next: *mut c_void,
29180 pub min_image_count: u32,
29181 pub max_image_count: u32,
29182 pub current_extent: Extent2D,
29183 pub min_image_extent: Extent2D,
29184 pub max_image_extent: Extent2D,
29185 pub max_image_array_layers: u32,
29186 pub supported_transforms: SurfaceTransformFlagsKHR,
29187 pub current_transform: SurfaceTransformFlagsKHR,
29188 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
29189 pub supported_usage_flags: ImageUsageFlags,
29190 pub supported_surface_counters: SurfaceCounterFlagsEXT,
29191}
29192
29193impl Default for SurfaceCapabilities2EXT {
29194 #[inline]
29195 fn default() -> Self {
29196 Self {
29197 s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
29198 next: ptr::null_mut(),
29199 min_image_count: u32::default(),
29200 max_image_count: u32::default(),
29201 current_extent: Extent2D::default(),
29202 min_image_extent: Extent2D::default(),
29203 max_image_extent: Extent2D::default(),
29204 max_image_array_layers: u32::default(),
29205 supported_transforms: SurfaceTransformFlagsKHR::default(),
29206 current_transform: SurfaceTransformFlagsKHR::default(),
29207 supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
29208 supported_usage_flags: ImageUsageFlags::default(),
29209 supported_surface_counters: SurfaceCounterFlagsEXT::default(),
29210 }
29211 }
29212}
29213
29214unsafe impl Send for SurfaceCapabilities2EXT {}
29215unsafe impl Sync for SurfaceCapabilities2EXT {}
29216
29217#[repr(C)]
29219#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29220pub struct SurfaceCapabilities2KHR {
29221 pub s_type: StructureType,
29222 pub next: *mut c_void,
29223 pub surface_capabilities: SurfaceCapabilitiesKHR,
29224}
29225
29226impl Default for SurfaceCapabilities2KHR {
29227 #[inline]
29228 fn default() -> Self {
29229 Self {
29230 s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
29231 next: ptr::null_mut(),
29232 surface_capabilities: SurfaceCapabilitiesKHR::default(),
29233 }
29234 }
29235}
29236
29237unsafe impl Send for SurfaceCapabilities2KHR {}
29238unsafe impl Sync for SurfaceCapabilities2KHR {}
29239
29240#[repr(C)]
29242#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29243pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
29244 pub s_type: StructureType,
29245 pub next: *mut c_void,
29246 pub full_screen_exclusive_supported: Bool32,
29247}
29248
29249impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
29250 #[inline]
29251 fn default() -> Self {
29252 Self {
29253 s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
29254 next: ptr::null_mut(),
29255 full_screen_exclusive_supported: Bool32::default(),
29256 }
29257 }
29258}
29259
29260unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
29261unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
29262
29263#[repr(C)]
29265#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29266pub struct SurfaceCapabilitiesKHR {
29267 pub min_image_count: u32,
29268 pub max_image_count: u32,
29269 pub current_extent: Extent2D,
29270 pub min_image_extent: Extent2D,
29271 pub max_image_extent: Extent2D,
29272 pub max_image_array_layers: u32,
29273 pub supported_transforms: SurfaceTransformFlagsKHR,
29274 pub current_transform: SurfaceTransformFlagsKHR,
29275 pub supported_composite_alpha: CompositeAlphaFlagsKHR,
29276 pub supported_usage_flags: ImageUsageFlags,
29277}
29278
29279#[repr(C)]
29281#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29282pub struct SurfaceCapabilitiesPresentBarrierNV {
29283 pub s_type: StructureType,
29284 pub next: *mut c_void,
29285 pub present_barrier_supported: Bool32,
29286}
29287
29288impl Default for SurfaceCapabilitiesPresentBarrierNV {
29289 #[inline]
29290 fn default() -> Self {
29291 Self {
29292 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
29293 next: ptr::null_mut(),
29294 present_barrier_supported: Bool32::default(),
29295 }
29296 }
29297}
29298
29299unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
29300unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
29301
29302#[repr(C)]
29304#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29305pub struct SurfaceCapabilitiesPresentId2KHR {
29306 pub s_type: StructureType,
29307 pub next: *mut c_void,
29308 pub present_id2_supported: Bool32,
29309}
29310
29311impl Default for SurfaceCapabilitiesPresentId2KHR {
29312 #[inline]
29313 fn default() -> Self {
29314 Self {
29315 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
29316 next: ptr::null_mut(),
29317 present_id2_supported: Bool32::default(),
29318 }
29319 }
29320}
29321
29322unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
29323unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
29324
29325#[repr(C)]
29327#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29328pub struct SurfaceCapabilitiesPresentWait2KHR {
29329 pub s_type: StructureType,
29330 pub next: *mut c_void,
29331 pub present_wait2_supported: Bool32,
29332}
29333
29334impl Default for SurfaceCapabilitiesPresentWait2KHR {
29335 #[inline]
29336 fn default() -> Self {
29337 Self {
29338 s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
29339 next: ptr::null_mut(),
29340 present_wait2_supported: Bool32::default(),
29341 }
29342 }
29343}
29344
29345unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
29346unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
29347
29348#[repr(C)]
29350#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29351pub struct SurfaceCreateInfoOHOS {
29352 pub s_type: StructureType,
29353 pub next: *const c_void,
29354 pub flags: SurfaceCreateFlagsOHOS,
29355 pub window: *mut OHNativeWindow,
29356}
29357
29358impl Default for SurfaceCreateInfoOHOS {
29359 #[inline]
29360 fn default() -> Self {
29361 Self {
29362 s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
29363 next: ptr::null(),
29364 flags: SurfaceCreateFlagsOHOS::default(),
29365 window: ptr::null_mut(),
29366 }
29367 }
29368}
29369
29370unsafe impl Send for SurfaceCreateInfoOHOS {}
29371unsafe impl Sync for SurfaceCreateInfoOHOS {}
29372
29373#[repr(C)]
29375#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29376pub struct SurfaceFormat2KHR {
29377 pub s_type: StructureType,
29378 pub next: *mut c_void,
29379 pub surface_format: SurfaceFormatKHR,
29380}
29381
29382impl Default for SurfaceFormat2KHR {
29383 #[inline]
29384 fn default() -> Self {
29385 Self {
29386 s_type: StructureType::SURFACE_FORMAT_2_KHR,
29387 next: ptr::null_mut(),
29388 surface_format: SurfaceFormatKHR::default(),
29389 }
29390 }
29391}
29392
29393unsafe impl Send for SurfaceFormat2KHR {}
29394unsafe impl Sync for SurfaceFormat2KHR {}
29395
29396#[repr(C)]
29398#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
29399pub struct SurfaceFormatKHR {
29400 pub format: Format,
29401 pub color_space: ColorSpaceKHR,
29402}
29403
29404#[repr(C)]
29406#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29407pub struct SurfaceFullScreenExclusiveInfoEXT {
29408 pub s_type: StructureType,
29409 pub next: *mut c_void,
29410 pub full_screen_exclusive: FullScreenExclusiveEXT,
29411}
29412
29413impl Default for SurfaceFullScreenExclusiveInfoEXT {
29414 #[inline]
29415 fn default() -> Self {
29416 Self {
29417 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
29418 next: ptr::null_mut(),
29419 full_screen_exclusive: FullScreenExclusiveEXT::default(),
29420 }
29421 }
29422}
29423
29424unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
29425unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
29426
29427#[repr(C)]
29429#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29430pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
29431 pub s_type: StructureType,
29432 pub next: *const c_void,
29433 pub hmonitor: HMONITOR,
29434}
29435
29436impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
29437 #[inline]
29438 fn default() -> Self {
29439 Self {
29440 s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
29441 next: ptr::null(),
29442 hmonitor: ptr::null_mut(),
29443 }
29444 }
29445}
29446
29447unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
29448unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
29449
29450#[repr(C)]
29452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29453pub struct SurfacePresentModeCompatibilityKHR {
29454 pub s_type: StructureType,
29455 pub next: *mut c_void,
29456 pub present_mode_count: u32,
29457 pub present_modes: *mut PresentModeKHR,
29458}
29459
29460impl Default for SurfacePresentModeCompatibilityKHR {
29461 #[inline]
29462 fn default() -> Self {
29463 Self {
29464 s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
29465 next: ptr::null_mut(),
29466 present_mode_count: u32::default(),
29467 present_modes: ptr::null_mut(),
29468 }
29469 }
29470}
29471
29472unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
29473unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
29474
29475#[repr(C)]
29477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29478pub struct SurfacePresentModeKHR {
29479 pub s_type: StructureType,
29480 pub next: *mut c_void,
29481 pub present_mode: PresentModeKHR,
29482}
29483
29484impl Default for SurfacePresentModeKHR {
29485 #[inline]
29486 fn default() -> Self {
29487 Self {
29488 s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
29489 next: ptr::null_mut(),
29490 present_mode: PresentModeKHR::default(),
29491 }
29492 }
29493}
29494
29495unsafe impl Send for SurfacePresentModeKHR {}
29496unsafe impl Sync for SurfacePresentModeKHR {}
29497
29498#[repr(C)]
29500#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29501pub struct SurfacePresentScalingCapabilitiesKHR {
29502 pub s_type: StructureType,
29503 pub next: *mut c_void,
29504 pub supported_present_scaling: PresentScalingFlagsKHR,
29505 pub supported_present_gravity_x: PresentGravityFlagsKHR,
29506 pub supported_present_gravity_y: PresentGravityFlagsKHR,
29507 pub min_scaled_image_extent: Extent2D,
29508 pub max_scaled_image_extent: Extent2D,
29509}
29510
29511impl Default for SurfacePresentScalingCapabilitiesKHR {
29512 #[inline]
29513 fn default() -> Self {
29514 Self {
29515 s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
29516 next: ptr::null_mut(),
29517 supported_present_scaling: PresentScalingFlagsKHR::default(),
29518 supported_present_gravity_x: PresentGravityFlagsKHR::default(),
29519 supported_present_gravity_y: PresentGravityFlagsKHR::default(),
29520 min_scaled_image_extent: Extent2D::default(),
29521 max_scaled_image_extent: Extent2D::default(),
29522 }
29523 }
29524}
29525
29526unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
29527unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
29528
29529#[repr(C)]
29531#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29532pub struct SurfaceProtectedCapabilitiesKHR {
29533 pub s_type: StructureType,
29534 pub next: *mut c_void,
29535 pub supports_protected: Bool32,
29536}
29537
29538impl Default for SurfaceProtectedCapabilitiesKHR {
29539 #[inline]
29540 fn default() -> Self {
29541 Self {
29542 s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
29543 next: ptr::null_mut(),
29544 supports_protected: Bool32::default(),
29545 }
29546 }
29547}
29548
29549unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
29550unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
29551
29552#[repr(C)]
29554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29555pub struct SwapchainCalibratedTimestampInfoEXT {
29556 pub s_type: StructureType,
29557 pub next: *const c_void,
29558 pub swapchain: SwapchainKHR,
29559 pub present_stage: PresentStageFlagsEXT,
29560 pub time_domain_id: u64,
29561}
29562
29563impl Default for SwapchainCalibratedTimestampInfoEXT {
29564 #[inline]
29565 fn default() -> Self {
29566 Self {
29567 s_type: StructureType::SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT,
29568 next: ptr::null(),
29569 swapchain: SwapchainKHR::default(),
29570 present_stage: PresentStageFlagsEXT::default(),
29571 time_domain_id: u64::default(),
29572 }
29573 }
29574}
29575
29576unsafe impl Send for SwapchainCalibratedTimestampInfoEXT {}
29577unsafe impl Sync for SwapchainCalibratedTimestampInfoEXT {}
29578
29579#[repr(C)]
29581#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29582pub struct SwapchainCounterCreateInfoEXT {
29583 pub s_type: StructureType,
29584 pub next: *const c_void,
29585 pub surface_counters: SurfaceCounterFlagsEXT,
29586}
29587
29588impl Default for SwapchainCounterCreateInfoEXT {
29589 #[inline]
29590 fn default() -> Self {
29591 Self {
29592 s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
29593 next: ptr::null(),
29594 surface_counters: SurfaceCounterFlagsEXT::default(),
29595 }
29596 }
29597}
29598
29599unsafe impl Send for SwapchainCounterCreateInfoEXT {}
29600unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
29601
29602#[repr(C)]
29604#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29605pub struct SwapchainCreateInfoKHR {
29606 pub s_type: StructureType,
29607 pub next: *const c_void,
29608 pub flags: SwapchainCreateFlagsKHR,
29609 pub surface: SurfaceKHR,
29610 pub min_image_count: u32,
29611 pub image_format: Format,
29612 pub image_color_space: ColorSpaceKHR,
29613 pub image_extent: Extent2D,
29614 pub image_array_layers: u32,
29615 pub image_usage: ImageUsageFlags,
29616 pub image_sharing_mode: SharingMode,
29617 pub queue_family_index_count: u32,
29618 pub queue_family_indices: *const u32,
29619 pub pre_transform: SurfaceTransformFlagsKHR,
29620 pub composite_alpha: CompositeAlphaFlagsKHR,
29621 pub present_mode: PresentModeKHR,
29622 pub clipped: Bool32,
29623 pub old_swapchain: SwapchainKHR,
29624}
29625
29626impl Default for SwapchainCreateInfoKHR {
29627 #[inline]
29628 fn default() -> Self {
29629 Self {
29630 s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
29631 next: ptr::null(),
29632 flags: SwapchainCreateFlagsKHR::default(),
29633 surface: SurfaceKHR::default(),
29634 min_image_count: u32::default(),
29635 image_format: Format::default(),
29636 image_color_space: ColorSpaceKHR::default(),
29637 image_extent: Extent2D::default(),
29638 image_array_layers: u32::default(),
29639 image_usage: ImageUsageFlags::default(),
29640 image_sharing_mode: SharingMode::default(),
29641 queue_family_index_count: u32::default(),
29642 queue_family_indices: ptr::null(),
29643 pre_transform: SurfaceTransformFlagsKHR::default(),
29644 composite_alpha: CompositeAlphaFlagsKHR::default(),
29645 present_mode: PresentModeKHR::default(),
29646 clipped: Bool32::default(),
29647 old_swapchain: SwapchainKHR::default(),
29648 }
29649 }
29650}
29651
29652unsafe impl Send for SwapchainCreateInfoKHR {}
29653unsafe impl Sync for SwapchainCreateInfoKHR {}
29654
29655#[repr(C)]
29657#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29658pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
29659 pub s_type: StructureType,
29660 pub next: *const c_void,
29661 pub local_dimming_enable: Bool32,
29662}
29663
29664impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
29665 #[inline]
29666 fn default() -> Self {
29667 Self {
29668 s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
29669 next: ptr::null(),
29670 local_dimming_enable: Bool32::default(),
29671 }
29672 }
29673}
29674
29675unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
29676unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
29677
29678#[repr(C)]
29680#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29681pub struct SwapchainLatencyCreateInfoNV {
29682 pub s_type: StructureType,
29683 pub next: *const c_void,
29684 pub latency_mode_enable: Bool32,
29685}
29686
29687impl Default for SwapchainLatencyCreateInfoNV {
29688 #[inline]
29689 fn default() -> Self {
29690 Self {
29691 s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
29692 next: ptr::null(),
29693 latency_mode_enable: Bool32::default(),
29694 }
29695 }
29696}
29697
29698unsafe impl Send for SwapchainLatencyCreateInfoNV {}
29699unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
29700
29701#[repr(C)]
29703#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29704pub struct SwapchainPresentBarrierCreateInfoNV {
29705 pub s_type: StructureType,
29706 pub next: *mut c_void,
29707 pub present_barrier_enable: Bool32,
29708}
29709
29710impl Default for SwapchainPresentBarrierCreateInfoNV {
29711 #[inline]
29712 fn default() -> Self {
29713 Self {
29714 s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
29715 next: ptr::null_mut(),
29716 present_barrier_enable: Bool32::default(),
29717 }
29718 }
29719}
29720
29721unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
29722unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
29723
29724#[repr(C)]
29726#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29727pub struct SwapchainPresentFenceInfoKHR {
29728 pub s_type: StructureType,
29729 pub next: *const c_void,
29730 pub swapchain_count: u32,
29731 pub fences: *const Fence,
29732}
29733
29734impl Default for SwapchainPresentFenceInfoKHR {
29735 #[inline]
29736 fn default() -> Self {
29737 Self {
29738 s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
29739 next: ptr::null(),
29740 swapchain_count: u32::default(),
29741 fences: ptr::null(),
29742 }
29743 }
29744}
29745
29746unsafe impl Send for SwapchainPresentFenceInfoKHR {}
29747unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
29748
29749#[repr(C)]
29751#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29752pub struct SwapchainPresentModeInfoKHR {
29753 pub s_type: StructureType,
29754 pub next: *const c_void,
29755 pub swapchain_count: u32,
29756 pub present_modes: *const PresentModeKHR,
29757}
29758
29759impl Default for SwapchainPresentModeInfoKHR {
29760 #[inline]
29761 fn default() -> Self {
29762 Self {
29763 s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
29764 next: ptr::null(),
29765 swapchain_count: u32::default(),
29766 present_modes: ptr::null(),
29767 }
29768 }
29769}
29770
29771unsafe impl Send for SwapchainPresentModeInfoKHR {}
29772unsafe impl Sync for SwapchainPresentModeInfoKHR {}
29773
29774#[repr(C)]
29776#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29777pub struct SwapchainPresentModesCreateInfoKHR {
29778 pub s_type: StructureType,
29779 pub next: *const c_void,
29780 pub present_mode_count: u32,
29781 pub present_modes: *const PresentModeKHR,
29782}
29783
29784impl Default for SwapchainPresentModesCreateInfoKHR {
29785 #[inline]
29786 fn default() -> Self {
29787 Self {
29788 s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
29789 next: ptr::null(),
29790 present_mode_count: u32::default(),
29791 present_modes: ptr::null(),
29792 }
29793 }
29794}
29795
29796unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
29797unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
29798
29799#[repr(C)]
29801#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29802pub struct SwapchainPresentScalingCreateInfoKHR {
29803 pub s_type: StructureType,
29804 pub next: *const c_void,
29805 pub scaling_behavior: PresentScalingFlagsKHR,
29806 pub present_gravity_x: PresentGravityFlagsKHR,
29807 pub present_gravity_y: PresentGravityFlagsKHR,
29808}
29809
29810impl Default for SwapchainPresentScalingCreateInfoKHR {
29811 #[inline]
29812 fn default() -> Self {
29813 Self {
29814 s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
29815 next: ptr::null(),
29816 scaling_behavior: PresentScalingFlagsKHR::default(),
29817 present_gravity_x: PresentGravityFlagsKHR::default(),
29818 present_gravity_y: PresentGravityFlagsKHR::default(),
29819 }
29820 }
29821}
29822
29823unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
29824unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
29825
29826#[repr(C)]
29828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29829pub struct SwapchainTimeDomainPropertiesEXT {
29830 pub s_type: StructureType,
29831 pub next: *mut c_void,
29832 pub time_domain_count: u32,
29833 pub time_domains: *mut TimeDomainKHR,
29834 pub time_domain_ids: *mut u64,
29835}
29836
29837impl Default for SwapchainTimeDomainPropertiesEXT {
29838 #[inline]
29839 fn default() -> Self {
29840 Self {
29841 s_type: StructureType::SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT,
29842 next: ptr::null_mut(),
29843 time_domain_count: u32::default(),
29844 time_domains: ptr::null_mut(),
29845 time_domain_ids: ptr::null_mut(),
29846 }
29847 }
29848}
29849
29850unsafe impl Send for SwapchainTimeDomainPropertiesEXT {}
29851unsafe impl Sync for SwapchainTimeDomainPropertiesEXT {}
29852
29853#[repr(C)]
29855#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29856pub struct SwapchainTimingPropertiesEXT {
29857 pub s_type: StructureType,
29858 pub next: *mut c_void,
29859 pub refresh_duration: u64,
29860 pub refresh_interval: u64,
29861}
29862
29863impl Default for SwapchainTimingPropertiesEXT {
29864 #[inline]
29865 fn default() -> Self {
29866 Self {
29867 s_type: StructureType::SWAPCHAIN_TIMING_PROPERTIES_EXT,
29868 next: ptr::null_mut(),
29869 refresh_duration: u64::default(),
29870 refresh_interval: u64::default(),
29871 }
29872 }
29873}
29874
29875unsafe impl Send for SwapchainTimingPropertiesEXT {}
29876unsafe impl Sync for SwapchainTimingPropertiesEXT {}
29877
29878#[repr(C)]
29880#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29881pub struct SysmemColorSpaceFUCHSIA {
29882 pub s_type: StructureType,
29883 pub next: *const c_void,
29884 pub color_space: u32,
29885}
29886
29887impl Default for SysmemColorSpaceFUCHSIA {
29888 #[inline]
29889 fn default() -> Self {
29890 Self {
29891 s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
29892 next: ptr::null(),
29893 color_space: u32::default(),
29894 }
29895 }
29896}
29897
29898unsafe impl Send for SysmemColorSpaceFUCHSIA {}
29899unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
29900
29901#[repr(C)]
29903#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29904pub struct TensorCaptureDescriptorDataInfoARM {
29905 pub s_type: StructureType,
29906 pub next: *const c_void,
29907 pub tensor: TensorARM,
29908}
29909
29910impl Default for TensorCaptureDescriptorDataInfoARM {
29911 #[inline]
29912 fn default() -> Self {
29913 Self {
29914 s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
29915 next: ptr::null(),
29916 tensor: TensorARM::default(),
29917 }
29918 }
29919}
29920
29921unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
29922unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
29923
29924#[repr(C)]
29926#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29927pub struct TensorCopyARM {
29928 pub s_type: StructureType,
29929 pub next: *const c_void,
29930 pub dimension_count: u32,
29931 pub src_offset: *const u64,
29932 pub dst_offset: *const u64,
29933 pub extent: *const u64,
29934}
29935
29936impl Default for TensorCopyARM {
29937 #[inline]
29938 fn default() -> Self {
29939 Self {
29940 s_type: StructureType::TENSOR_COPY_ARM,
29941 next: ptr::null(),
29942 dimension_count: u32::default(),
29943 src_offset: ptr::null(),
29944 dst_offset: ptr::null(),
29945 extent: ptr::null(),
29946 }
29947 }
29948}
29949
29950unsafe impl Send for TensorCopyARM {}
29951unsafe impl Sync for TensorCopyARM {}
29952
29953#[repr(C)]
29955#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29956pub struct TensorCreateInfoARM {
29957 pub s_type: StructureType,
29958 pub next: *const c_void,
29959 pub flags: TensorCreateFlagsARM,
29960 pub description: *const TensorDescriptionARM,
29961 pub sharing_mode: SharingMode,
29962 pub queue_family_index_count: u32,
29963 pub queue_family_indices: *const u32,
29964}
29965
29966impl Default for TensorCreateInfoARM {
29967 #[inline]
29968 fn default() -> Self {
29969 Self {
29970 s_type: StructureType::TENSOR_CREATE_INFO_ARM,
29971 next: ptr::null(),
29972 flags: TensorCreateFlagsARM::default(),
29973 description: ptr::null(),
29974 sharing_mode: SharingMode::default(),
29975 queue_family_index_count: u32::default(),
29976 queue_family_indices: ptr::null(),
29977 }
29978 }
29979}
29980
29981unsafe impl Send for TensorCreateInfoARM {}
29982unsafe impl Sync for TensorCreateInfoARM {}
29983
29984#[repr(C)]
29986#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
29987pub struct TensorDependencyInfoARM {
29988 pub s_type: StructureType,
29989 pub next: *const c_void,
29990 pub tensor_memory_barrier_count: u32,
29991 pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
29992}
29993
29994impl Default for TensorDependencyInfoARM {
29995 #[inline]
29996 fn default() -> Self {
29997 Self {
29998 s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
29999 next: ptr::null(),
30000 tensor_memory_barrier_count: u32::default(),
30001 tensor_memory_barriers: ptr::null(),
30002 }
30003 }
30004}
30005
30006unsafe impl Send for TensorDependencyInfoARM {}
30007unsafe impl Sync for TensorDependencyInfoARM {}
30008
30009#[repr(C)]
30011#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30012pub struct TensorDescriptionARM {
30013 pub s_type: StructureType,
30014 pub next: *const c_void,
30015 pub tiling: TensorTilingARM,
30016 pub format: Format,
30017 pub dimension_count: u32,
30018 pub dimensions: *const i64,
30019 pub strides: *const i64,
30020 pub usage: TensorUsageFlagsARM,
30021}
30022
30023impl Default for TensorDescriptionARM {
30024 #[inline]
30025 fn default() -> Self {
30026 Self {
30027 s_type: StructureType::TENSOR_DESCRIPTION_ARM,
30028 next: ptr::null(),
30029 tiling: TensorTilingARM::default(),
30030 format: Format::default(),
30031 dimension_count: u32::default(),
30032 dimensions: ptr::null(),
30033 strides: ptr::null(),
30034 usage: TensorUsageFlagsARM::default(),
30035 }
30036 }
30037}
30038
30039unsafe impl Send for TensorDescriptionARM {}
30040unsafe impl Sync for TensorDescriptionARM {}
30041
30042#[repr(C)]
30044#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30045pub struct TensorFormatPropertiesARM {
30046 pub s_type: StructureType,
30047 pub next: *mut c_void,
30048 pub optimal_tiling_tensor_features: FormatFeatureFlags2,
30049 pub linear_tiling_tensor_features: FormatFeatureFlags2,
30050}
30051
30052impl Default for TensorFormatPropertiesARM {
30053 #[inline]
30054 fn default() -> Self {
30055 Self {
30056 s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
30057 next: ptr::null_mut(),
30058 optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
30059 linear_tiling_tensor_features: FormatFeatureFlags2::default(),
30060 }
30061 }
30062}
30063
30064unsafe impl Send for TensorFormatPropertiesARM {}
30065unsafe impl Sync for TensorFormatPropertiesARM {}
30066
30067#[repr(C)]
30069#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30070pub struct TensorMemoryBarrierARM {
30071 pub s_type: StructureType,
30072 pub next: *const c_void,
30073 pub src_stage_mask: PipelineStageFlags2,
30074 pub src_access_mask: AccessFlags2,
30075 pub dst_stage_mask: PipelineStageFlags2,
30076 pub dst_access_mask: AccessFlags2,
30077 pub src_queue_family_index: u32,
30078 pub dst_queue_family_index: u32,
30079 pub tensor: TensorARM,
30080}
30081
30082impl Default for TensorMemoryBarrierARM {
30083 #[inline]
30084 fn default() -> Self {
30085 Self {
30086 s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
30087 next: ptr::null(),
30088 src_stage_mask: PipelineStageFlags2::default(),
30089 src_access_mask: AccessFlags2::default(),
30090 dst_stage_mask: PipelineStageFlags2::default(),
30091 dst_access_mask: AccessFlags2::default(),
30092 src_queue_family_index: u32::default(),
30093 dst_queue_family_index: u32::default(),
30094 tensor: TensorARM::default(),
30095 }
30096 }
30097}
30098
30099unsafe impl Send for TensorMemoryBarrierARM {}
30100unsafe impl Sync for TensorMemoryBarrierARM {}
30101
30102#[repr(C)]
30104#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30105pub struct TensorMemoryRequirementsInfoARM {
30106 pub s_type: StructureType,
30107 pub next: *const c_void,
30108 pub tensor: TensorARM,
30109}
30110
30111impl Default for TensorMemoryRequirementsInfoARM {
30112 #[inline]
30113 fn default() -> Self {
30114 Self {
30115 s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
30116 next: ptr::null(),
30117 tensor: TensorARM::default(),
30118 }
30119 }
30120}
30121
30122unsafe impl Send for TensorMemoryRequirementsInfoARM {}
30123unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
30124
30125#[repr(C)]
30127#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30128pub struct TensorViewCaptureDescriptorDataInfoARM {
30129 pub s_type: StructureType,
30130 pub next: *const c_void,
30131 pub tensor_view: TensorViewARM,
30132}
30133
30134impl Default for TensorViewCaptureDescriptorDataInfoARM {
30135 #[inline]
30136 fn default() -> Self {
30137 Self {
30138 s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
30139 next: ptr::null(),
30140 tensor_view: TensorViewARM::default(),
30141 }
30142 }
30143}
30144
30145unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
30146unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
30147
30148#[repr(C)]
30150#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30151pub struct TensorViewCreateInfoARM {
30152 pub s_type: StructureType,
30153 pub next: *const c_void,
30154 pub flags: TensorViewCreateFlagsARM,
30155 pub tensor: TensorARM,
30156 pub format: Format,
30157}
30158
30159impl Default for TensorViewCreateInfoARM {
30160 #[inline]
30161 fn default() -> Self {
30162 Self {
30163 s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
30164 next: ptr::null(),
30165 flags: TensorViewCreateFlagsARM::default(),
30166 tensor: TensorARM::default(),
30167 format: Format::default(),
30168 }
30169 }
30170}
30171
30172unsafe impl Send for TensorViewCreateInfoARM {}
30173unsafe impl Sync for TensorViewCreateInfoARM {}
30174
30175#[repr(C)]
30177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30178pub struct TextureLODGatherFormatPropertiesAMD {
30179 pub s_type: StructureType,
30180 pub next: *mut c_void,
30181 pub supports_texture_gather_lod_bias_amd: Bool32,
30182}
30183
30184impl Default for TextureLODGatherFormatPropertiesAMD {
30185 #[inline]
30186 fn default() -> Self {
30187 Self {
30188 s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
30189 next: ptr::null_mut(),
30190 supports_texture_gather_lod_bias_amd: Bool32::default(),
30191 }
30192 }
30193}
30194
30195unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
30196unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
30197
30198#[repr(C)]
30200#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30201pub struct TileMemoryBindInfoQCOM {
30202 pub s_type: StructureType,
30203 pub next: *const c_void,
30204 pub memory: DeviceMemory,
30205}
30206
30207impl Default for TileMemoryBindInfoQCOM {
30208 #[inline]
30209 fn default() -> Self {
30210 Self {
30211 s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
30212 next: ptr::null(),
30213 memory: DeviceMemory::default(),
30214 }
30215 }
30216}
30217
30218unsafe impl Send for TileMemoryBindInfoQCOM {}
30219unsafe impl Sync for TileMemoryBindInfoQCOM {}
30220
30221#[repr(C)]
30223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30224pub struct TileMemoryRequirementsQCOM {
30225 pub s_type: StructureType,
30226 pub next: *mut c_void,
30227 pub size: DeviceSize,
30228 pub alignment: DeviceSize,
30229}
30230
30231impl Default for TileMemoryRequirementsQCOM {
30232 #[inline]
30233 fn default() -> Self {
30234 Self {
30235 s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
30236 next: ptr::null_mut(),
30237 size: DeviceSize::default(),
30238 alignment: DeviceSize::default(),
30239 }
30240 }
30241}
30242
30243unsafe impl Send for TileMemoryRequirementsQCOM {}
30244unsafe impl Sync for TileMemoryRequirementsQCOM {}
30245
30246#[repr(C)]
30248#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30249pub struct TileMemorySizeInfoQCOM {
30250 pub s_type: StructureType,
30251 pub next: *const c_void,
30252 pub size: DeviceSize,
30253}
30254
30255impl Default for TileMemorySizeInfoQCOM {
30256 #[inline]
30257 fn default() -> Self {
30258 Self {
30259 s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
30260 next: ptr::null(),
30261 size: DeviceSize::default(),
30262 }
30263 }
30264}
30265
30266unsafe impl Send for TileMemorySizeInfoQCOM {}
30267unsafe impl Sync for TileMemorySizeInfoQCOM {}
30268
30269#[repr(C)]
30271#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30272pub struct TilePropertiesQCOM {
30273 pub s_type: StructureType,
30274 pub next: *mut c_void,
30275 pub tile_size: Extent3D,
30276 pub apron_size: Extent2D,
30277 pub origin: Offset2D,
30278}
30279
30280impl Default for TilePropertiesQCOM {
30281 #[inline]
30282 fn default() -> Self {
30283 Self {
30284 s_type: StructureType::TILE_PROPERTIES_QCOM,
30285 next: ptr::null_mut(),
30286 tile_size: Extent3D::default(),
30287 apron_size: Extent2D::default(),
30288 origin: Offset2D::default(),
30289 }
30290 }
30291}
30292
30293unsafe impl Send for TilePropertiesQCOM {}
30294unsafe impl Sync for TilePropertiesQCOM {}
30295
30296#[repr(C)]
30298#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30299pub struct TimelineSemaphoreSubmitInfo {
30300 pub s_type: StructureType,
30301 pub next: *const c_void,
30302 pub wait_semaphore_value_count: u32,
30303 pub wait_semaphore_values: *const u64,
30304 pub signal_semaphore_value_count: u32,
30305 pub signal_semaphore_values: *const u64,
30306}
30307
30308impl Default for TimelineSemaphoreSubmitInfo {
30309 #[inline]
30310 fn default() -> Self {
30311 Self {
30312 s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
30313 next: ptr::null(),
30314 wait_semaphore_value_count: u32::default(),
30315 wait_semaphore_values: ptr::null(),
30316 signal_semaphore_value_count: u32::default(),
30317 signal_semaphore_values: ptr::null(),
30318 }
30319 }
30320}
30321
30322unsafe impl Send for TimelineSemaphoreSubmitInfo {}
30323unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
30324
30325#[repr(C)]
30327#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30328pub struct TraceRaysIndirectCommand2KHR {
30329 pub raygen_shader_record_address: DeviceAddress,
30330 pub raygen_shader_record_size: DeviceSize,
30331 pub miss_shader_binding_table_address: DeviceAddress,
30332 pub miss_shader_binding_table_size: DeviceSize,
30333 pub miss_shader_binding_table_stride: DeviceSize,
30334 pub hit_shader_binding_table_address: DeviceAddress,
30335 pub hit_shader_binding_table_size: DeviceSize,
30336 pub hit_shader_binding_table_stride: DeviceSize,
30337 pub callable_shader_binding_table_address: DeviceAddress,
30338 pub callable_shader_binding_table_size: DeviceSize,
30339 pub callable_shader_binding_table_stride: DeviceSize,
30340 pub width: u32,
30341 pub height: u32,
30342 pub depth: u32,
30343}
30344
30345#[repr(C)]
30347#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30348pub struct TraceRaysIndirectCommandKHR {
30349 pub width: u32,
30350 pub height: u32,
30351 pub depth: u32,
30352}
30353
30354#[repr(C)]
30356#[derive(Copy, Clone, Default, Debug, PartialEq)]
30357pub struct TransformMatrixKHR {
30358 pub matrix: [[f32; 4]; 3],
30359}
30360
30361#[repr(C)]
30363#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30364pub struct ValidationCacheCreateInfoEXT {
30365 pub s_type: StructureType,
30366 pub next: *const c_void,
30367 pub flags: ValidationCacheCreateFlagsEXT,
30368 pub initial_data_size: usize,
30369 pub initial_data: *const c_void,
30370}
30371
30372impl Default for ValidationCacheCreateInfoEXT {
30373 #[inline]
30374 fn default() -> Self {
30375 Self {
30376 s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
30377 next: ptr::null(),
30378 flags: ValidationCacheCreateFlagsEXT::default(),
30379 initial_data_size: usize::default(),
30380 initial_data: ptr::null(),
30381 }
30382 }
30383}
30384
30385unsafe impl Send for ValidationCacheCreateInfoEXT {}
30386unsafe impl Sync for ValidationCacheCreateInfoEXT {}
30387
30388#[repr(C)]
30390#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30391pub struct ValidationFeaturesEXT {
30392 pub s_type: StructureType,
30393 pub next: *const c_void,
30394 pub enabled_validation_feature_count: u32,
30395 pub enabled_validation_features: *const ValidationFeatureEnableEXT,
30396 pub disabled_validation_feature_count: u32,
30397 pub disabled_validation_features: *const ValidationFeatureDisableEXT,
30398}
30399
30400impl Default for ValidationFeaturesEXT {
30401 #[inline]
30402 fn default() -> Self {
30403 Self {
30404 s_type: StructureType::VALIDATION_FEATURES_EXT,
30405 next: ptr::null(),
30406 enabled_validation_feature_count: u32::default(),
30407 enabled_validation_features: ptr::null(),
30408 disabled_validation_feature_count: u32::default(),
30409 disabled_validation_features: ptr::null(),
30410 }
30411 }
30412}
30413
30414unsafe impl Send for ValidationFeaturesEXT {}
30415unsafe impl Sync for ValidationFeaturesEXT {}
30416
30417#[repr(C)]
30419#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30420pub struct ValidationFlagsEXT {
30421 pub s_type: StructureType,
30422 pub next: *const c_void,
30423 pub disabled_validation_check_count: u32,
30424 pub disabled_validation_checks: *const ValidationCheckEXT,
30425}
30426
30427impl Default for ValidationFlagsEXT {
30428 #[inline]
30429 fn default() -> Self {
30430 Self {
30431 s_type: StructureType::VALIDATION_FLAGS_EXT,
30432 next: ptr::null(),
30433 disabled_validation_check_count: u32::default(),
30434 disabled_validation_checks: ptr::null(),
30435 }
30436 }
30437}
30438
30439unsafe impl Send for ValidationFlagsEXT {}
30440unsafe impl Sync for ValidationFlagsEXT {}
30441
30442#[repr(C)]
30444#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30445pub struct VertexInputAttributeDescription {
30446 pub location: u32,
30447 pub binding: u32,
30448 pub format: Format,
30449 pub offset: u32,
30450}
30451
30452#[repr(C)]
30454#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30455pub struct VertexInputAttributeDescription2EXT {
30456 pub s_type: StructureType,
30457 pub next: *mut c_void,
30458 pub location: u32,
30459 pub binding: u32,
30460 pub format: Format,
30461 pub offset: u32,
30462}
30463
30464impl Default for VertexInputAttributeDescription2EXT {
30465 #[inline]
30466 fn default() -> Self {
30467 Self {
30468 s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
30469 next: ptr::null_mut(),
30470 location: u32::default(),
30471 binding: u32::default(),
30472 format: Format::default(),
30473 offset: u32::default(),
30474 }
30475 }
30476}
30477
30478unsafe impl Send for VertexInputAttributeDescription2EXT {}
30479unsafe impl Sync for VertexInputAttributeDescription2EXT {}
30480
30481#[repr(C)]
30483#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30484pub struct VertexInputBindingDescription {
30485 pub binding: u32,
30486 pub stride: u32,
30487 pub input_rate: VertexInputRate,
30488}
30489
30490#[repr(C)]
30492#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30493pub struct VertexInputBindingDescription2EXT {
30494 pub s_type: StructureType,
30495 pub next: *mut c_void,
30496 pub binding: u32,
30497 pub stride: u32,
30498 pub input_rate: VertexInputRate,
30499 pub divisor: u32,
30500}
30501
30502impl Default for VertexInputBindingDescription2EXT {
30503 #[inline]
30504 fn default() -> Self {
30505 Self {
30506 s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
30507 next: ptr::null_mut(),
30508 binding: u32::default(),
30509 stride: u32::default(),
30510 input_rate: VertexInputRate::default(),
30511 divisor: u32::default(),
30512 }
30513 }
30514}
30515
30516unsafe impl Send for VertexInputBindingDescription2EXT {}
30517unsafe impl Sync for VertexInputBindingDescription2EXT {}
30518
30519#[repr(C)]
30521#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
30522pub struct VertexInputBindingDivisorDescription {
30523 pub binding: u32,
30524 pub divisor: u32,
30525}
30526
30527#[repr(C)]
30529#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30530pub struct ViSurfaceCreateInfoNN {
30531 pub s_type: StructureType,
30532 pub next: *const c_void,
30533 pub flags: ViSurfaceCreateFlagsNN,
30534 pub window: *mut c_void,
30535}
30536
30537impl Default for ViSurfaceCreateInfoNN {
30538 #[inline]
30539 fn default() -> Self {
30540 Self {
30541 s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
30542 next: ptr::null(),
30543 flags: ViSurfaceCreateFlagsNN::default(),
30544 window: ptr::null_mut(),
30545 }
30546 }
30547}
30548
30549unsafe impl Send for ViSurfaceCreateInfoNN {}
30550unsafe impl Sync for ViSurfaceCreateInfoNN {}
30551
30552#[repr(C)]
30554#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30555pub struct VideoBeginCodingInfoKHR {
30556 pub s_type: StructureType,
30557 pub next: *const c_void,
30558 pub flags: VideoBeginCodingFlagsKHR,
30559 pub video_session: VideoSessionKHR,
30560 pub video_session_parameters: VideoSessionParametersKHR,
30561 pub reference_slot_count: u32,
30562 pub reference_slots: *const VideoReferenceSlotInfoKHR,
30563}
30564
30565impl Default for VideoBeginCodingInfoKHR {
30566 #[inline]
30567 fn default() -> Self {
30568 Self {
30569 s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
30570 next: ptr::null(),
30571 flags: VideoBeginCodingFlagsKHR::default(),
30572 video_session: VideoSessionKHR::default(),
30573 video_session_parameters: VideoSessionParametersKHR::default(),
30574 reference_slot_count: u32::default(),
30575 reference_slots: ptr::null(),
30576 }
30577 }
30578}
30579
30580unsafe impl Send for VideoBeginCodingInfoKHR {}
30581unsafe impl Sync for VideoBeginCodingInfoKHR {}
30582
30583#[repr(C)]
30585#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30586pub struct VideoCapabilitiesKHR {
30587 pub s_type: StructureType,
30588 pub next: *mut c_void,
30589 pub flags: VideoCapabilityFlagsKHR,
30590 pub min_bitstream_buffer_offset_alignment: DeviceSize,
30591 pub min_bitstream_buffer_size_alignment: DeviceSize,
30592 pub picture_access_granularity: Extent2D,
30593 pub min_coded_extent: Extent2D,
30594 pub max_coded_extent: Extent2D,
30595 pub max_dpb_slots: u32,
30596 pub max_active_reference_pictures: u32,
30597 pub std_header_version: ExtensionProperties,
30598}
30599
30600impl Default for VideoCapabilitiesKHR {
30601 #[inline]
30602 fn default() -> Self {
30603 Self {
30604 s_type: StructureType::VIDEO_CAPABILITIES_KHR,
30605 next: ptr::null_mut(),
30606 flags: VideoCapabilityFlagsKHR::default(),
30607 min_bitstream_buffer_offset_alignment: DeviceSize::default(),
30608 min_bitstream_buffer_size_alignment: DeviceSize::default(),
30609 picture_access_granularity: Extent2D::default(),
30610 min_coded_extent: Extent2D::default(),
30611 max_coded_extent: Extent2D::default(),
30612 max_dpb_slots: u32::default(),
30613 max_active_reference_pictures: u32::default(),
30614 std_header_version: ExtensionProperties::default(),
30615 }
30616 }
30617}
30618
30619unsafe impl Send for VideoCapabilitiesKHR {}
30620unsafe impl Sync for VideoCapabilitiesKHR {}
30621
30622#[repr(C)]
30624#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30625pub struct VideoCodingControlInfoKHR {
30626 pub s_type: StructureType,
30627 pub next: *const c_void,
30628 pub flags: VideoCodingControlFlagsKHR,
30629}
30630
30631impl Default for VideoCodingControlInfoKHR {
30632 #[inline]
30633 fn default() -> Self {
30634 Self {
30635 s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
30636 next: ptr::null(),
30637 flags: VideoCodingControlFlagsKHR::default(),
30638 }
30639 }
30640}
30641
30642unsafe impl Send for VideoCodingControlInfoKHR {}
30643unsafe impl Sync for VideoCodingControlInfoKHR {}
30644
30645#[repr(C)]
30647#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30648pub struct VideoDecodeAV1CapabilitiesKHR {
30649 pub s_type: StructureType,
30650 pub next: *mut c_void,
30651 pub max_level: video::StdVideoAV1Level,
30652}
30653
30654impl Default for VideoDecodeAV1CapabilitiesKHR {
30655 #[inline]
30656 fn default() -> Self {
30657 Self {
30658 s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
30659 next: ptr::null_mut(),
30660 max_level: video::StdVideoAV1Level::default(),
30661 }
30662 }
30663}
30664
30665unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
30666unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
30667
30668#[repr(C)]
30670#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30671pub struct VideoDecodeAV1DpbSlotInfoKHR {
30672 pub s_type: StructureType,
30673 pub next: *const c_void,
30674 pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
30675}
30676
30677impl Default for VideoDecodeAV1DpbSlotInfoKHR {
30678 #[inline]
30679 fn default() -> Self {
30680 Self {
30681 s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
30682 next: ptr::null(),
30683 std_reference_info: ptr::null(),
30684 }
30685 }
30686}
30687
30688unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
30689unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
30690
30691#[repr(C)]
30693#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30694pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
30695 pub s_type: StructureType,
30696 pub next: *const c_void,
30697 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30698}
30699
30700impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
30701 #[inline]
30702 fn default() -> Self {
30703 Self {
30704 s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
30705 next: ptr::null(),
30706 std_sequence_header: ptr::null(),
30707 }
30708 }
30709}
30710
30711unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30712unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
30713
30714#[repr(C)]
30716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30717pub struct VideoDecodeAV1PictureInfoKHR {
30718 pub s_type: StructureType,
30719 pub next: *const c_void,
30720 pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
30721 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
30722 pub frame_header_offset: u32,
30723 pub tile_count: u32,
30724 pub tile_offsets: *const u32,
30725 pub tile_sizes: *const u32,
30726}
30727
30728impl Default for VideoDecodeAV1PictureInfoKHR {
30729 #[inline]
30730 fn default() -> Self {
30731 Self {
30732 s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
30733 next: ptr::null(),
30734 std_picture_info: ptr::null(),
30735 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
30736 frame_header_offset: u32::default(),
30737 tile_count: u32::default(),
30738 tile_offsets: ptr::null(),
30739 tile_sizes: ptr::null(),
30740 }
30741 }
30742}
30743
30744unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
30745unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
30746
30747#[repr(C)]
30749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30750pub struct VideoDecodeAV1ProfileInfoKHR {
30751 pub s_type: StructureType,
30752 pub next: *const c_void,
30753 pub std_profile: video::StdVideoAV1Profile,
30754 pub film_grain_support: Bool32,
30755}
30756
30757impl Default for VideoDecodeAV1ProfileInfoKHR {
30758 #[inline]
30759 fn default() -> Self {
30760 Self {
30761 s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
30762 next: ptr::null(),
30763 std_profile: video::StdVideoAV1Profile::default(),
30764 film_grain_support: Bool32::default(),
30765 }
30766 }
30767}
30768
30769unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
30770unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
30771
30772#[repr(C)]
30774#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30775pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
30776 pub s_type: StructureType,
30777 pub next: *const c_void,
30778 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
30779}
30780
30781impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
30782 #[inline]
30783 fn default() -> Self {
30784 Self {
30785 s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
30786 next: ptr::null(),
30787 std_sequence_header: ptr::null(),
30788 }
30789 }
30790}
30791
30792unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30793unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
30794
30795#[repr(C)]
30797#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30798pub struct VideoDecodeCapabilitiesKHR {
30799 pub s_type: StructureType,
30800 pub next: *mut c_void,
30801 pub flags: VideoDecodeCapabilityFlagsKHR,
30802}
30803
30804impl Default for VideoDecodeCapabilitiesKHR {
30805 #[inline]
30806 fn default() -> Self {
30807 Self {
30808 s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
30809 next: ptr::null_mut(),
30810 flags: VideoDecodeCapabilityFlagsKHR::default(),
30811 }
30812 }
30813}
30814
30815unsafe impl Send for VideoDecodeCapabilitiesKHR {}
30816unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
30817
30818#[repr(C)]
30820#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30821pub struct VideoDecodeH264CapabilitiesKHR {
30822 pub s_type: StructureType,
30823 pub next: *mut c_void,
30824 pub max_level_idc: video::StdVideoH264LevelIdc,
30825 pub field_offset_granularity: Offset2D,
30826}
30827
30828impl Default for VideoDecodeH264CapabilitiesKHR {
30829 #[inline]
30830 fn default() -> Self {
30831 Self {
30832 s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
30833 next: ptr::null_mut(),
30834 max_level_idc: video::StdVideoH264LevelIdc::default(),
30835 field_offset_granularity: Offset2D::default(),
30836 }
30837 }
30838}
30839
30840unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
30841unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
30842
30843#[repr(C)]
30845#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30846pub struct VideoDecodeH264DpbSlotInfoKHR {
30847 pub s_type: StructureType,
30848 pub next: *const c_void,
30849 pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
30850}
30851
30852impl Default for VideoDecodeH264DpbSlotInfoKHR {
30853 #[inline]
30854 fn default() -> Self {
30855 Self {
30856 s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
30857 next: ptr::null(),
30858 std_reference_info: ptr::null(),
30859 }
30860 }
30861}
30862
30863unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
30864unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
30865
30866#[repr(C)]
30868#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30869pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
30870 pub s_type: StructureType,
30871 pub next: *const c_void,
30872 pub std_sps: *const video::StdVideoH264SequenceParameterSet,
30873 pub std_pps: *const video::StdVideoH264PictureParameterSet,
30874}
30875
30876impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
30877 #[inline]
30878 fn default() -> Self {
30879 Self {
30880 s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
30881 next: ptr::null(),
30882 std_sps: ptr::null(),
30883 std_pps: ptr::null(),
30884 }
30885 }
30886}
30887
30888unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
30889unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
30890
30891#[repr(C)]
30893#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30894pub struct VideoDecodeH264PictureInfoKHR {
30895 pub s_type: StructureType,
30896 pub next: *const c_void,
30897 pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
30898 pub slice_count: u32,
30899 pub slice_offsets: *const u32,
30900}
30901
30902impl Default for VideoDecodeH264PictureInfoKHR {
30903 #[inline]
30904 fn default() -> Self {
30905 Self {
30906 s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
30907 next: ptr::null(),
30908 std_picture_info: ptr::null(),
30909 slice_count: u32::default(),
30910 slice_offsets: ptr::null(),
30911 }
30912 }
30913}
30914
30915unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
30916unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
30917
30918#[repr(C)]
30920#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30921pub struct VideoDecodeH264ProfileInfoKHR {
30922 pub s_type: StructureType,
30923 pub next: *const c_void,
30924 pub std_profile_idc: video::StdVideoH264ProfileIdc,
30925 pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
30926}
30927
30928impl Default for VideoDecodeH264ProfileInfoKHR {
30929 #[inline]
30930 fn default() -> Self {
30931 Self {
30932 s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
30933 next: ptr::null(),
30934 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
30935 picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
30936 }
30937 }
30938}
30939
30940unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
30941unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
30942
30943#[repr(C)]
30945#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30946pub struct VideoDecodeH264SessionParametersAddInfoKHR {
30947 pub s_type: StructureType,
30948 pub next: *const c_void,
30949 pub std_sps_count: u32,
30950 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
30951 pub std_pps_count: u32,
30952 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
30953}
30954
30955impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
30956 #[inline]
30957 fn default() -> Self {
30958 Self {
30959 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
30960 next: ptr::null(),
30961 std_sps_count: u32::default(),
30962 std_sp_ss: ptr::null(),
30963 std_pps_count: u32::default(),
30964 std_pp_ss: ptr::null(),
30965 }
30966 }
30967}
30968
30969unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
30970unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
30971
30972#[repr(C)]
30974#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
30975pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
30976 pub s_type: StructureType,
30977 pub next: *const c_void,
30978 pub max_std_sps_count: u32,
30979 pub max_std_pps_count: u32,
30980 pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
30981}
30982
30983impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
30984 #[inline]
30985 fn default() -> Self {
30986 Self {
30987 s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
30988 next: ptr::null(),
30989 max_std_sps_count: u32::default(),
30990 max_std_pps_count: u32::default(),
30991 parameters_add_info: ptr::null(),
30992 }
30993 }
30994}
30995
30996unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
30997unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
30998
30999#[repr(C)]
31001#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31002pub struct VideoDecodeH265CapabilitiesKHR {
31003 pub s_type: StructureType,
31004 pub next: *mut c_void,
31005 pub max_level_idc: video::StdVideoH265LevelIdc,
31006}
31007
31008impl Default for VideoDecodeH265CapabilitiesKHR {
31009 #[inline]
31010 fn default() -> Self {
31011 Self {
31012 s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
31013 next: ptr::null_mut(),
31014 max_level_idc: video::StdVideoH265LevelIdc::default(),
31015 }
31016 }
31017}
31018
31019unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
31020unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
31021
31022#[repr(C)]
31024#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31025pub struct VideoDecodeH265DpbSlotInfoKHR {
31026 pub s_type: StructureType,
31027 pub next: *const c_void,
31028 pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
31029}
31030
31031impl Default for VideoDecodeH265DpbSlotInfoKHR {
31032 #[inline]
31033 fn default() -> Self {
31034 Self {
31035 s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
31036 next: ptr::null(),
31037 std_reference_info: ptr::null(),
31038 }
31039 }
31040}
31041
31042unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
31043unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
31044
31045#[repr(C)]
31047#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31048pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
31049 pub s_type: StructureType,
31050 pub next: *const c_void,
31051 pub std_vps: *const video::StdVideoH265VideoParameterSet,
31052 pub std_sps: *const video::StdVideoH265SequenceParameterSet,
31053 pub std_pps: *const video::StdVideoH265PictureParameterSet,
31054}
31055
31056impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
31057 #[inline]
31058 fn default() -> Self {
31059 Self {
31060 s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
31061 next: ptr::null(),
31062 std_vps: ptr::null(),
31063 std_sps: ptr::null(),
31064 std_pps: ptr::null(),
31065 }
31066 }
31067}
31068
31069unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
31070unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
31071
31072#[repr(C)]
31074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31075pub struct VideoDecodeH265PictureInfoKHR {
31076 pub s_type: StructureType,
31077 pub next: *const c_void,
31078 pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
31079 pub slice_segment_count: u32,
31080 pub slice_segment_offsets: *const u32,
31081}
31082
31083impl Default for VideoDecodeH265PictureInfoKHR {
31084 #[inline]
31085 fn default() -> Self {
31086 Self {
31087 s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
31088 next: ptr::null(),
31089 std_picture_info: ptr::null(),
31090 slice_segment_count: u32::default(),
31091 slice_segment_offsets: ptr::null(),
31092 }
31093 }
31094}
31095
31096unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
31097unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
31098
31099#[repr(C)]
31101#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31102pub struct VideoDecodeH265ProfileInfoKHR {
31103 pub s_type: StructureType,
31104 pub next: *const c_void,
31105 pub std_profile_idc: video::StdVideoH265ProfileIdc,
31106}
31107
31108impl Default for VideoDecodeH265ProfileInfoKHR {
31109 #[inline]
31110 fn default() -> Self {
31111 Self {
31112 s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
31113 next: ptr::null(),
31114 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
31115 }
31116 }
31117}
31118
31119unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
31120unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
31121
31122#[repr(C)]
31124#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31125pub struct VideoDecodeH265SessionParametersAddInfoKHR {
31126 pub s_type: StructureType,
31127 pub next: *const c_void,
31128 pub std_vps_count: u32,
31129 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
31130 pub std_sps_count: u32,
31131 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
31132 pub std_pps_count: u32,
31133 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
31134}
31135
31136impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
31137 #[inline]
31138 fn default() -> Self {
31139 Self {
31140 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
31141 next: ptr::null(),
31142 std_vps_count: u32::default(),
31143 std_vp_ss: ptr::null(),
31144 std_sps_count: u32::default(),
31145 std_sp_ss: ptr::null(),
31146 std_pps_count: u32::default(),
31147 std_pp_ss: ptr::null(),
31148 }
31149 }
31150}
31151
31152unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
31153unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
31154
31155#[repr(C)]
31157#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31158pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
31159 pub s_type: StructureType,
31160 pub next: *const c_void,
31161 pub max_std_vps_count: u32,
31162 pub max_std_sps_count: u32,
31163 pub max_std_pps_count: u32,
31164 pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
31165}
31166
31167impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
31168 #[inline]
31169 fn default() -> Self {
31170 Self {
31171 s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
31172 next: ptr::null(),
31173 max_std_vps_count: u32::default(),
31174 max_std_sps_count: u32::default(),
31175 max_std_pps_count: u32::default(),
31176 parameters_add_info: ptr::null(),
31177 }
31178 }
31179}
31180
31181unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
31182unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
31183
31184#[repr(C)]
31186#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31187pub struct VideoDecodeInfoKHR {
31188 pub s_type: StructureType,
31189 pub next: *const c_void,
31190 pub flags: VideoDecodeFlagsKHR,
31191 pub src_buffer: Buffer,
31192 pub src_buffer_offset: DeviceSize,
31193 pub src_buffer_range: DeviceSize,
31194 pub dst_picture_resource: VideoPictureResourceInfoKHR,
31195 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
31196 pub reference_slot_count: u32,
31197 pub reference_slots: *const VideoReferenceSlotInfoKHR,
31198}
31199
31200impl Default for VideoDecodeInfoKHR {
31201 #[inline]
31202 fn default() -> Self {
31203 Self {
31204 s_type: StructureType::VIDEO_DECODE_INFO_KHR,
31205 next: ptr::null(),
31206 flags: VideoDecodeFlagsKHR::default(),
31207 src_buffer: Buffer::default(),
31208 src_buffer_offset: DeviceSize::default(),
31209 src_buffer_range: DeviceSize::default(),
31210 dst_picture_resource: VideoPictureResourceInfoKHR::default(),
31211 setup_reference_slot: ptr::null(),
31212 reference_slot_count: u32::default(),
31213 reference_slots: ptr::null(),
31214 }
31215 }
31216}
31217
31218unsafe impl Send for VideoDecodeInfoKHR {}
31219unsafe impl Sync for VideoDecodeInfoKHR {}
31220
31221#[repr(C)]
31223#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31224pub struct VideoDecodeUsageInfoKHR {
31225 pub s_type: StructureType,
31226 pub next: *const c_void,
31227 pub video_usage_hints: VideoDecodeUsageFlagsKHR,
31228}
31229
31230impl Default for VideoDecodeUsageInfoKHR {
31231 #[inline]
31232 fn default() -> Self {
31233 Self {
31234 s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
31235 next: ptr::null(),
31236 video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
31237 }
31238 }
31239}
31240
31241unsafe impl Send for VideoDecodeUsageInfoKHR {}
31242unsafe impl Sync for VideoDecodeUsageInfoKHR {}
31243
31244#[repr(C)]
31246#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31247pub struct VideoDecodeVP9CapabilitiesKHR {
31248 pub s_type: StructureType,
31249 pub next: *mut c_void,
31250 pub max_level: video::StdVideoVP9Level,
31251}
31252
31253impl Default for VideoDecodeVP9CapabilitiesKHR {
31254 #[inline]
31255 fn default() -> Self {
31256 Self {
31257 s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
31258 next: ptr::null_mut(),
31259 max_level: video::StdVideoVP9Level::default(),
31260 }
31261 }
31262}
31263
31264unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
31265unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
31266
31267#[repr(C)]
31269#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31270pub struct VideoDecodeVP9PictureInfoKHR {
31271 pub s_type: StructureType,
31272 pub next: *const c_void,
31273 pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
31274 pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR as usize],
31275 pub uncompressed_header_offset: u32,
31276 pub compressed_header_offset: u32,
31277 pub tiles_offset: u32,
31278}
31279
31280impl Default for VideoDecodeVP9PictureInfoKHR {
31281 #[inline]
31282 fn default() -> Self {
31283 Self {
31284 s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
31285 next: ptr::null(),
31286 std_picture_info: ptr::null(),
31287 reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
31288 uncompressed_header_offset: u32::default(),
31289 compressed_header_offset: u32::default(),
31290 tiles_offset: u32::default(),
31291 }
31292 }
31293}
31294
31295unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
31296unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
31297
31298#[repr(C)]
31300#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31301pub struct VideoDecodeVP9ProfileInfoKHR {
31302 pub s_type: StructureType,
31303 pub next: *const c_void,
31304 pub std_profile: video::StdVideoVP9Profile,
31305}
31306
31307impl Default for VideoDecodeVP9ProfileInfoKHR {
31308 #[inline]
31309 fn default() -> Self {
31310 Self {
31311 s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
31312 next: ptr::null(),
31313 std_profile: video::StdVideoVP9Profile::default(),
31314 }
31315 }
31316}
31317
31318unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
31319unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
31320
31321#[repr(C)]
31323#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31324pub struct VideoEncodeAV1CapabilitiesKHR {
31325 pub s_type: StructureType,
31326 pub next: *mut c_void,
31327 pub flags: VideoEncodeAV1CapabilityFlagsKHR,
31328 pub max_level: video::StdVideoAV1Level,
31329 pub coded_picture_alignment: Extent2D,
31330 pub max_tiles: Extent2D,
31331 pub min_tile_size: Extent2D,
31332 pub max_tile_size: Extent2D,
31333 pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
31334 pub max_single_reference_count: u32,
31335 pub single_reference_name_mask: u32,
31336 pub max_unidirectional_compound_reference_count: u32,
31337 pub max_unidirectional_compound_group1_reference_count: u32,
31338 pub unidirectional_compound_reference_name_mask: u32,
31339 pub max_bidirectional_compound_reference_count: u32,
31340 pub max_bidirectional_compound_group1_reference_count: u32,
31341 pub max_bidirectional_compound_group2_reference_count: u32,
31342 pub bidirectional_compound_reference_name_mask: u32,
31343 pub max_temporal_layer_count: u32,
31344 pub max_spatial_layer_count: u32,
31345 pub max_operating_points: u32,
31346 pub min_q_index: u32,
31347 pub max_q_index: u32,
31348 pub prefers_gop_remaining_frames: Bool32,
31349 pub requires_gop_remaining_frames: Bool32,
31350 pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
31351}
31352
31353impl Default for VideoEncodeAV1CapabilitiesKHR {
31354 #[inline]
31355 fn default() -> Self {
31356 Self {
31357 s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
31358 next: ptr::null_mut(),
31359 flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
31360 max_level: video::StdVideoAV1Level::default(),
31361 coded_picture_alignment: Extent2D::default(),
31362 max_tiles: Extent2D::default(),
31363 min_tile_size: Extent2D::default(),
31364 max_tile_size: Extent2D::default(),
31365 superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
31366 max_single_reference_count: u32::default(),
31367 single_reference_name_mask: u32::default(),
31368 max_unidirectional_compound_reference_count: u32::default(),
31369 max_unidirectional_compound_group1_reference_count: u32::default(),
31370 unidirectional_compound_reference_name_mask: u32::default(),
31371 max_bidirectional_compound_reference_count: u32::default(),
31372 max_bidirectional_compound_group1_reference_count: u32::default(),
31373 max_bidirectional_compound_group2_reference_count: u32::default(),
31374 bidirectional_compound_reference_name_mask: u32::default(),
31375 max_temporal_layer_count: u32::default(),
31376 max_spatial_layer_count: u32::default(),
31377 max_operating_points: u32::default(),
31378 min_q_index: u32::default(),
31379 max_q_index: u32::default(),
31380 prefers_gop_remaining_frames: Bool32::default(),
31381 requires_gop_remaining_frames: Bool32::default(),
31382 std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
31383 }
31384 }
31385}
31386
31387unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
31388unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
31389
31390#[repr(C)]
31392#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31393pub struct VideoEncodeAV1DpbSlotInfoKHR {
31394 pub s_type: StructureType,
31395 pub next: *const c_void,
31396 pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
31397}
31398
31399impl Default for VideoEncodeAV1DpbSlotInfoKHR {
31400 #[inline]
31401 fn default() -> Self {
31402 Self {
31403 s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
31404 next: ptr::null(),
31405 std_reference_info: ptr::null(),
31406 }
31407 }
31408}
31409
31410unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
31411unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
31412
31413#[repr(C)]
31415#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31416pub struct VideoEncodeAV1FrameSizeKHR {
31417 pub intra_frame_size: u32,
31418 pub predictive_frame_size: u32,
31419 pub bipredictive_frame_size: u32,
31420}
31421
31422#[repr(C)]
31424#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31425pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
31426 pub s_type: StructureType,
31427 pub next: *const c_void,
31428 pub use_gop_remaining_frames: Bool32,
31429 pub gop_remaining_intra: u32,
31430 pub gop_remaining_predictive: u32,
31431 pub gop_remaining_bipredictive: u32,
31432}
31433
31434impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
31435 #[inline]
31436 fn default() -> Self {
31437 Self {
31438 s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
31439 next: ptr::null(),
31440 use_gop_remaining_frames: Bool32::default(),
31441 gop_remaining_intra: u32::default(),
31442 gop_remaining_predictive: u32::default(),
31443 gop_remaining_bipredictive: u32::default(),
31444 }
31445 }
31446}
31447
31448unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
31449unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
31450
31451#[repr(C)]
31453#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31454pub struct VideoEncodeAV1PictureInfoKHR {
31455 pub s_type: StructureType,
31456 pub next: *const c_void,
31457 pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
31458 pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
31459 pub constant_q_index: u32,
31460 pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
31461 pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
31462 pub primary_reference_cdf_only: Bool32,
31463 pub generate_obu_extension_header: Bool32,
31464}
31465
31466impl Default for VideoEncodeAV1PictureInfoKHR {
31467 #[inline]
31468 fn default() -> Self {
31469 Self {
31470 s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
31471 next: ptr::null(),
31472 prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
31473 rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
31474 constant_q_index: u32::default(),
31475 std_picture_info: ptr::null(),
31476 reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
31477 primary_reference_cdf_only: Bool32::default(),
31478 generate_obu_extension_header: Bool32::default(),
31479 }
31480 }
31481}
31482
31483unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
31484unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
31485
31486#[repr(C)]
31488#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31489pub struct VideoEncodeAV1ProfileInfoKHR {
31490 pub s_type: StructureType,
31491 pub next: *const c_void,
31492 pub std_profile: video::StdVideoAV1Profile,
31493}
31494
31495impl Default for VideoEncodeAV1ProfileInfoKHR {
31496 #[inline]
31497 fn default() -> Self {
31498 Self {
31499 s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
31500 next: ptr::null(),
31501 std_profile: video::StdVideoAV1Profile::default(),
31502 }
31503 }
31504}
31505
31506unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
31507unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
31508
31509#[repr(C)]
31511#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31512pub struct VideoEncodeAV1QIndexKHR {
31513 pub intra_q_index: u32,
31514 pub predictive_q_index: u32,
31515 pub bipredictive_q_index: u32,
31516}
31517
31518#[repr(C)]
31520#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31521pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
31522 pub s_type: StructureType,
31523 pub next: *mut c_void,
31524 pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
31525 pub preferred_gop_frame_count: u32,
31526 pub preferred_key_frame_period: u32,
31527 pub preferred_consecutive_bipredictive_frame_count: u32,
31528 pub preferred_temporal_layer_count: u32,
31529 pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
31530 pub preferred_max_single_reference_count: u32,
31531 pub preferred_single_reference_name_mask: u32,
31532 pub preferred_max_unidirectional_compound_reference_count: u32,
31533 pub preferred_max_unidirectional_compound_group1_reference_count: u32,
31534 pub preferred_unidirectional_compound_reference_name_mask: u32,
31535 pub preferred_max_bidirectional_compound_reference_count: u32,
31536 pub preferred_max_bidirectional_compound_group1_reference_count: u32,
31537 pub preferred_max_bidirectional_compound_group2_reference_count: u32,
31538 pub preferred_bidirectional_compound_reference_name_mask: u32,
31539}
31540
31541impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
31542 #[inline]
31543 fn default() -> Self {
31544 Self {
31545 s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
31546 next: ptr::null_mut(),
31547 preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31548 preferred_gop_frame_count: u32::default(),
31549 preferred_key_frame_period: u32::default(),
31550 preferred_consecutive_bipredictive_frame_count: u32::default(),
31551 preferred_temporal_layer_count: u32::default(),
31552 preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
31553 preferred_max_single_reference_count: u32::default(),
31554 preferred_single_reference_name_mask: u32::default(),
31555 preferred_max_unidirectional_compound_reference_count: u32::default(),
31556 preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
31557 preferred_unidirectional_compound_reference_name_mask: u32::default(),
31558 preferred_max_bidirectional_compound_reference_count: u32::default(),
31559 preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
31560 preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
31561 preferred_bidirectional_compound_reference_name_mask: u32::default(),
31562 }
31563 }
31564}
31565
31566unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
31567unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
31568
31569#[repr(C)]
31571#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31572pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31573 pub s_type: StructureType,
31574 pub next: *mut c_void,
31575 pub min_q_index_delta: i32,
31576 pub max_q_index_delta: i32,
31577}
31578
31579impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
31580 #[inline]
31581 fn default() -> Self {
31582 Self {
31583 s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
31584 next: ptr::null_mut(),
31585 min_q_index_delta: i32::default(),
31586 max_q_index_delta: i32::default(),
31587 }
31588 }
31589}
31590
31591unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31592unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
31593
31594#[repr(C)]
31596#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31597pub struct VideoEncodeAV1RateControlInfoKHR {
31598 pub s_type: StructureType,
31599 pub next: *const c_void,
31600 pub flags: VideoEncodeAV1RateControlFlagsKHR,
31601 pub gop_frame_count: u32,
31602 pub key_frame_period: u32,
31603 pub consecutive_bipredictive_frame_count: u32,
31604 pub temporal_layer_count: u32,
31605}
31606
31607impl Default for VideoEncodeAV1RateControlInfoKHR {
31608 #[inline]
31609 fn default() -> Self {
31610 Self {
31611 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
31612 next: ptr::null(),
31613 flags: VideoEncodeAV1RateControlFlagsKHR::default(),
31614 gop_frame_count: u32::default(),
31615 key_frame_period: u32::default(),
31616 consecutive_bipredictive_frame_count: u32::default(),
31617 temporal_layer_count: u32::default(),
31618 }
31619 }
31620}
31621
31622unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
31623unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
31624
31625#[repr(C)]
31627#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31628pub struct VideoEncodeAV1RateControlLayerInfoKHR {
31629 pub s_type: StructureType,
31630 pub next: *const c_void,
31631 pub use_min_q_index: Bool32,
31632 pub min_q_index: VideoEncodeAV1QIndexKHR,
31633 pub use_max_q_index: Bool32,
31634 pub max_q_index: VideoEncodeAV1QIndexKHR,
31635 pub use_max_frame_size: Bool32,
31636 pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
31637}
31638
31639impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
31640 #[inline]
31641 fn default() -> Self {
31642 Self {
31643 s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
31644 next: ptr::null(),
31645 use_min_q_index: Bool32::default(),
31646 min_q_index: VideoEncodeAV1QIndexKHR::default(),
31647 use_max_q_index: Bool32::default(),
31648 max_q_index: VideoEncodeAV1QIndexKHR::default(),
31649 use_max_frame_size: Bool32::default(),
31650 max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
31651 }
31652 }
31653}
31654
31655unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
31656unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
31657
31658#[repr(C)]
31660#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31661pub struct VideoEncodeAV1SessionCreateInfoKHR {
31662 pub s_type: StructureType,
31663 pub next: *const c_void,
31664 pub use_max_level: Bool32,
31665 pub max_level: video::StdVideoAV1Level,
31666}
31667
31668impl Default for VideoEncodeAV1SessionCreateInfoKHR {
31669 #[inline]
31670 fn default() -> Self {
31671 Self {
31672 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
31673 next: ptr::null(),
31674 use_max_level: Bool32::default(),
31675 max_level: video::StdVideoAV1Level::default(),
31676 }
31677 }
31678}
31679
31680unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
31681unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
31682
31683#[repr(C)]
31685#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31686pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
31687 pub s_type: StructureType,
31688 pub next: *const c_void,
31689 pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
31690 pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
31691 pub std_operating_point_count: u32,
31692 pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
31693}
31694
31695impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
31696 #[inline]
31697 fn default() -> Self {
31698 Self {
31699 s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
31700 next: ptr::null(),
31701 std_sequence_header: ptr::null(),
31702 std_decoder_model_info: ptr::null(),
31703 std_operating_point_count: u32::default(),
31704 std_operating_points: ptr::null(),
31705 }
31706 }
31707}
31708
31709unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31710unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
31711
31712#[repr(C)]
31714#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31715pub struct VideoEncodeCapabilitiesKHR {
31716 pub s_type: StructureType,
31717 pub next: *mut c_void,
31718 pub flags: VideoEncodeCapabilityFlagsKHR,
31719 pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
31720 pub max_rate_control_layers: u32,
31721 pub max_bitrate: u64,
31722 pub max_quality_levels: u32,
31723 pub encode_input_picture_granularity: Extent2D,
31724 pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
31725}
31726
31727impl Default for VideoEncodeCapabilitiesKHR {
31728 #[inline]
31729 fn default() -> Self {
31730 Self {
31731 s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
31732 next: ptr::null_mut(),
31733 flags: VideoEncodeCapabilityFlagsKHR::default(),
31734 rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
31735 max_rate_control_layers: u32::default(),
31736 max_bitrate: u64::default(),
31737 max_quality_levels: u32::default(),
31738 encode_input_picture_granularity: Extent2D::default(),
31739 supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
31740 }
31741 }
31742}
31743
31744unsafe impl Send for VideoEncodeCapabilitiesKHR {}
31745unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
31746
31747#[repr(C)]
31749#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31750pub struct VideoEncodeH264CapabilitiesKHR {
31751 pub s_type: StructureType,
31752 pub next: *mut c_void,
31753 pub flags: VideoEncodeH264CapabilityFlagsKHR,
31754 pub max_level_idc: video::StdVideoH264LevelIdc,
31755 pub max_slice_count: u32,
31756 pub max_p_picture_l0_reference_count: u32,
31757 pub max_b_picture_l0_reference_count: u32,
31758 pub max_l1_reference_count: u32,
31759 pub max_temporal_layer_count: u32,
31760 pub expect_dyadic_temporal_layer_pattern: Bool32,
31761 pub min_qp: i32,
31762 pub max_qp: i32,
31763 pub prefers_gop_remaining_frames: Bool32,
31764 pub requires_gop_remaining_frames: Bool32,
31765 pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
31766}
31767
31768impl Default for VideoEncodeH264CapabilitiesKHR {
31769 #[inline]
31770 fn default() -> Self {
31771 Self {
31772 s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
31773 next: ptr::null_mut(),
31774 flags: VideoEncodeH264CapabilityFlagsKHR::default(),
31775 max_level_idc: video::StdVideoH264LevelIdc::default(),
31776 max_slice_count: u32::default(),
31777 max_p_picture_l0_reference_count: u32::default(),
31778 max_b_picture_l0_reference_count: u32::default(),
31779 max_l1_reference_count: u32::default(),
31780 max_temporal_layer_count: u32::default(),
31781 expect_dyadic_temporal_layer_pattern: Bool32::default(),
31782 min_qp: i32::default(),
31783 max_qp: i32::default(),
31784 prefers_gop_remaining_frames: Bool32::default(),
31785 requires_gop_remaining_frames: Bool32::default(),
31786 std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
31787 }
31788 }
31789}
31790
31791unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
31792unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
31793
31794#[repr(C)]
31796#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31797pub struct VideoEncodeH264DpbSlotInfoKHR {
31798 pub s_type: StructureType,
31799 pub next: *const c_void,
31800 pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
31801}
31802
31803impl Default for VideoEncodeH264DpbSlotInfoKHR {
31804 #[inline]
31805 fn default() -> Self {
31806 Self {
31807 s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
31808 next: ptr::null(),
31809 std_reference_info: ptr::null(),
31810 }
31811 }
31812}
31813
31814unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
31815unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
31816
31817#[repr(C)]
31819#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31820pub struct VideoEncodeH264FrameSizeKHR {
31821 pub frame_i_size: u32,
31822 pub frame_p_size: u32,
31823 pub frame_b_size: u32,
31824}
31825
31826#[repr(C)]
31828#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31829pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
31830 pub s_type: StructureType,
31831 pub next: *const c_void,
31832 pub use_gop_remaining_frames: Bool32,
31833 pub gop_remaining_i: u32,
31834 pub gop_remaining_p: u32,
31835 pub gop_remaining_b: u32,
31836}
31837
31838impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
31839 #[inline]
31840 fn default() -> Self {
31841 Self {
31842 s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
31843 next: ptr::null(),
31844 use_gop_remaining_frames: Bool32::default(),
31845 gop_remaining_i: u32::default(),
31846 gop_remaining_p: u32::default(),
31847 gop_remaining_b: u32::default(),
31848 }
31849 }
31850}
31851
31852unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
31853unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
31854
31855#[repr(C)]
31857#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31858pub struct VideoEncodeH264NaluSliceInfoKHR {
31859 pub s_type: StructureType,
31860 pub next: *const c_void,
31861 pub constant_qp: i32,
31862 pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
31863}
31864
31865impl Default for VideoEncodeH264NaluSliceInfoKHR {
31866 #[inline]
31867 fn default() -> Self {
31868 Self {
31869 s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
31870 next: ptr::null(),
31871 constant_qp: i32::default(),
31872 std_slice_header: ptr::null(),
31873 }
31874 }
31875}
31876
31877unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
31878unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
31879
31880#[repr(C)]
31882#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31883pub struct VideoEncodeH264PictureInfoKHR {
31884 pub s_type: StructureType,
31885 pub next: *const c_void,
31886 pub nalu_slice_entry_count: u32,
31887 pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
31888 pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
31889 pub generate_prefix_nalu: Bool32,
31890}
31891
31892impl Default for VideoEncodeH264PictureInfoKHR {
31893 #[inline]
31894 fn default() -> Self {
31895 Self {
31896 s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
31897 next: ptr::null(),
31898 nalu_slice_entry_count: u32::default(),
31899 nalu_slice_entries: ptr::null(),
31900 std_picture_info: ptr::null(),
31901 generate_prefix_nalu: Bool32::default(),
31902 }
31903 }
31904}
31905
31906unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
31907unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
31908
31909#[repr(C)]
31911#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31912pub struct VideoEncodeH264ProfileInfoKHR {
31913 pub s_type: StructureType,
31914 pub next: *const c_void,
31915 pub std_profile_idc: video::StdVideoH264ProfileIdc,
31916}
31917
31918impl Default for VideoEncodeH264ProfileInfoKHR {
31919 #[inline]
31920 fn default() -> Self {
31921 Self {
31922 s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
31923 next: ptr::null(),
31924 std_profile_idc: video::StdVideoH264ProfileIdc::default(),
31925 }
31926 }
31927}
31928
31929unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
31930unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
31931
31932#[repr(C)]
31934#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
31935pub struct VideoEncodeH264QpKHR {
31936 pub qp_i: i32,
31937 pub qp_p: i32,
31938 pub qp_b: i32,
31939}
31940
31941#[repr(C)]
31943#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31944pub struct VideoEncodeH264QualityLevelPropertiesKHR {
31945 pub s_type: StructureType,
31946 pub next: *mut c_void,
31947 pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
31948 pub preferred_gop_frame_count: u32,
31949 pub preferred_idr_period: u32,
31950 pub preferred_consecutive_b_frame_count: u32,
31951 pub preferred_temporal_layer_count: u32,
31952 pub preferred_constant_qp: VideoEncodeH264QpKHR,
31953 pub preferred_max_l0_reference_count: u32,
31954 pub preferred_max_l1_reference_count: u32,
31955 pub preferred_std_entropy_coding_mode_flag: Bool32,
31956}
31957
31958impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
31959 #[inline]
31960 fn default() -> Self {
31961 Self {
31962 s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
31963 next: ptr::null_mut(),
31964 preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
31965 preferred_gop_frame_count: u32::default(),
31966 preferred_idr_period: u32::default(),
31967 preferred_consecutive_b_frame_count: u32::default(),
31968 preferred_temporal_layer_count: u32::default(),
31969 preferred_constant_qp: VideoEncodeH264QpKHR::default(),
31970 preferred_max_l0_reference_count: u32::default(),
31971 preferred_max_l1_reference_count: u32::default(),
31972 preferred_std_entropy_coding_mode_flag: Bool32::default(),
31973 }
31974 }
31975}
31976
31977unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
31978unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
31979
31980#[repr(C)]
31982#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
31983pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
31984 pub s_type: StructureType,
31985 pub next: *mut c_void,
31986 pub min_qp_delta: i32,
31987 pub max_qp_delta: i32,
31988}
31989
31990impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
31991 #[inline]
31992 fn default() -> Self {
31993 Self {
31994 s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
31995 next: ptr::null_mut(),
31996 min_qp_delta: i32::default(),
31997 max_qp_delta: i32::default(),
31998 }
31999 }
32000}
32001
32002unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
32003unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
32004
32005#[repr(C)]
32007#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32008pub struct VideoEncodeH264RateControlInfoKHR {
32009 pub s_type: StructureType,
32010 pub next: *const c_void,
32011 pub flags: VideoEncodeH264RateControlFlagsKHR,
32012 pub gop_frame_count: u32,
32013 pub idr_period: u32,
32014 pub consecutive_b_frame_count: u32,
32015 pub temporal_layer_count: u32,
32016}
32017
32018impl Default for VideoEncodeH264RateControlInfoKHR {
32019 #[inline]
32020 fn default() -> Self {
32021 Self {
32022 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
32023 next: ptr::null(),
32024 flags: VideoEncodeH264RateControlFlagsKHR::default(),
32025 gop_frame_count: u32::default(),
32026 idr_period: u32::default(),
32027 consecutive_b_frame_count: u32::default(),
32028 temporal_layer_count: u32::default(),
32029 }
32030 }
32031}
32032
32033unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
32034unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
32035
32036#[repr(C)]
32038#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32039pub struct VideoEncodeH264RateControlLayerInfoKHR {
32040 pub s_type: StructureType,
32041 pub next: *const c_void,
32042 pub use_min_qp: Bool32,
32043 pub min_qp: VideoEncodeH264QpKHR,
32044 pub use_max_qp: Bool32,
32045 pub max_qp: VideoEncodeH264QpKHR,
32046 pub use_max_frame_size: Bool32,
32047 pub max_frame_size: VideoEncodeH264FrameSizeKHR,
32048}
32049
32050impl Default for VideoEncodeH264RateControlLayerInfoKHR {
32051 #[inline]
32052 fn default() -> Self {
32053 Self {
32054 s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
32055 next: ptr::null(),
32056 use_min_qp: Bool32::default(),
32057 min_qp: VideoEncodeH264QpKHR::default(),
32058 use_max_qp: Bool32::default(),
32059 max_qp: VideoEncodeH264QpKHR::default(),
32060 use_max_frame_size: Bool32::default(),
32061 max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
32062 }
32063 }
32064}
32065
32066unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
32067unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
32068
32069#[repr(C)]
32071#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32072pub struct VideoEncodeH264SessionCreateInfoKHR {
32073 pub s_type: StructureType,
32074 pub next: *const c_void,
32075 pub use_max_level_idc: Bool32,
32076 pub max_level_idc: video::StdVideoH264LevelIdc,
32077}
32078
32079impl Default for VideoEncodeH264SessionCreateInfoKHR {
32080 #[inline]
32081 fn default() -> Self {
32082 Self {
32083 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
32084 next: ptr::null(),
32085 use_max_level_idc: Bool32::default(),
32086 max_level_idc: video::StdVideoH264LevelIdc::default(),
32087 }
32088 }
32089}
32090
32091unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
32092unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
32093
32094#[repr(C)]
32096#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32097pub struct VideoEncodeH264SessionParametersAddInfoKHR {
32098 pub s_type: StructureType,
32099 pub next: *const c_void,
32100 pub std_sps_count: u32,
32101 pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
32102 pub std_pps_count: u32,
32103 pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
32104}
32105
32106impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
32107 #[inline]
32108 fn default() -> Self {
32109 Self {
32110 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
32111 next: ptr::null(),
32112 std_sps_count: u32::default(),
32113 std_sp_ss: ptr::null(),
32114 std_pps_count: u32::default(),
32115 std_pp_ss: ptr::null(),
32116 }
32117 }
32118}
32119
32120unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
32121unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
32122
32123#[repr(C)]
32125#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32126pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
32127 pub s_type: StructureType,
32128 pub next: *const c_void,
32129 pub max_std_sps_count: u32,
32130 pub max_std_pps_count: u32,
32131 pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
32132}
32133
32134impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
32135 #[inline]
32136 fn default() -> Self {
32137 Self {
32138 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
32139 next: ptr::null(),
32140 max_std_sps_count: u32::default(),
32141 max_std_pps_count: u32::default(),
32142 parameters_add_info: ptr::null(),
32143 }
32144 }
32145}
32146
32147unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
32148unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
32149
32150#[repr(C)]
32152#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32153pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
32154 pub s_type: StructureType,
32155 pub next: *mut c_void,
32156 pub has_std_sps_overrides: Bool32,
32157 pub has_std_pps_overrides: Bool32,
32158}
32159
32160impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
32161 #[inline]
32162 fn default() -> Self {
32163 Self {
32164 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32165 next: ptr::null_mut(),
32166 has_std_sps_overrides: Bool32::default(),
32167 has_std_pps_overrides: Bool32::default(),
32168 }
32169 }
32170}
32171
32172unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
32173unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
32174
32175#[repr(C)]
32177#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32178pub struct VideoEncodeH264SessionParametersGetInfoKHR {
32179 pub s_type: StructureType,
32180 pub next: *const c_void,
32181 pub write_std_sps: Bool32,
32182 pub write_std_pps: Bool32,
32183 pub std_sps_id: u32,
32184 pub std_pps_id: u32,
32185}
32186
32187impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
32188 #[inline]
32189 fn default() -> Self {
32190 Self {
32191 s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
32192 next: ptr::null(),
32193 write_std_sps: Bool32::default(),
32194 write_std_pps: Bool32::default(),
32195 std_sps_id: u32::default(),
32196 std_pps_id: u32::default(),
32197 }
32198 }
32199}
32200
32201unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
32202unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
32203
32204#[repr(C)]
32206#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32207pub struct VideoEncodeH265CapabilitiesKHR {
32208 pub s_type: StructureType,
32209 pub next: *mut c_void,
32210 pub flags: VideoEncodeH265CapabilityFlagsKHR,
32211 pub max_level_idc: video::StdVideoH265LevelIdc,
32212 pub max_slice_segment_count: u32,
32213 pub max_tiles: Extent2D,
32214 pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
32215 pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
32216 pub max_p_picture_l0_reference_count: u32,
32217 pub max_b_picture_l0_reference_count: u32,
32218 pub max_l1_reference_count: u32,
32219 pub max_sub_layer_count: u32,
32220 pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
32221 pub min_qp: i32,
32222 pub max_qp: i32,
32223 pub prefers_gop_remaining_frames: Bool32,
32224 pub requires_gop_remaining_frames: Bool32,
32225 pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
32226}
32227
32228impl Default for VideoEncodeH265CapabilitiesKHR {
32229 #[inline]
32230 fn default() -> Self {
32231 Self {
32232 s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
32233 next: ptr::null_mut(),
32234 flags: VideoEncodeH265CapabilityFlagsKHR::default(),
32235 max_level_idc: video::StdVideoH265LevelIdc::default(),
32236 max_slice_segment_count: u32::default(),
32237 max_tiles: Extent2D::default(),
32238 ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
32239 transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
32240 max_p_picture_l0_reference_count: u32::default(),
32241 max_b_picture_l0_reference_count: u32::default(),
32242 max_l1_reference_count: u32::default(),
32243 max_sub_layer_count: u32::default(),
32244 expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
32245 min_qp: i32::default(),
32246 max_qp: i32::default(),
32247 prefers_gop_remaining_frames: Bool32::default(),
32248 requires_gop_remaining_frames: Bool32::default(),
32249 std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
32250 }
32251 }
32252}
32253
32254unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
32255unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
32256
32257#[repr(C)]
32259#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32260pub struct VideoEncodeH265DpbSlotInfoKHR {
32261 pub s_type: StructureType,
32262 pub next: *const c_void,
32263 pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
32264}
32265
32266impl Default for VideoEncodeH265DpbSlotInfoKHR {
32267 #[inline]
32268 fn default() -> Self {
32269 Self {
32270 s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
32271 next: ptr::null(),
32272 std_reference_info: ptr::null(),
32273 }
32274 }
32275}
32276
32277unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
32278unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
32279
32280#[repr(C)]
32282#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32283pub struct VideoEncodeH265FrameSizeKHR {
32284 pub frame_i_size: u32,
32285 pub frame_p_size: u32,
32286 pub frame_b_size: u32,
32287}
32288
32289#[repr(C)]
32291#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32292pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
32293 pub s_type: StructureType,
32294 pub next: *const c_void,
32295 pub use_gop_remaining_frames: Bool32,
32296 pub gop_remaining_i: u32,
32297 pub gop_remaining_p: u32,
32298 pub gop_remaining_b: u32,
32299}
32300
32301impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
32302 #[inline]
32303 fn default() -> Self {
32304 Self {
32305 s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
32306 next: ptr::null(),
32307 use_gop_remaining_frames: Bool32::default(),
32308 gop_remaining_i: u32::default(),
32309 gop_remaining_p: u32::default(),
32310 gop_remaining_b: u32::default(),
32311 }
32312 }
32313}
32314
32315unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
32316unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
32317
32318#[repr(C)]
32320#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32321pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
32322 pub s_type: StructureType,
32323 pub next: *const c_void,
32324 pub constant_qp: i32,
32325 pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
32326}
32327
32328impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
32329 #[inline]
32330 fn default() -> Self {
32331 Self {
32332 s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
32333 next: ptr::null(),
32334 constant_qp: i32::default(),
32335 std_slice_segment_header: ptr::null(),
32336 }
32337 }
32338}
32339
32340unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
32341unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
32342
32343#[repr(C)]
32345#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32346pub struct VideoEncodeH265PictureInfoKHR {
32347 pub s_type: StructureType,
32348 pub next: *const c_void,
32349 pub nalu_slice_segment_entry_count: u32,
32350 pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
32351 pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
32352}
32353
32354impl Default for VideoEncodeH265PictureInfoKHR {
32355 #[inline]
32356 fn default() -> Self {
32357 Self {
32358 s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
32359 next: ptr::null(),
32360 nalu_slice_segment_entry_count: u32::default(),
32361 nalu_slice_segment_entries: ptr::null(),
32362 std_picture_info: ptr::null(),
32363 }
32364 }
32365}
32366
32367unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
32368unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
32369
32370#[repr(C)]
32372#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32373pub struct VideoEncodeH265ProfileInfoKHR {
32374 pub s_type: StructureType,
32375 pub next: *const c_void,
32376 pub std_profile_idc: video::StdVideoH265ProfileIdc,
32377}
32378
32379impl Default for VideoEncodeH265ProfileInfoKHR {
32380 #[inline]
32381 fn default() -> Self {
32382 Self {
32383 s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
32384 next: ptr::null(),
32385 std_profile_idc: video::StdVideoH265ProfileIdc::default(),
32386 }
32387 }
32388}
32389
32390unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
32391unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
32392
32393#[repr(C)]
32395#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
32396pub struct VideoEncodeH265QpKHR {
32397 pub qp_i: i32,
32398 pub qp_p: i32,
32399 pub qp_b: i32,
32400}
32401
32402#[repr(C)]
32404#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32405pub struct VideoEncodeH265QualityLevelPropertiesKHR {
32406 pub s_type: StructureType,
32407 pub next: *mut c_void,
32408 pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
32409 pub preferred_gop_frame_count: u32,
32410 pub preferred_idr_period: u32,
32411 pub preferred_consecutive_b_frame_count: u32,
32412 pub preferred_sub_layer_count: u32,
32413 pub preferred_constant_qp: VideoEncodeH265QpKHR,
32414 pub preferred_max_l0_reference_count: u32,
32415 pub preferred_max_l1_reference_count: u32,
32416}
32417
32418impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
32419 #[inline]
32420 fn default() -> Self {
32421 Self {
32422 s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
32423 next: ptr::null_mut(),
32424 preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
32425 preferred_gop_frame_count: u32::default(),
32426 preferred_idr_period: u32::default(),
32427 preferred_consecutive_b_frame_count: u32::default(),
32428 preferred_sub_layer_count: u32::default(),
32429 preferred_constant_qp: VideoEncodeH265QpKHR::default(),
32430 preferred_max_l0_reference_count: u32::default(),
32431 preferred_max_l1_reference_count: u32::default(),
32432 }
32433 }
32434}
32435
32436unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
32437unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
32438
32439#[repr(C)]
32441#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32442pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
32443 pub s_type: StructureType,
32444 pub next: *mut c_void,
32445 pub min_qp_delta: i32,
32446 pub max_qp_delta: i32,
32447}
32448
32449impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
32450 #[inline]
32451 fn default() -> Self {
32452 Self {
32453 s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
32454 next: ptr::null_mut(),
32455 min_qp_delta: i32::default(),
32456 max_qp_delta: i32::default(),
32457 }
32458 }
32459}
32460
32461unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
32462unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
32463
32464#[repr(C)]
32466#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32467pub struct VideoEncodeH265RateControlInfoKHR {
32468 pub s_type: StructureType,
32469 pub next: *const c_void,
32470 pub flags: VideoEncodeH265RateControlFlagsKHR,
32471 pub gop_frame_count: u32,
32472 pub idr_period: u32,
32473 pub consecutive_b_frame_count: u32,
32474 pub sub_layer_count: u32,
32475}
32476
32477impl Default for VideoEncodeH265RateControlInfoKHR {
32478 #[inline]
32479 fn default() -> Self {
32480 Self {
32481 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
32482 next: ptr::null(),
32483 flags: VideoEncodeH265RateControlFlagsKHR::default(),
32484 gop_frame_count: u32::default(),
32485 idr_period: u32::default(),
32486 consecutive_b_frame_count: u32::default(),
32487 sub_layer_count: u32::default(),
32488 }
32489 }
32490}
32491
32492unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
32493unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
32494
32495#[repr(C)]
32497#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32498pub struct VideoEncodeH265RateControlLayerInfoKHR {
32499 pub s_type: StructureType,
32500 pub next: *const c_void,
32501 pub use_min_qp: Bool32,
32502 pub min_qp: VideoEncodeH265QpKHR,
32503 pub use_max_qp: Bool32,
32504 pub max_qp: VideoEncodeH265QpKHR,
32505 pub use_max_frame_size: Bool32,
32506 pub max_frame_size: VideoEncodeH265FrameSizeKHR,
32507}
32508
32509impl Default for VideoEncodeH265RateControlLayerInfoKHR {
32510 #[inline]
32511 fn default() -> Self {
32512 Self {
32513 s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
32514 next: ptr::null(),
32515 use_min_qp: Bool32::default(),
32516 min_qp: VideoEncodeH265QpKHR::default(),
32517 use_max_qp: Bool32::default(),
32518 max_qp: VideoEncodeH265QpKHR::default(),
32519 use_max_frame_size: Bool32::default(),
32520 max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
32521 }
32522 }
32523}
32524
32525unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
32526unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
32527
32528#[repr(C)]
32530#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32531pub struct VideoEncodeH265SessionCreateInfoKHR {
32532 pub s_type: StructureType,
32533 pub next: *const c_void,
32534 pub use_max_level_idc: Bool32,
32535 pub max_level_idc: video::StdVideoH265LevelIdc,
32536}
32537
32538impl Default for VideoEncodeH265SessionCreateInfoKHR {
32539 #[inline]
32540 fn default() -> Self {
32541 Self {
32542 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
32543 next: ptr::null(),
32544 use_max_level_idc: Bool32::default(),
32545 max_level_idc: video::StdVideoH265LevelIdc::default(),
32546 }
32547 }
32548}
32549
32550unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
32551unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
32552
32553#[repr(C)]
32555#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32556pub struct VideoEncodeH265SessionParametersAddInfoKHR {
32557 pub s_type: StructureType,
32558 pub next: *const c_void,
32559 pub std_vps_count: u32,
32560 pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
32561 pub std_sps_count: u32,
32562 pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
32563 pub std_pps_count: u32,
32564 pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
32565}
32566
32567impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
32568 #[inline]
32569 fn default() -> Self {
32570 Self {
32571 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
32572 next: ptr::null(),
32573 std_vps_count: u32::default(),
32574 std_vp_ss: ptr::null(),
32575 std_sps_count: u32::default(),
32576 std_sp_ss: ptr::null(),
32577 std_pps_count: u32::default(),
32578 std_pp_ss: ptr::null(),
32579 }
32580 }
32581}
32582
32583unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
32584unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
32585
32586#[repr(C)]
32588#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32589pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
32590 pub s_type: StructureType,
32591 pub next: *const c_void,
32592 pub max_std_vps_count: u32,
32593 pub max_std_sps_count: u32,
32594 pub max_std_pps_count: u32,
32595 pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
32596}
32597
32598impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
32599 #[inline]
32600 fn default() -> Self {
32601 Self {
32602 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
32603 next: ptr::null(),
32604 max_std_vps_count: u32::default(),
32605 max_std_sps_count: u32::default(),
32606 max_std_pps_count: u32::default(),
32607 parameters_add_info: ptr::null(),
32608 }
32609 }
32610}
32611
32612unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
32613unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
32614
32615#[repr(C)]
32617#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32618pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
32619 pub s_type: StructureType,
32620 pub next: *mut c_void,
32621 pub has_std_vps_overrides: Bool32,
32622 pub has_std_sps_overrides: Bool32,
32623 pub has_std_pps_overrides: Bool32,
32624}
32625
32626impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
32627 #[inline]
32628 fn default() -> Self {
32629 Self {
32630 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
32631 next: ptr::null_mut(),
32632 has_std_vps_overrides: Bool32::default(),
32633 has_std_sps_overrides: Bool32::default(),
32634 has_std_pps_overrides: Bool32::default(),
32635 }
32636 }
32637}
32638
32639unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32640unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
32641
32642#[repr(C)]
32644#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32645pub struct VideoEncodeH265SessionParametersGetInfoKHR {
32646 pub s_type: StructureType,
32647 pub next: *const c_void,
32648 pub write_std_vps: Bool32,
32649 pub write_std_sps: Bool32,
32650 pub write_std_pps: Bool32,
32651 pub std_vps_id: u32,
32652 pub std_sps_id: u32,
32653 pub std_pps_id: u32,
32654}
32655
32656impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
32657 #[inline]
32658 fn default() -> Self {
32659 Self {
32660 s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
32661 next: ptr::null(),
32662 write_std_vps: Bool32::default(),
32663 write_std_sps: Bool32::default(),
32664 write_std_pps: Bool32::default(),
32665 std_vps_id: u32::default(),
32666 std_sps_id: u32::default(),
32667 std_pps_id: u32::default(),
32668 }
32669 }
32670}
32671
32672unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
32673unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
32674
32675#[repr(C)]
32677#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32678pub struct VideoEncodeInfoKHR {
32679 pub s_type: StructureType,
32680 pub next: *const c_void,
32681 pub flags: VideoEncodeFlagsKHR,
32682 pub dst_buffer: Buffer,
32683 pub dst_buffer_offset: DeviceSize,
32684 pub dst_buffer_range: DeviceSize,
32685 pub src_picture_resource: VideoPictureResourceInfoKHR,
32686 pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
32687 pub reference_slot_count: u32,
32688 pub reference_slots: *const VideoReferenceSlotInfoKHR,
32689 pub preceding_externally_encoded_bytes: u32,
32690}
32691
32692impl Default for VideoEncodeInfoKHR {
32693 #[inline]
32694 fn default() -> Self {
32695 Self {
32696 s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
32697 next: ptr::null(),
32698 flags: VideoEncodeFlagsKHR::default(),
32699 dst_buffer: Buffer::default(),
32700 dst_buffer_offset: DeviceSize::default(),
32701 dst_buffer_range: DeviceSize::default(),
32702 src_picture_resource: VideoPictureResourceInfoKHR::default(),
32703 setup_reference_slot: ptr::null(),
32704 reference_slot_count: u32::default(),
32705 reference_slots: ptr::null(),
32706 preceding_externally_encoded_bytes: u32::default(),
32707 }
32708 }
32709}
32710
32711unsafe impl Send for VideoEncodeInfoKHR {}
32712unsafe impl Sync for VideoEncodeInfoKHR {}
32713
32714#[repr(C)]
32716#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32717pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
32718 pub s_type: StructureType,
32719 pub next: *mut c_void,
32720 pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
32721 pub max_intra_refresh_cycle_duration: u32,
32722 pub max_intra_refresh_active_reference_pictures: u32,
32723 pub partition_independent_intra_refresh_regions: Bool32,
32724 pub non_rectangular_intra_refresh_regions: Bool32,
32725}
32726
32727impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
32728 #[inline]
32729 fn default() -> Self {
32730 Self {
32731 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
32732 next: ptr::null_mut(),
32733 intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
32734 max_intra_refresh_cycle_duration: u32::default(),
32735 max_intra_refresh_active_reference_pictures: u32::default(),
32736 partition_independent_intra_refresh_regions: Bool32::default(),
32737 non_rectangular_intra_refresh_regions: Bool32::default(),
32738 }
32739 }
32740}
32741
32742unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
32743unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
32744
32745#[repr(C)]
32747#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32748pub struct VideoEncodeIntraRefreshInfoKHR {
32749 pub s_type: StructureType,
32750 pub next: *const c_void,
32751 pub intra_refresh_cycle_duration: u32,
32752 pub intra_refresh_index: u32,
32753}
32754
32755impl Default for VideoEncodeIntraRefreshInfoKHR {
32756 #[inline]
32757 fn default() -> Self {
32758 Self {
32759 s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
32760 next: ptr::null(),
32761 intra_refresh_cycle_duration: u32::default(),
32762 intra_refresh_index: u32::default(),
32763 }
32764 }
32765}
32766
32767unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
32768unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
32769
32770#[repr(C)]
32772#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32773pub struct VideoEncodeProfileRgbConversionInfoVALVE {
32774 pub s_type: StructureType,
32775 pub next: *const c_void,
32776 pub perform_encode_rgb_conversion: Bool32,
32777}
32778
32779impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
32780 #[inline]
32781 fn default() -> Self {
32782 Self {
32783 s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
32784 next: ptr::null(),
32785 perform_encode_rgb_conversion: Bool32::default(),
32786 }
32787 }
32788}
32789
32790unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
32791unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
32792
32793#[repr(C)]
32795#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32796pub struct VideoEncodeQualityLevelInfoKHR {
32797 pub s_type: StructureType,
32798 pub next: *const c_void,
32799 pub quality_level: u32,
32800}
32801
32802impl Default for VideoEncodeQualityLevelInfoKHR {
32803 #[inline]
32804 fn default() -> Self {
32805 Self {
32806 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
32807 next: ptr::null(),
32808 quality_level: u32::default(),
32809 }
32810 }
32811}
32812
32813unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
32814unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
32815
32816#[repr(C)]
32818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32819pub struct VideoEncodeQualityLevelPropertiesKHR {
32820 pub s_type: StructureType,
32821 pub next: *mut c_void,
32822 pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32823 pub preferred_rate_control_layer_count: u32,
32824}
32825
32826impl Default for VideoEncodeQualityLevelPropertiesKHR {
32827 #[inline]
32828 fn default() -> Self {
32829 Self {
32830 s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
32831 next: ptr::null_mut(),
32832 preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32833 preferred_rate_control_layer_count: u32::default(),
32834 }
32835 }
32836}
32837
32838unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
32839unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
32840
32841#[repr(C)]
32843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32844pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
32845 pub s_type: StructureType,
32846 pub next: *mut c_void,
32847 pub max_quantization_map_extent: Extent2D,
32848}
32849
32850impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
32851 #[inline]
32852 fn default() -> Self {
32853 Self {
32854 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
32855 next: ptr::null_mut(),
32856 max_quantization_map_extent: Extent2D::default(),
32857 }
32858 }
32859}
32860
32861unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
32862unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
32863
32864#[repr(C)]
32866#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32867pub struct VideoEncodeQuantizationMapInfoKHR {
32868 pub s_type: StructureType,
32869 pub next: *const c_void,
32870 pub quantization_map: ImageView,
32871 pub quantization_map_extent: Extent2D,
32872}
32873
32874impl Default for VideoEncodeQuantizationMapInfoKHR {
32875 #[inline]
32876 fn default() -> Self {
32877 Self {
32878 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
32879 next: ptr::null(),
32880 quantization_map: ImageView::default(),
32881 quantization_map_extent: Extent2D::default(),
32882 }
32883 }
32884}
32885
32886unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
32887unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
32888
32889#[repr(C)]
32891#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32892pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32893 pub s_type: StructureType,
32894 pub next: *const c_void,
32895 pub quantization_map_texel_size: Extent2D,
32896}
32897
32898impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
32899 #[inline]
32900 fn default() -> Self {
32901 Self {
32902 s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
32903 next: ptr::null(),
32904 quantization_map_texel_size: Extent2D::default(),
32905 }
32906 }
32907}
32908
32909unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32910unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
32911
32912#[repr(C)]
32914#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32915pub struct VideoEncodeRateControlInfoKHR {
32916 pub s_type: StructureType,
32917 pub next: *const c_void,
32918 pub flags: VideoEncodeRateControlFlagsKHR,
32919 pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
32920 pub layer_count: u32,
32921 pub layers: *const VideoEncodeRateControlLayerInfoKHR,
32922 pub virtual_buffer_size_in_ms: u32,
32923 pub initial_virtual_buffer_size_in_ms: u32,
32924}
32925
32926impl Default for VideoEncodeRateControlInfoKHR {
32927 #[inline]
32928 fn default() -> Self {
32929 Self {
32930 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
32931 next: ptr::null(),
32932 flags: VideoEncodeRateControlFlagsKHR::default(),
32933 rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
32934 layer_count: u32::default(),
32935 layers: ptr::null(),
32936 virtual_buffer_size_in_ms: u32::default(),
32937 initial_virtual_buffer_size_in_ms: u32::default(),
32938 }
32939 }
32940}
32941
32942unsafe impl Send for VideoEncodeRateControlInfoKHR {}
32943unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
32944
32945#[repr(C)]
32947#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32948pub struct VideoEncodeRateControlLayerInfoKHR {
32949 pub s_type: StructureType,
32950 pub next: *const c_void,
32951 pub average_bitrate: u64,
32952 pub max_bitrate: u64,
32953 pub frame_rate_numerator: u32,
32954 pub frame_rate_denominator: u32,
32955}
32956
32957impl Default for VideoEncodeRateControlLayerInfoKHR {
32958 #[inline]
32959 fn default() -> Self {
32960 Self {
32961 s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
32962 next: ptr::null(),
32963 average_bitrate: u64::default(),
32964 max_bitrate: u64::default(),
32965 frame_rate_numerator: u32::default(),
32966 frame_rate_denominator: u32::default(),
32967 }
32968 }
32969}
32970
32971unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
32972unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
32973
32974#[repr(C)]
32976#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
32977pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
32978 pub s_type: StructureType,
32979 pub next: *mut c_void,
32980 pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
32981 pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
32982 pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32983 pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
32984}
32985
32986impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
32987 #[inline]
32988 fn default() -> Self {
32989 Self {
32990 s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
32991 next: ptr::null_mut(),
32992 rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
32993 rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
32994 x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32995 y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
32996 }
32997 }
32998}
32999
33000unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
33001unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
33002
33003#[repr(C)]
33005#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33006pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
33007 pub s_type: StructureType,
33008 pub next: *const c_void,
33009 pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
33010}
33011
33012impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
33013 #[inline]
33014 fn default() -> Self {
33015 Self {
33016 s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
33017 next: ptr::null(),
33018 intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
33019 }
33020 }
33021}
33022
33023unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
33024unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
33025
33026#[repr(C)]
33028#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33029pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
33030 pub s_type: StructureType,
33031 pub next: *mut c_void,
33032 pub has_overrides: Bool32,
33033}
33034
33035impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
33036 #[inline]
33037 fn default() -> Self {
33038 Self {
33039 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
33040 next: ptr::null_mut(),
33041 has_overrides: Bool32::default(),
33042 }
33043 }
33044}
33045
33046unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
33047unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
33048
33049#[repr(C)]
33051#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33052pub struct VideoEncodeSessionParametersGetInfoKHR {
33053 pub s_type: StructureType,
33054 pub next: *const c_void,
33055 pub video_session_parameters: VideoSessionParametersKHR,
33056}
33057
33058impl Default for VideoEncodeSessionParametersGetInfoKHR {
33059 #[inline]
33060 fn default() -> Self {
33061 Self {
33062 s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
33063 next: ptr::null(),
33064 video_session_parameters: VideoSessionParametersKHR::default(),
33065 }
33066 }
33067}
33068
33069unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
33070unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
33071
33072#[repr(C)]
33074#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33075pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
33076 pub s_type: StructureType,
33077 pub next: *const c_void,
33078 pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
33079 pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
33080 pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
33081 pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
33082}
33083
33084impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
33085 #[inline]
33086 fn default() -> Self {
33087 Self {
33088 s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
33089 next: ptr::null(),
33090 rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
33091 rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
33092 x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33093 y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
33094 }
33095 }
33096}
33097
33098unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
33099unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
33100
33101#[repr(C)]
33103#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33104pub struct VideoEncodeUsageInfoKHR {
33105 pub s_type: StructureType,
33106 pub next: *const c_void,
33107 pub video_usage_hints: VideoEncodeUsageFlagsKHR,
33108 pub video_content_hints: VideoEncodeContentFlagsKHR,
33109 pub tuning_mode: VideoEncodeTuningModeKHR,
33110}
33111
33112impl Default for VideoEncodeUsageInfoKHR {
33113 #[inline]
33114 fn default() -> Self {
33115 Self {
33116 s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
33117 next: ptr::null(),
33118 video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
33119 video_content_hints: VideoEncodeContentFlagsKHR::default(),
33120 tuning_mode: VideoEncodeTuningModeKHR::default(),
33121 }
33122 }
33123}
33124
33125unsafe impl Send for VideoEncodeUsageInfoKHR {}
33126unsafe impl Sync for VideoEncodeUsageInfoKHR {}
33127
33128#[repr(C)]
33130#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33131pub struct VideoEndCodingInfoKHR {
33132 pub s_type: StructureType,
33133 pub next: *const c_void,
33134 pub flags: VideoEndCodingFlagsKHR,
33135}
33136
33137impl Default for VideoEndCodingInfoKHR {
33138 #[inline]
33139 fn default() -> Self {
33140 Self {
33141 s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
33142 next: ptr::null(),
33143 flags: VideoEndCodingFlagsKHR::default(),
33144 }
33145 }
33146}
33147
33148unsafe impl Send for VideoEndCodingInfoKHR {}
33149unsafe impl Sync for VideoEndCodingInfoKHR {}
33150
33151#[repr(C)]
33153#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33154pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
33155 pub s_type: StructureType,
33156 pub next: *mut c_void,
33157 pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
33158}
33159
33160impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
33161 #[inline]
33162 fn default() -> Self {
33163 Self {
33164 s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
33165 next: ptr::null_mut(),
33166 compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
33167 }
33168 }
33169}
33170
33171unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
33172unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
33173
33174#[repr(C)]
33176#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33177pub struct VideoFormatH265QuantizationMapPropertiesKHR {
33178 pub s_type: StructureType,
33179 pub next: *mut c_void,
33180 pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
33181}
33182
33183impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
33184 #[inline]
33185 fn default() -> Self {
33186 Self {
33187 s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
33188 next: ptr::null_mut(),
33189 compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
33190 }
33191 }
33192}
33193
33194unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
33195unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
33196
33197#[repr(C)]
33199#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33200pub struct VideoFormatPropertiesKHR {
33201 pub s_type: StructureType,
33202 pub next: *mut c_void,
33203 pub format: Format,
33204 pub component_mapping: ComponentMapping,
33205 pub image_create_flags: ImageCreateFlags,
33206 pub image_type: ImageType,
33207 pub image_tiling: ImageTiling,
33208 pub image_usage_flags: ImageUsageFlags,
33209}
33210
33211impl Default for VideoFormatPropertiesKHR {
33212 #[inline]
33213 fn default() -> Self {
33214 Self {
33215 s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
33216 next: ptr::null_mut(),
33217 format: Format::default(),
33218 component_mapping: ComponentMapping::default(),
33219 image_create_flags: ImageCreateFlags::default(),
33220 image_type: ImageType::default(),
33221 image_tiling: ImageTiling::default(),
33222 image_usage_flags: ImageUsageFlags::default(),
33223 }
33224 }
33225}
33226
33227unsafe impl Send for VideoFormatPropertiesKHR {}
33228unsafe impl Sync for VideoFormatPropertiesKHR {}
33229
33230#[repr(C)]
33232#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33233pub struct VideoFormatQuantizationMapPropertiesKHR {
33234 pub s_type: StructureType,
33235 pub next: *mut c_void,
33236 pub quantization_map_texel_size: Extent2D,
33237}
33238
33239impl Default for VideoFormatQuantizationMapPropertiesKHR {
33240 #[inline]
33241 fn default() -> Self {
33242 Self {
33243 s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
33244 next: ptr::null_mut(),
33245 quantization_map_texel_size: Extent2D::default(),
33246 }
33247 }
33248}
33249
33250unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
33251unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
33252
33253#[repr(C)]
33255#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33256pub struct VideoInlineQueryInfoKHR {
33257 pub s_type: StructureType,
33258 pub next: *const c_void,
33259 pub query_pool: QueryPool,
33260 pub first_query: u32,
33261 pub query_count: u32,
33262}
33263
33264impl Default for VideoInlineQueryInfoKHR {
33265 #[inline]
33266 fn default() -> Self {
33267 Self {
33268 s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
33269 next: ptr::null(),
33270 query_pool: QueryPool::default(),
33271 first_query: u32::default(),
33272 query_count: u32::default(),
33273 }
33274 }
33275}
33276
33277unsafe impl Send for VideoInlineQueryInfoKHR {}
33278unsafe impl Sync for VideoInlineQueryInfoKHR {}
33279
33280#[repr(C)]
33282#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33283pub struct VideoPictureResourceInfoKHR {
33284 pub s_type: StructureType,
33285 pub next: *const c_void,
33286 pub coded_offset: Offset2D,
33287 pub coded_extent: Extent2D,
33288 pub base_array_layer: u32,
33289 pub image_view_binding: ImageView,
33290}
33291
33292impl Default for VideoPictureResourceInfoKHR {
33293 #[inline]
33294 fn default() -> Self {
33295 Self {
33296 s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
33297 next: ptr::null(),
33298 coded_offset: Offset2D::default(),
33299 coded_extent: Extent2D::default(),
33300 base_array_layer: u32::default(),
33301 image_view_binding: ImageView::default(),
33302 }
33303 }
33304}
33305
33306unsafe impl Send for VideoPictureResourceInfoKHR {}
33307unsafe impl Sync for VideoPictureResourceInfoKHR {}
33308
33309#[repr(C)]
33311#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33312pub struct VideoProfileInfoKHR {
33313 pub s_type: StructureType,
33314 pub next: *const c_void,
33315 pub video_codec_operation: VideoCodecOperationFlagsKHR,
33316 pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
33317 pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
33318 pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
33319}
33320
33321impl Default for VideoProfileInfoKHR {
33322 #[inline]
33323 fn default() -> Self {
33324 Self {
33325 s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
33326 next: ptr::null(),
33327 video_codec_operation: VideoCodecOperationFlagsKHR::default(),
33328 chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
33329 luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
33330 chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
33331 }
33332 }
33333}
33334
33335unsafe impl Send for VideoProfileInfoKHR {}
33336unsafe impl Sync for VideoProfileInfoKHR {}
33337
33338#[repr(C)]
33340#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33341pub struct VideoProfileListInfoKHR {
33342 pub s_type: StructureType,
33343 pub next: *const c_void,
33344 pub profile_count: u32,
33345 pub profiles: *const VideoProfileInfoKHR,
33346}
33347
33348impl Default for VideoProfileListInfoKHR {
33349 #[inline]
33350 fn default() -> Self {
33351 Self {
33352 s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
33353 next: ptr::null(),
33354 profile_count: u32::default(),
33355 profiles: ptr::null(),
33356 }
33357 }
33358}
33359
33360unsafe impl Send for VideoProfileListInfoKHR {}
33361unsafe impl Sync for VideoProfileListInfoKHR {}
33362
33363#[repr(C)]
33365#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33366pub struct VideoReferenceIntraRefreshInfoKHR {
33367 pub s_type: StructureType,
33368 pub next: *const c_void,
33369 pub dirty_intra_refresh_regions: u32,
33370}
33371
33372impl Default for VideoReferenceIntraRefreshInfoKHR {
33373 #[inline]
33374 fn default() -> Self {
33375 Self {
33376 s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
33377 next: ptr::null(),
33378 dirty_intra_refresh_regions: u32::default(),
33379 }
33380 }
33381}
33382
33383unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
33384unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
33385
33386#[repr(C)]
33388#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33389pub struct VideoReferenceSlotInfoKHR {
33390 pub s_type: StructureType,
33391 pub next: *const c_void,
33392 pub slot_index: i32,
33393 pub picture_resource: *const VideoPictureResourceInfoKHR,
33394}
33395
33396impl Default for VideoReferenceSlotInfoKHR {
33397 #[inline]
33398 fn default() -> Self {
33399 Self {
33400 s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
33401 next: ptr::null(),
33402 slot_index: i32::default(),
33403 picture_resource: ptr::null(),
33404 }
33405 }
33406}
33407
33408unsafe impl Send for VideoReferenceSlotInfoKHR {}
33409unsafe impl Sync for VideoReferenceSlotInfoKHR {}
33410
33411#[repr(C)]
33413#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33414pub struct VideoSessionCreateInfoKHR {
33415 pub s_type: StructureType,
33416 pub next: *const c_void,
33417 pub queue_family_index: u32,
33418 pub flags: VideoSessionCreateFlagsKHR,
33419 pub video_profile: *const VideoProfileInfoKHR,
33420 pub picture_format: Format,
33421 pub max_coded_extent: Extent2D,
33422 pub reference_picture_format: Format,
33423 pub max_dpb_slots: u32,
33424 pub max_active_reference_pictures: u32,
33425 pub std_header_version: *const ExtensionProperties,
33426}
33427
33428impl Default for VideoSessionCreateInfoKHR {
33429 #[inline]
33430 fn default() -> Self {
33431 Self {
33432 s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
33433 next: ptr::null(),
33434 queue_family_index: u32::default(),
33435 flags: VideoSessionCreateFlagsKHR::default(),
33436 video_profile: ptr::null(),
33437 picture_format: Format::default(),
33438 max_coded_extent: Extent2D::default(),
33439 reference_picture_format: Format::default(),
33440 max_dpb_slots: u32::default(),
33441 max_active_reference_pictures: u32::default(),
33442 std_header_version: ptr::null(),
33443 }
33444 }
33445}
33446
33447unsafe impl Send for VideoSessionCreateInfoKHR {}
33448unsafe impl Sync for VideoSessionCreateInfoKHR {}
33449
33450#[repr(C)]
33452#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33453pub struct VideoSessionMemoryRequirementsKHR {
33454 pub s_type: StructureType,
33455 pub next: *mut c_void,
33456 pub memory_bind_index: u32,
33457 pub memory_requirements: MemoryRequirements,
33458}
33459
33460impl Default for VideoSessionMemoryRequirementsKHR {
33461 #[inline]
33462 fn default() -> Self {
33463 Self {
33464 s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
33465 next: ptr::null_mut(),
33466 memory_bind_index: u32::default(),
33467 memory_requirements: MemoryRequirements::default(),
33468 }
33469 }
33470}
33471
33472unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
33473unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
33474
33475#[repr(C)]
33477#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33478pub struct VideoSessionParametersCreateInfoKHR {
33479 pub s_type: StructureType,
33480 pub next: *const c_void,
33481 pub flags: VideoSessionParametersCreateFlagsKHR,
33482 pub video_session_parameters_template: VideoSessionParametersKHR,
33483 pub video_session: VideoSessionKHR,
33484}
33485
33486impl Default for VideoSessionParametersCreateInfoKHR {
33487 #[inline]
33488 fn default() -> Self {
33489 Self {
33490 s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
33491 next: ptr::null(),
33492 flags: VideoSessionParametersCreateFlagsKHR::default(),
33493 video_session_parameters_template: VideoSessionParametersKHR::default(),
33494 video_session: VideoSessionKHR::default(),
33495 }
33496 }
33497}
33498
33499unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
33500unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
33501
33502#[repr(C)]
33504#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33505pub struct VideoSessionParametersUpdateInfoKHR {
33506 pub s_type: StructureType,
33507 pub next: *const c_void,
33508 pub update_sequence_count: u32,
33509}
33510
33511impl Default for VideoSessionParametersUpdateInfoKHR {
33512 #[inline]
33513 fn default() -> Self {
33514 Self {
33515 s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
33516 next: ptr::null(),
33517 update_sequence_count: u32::default(),
33518 }
33519 }
33520}
33521
33522unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
33523unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
33524
33525#[repr(C)]
33527#[derive(Copy, Clone, Default, Debug, PartialEq)]
33528pub struct Viewport {
33529 pub x: f32,
33530 pub y: f32,
33531 pub width: f32,
33532 pub height: f32,
33533 pub min_depth: f32,
33534 pub max_depth: f32,
33535}
33536
33537#[repr(C)]
33539#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
33540pub struct ViewportSwizzleNV {
33541 pub x: ViewportCoordinateSwizzleNV,
33542 pub y: ViewportCoordinateSwizzleNV,
33543 pub z: ViewportCoordinateSwizzleNV,
33544 pub w: ViewportCoordinateSwizzleNV,
33545}
33546
33547#[repr(C)]
33549#[derive(Copy, Clone, Default, Debug, PartialEq)]
33550pub struct ViewportWScalingNV {
33551 pub xcoeff: f32,
33552 pub ycoeff: f32,
33553}
33554
33555#[repr(C)]
33557#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33558pub struct WaylandSurfaceCreateInfoKHR {
33559 pub s_type: StructureType,
33560 pub next: *const c_void,
33561 pub flags: WaylandSurfaceCreateFlagsKHR,
33562 pub display: *mut wl_display,
33563 pub surface: *mut wl_surface,
33564}
33565
33566impl Default for WaylandSurfaceCreateInfoKHR {
33567 #[inline]
33568 fn default() -> Self {
33569 Self {
33570 s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
33571 next: ptr::null(),
33572 flags: WaylandSurfaceCreateFlagsKHR::default(),
33573 display: ptr::null_mut(),
33574 surface: ptr::null_mut(),
33575 }
33576 }
33577}
33578
33579unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
33580unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
33581
33582#[repr(C)]
33584#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33585pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
33586 pub s_type: StructureType,
33587 pub next: *const c_void,
33588 pub acquire_count: u32,
33589 pub acquire_syncs: *const DeviceMemory,
33590 pub acquire_keys: *const u64,
33591 pub acquire_timeouts: *const u32,
33592 pub release_count: u32,
33593 pub release_syncs: *const DeviceMemory,
33594 pub release_keys: *const u64,
33595}
33596
33597impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
33598 #[inline]
33599 fn default() -> Self {
33600 Self {
33601 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
33602 next: ptr::null(),
33603 acquire_count: u32::default(),
33604 acquire_syncs: ptr::null(),
33605 acquire_keys: ptr::null(),
33606 acquire_timeouts: ptr::null(),
33607 release_count: u32::default(),
33608 release_syncs: ptr::null(),
33609 release_keys: ptr::null(),
33610 }
33611 }
33612}
33613
33614unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
33615unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
33616
33617#[repr(C)]
33619#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33620pub struct Win32KeyedMutexAcquireReleaseInfoNV {
33621 pub s_type: StructureType,
33622 pub next: *const c_void,
33623 pub acquire_count: u32,
33624 pub acquire_syncs: *const DeviceMemory,
33625 pub acquire_keys: *const u64,
33626 pub acquire_timeout_milliseconds: *const u32,
33627 pub release_count: u32,
33628 pub release_syncs: *const DeviceMemory,
33629 pub release_keys: *const u64,
33630}
33631
33632impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
33633 #[inline]
33634 fn default() -> Self {
33635 Self {
33636 s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
33637 next: ptr::null(),
33638 acquire_count: u32::default(),
33639 acquire_syncs: ptr::null(),
33640 acquire_keys: ptr::null(),
33641 acquire_timeout_milliseconds: ptr::null(),
33642 release_count: u32::default(),
33643 release_syncs: ptr::null(),
33644 release_keys: ptr::null(),
33645 }
33646 }
33647}
33648
33649unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
33650unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
33651
33652#[repr(C)]
33654#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33655pub struct Win32SurfaceCreateInfoKHR {
33656 pub s_type: StructureType,
33657 pub next: *const c_void,
33658 pub flags: Win32SurfaceCreateFlagsKHR,
33659 pub hinstance: HINSTANCE,
33660 pub hwnd: HWND,
33661}
33662
33663impl Default for Win32SurfaceCreateInfoKHR {
33664 #[inline]
33665 fn default() -> Self {
33666 Self {
33667 s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
33668 next: ptr::null(),
33669 flags: Win32SurfaceCreateFlagsKHR::default(),
33670 hinstance: ptr::null_mut(),
33671 hwnd: ptr::null_mut(),
33672 }
33673 }
33674}
33675
33676unsafe impl Send for Win32SurfaceCreateInfoKHR {}
33677unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
33678
33679#[repr(C)]
33681#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33682pub struct WriteDescriptorSet {
33683 pub s_type: StructureType,
33684 pub next: *const c_void,
33685 pub dst_set: DescriptorSet,
33686 pub dst_binding: u32,
33687 pub dst_array_element: u32,
33688 pub descriptor_count: u32,
33689 pub descriptor_type: DescriptorType,
33690 pub image_info: *const DescriptorImageInfo,
33691 pub buffer_info: *const DescriptorBufferInfo,
33692 pub texel_buffer_view: *const BufferView,
33693}
33694
33695impl Default for WriteDescriptorSet {
33696 #[inline]
33697 fn default() -> Self {
33698 Self {
33699 s_type: StructureType::WRITE_DESCRIPTOR_SET,
33700 next: ptr::null(),
33701 dst_set: DescriptorSet::default(),
33702 dst_binding: u32::default(),
33703 dst_array_element: u32::default(),
33704 descriptor_count: u32::default(),
33705 descriptor_type: DescriptorType::default(),
33706 image_info: ptr::null(),
33707 buffer_info: ptr::null(),
33708 texel_buffer_view: ptr::null(),
33709 }
33710 }
33711}
33712
33713unsafe impl Send for WriteDescriptorSet {}
33714unsafe impl Sync for WriteDescriptorSet {}
33715
33716#[repr(C)]
33718#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33719pub struct WriteDescriptorSetAccelerationStructureKHR {
33720 pub s_type: StructureType,
33721 pub next: *const c_void,
33722 pub acceleration_structure_count: u32,
33723 pub acceleration_structures: *const AccelerationStructureKHR,
33724}
33725
33726impl Default for WriteDescriptorSetAccelerationStructureKHR {
33727 #[inline]
33728 fn default() -> Self {
33729 Self {
33730 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
33731 next: ptr::null(),
33732 acceleration_structure_count: u32::default(),
33733 acceleration_structures: ptr::null(),
33734 }
33735 }
33736}
33737
33738unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
33739unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
33740
33741#[repr(C)]
33743#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33744pub struct WriteDescriptorSetAccelerationStructureNV {
33745 pub s_type: StructureType,
33746 pub next: *const c_void,
33747 pub acceleration_structure_count: u32,
33748 pub acceleration_structures: *const AccelerationStructureNV,
33749}
33750
33751impl Default for WriteDescriptorSetAccelerationStructureNV {
33752 #[inline]
33753 fn default() -> Self {
33754 Self {
33755 s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
33756 next: ptr::null(),
33757 acceleration_structure_count: u32::default(),
33758 acceleration_structures: ptr::null(),
33759 }
33760 }
33761}
33762
33763unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
33764unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
33765
33766#[repr(C)]
33768#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33769pub struct WriteDescriptorSetInlineUniformBlock {
33770 pub s_type: StructureType,
33771 pub next: *const c_void,
33772 pub data_size: u32,
33773 pub data: *const c_void,
33774}
33775
33776impl Default for WriteDescriptorSetInlineUniformBlock {
33777 #[inline]
33778 fn default() -> Self {
33779 Self {
33780 s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
33781 next: ptr::null(),
33782 data_size: u32::default(),
33783 data: ptr::null(),
33784 }
33785 }
33786}
33787
33788unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
33789unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
33790
33791#[repr(C)]
33793#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33794pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
33795 pub s_type: StructureType,
33796 pub next: *mut c_void,
33797 pub acceleration_structure_count: u32,
33798 pub acceleration_structures: *const DeviceAddress,
33799}
33800
33801impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
33802 #[inline]
33803 fn default() -> Self {
33804 Self {
33805 s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
33806 next: ptr::null_mut(),
33807 acceleration_structure_count: u32::default(),
33808 acceleration_structures: ptr::null(),
33809 }
33810 }
33811}
33812
33813unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33814unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
33815
33816#[repr(C)]
33818#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33819pub struct WriteDescriptorSetTensorARM {
33820 pub s_type: StructureType,
33821 pub next: *const c_void,
33822 pub tensor_view_count: u32,
33823 pub tensor_views: *const TensorViewARM,
33824}
33825
33826impl Default for WriteDescriptorSetTensorARM {
33827 #[inline]
33828 fn default() -> Self {
33829 Self {
33830 s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
33831 next: ptr::null(),
33832 tensor_view_count: u32::default(),
33833 tensor_views: ptr::null(),
33834 }
33835 }
33836}
33837
33838unsafe impl Send for WriteDescriptorSetTensorARM {}
33839unsafe impl Sync for WriteDescriptorSetTensorARM {}
33840
33841#[repr(C)]
33843#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33844pub struct WriteIndirectExecutionSetPipelineEXT {
33845 pub s_type: StructureType,
33846 pub next: *const c_void,
33847 pub index: u32,
33848 pub pipeline: Pipeline,
33849}
33850
33851impl Default for WriteIndirectExecutionSetPipelineEXT {
33852 #[inline]
33853 fn default() -> Self {
33854 Self {
33855 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
33856 next: ptr::null(),
33857 index: u32::default(),
33858 pipeline: Pipeline::default(),
33859 }
33860 }
33861}
33862
33863unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
33864unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
33865
33866#[repr(C)]
33868#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33869pub struct WriteIndirectExecutionSetShaderEXT {
33870 pub s_type: StructureType,
33871 pub next: *const c_void,
33872 pub index: u32,
33873 pub shader: ShaderEXT,
33874}
33875
33876impl Default for WriteIndirectExecutionSetShaderEXT {
33877 #[inline]
33878 fn default() -> Self {
33879 Self {
33880 s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
33881 next: ptr::null(),
33882 index: u32::default(),
33883 shader: ShaderEXT::default(),
33884 }
33885 }
33886}
33887
33888unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
33889unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
33890
33891#[repr(C)]
33893#[derive(Copy, Clone, Default, Debug, PartialEq)]
33894pub struct XYColorEXT {
33895 pub x: f32,
33896 pub y: f32,
33897}
33898
33899#[repr(C)]
33901#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33902pub struct XcbSurfaceCreateInfoKHR {
33903 pub s_type: StructureType,
33904 pub next: *const c_void,
33905 pub flags: XcbSurfaceCreateFlagsKHR,
33906 pub connection: *mut xcb_connection_t,
33907 pub window: xcb_window_t,
33908}
33909
33910impl Default for XcbSurfaceCreateInfoKHR {
33911 #[inline]
33912 fn default() -> Self {
33913 Self {
33914 s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
33915 next: ptr::null(),
33916 flags: XcbSurfaceCreateFlagsKHR::default(),
33917 connection: ptr::null_mut(),
33918 window: xcb_window_t::default(),
33919 }
33920 }
33921}
33922
33923unsafe impl Send for XcbSurfaceCreateInfoKHR {}
33924unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
33925
33926#[repr(C)]
33928#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
33929pub struct XlibSurfaceCreateInfoKHR {
33930 pub s_type: StructureType,
33931 pub next: *const c_void,
33932 pub flags: XlibSurfaceCreateFlagsKHR,
33933 pub dpy: *mut Display,
33934 pub window: Window,
33935}
33936
33937impl Default for XlibSurfaceCreateInfoKHR {
33938 #[inline]
33939 fn default() -> Self {
33940 Self {
33941 s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
33942 next: ptr::null(),
33943 flags: XlibSurfaceCreateFlagsKHR::default(),
33944 dpy: ptr::null_mut(),
33945 window: Window::default(),
33946 }
33947 }
33948}
33949
33950unsafe impl Send for XlibSurfaceCreateInfoKHR {}
33951unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
33952
33953pub type AabbPositionsNV = AabbPositionsKHR;
33955pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
33957pub type AttachmentDescription2KHR = AttachmentDescription2;
33959pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
33961pub type AttachmentReference2KHR = AttachmentReference2;
33963pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
33965pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
33967pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
33969pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
33971pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
33973pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
33975pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
33977pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
33979pub type BindMemoryStatusKHR = BindMemoryStatus;
33981pub type BlitImageInfo2KHR = BlitImageInfo2;
33983pub type BufferCopy2KHR = BufferCopy2;
33985pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
33987pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
33989pub type BufferImageCopy2KHR = BufferImageCopy2;
33991pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
33993pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
33995pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
33997pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
33999pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
34001pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
34003pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
34005pub type ConformanceVersionKHR = ConformanceVersion;
34007pub type CopyBufferInfo2KHR = CopyBufferInfo2;
34009pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
34011pub type CopyImageInfo2KHR = CopyImageInfo2;
34013pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
34015pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
34017pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
34019pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
34021pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
34023pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
34025pub type DependencyInfoKHR = DependencyInfo;
34027pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
34029pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
34031pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
34033pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
34035 DescriptorSetVariableDescriptorCountAllocateInfo;
34036pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
34038 DescriptorSetVariableDescriptorCountLayoutSupport;
34039pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
34041pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
34043pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
34045pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
34047pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
34049pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
34051pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
34053pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
34055pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
34057pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
34059pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
34061pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
34063pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
34065pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
34067pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
34069pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
34071pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
34073pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
34075pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
34077pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
34079pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
34081pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
34083pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
34085pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
34087pub type FormatProperties2KHR = FormatProperties2;
34089pub type FormatProperties3KHR = FormatProperties3;
34091pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
34093pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
34095pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
34097pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
34099pub type ImageBlit2KHR = ImageBlit2;
34101pub type ImageCopy2KHR = ImageCopy2;
34103pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
34105pub type ImageFormatProperties2KHR = ImageFormatProperties2;
34107pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
34109pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
34111pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
34113pub type ImageResolve2KHR = ImageResolve2;
34115pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
34117pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
34119pub type ImageSubresource2EXT = ImageSubresource2;
34121pub type ImageSubresource2KHR = ImageSubresource2;
34123pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
34125pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
34127pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
34129pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
34131pub type MemoryBarrier2KHR = MemoryBarrier2;
34133pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
34135pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
34137pub type MemoryMapInfoKHR = MemoryMapInfo;
34139pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
34141pub type MemoryRequirements2KHR = MemoryRequirements2;
34143pub type MemoryToImageCopyEXT = MemoryToImageCopy;
34145pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
34147pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
34149pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
34151pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
34153pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
34155pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
34157pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
34159pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
34161 PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
34162pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
34164 PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
34165pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
34167pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
34169 PhysicalDeviceDepthStencilResolveProperties;
34170pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
34172pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
34174pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
34176pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
34178pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
34180 PhysicalDeviceDynamicRenderingLocalReadFeatures;
34181pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
34183pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
34185pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
34187pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
34189pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
34191pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
34193pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
34195pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
34197pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
34199 PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
34200pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
34202 PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
34203pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
34205 PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
34206pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
34208pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
34210pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
34212pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
34214pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
34216pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
34218pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
34220pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
34222pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
34224pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
34226pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
34228pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
34230pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
34232pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
34234pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
34236pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
34238pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
34240pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
34242pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
34244pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
34246pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
34248pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
34250pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
34252pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
34254pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
34256pub type PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesEXT;
34258pub type PhysicalDeviceMemoryDecompressionPropertiesNV =
34260 PhysicalDeviceMemoryDecompressionPropertiesEXT;
34261pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
34263pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
34265pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
34267pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
34269 PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
34270pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
34272 PhysicalDevicePipelineCreationCacheControlFeatures;
34273pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
34275 PhysicalDevicePipelineProtectedAccessFeatures;
34276pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
34278pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
34280pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
34282pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
34284 PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
34285pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
34287pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
34289pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
34291pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
34293 PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
34294pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
34296pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
34298pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
34300 PhysicalDeviceSamplerFilterMinmaxProperties;
34301pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
34303 PhysicalDeviceSamplerYcbcrConversionFeatures;
34304pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
34306pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
34308 PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
34309pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
34311pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
34313 PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
34314pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
34316pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
34318pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
34320pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
34322pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
34324 PhysicalDeviceShaderIntegerDotProductFeatures;
34325pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
34327 PhysicalDeviceShaderIntegerDotProductProperties;
34328pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
34330 PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
34331pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
34333pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
34335 PhysicalDeviceShaderTerminateInvocationFeatures;
34336pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
34338pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
34340pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
34342 PhysicalDeviceSubgroupSizeControlProperties;
34343pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
34345 PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
34346pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
34348pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
34350 PhysicalDeviceTexelBufferAlignmentProperties;
34351pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
34353 PhysicalDeviceTextureCompressionASTCHDRFeatures;
34354pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
34356pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
34358pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
34360pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
34362 PhysicalDeviceUniformBufferStandardLayoutFeatures;
34363pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
34365pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
34367pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
34369pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
34371 PhysicalDeviceVertexAttributeDivisorFeatures;
34372pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
34374 PhysicalDeviceVertexAttributeDivisorFeatures;
34375pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
34377 PhysicalDeviceVertexAttributeDivisorProperties;
34378pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
34380pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
34382 PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
34383pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
34385pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
34387pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
34389pub type PipelineInfoEXT = PipelineInfoKHR;
34391pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
34393pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
34395pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
34397pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
34399pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
34401 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
34402pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
34404 PipelineTessellationDomainOriginStateCreateInfo;
34405pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
34407pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
34409pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
34411pub type PushConstantsInfoKHR = PushConstantsInfo;
34413pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
34415pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
34417pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
34419pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
34421pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
34423pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
34425pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
34427pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
34429pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
34431pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
34433pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
34435pub type RenderingAreaInfoKHR = RenderingAreaInfo;
34437pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
34439pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
34441pub type RenderingEndInfoEXT = RenderingEndInfoKHR;
34443pub type RenderingInfoKHR = RenderingInfo;
34445pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
34447pub type ResolveImageInfo2KHR = ResolveImageInfo2;
34449pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
34451pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
34453pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
34455 SamplerYcbcrConversionImageFormatProperties;
34456pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
34458pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
34460pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
34462pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
34464pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
34466pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
34468 PipelineShaderStageRequiredSubgroupSizeCreateInfo;
34469pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
34471pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
34473pub type SubmitInfo2KHR = SubmitInfo2;
34475pub type SubpassBeginInfoKHR = SubpassBeginInfo;
34477pub type SubpassDependency2KHR = SubpassDependency2;
34479pub type SubpassDescription2KHR = SubpassDescription2;
34481pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
34483pub type SubpassEndInfoKHR = SubpassEndInfo;
34485pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
34487pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
34489pub type SubresourceLayout2EXT = SubresourceLayout2;
34491pub type SubresourceLayout2KHR = SubresourceLayout2;
34493pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
34495pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
34497pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
34499pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
34501pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
34503pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
34505pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
34507pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
34509pub type TransformMatrixNV = TransformMatrixKHR;
34511pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
34513pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
34515pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;